2016-04-30 7 views
0

Ich habe versucht, eine DBpedia-Abfrage zu machen, um Daten in der Infobox in Bezug auf chemische Elemente (keine Verbindungen/Substanzen) zu erhalten. Ich ziele auf etwas ähnliches wie this aber für Elemente (wie this).dbpedia chemisches Element Abfrage

Allerdings, wenn ich eine Abfrage wie folgt vorgehen:

SELECT * WHERE{ 
:Arsenic ?predicate ?object. 
} 

Die meisten der in den Beispielen angezeigten Eigenschaften zeigen nicht einmal auf. Was mache ich falsch?

+0

Angenommen, Sie verwenden das Präfix für DBpedia-Ressourcen, ist Ihre Abfrage in Ordnung. Und es bringt alles, was derzeit in DBpedia verfügbar ist - http://dbpedia.org/page/Arsenic. (Zusätzlich können Sie verknüpfte Ressourcen erhalten, in denen ': Arsen' das Objekt:'? Subject? Prädikat2: Arsen' ist.) Aber es ist in der Tat seltsam, dass es weniger ist als das, was in der Infobox ist. Ich frage mich, ob das ein Problem bei der Erstellung des letzten BDpedia-Datasets sein könnte. –

+1

Ja, es scheint, es könnte nur ein Problem mit dem Dataset sein. Ich konnte nicht die Infobox für die Seite mit der MediaWiki API entweder – Geebs

Antwort

1

Das Problem ist, dass wenn Sie the source of the Arsenic page on Wikipedia betrachten, es nicht direkt irgendwelche der Daten enthält, stattdessen hat es nur: {{Infobox arsenic}}.

Ich denke, DBpedia ist nicht in der Lage, die Daten von dort zu extrahieren, weshalb Sie nichts sinnvolles sehen.

0

Die Extract Chemical Data from DBpedia via SPARQL SO Frage war nicht so gut über Sie, was die voll qualifizierten URIs in der Abfrage waren. Aber wenn Sie sich den Blog genau anschauen, wird der vollständige URI von Arsenic als http://dbpedia.org/resource/Category:Arsenic aufgelistet. Dieser vollständige URI ist, was Sie brauchen. Sie können das von sich selbst verwenden:

SELECT * 
WHERE { 
    <http://dbpedia.org/resource/Category:Arsenic> ?predicate ?object. 
} 

... oder ein Präfix für den Namespace DBPedia Ressource definieren:

PREFIX dbpedia: <http://dbpedia.org/resource/> 
SELECT * 
WHERE { 
    dbpedia:Category:Arsenic ?predicate ?object. 
} 

Notiz in diesem Fall, dass die PREFIX Definition dbpedia: mit dem Namespace http://dbpedia.org/resource/ ersetzt.

+2

http://dbpedia.org/resource/Category:Arsentic ist falsch, es sollte wirklich http://dbpedia.org/resource/Arsenic sein. – svick

+0

Hängt davon ab, was Sie wollen. Beide sind gültige URIs in DBPedia. – scotthenninger

Verwandte Themen