2016-08-08 30 views
1

Ich bin neu in SPARQL. Ich versuche diese Abfrage auszuführen -Verwenden der IN-Klausel innerhalb der FILTER-Klausel in der SPARQL-Abfrage

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
SELECT * FROM <http://purl.obolibrary.org/obo/merged/DOID> WHERE { 
    ?nodeID owl:annotatedSource <http://purl.obolibrary.org/obo/DOID_11330>. 
    #?nodeID rdf:type owl:Annotation. 
    ?nodeID owl:annotatedProperty ?annotatedProperty. 
    ?nodeID owl:annotatedTarget ?annotatedTarget. 
    ?nodeID ?aaProperty ?aaPropertyTarget. 
    OPTIONAL {?annotatedProperty rdfs:label ?annotatedPropertyLabel}. 
    OPTIONAL {?aaProperty rdfs:label ?aaPropertyLabel}. 
    FILTER (isLiteral(?annotatedTarget)). 
    FILTER (not exists {?aaProperty in(owl:annotatedSource, rdf:type, owl:annotatedProperty, owl:annotatedTarget) 
    })} 

- aber ich habe diesen Fehler und ich weiß nicht, was zu tun ist. Bitte hilf mir. Vielen Dank.

Encountered " "in" "in "" at line 13, column 41. 
Was expecting one of: 
    <IRIref> ... 
    <PNAME_NS> ... 
    <PNAME_LN> ... 
    <VAR1> ... 
    <VAR2> ... 
    "a" ... 
    "distinct" ... 
    "multi" ... 
    "shortest" ... 
    "(" ... 
    "!" ... 
    "^" ... 
+1

Was versuchst du mit dem o nicht existiert? Versuchen Sie zu sagen, dass Ihr Wert nicht zu der Liste gehört, die Sie erwähnt haben? – Artemis

Antwort

4

NICHT VORHANDEN erwartet ein Diagramm Muster. Was Sie wollen, ist wahrscheinlich (nur zu erraten)

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

SELECT * 
FROM <http://purl.obolibrary.org/obo/merged/DOID> 
WHERE 
    { ?nodeID owl:annotatedSource <http://purl.obolibrary.org/obo/DOID_11330> . 
    ?nodeID owl:annotatedProperty ?annotatedProperty . 
    ?nodeID owl:annotatedTarget ?annotatedTarget . 
    ?nodeID ?aaProperty ?aaPropertyTarget 
    OPTIONAL 
     { ?annotatedProperty rdfs:label ?annotatedPropertyLabel} 
    OPTIONAL 
     { ?aaProperty rdfs:label ?aaPropertyLabel} 
    FILTER isLiteral(?annotatedTarget) 
    FILTER (?aaProperty NOT IN (owl:annotatedSource, rdf:type, owl:annotatedProperty, owl:annotatedTarget)) 
    }