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

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_r126992494
  
    --- Diff: 
sail/src/main/java/org/apache/rya/rdftriplestore/inference/InferenceEngine.java 
---
    @@ -360,7 +362,47 @@ public void refreshGraph() throws 
InferenceEngineException {
                          }
                        }
                 }
    -            
    +
    +            // Get a set of all property restrictions of any type
    +            iter = RyaDAOHelper.query(ryaDAO, null, OWL.ONPROPERTY, null, 
conf);
    --- End diff --
    
    Oof!  That refreshGraph method is getting out of control.  Maybe start 
compartmentalizing the refresh logic by the rule that is getting updated.  For 
example, the logic below could be relegated to an updateHasValue(...) method.  
I think this is important, especially given that you will be more than doubling 
the number of rules that the inference engine needs to update.


> 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