owl - Is it possible to define a multi valued DataProperty in OWL2 specifying the different values it should take for a given case? -
im regenerating ontology owl2 using owl-api , testing protégé.
there concepts subclass of many superclasses, , dataproperties should take multiple values, example:
artifactual location & artifactual area
and want specify that:
• artifactual location dataproperty hasconcreteentitytype should take values location , artifact
• artifactual area dataproperty hasconcreteentitytype should take values artifactual_location , area
class tree & class descriptions
but after activating reasoner, artifactual location misclassified nothing(but not both)
and don't understand what's wrong inference explanation,but seems there should third explanation second related value area, seems doesn't support bi-valued properties this, or, maybe there way define , constraint values of multi-valued dataproperty or reasoner doesn't work fine this,
im using hermit 1.3.8.3
quoting comment on previous answer (i've deleted answer because incorrect)
[the ontology] should here drive.google.com/file/d/0b2fymqd3dd8dnwtteullcdgytgm/ @ linguisticunittype property morphosyntactic unit, defined (to have 2 values, morphological , syntactic) classified fine reasoner, doesn't behave same properties hasconcreteentitytype , haslocationtype regarding classes @ nothing artifactual area , artifactual location. don't understand why 1 case fine not other, because properties , restrictions defined in same manner.
the problem artifactual area defined subclass of location, restricts values of hasconcretetype 1 value (location). in order allow artifactual area have 2 values, restriction on superclass must removed or amended.
for future reference, fragment in functional syntax here:
ontology(<http://localhost/pruebaluo.owl> datapropertydomain(:hasconcreteentitytype :concreteentity) datapropertyrange(:hasconcreteentitytype dataoneof("artifact"^^xsd:string "food"^^xsd:string "living_entity"^^xsd:string "location"^^xsd:string "material"^^xsd:string "organic_object"^^xsd:string "physical_object"^^xsd:string "substance"^^xsd:string)) datapropertydomain(:haslocationtype :location) datapropertyrange(:haslocationtype dataoneof("3d"^^xsd:string "area"^^xsd:string "artifactual_location"^^xsd:string "geopolitical"^^xsd:string "opening"^^xsd:string "other"^^xsd:string)) datapropertydomain(:linguisticunittype :linguisticunit) datapropertyrange(:linguisticunittype dataoneof("morphological"^^xsd:string "semantic"^^xsd:string "syntactic"^^xsd:string)) annotationassertion(rdfs:label :area "area"@en) subclassof(:area :location) subclassof(:area datahasvalue(:haslocationtype "area"^^xsd:string)) annotationassertion(rdfs:label :artifact "artifact"@en) subclassof(:artifact :concreteentity) subclassof(:artifact datahasvalue(:hasconcreteentitytype "artifact"^^xsd:string)) subclassof(:artifactualarea :area) subclassof(:artifactualarea :artifactuallocation) subclassof(:artifactualarea dataexactcardinality(2 :haslocationtype dataoneof("area"^^xsd:string "artifactual_ location"^^xsd:string))) subclassof(:artifactuallocation :artifact) subclassof(:artifactuallocation :location) subclassof(:artifactuallocation datahasvalue(:haslocationtype "artifactual_ location"^^xsd:string)) subclassof(:artifactuallocation dataexactcardinality(2 :hasconcreteentitytype dataoneof("artifact"^^xsd:string "location"^^xsd:string))) subclassof(:building :artifactuallocation) subclassof(:concreteentity :genericentity) subclassof(:entity :propositionalcomponent) subclassof(:genericentity :entity) subclassof(:location :concreteentity) subclassof(:location datahasvalue(:hasconcreteentitytype "location"^^xsd:string)) subclassof(:morphologicalunit :linguisticunit) subclassof(:morphologicalunit datahasvalue(:linguisticunittype "morphological"^^xsd:string)) subclassof(:morphosyntacticunit :morphologicalunit) subclassof(:morphosyntacticunit :token) subclassof(:morphosyntacticunit dataexactcardinality(2 :linguisticunittype dataoneof("morphological"^^xsd:string "syntactic"^^xsd:string))) subclassof(:propositionalcomponent :semanticunit) subclassof(:semanticunit :linguisticunit) subclassof(:semanticunit datahasvalue(:linguisticunittype "semantic"^^xsd:string)) subclassof(:syntacticunit :linguisticunit) subclassof(:syntacticunit datahasvalue(:linguisticunittype "syntactic"^^xsd:string)) subclassof(:token :syntacticunit) )
Comments
Post a Comment