SPARQL Query Language-Tag Seltsamkeit
-
19-09-2019 - |
Frage
Das funktioniert:
SELECT * WHERE{
?x rdfs:label "Chalti Ka Naam Gaadi"@en .
?x foaf:name ?z .
}
( Ergebnisse auf DBpedia SPARQL Explorer )
Dies gilt nicht:
SELECT * WHERE{
?x foaf:name "Chalti Ka Naam Gaadi" .
?x rdfs:label ?z .
}
( Ergebnisse auf DBpedia SPARQL Explorer )
Warum?
Lösung
Ihr Problem ist, dass Ebene Literale mit Sprach-Tags: "Chalti Ka Naam Gaadi"@en
ist nicht die gleiche wie schlicht Literale ohne Sprache tags: "Chalti Ka Naam Gaadi"
Literale sind strukturierte Dinge aus einem lexikalischen Teil, die Sprache (vielleicht) oder Datentyp (vielleicht).
Sie können filtern: FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")
(str()
gibt den lexikalischen Teil der wörtlichen)
aber in Abhängigkeit von dem Abfrage-Engine, das wird viel langsamer.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow