5 Stimmen

SPARQL Abfrage-Sprache Tag Seltsamkeit

Dies funktioniert:

SELECT * WHERE{
?x rdfs:label "Chalti Ka Naam Gaadi"@en .
?x foaf:name ?z .    
}

(Ergebnisse im DBpedia SPARQL Explorer)

Dies funktioniert nicht:

SELECT * WHERE{
?x foaf:name "Chalti Ka Naam Gaadi" .
?x rdfs:label ?z .    
}

(Ergebnisse im DBpedia SPARQL Explorer)

Warum?

11voto

user205512 Punkte 8598

Ihr Problem liegt darin, dass einfache Literale mit Sprachtags: "Chalti Ka Naam Gaadi"@en

nicht dasselbe sind wie einfache Literale ohne Sprachtags: "Chalti Ka Naam Gaadi"

Literale sind strukturierte Dinge, bestehend aus einem lexikalischen Teil, Sprache (eventuell) oder Datentyp (eventuell).

Sie könnten filtern: FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")

(str() gibt den lexikalischen Teil des Literals zurück)

aber je nach Abfrage-Engine wird das viel langsamer sein.

1 Stimmen

Dies sollte wirklich die akzeptierte Antwort auf diese Frage sein, da sie sie tatsächlich beantwortet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X