5 Stimmen

SPARQL Abfragesprache Tag Seltsamkeiten

Das funktioniert:

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

( Ergebnisse auf DBpedia SPARQL Explorer )

Das ist nicht der Fall:

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

( Ergebnisse auf DBpedia SPARQL Explorer )

Warum?

11voto

user205512 Punkte 8598

Ihr Problem ist, dass einfache Literale mit Sprach-Tags: "Chalti Ka Naam Gaadi"@en

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

Literale sind strukturierte Dinge, die aus einem lexikalischen Teil, einer Sprache (vielleicht) oder einem Datentyp (vielleicht) bestehen.

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

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

aber je nach Abfragesystem wird das viel langsamer sein.

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