[ 
https://issues.apache.org/jira/browse/RYA-294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114839#comment-16114839
 ] 

Jesse Hatfield commented on RYA-294:
------------------------------------

Alternatively, we could use FixedStatementPattern to enumerate 
predicate/restriction pairs rather than nested unions. Something like:
{noformat}
Join(FSP, Join(StatementPattern(?subject, ?property, ?object), 
StatementPattern(?object, rdf:type ?restriction)))
{noformat}
where FSP provides bindings for {{?property}} and {{?restriction}}:
{noformat}
FixedStatementPattern(?restriction, owl:onProperty, ?property):
(:r1, onProperty, :p1)
(:r2, onProperty, :p2)
...
(:rN, onProperty, :pN)
{noformat}
In this case, the number of nodes in the query tree is bounded; additional 
restrictions implying the same type are represented as statements in the 
FixedStatementPattern. One top-level Union is still needed to include the 
original statement pattern.

> Implement owl:someValuesFrom inference
> --------------------------------------
>
>                 Key: RYA-294
>                 URL: https://issues.apache.org/jira/browse/RYA-294
>             Project: Rya
>          Issue Type: Sub-task
>          Components: sail
>            Reporter: Jesse Hatfield
>
> An *{{owl:someValuesFrom}}* restriction defines the set of resources which, 
> for a given predicate and other type, have at least one value of that other 
> type for that predicate.
> If the ontology states that {{:Chair}} is the set of resources who are 
> {{:headOf}} at least one resource which must itself be a {{:Department}}, 
> then:
> {{?x rdf:type :Chair}}
> should be expanded to:
> {noformat}
> { ?x :headOf ?dept .
>   ?dept rdf:type :Department  }
> UNION
> {?x rdf:type :Chair }
> {noformat}



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

Reply via email to