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

ASF GitHub Bot commented on RYA-291:
------------------------------------

Github user meiercaleb commented on a diff in the pull request:

    https://github.com/apache/incubator-rya/pull/174#discussion_r126995914
  
    --- Diff: 
sail/src/main/java/org/apache/rya/rdftriplestore/inference/InferenceEngine.java 
---
    @@ -583,4 +625,69 @@ public boolean isSchedule() {
         public void setSchedule(boolean schedule) {
             this.schedule = schedule;
         }
    +
    +    /**
    +     * For a given type, return any properties and values such that 
owl:hasValue restrictions on
    +     * those properties could imply this type. No matter how many 
restrictions are returned, each
    +     * one is considered individually sufficient: if a resource has the 
property and the value, then
    +     * it belongs to the provided type. Takes type hierarchy into account, 
so the value may imply a
    --- End diff --
    
    This relates to an earlier question that I had.  Is this the standard 
interpretation?  Suppose class A is a subclass of two different Restrictions 
(say B and C), where B requires that prop1= val1 and C requires that prop2 = 
val2.  By the above interpretation, a class where prop1 = val1 and prop2 = val3 
(some other value different from val2) would be considered of type A, correct?  
Isn't that inconsistent with the definition of A?


> Implement owl:hasValue inference
> --------------------------------
>
>                 Key: RYA-291
>                 URL: https://issues.apache.org/jira/browse/RYA-291
>             Project: Rya
>          Issue Type: Sub-task
>          Components: sail
>            Reporter: Jesse Hatfield
>            Assignee: Jesse Hatfield
>
> *{{owl:hasValue}}* is used to define a property restriction representing the 
> set of resources with a specific value for a specific predicate.
> If the ontology states that the class {{:ChildOfJohn}} represents all 
> resources with {{:parent}} equal to {{:John}}, then the inference engine 
> should be able to:
> 1. Rewrite a query pattern {{?X rdf:type :ChildOfJohn}} to check for 
> resources whose {{:parent}} is {{:John}} (in addition to those explicitly 
> stated to have type {{:ChildOfJohn}})
> 2. Rewrite a query pattern {{:Jane :parent :?Y}} to check whether :Jane has 
> the type {{:ChildOfJohn}} (in addition to querying for any specifically 
> stated {{:parent}} s)



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

Reply via email to