2017-10-02 4 views
1

Ich fühle mich wie dies eine offensichtliche Antwort hat mir fehlt, aber hier ist das Problem:SPARQL erhalten Personen aus der Spitzenklasse nur

Ich habe eine Ontologie, die eine Klasse ‚Class_N1‘ hat, mit einer Unterklasse ‚Class_N2‘ , die eine Unterklasse ‚Class_N3‘ hat, die

eine Unterklasse ‚Class_N4‘ hat, wenn ich diese Abfrage ausführen:

SELECT ?entity 
WHERE { 
    ?entity rdf:type :Class_N1 
} 

ich Personen aus der Spitzenklasse (‚Class_N1‘) und von seiner Unterklasse und jeweilige Unterklassen.

Gibt es trotzdem Ergebnisse, die nur in die Top/Super-Klasse gehören?

Antwort

1

Sie haben Inferenz aktiviert. Es gibt drei Optionen Inferenz deaktivieren:

  1. Wählen Sie die "No-Inferenz" ruleset wenn Ihr Repository (screenshot) zu schaffen.

  2. Deaktivieren Sie das >> -ähnliche Symbol im Abfrageeditor (screenshots).

  3. Verwenden GraphDB pseudo-graphs:

    SELECT ?entity 
    FROM <http://www.ontotext.com/explicit> 
    WHERE { ?entity rdf:type :Class_N1 } 
    
+1

Vielen Dank für die Antwort, ich begann, es war ein Inferenzproblem zu vermuten, aber hatte keine Kenntnis von der pseudo Sache. Es wird nützlich sein –

Verwandte Themen