Ich bin sicher, was ich tun möchte, ist sehr einfach, aber ich kann nicht scheinen, die Abfrage richtig zu bekommen. Ich habe Datensätze im Datensatz, die Werte wie den Städtenamen z. "New York" und der entsprechende Ländercode, z. B. "US". Ich habe auch Zugriff auf die vollständigen Länder- und Länder-ISO-Codes.dbpedia SPARQL Abfrage, um bestimmte Werte für eine bestimmte Stadt zu erhalten
Ich möchte die Bevölkerung und abstrakten Wert für diese Städte aus dbpedia bekommen, durch eine where-Klausel wie:
Get population where name = "New York" and isoCountryCode = "US"
ich um Hilfe zu diesem Thema ohne Erfolg gesucht haben.
bisher habe ich freundlicherweise von @rohk mit dieser Abfrage geholfen worden, die nicht in vollem Umfang für alle Standorte funktioniert:
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "USA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "New York City"))
}
Die oben genannten Arbeiten für New York, aber wenn ich ändern es:
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "THA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "Bangkok"))
}
Es gibt keine Ergebnisse für Bangkok, Thailand.
Ich kann nicht scheinen, die SPARQL-Abfrage korrekt zu bekommen, ich bin sicher, dass ich mit meiner Frage albern bin. Wenn mir irgendwelche Gurus helfen könnten, würde ich das schätzen. Vielen Dank!
Hallo - danke! Wie unten erwähnt, scheint dies die Details des Staates und nicht der Stadt wiederzugeben. Gibt es eine Möglichkeit, anzugeben, dass der Ortstyp eine Stadt oder ein Ort und kein Staat oder Land sein muss? Danke noch einmal. – Paul
Richtig, ich habe meine Antwort bearbeitet –
Meine Kommentare gelöscht und aktuelle Frage mit Fortschrittsbericht aktualisiert, danke! – Paul