You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@rya.apache.org by "Jesse Hatfield (JIRA)" <ji...@apache.org> on 2017/06/14 18:06:00 UTC

[jira] [Created] (RYA-295) Implement owl:allValuesFrom inference

Jesse Hatfield created RYA-295:
----------------------------------

             Summary: Implement owl:allValuesFrom inference
                 Key: RYA-295
                 URL: https://issues.apache.org/jira/browse/RYA-295
             Project: Rya
          Issue Type: Sub-task
            Reporter: Jesse Hatfield


An *{{owl:allValuesFrom}}* restriction defines the set of resources for which, given a particular predicate and other type, every value of that predicate is a member of that type. Note that there may be no values at all.

For example, the ontology may state that resources of type {{:Person}} have all values from {{:Person}} for type {{:parent}}: that is, a person's parents are all people as well. Therefore, a pattern of the form {{?x rdf:type :Person}} should be expanded to:
{noformat}
{ ?y rdf:type :Person .
  ?y :parent ?x }
UNION
{ ?x rdf:type :Person }
i.e. we can infer {{?x}}'s personhood from the fact that {{?y}} is known to satisfy the restriction.

Notes:
-We can infer "x is a person, therefore all of x's parents are people". But we can't infer "all of x's parents are people, therefore x is a person", because of the open world semantics: we don't know that the parents given by the data are in fact all of x's parents. (If there were also a cardinality restriction and we could presume consistency, then we could infer this in the right circumstances, but this is outside the scope of basic allValuesFrom support.) This differs with most other property restriction rules, in that we can't infer that an object belongs to the class defined by the restriction, but rather using that information to infer the type of the values.
-The example above could be applied recursively, but to implement this as a simple query rewrite we'll need to limit recursion depth (and interactions with other rules, for the same reasons).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)