GitHub user jessehatfield opened a pull request:

    https://github.com/apache/incubator-rya/pull/174

    RYA-291 Added owl:hasValue inference

    Given a type associated with a hasValue property restriction: 1) expand 
queries
    for members of the type to also check for anything with the value; and 2) 
expand
    queries for values of that property to check for instances of the type.
    
    <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
      http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
    -->
    ## Description
    1. Inference engine now stores information about owl:hasValue property 
restrictions, which relate a property, a value, and a type, such that members 
of the type are defined to have that value for that property. 
(https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Individual_Value_Restriction)
 These type/property/value associations can be retrieved by type or by property.
    2. HasValueVisitor rewrites queries according to the hasValue restrictions, 
expanding statement patterns referencing either the type or the property. Class 
hierarchy is considered, so if something is declared to belong to a subclass of 
such a type, then its value can be inferred; and if something has the 
property/value associated with such a type, then its membership in that type 
and any superclasses can be inferred. The resulting query tree is a union of 
the hasValue logic and the original statement pattern. Other inference visitors 
may still transform the original statement pattern.
    
    ### Tests
    InferenceEngineTest verifies that the correct schema is extracted from the 
ontology triples; HasValueVisitorTest verifies that query trees are expanded as 
expected; and InferenceIT verifies expected query results given ontology and 
instance triples.
    
    ### Links
    [Jira](https://issues.apache.org/jira/browse/RYA-291)
    
    ### Checklist
    - [ ] Code Review
    - [ ] Squash Commits
    
    #### People To Reivew
    @meiercaleb 
    @ejwhite922 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jessehatfield/incubator-rya 
RYA-291-hasValue-inference

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-rya/pull/174.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #174
    
----
commit c0cc9596673904f9b9f8dea7be84de75066f73a5
Author: Jesse Hatfield <jesse.hatfi...@parsons.com>
Date:   2017-06-26T18:06:06Z

    RYA-291 Added owl:hasValue inference
    
    Given a type associated with a hasValue property restriction: 1) expand 
queries
    for members of the type to also check for anything with the value; and 2) 
expand
    queries for values of that property to check for instances of the type.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to