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

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_r126977864
  
    --- Diff: 
sail/src/main/java/org/apache/rya/rdftriplestore/inference/HasValueVisitor.java 
---
    @@ -0,0 +1,96 @@
    +package org.apache.rya.rdftriplestore.inference;
    +/*
    + * 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.
    + */
    +
    +import java.util.Map;
    +import java.util.Set;
    +import java.util.UUID;
    +
    +import org.apache.rya.api.RdfCloudTripleStoreConfiguration;
    +import org.apache.rya.api.utils.NullableStatementImpl;
    +import org.apache.rya.rdftriplestore.utils.FixedStatementPattern;
    +import org.openrdf.model.Resource;
    +import org.openrdf.model.URI;
    +import org.openrdf.model.Value;
    +import org.openrdf.model.vocabulary.OWL;
    +import org.openrdf.model.vocabulary.RDF;
    +import org.openrdf.query.algebra.StatementPattern;
    +import org.openrdf.query.algebra.TupleExpr;
    +import org.openrdf.query.algebra.Var;
    +
    +public class HasValueVisitor extends AbstractInferVisitor {
    +    public HasValueVisitor(RdfCloudTripleStoreConfiguration conf, 
InferenceEngine inferenceEngine) {
    +        super(conf, inferenceEngine);
    +        include = true;
    +    }
    +
    +    @Override
    +    protected void meetSP(StatementPattern node) throws Exception {
    +        final Var subjVar = node.getSubjectVar();
    +        final Var predVar = node.getPredicateVar();
    +        final Var objVar = node.getObjectVar();
    +        // We can reason over two types of statement patterns:
    +        // { ?var rdf:type :Restriction } and { ?var :property ?value }
    +        // Both require defined predicate
    --- End diff --
    
    So does objVar correspond to some class that is a subClassOf a Restriction?


> 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