instance - property chaine for a data property -


according protege 4.x documentation property chain exists object properties in case need include data property follow:

if builds(b, a) o has_name(a, "holly wood") -> has_name(b, "holly wood") 

to explain bit, imagine have street name "holly wood". street built of several segments (a segment part of street between junctions) name should same street name "holly wood". note that, street concept different segment not subclasses have above relation (builds).

one solution make has_name object property, each name should object (instance).

 if is_name_of(name, a) o is_built_of(a, b) -> is_name_of(name, b) 

this not seem quite ok me think better use data-type.

the other solution use swrl below:

thing(?p), thing(?q), builds(?q, ?p), has_name(?p, ?name) -> has_name(?q, ?name) 

this not work!!!! can me figure out why or find proper solution?

i think swrl rule is proper solution here. you've noted, can't use data property in subproperty chain axiom, need in order behavior you're looking for. structural specification object subproperty axioms , data subproperty axioms are:

9.2.1 object subproperties

subobjectpropertyof := 'subobjectpropertyof' '(' axiomannotations subobjectpropertyexpression superobjectpropertyexpression ')'   subobjectpropertyexpression := objectpropertyexpression | propertyexpressionchain propertyexpressionchain := 'objectpropertychain' '(' objectpropertyexpression objectpropertyexpression { objectpropertyexpression } ')' 

9.3.1 data subproperties

subdatapropertyof := 'subdatapropertyof' '(' axiomannotations subdatapropertyexpression superdatapropertyexpression ')' subdatapropertyexpression := datapropertyexpression superdatapropertyexpression := datapropertyexpression 

owl 2 doesn't have property chain expression mixes object , datatype properties. thus, you'd need use swrl rule. can use rule (there's no need use thing(?p) ∧ thing(?q), since every individual automatically owl:thing):

        builds(?q, ?p) ∧ has_name(?p, ?name) → has_name(?q, ?name)


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -