2016-07-05 22 views
0

Ich bin ein neuer Experte für Semantic Web. Ich möchte alle Objekt/Werte für Microsoft von DBPedia mit SPARQL-Abfrage erhalten und Ergebnis im RDF-Format speichern. Ich habe eine Abfrage auf http://dbpedia.org/sparql gemacht, die gut funktionieren und gibt alle Paare/Wert in Bezug auf Microsoft.The Code lautet wie folgt:So erstellen Sie ein RDF-Modell aus DBPedia-Daten mit SPARQL

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

select * where 
{{ <http://dbpedia.org/resource/Microsoft> ?property ?value } 
    UNION 
{?property ?value <http://dbpedia.org/resource/Microsoft>}} 

Was ich will, ist RDF-Format für die Ergebnisse zu erstellen. Ich lese Tutorial auf https://www.w3.org/TR/rdf-sparql-query/#construct und verstand, dass es getan werden kann, indem man CONSTRUCT Abfrage verwendet. Ich habe SELECT in CONSTRUCT geändert, aber das hat nicht funktioniert. Wenn möglich, könntest du mir sagen, was mein Fehler ist und wie kann ich CONSTRUCT auf meine Anfrage anwenden, um das RDF-Modell von der Anfrage zu bekommen? Danke im Voraus!

+0

Ohne die CONSTRUCT-Abfrage zu sehen, wie können wir sagen, was los ist? – AKSW

+0

@AKSW das ist meine Frage: CONSTRUCT {? Eigenschaftswert} wo {{ Eigenschaftswert} UNION {Eigenschaftswert }} – learner

+0

Sie sehen also aus, als ob Sie SPARQL und RDF nicht wirklich verstanden haben. Im ersten Teil definieren Sie die Tripel, die im Ergebnis enthalten sein werden. In Ihrem Fall fehlt offensichtlich das Subjekt (''). Das bringt mich zu dem zweiten Problem, Sie müssen Eigenschaften-URIs verwenden, ansonsten sind sie relativ. I.e. im Beispiel fehlt das Protokoll, d.h. es sollte '' sein. Außerdem ist die Syntax falsch, da Sie zwei Semikolons haben, die nicht da sein dürfen. – AKSW

Antwort

0

Um mehr klare Unterscheidung der tatsächlichen Tripel Sie bekommen abrufen, ich würde vorschlagen, dass die Variablen in der folgenden Art und Weise zu ändern:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

select * where 
{{ <http://dbpedia.org/resource/Microsoft> ?property ?value } 
    UNION 
{?subject ?property <http://dbpedia.org/resource/Microsoft>}} 

Und in Bezug auf das Ergebnis Format, wählen Sie einfach „Schildkröte“ oder " RDF/XML "anstelle von" HTML "aus dem Ergebnismenü der SPARQL-Oberfläche.