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?

War es hilfreich?

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
scroll top