Yes, you are correct that path update works if I turn off the reasoner. 

I’m still interested in knowing if there is a query that will work with the OWL 
reasoner enabled. Part of my research is to evaluate how a reasoner can/can not 
be beneficial. So this is actually good data point.

Thanks,
Chris


> On Dec 22, 2015, at 2:09 PM, A. Soroka <[email protected]> wrote:
> 
> Were you using that with an inferring model? Because then you are going to 
> materialize a bunch of fresh rdf:type triples, which are going to turn up as 
> the other (super) classes.
> 
> ---
> A. Soroka
> The University of Virginia Library
> 
>> On Dec 22, 2015, at 1:58 PM, Chris Snyder <[email protected]> wrote:
>> 
>> Yeah, I tried that route but it still returns all the class in the 
>> inheritance structure.
>> 
>> Thanks,
>> Chris
>> 
>> 
>>> On Dec 22, 2015, at 11:52 AM, A. Soroka <[email protected]> wrote:
>>> 
>>> I am _no_ SPARQL guru, but I think you might be able to do this without 
>>> inference, with property paths:
>>> 
>>> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
>>> PREFIX owl: <http://www.w3.org/2002/07/owl#>
>>> PREFIX modelica: <http://mind-tap.net/kbswt/modelica#>
>>> 
>>> SELECT ?instance ?label
>>> WHERE {
>>> ?instance rdf:type ?type.
>>> ?type rdfs:subClassOf+ modelica:BinaryExpression .
>>> ?type rdfs:label ?label.
>>> }
>>> 
>>> ---
>>> A. Soroka
>>> The University of Virginia Library
>>> 
>>>> On Dec 22, 2015, at 11:41 AM, Chris Snyder <[email protected]> wrote:
>>>> 
>>>> I’m using the Jena OWL reasoner with this ontology:
>>>> http://www.mind-tap.net/kbswt/simple_no_inheritance.ttl
>>>> 
>>>> I want to get the named individuals that are instances of a 
>>>> modelica:BinaryExpression along with the rdfs:label of the class directly 
>>>> implemented by the named individual.
>>>> 
>>>> I hope there is a SPARQL guru who can help identify what I need to do. If 
>>>> adding a Jena rule to the reasoner would help I have no problem going that 
>>>> route either.
>>>> 
>>>> In essence:
>>>> c subClassOf b
>>>> b subClassOf a
>>>> 
>>>> c rdfs:label “class c”
>>>> b rdfs:label “class b”
>>>> a rdfs:label “class a”
>>>> 
>>>> x typeOf c
>>>> x rdfs:label “instance x”
>>>> 
>>>> I need to run a query to get:
>>>> “instance x”, “class c”
>>>> 
>>>> but my SPARQL gives me:
>>>> “instance x”, “class c”
>>>> “instance x”, “class b”
>>>> “instance x”, “class a”
>>>> 
>>>> I’ve tried some filter expressions but they wind up filtering out all the 
>>>> results. I was thinking there is some path modifier that might work but 
>>>> haven’t been successful going down that route either.
>>>> 
>>>> My starter SPARQL:
>>>> 
>>>> PREFIX modelica: <http://mind-tap.net/kbswt/modelica#>
>>>> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
>>>> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>>> PREFIX : <http://mind-tap.net/kbswt/simple_no_inheritance#>
>>>> 
>>>> select distinct * { ?s rdfs:subClassOf modelica:BinaryExpression ;
>>>> rdfs:label ?equationName .
>>>> ?i a ?s.
>>>> }
>>>> ORDER BY ?i
>>>> 
>>>> Thanks in advance,
>>>> Chris
>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to