Frage

Ich versuche, die rdf zu wählen: ID eines Objekts mit sparql (innen Protege) und ich kann nicht scheinen, um die rdf zu erhalten: ID. Hat jemand dieses Problem gesehen. Die SPARQL Query ich verwende ist:

Select * where (?element rdf:id ?id)

Im Folgenden auch nicht funktioniert:

Select * where (?element rdfs:label ?id)

Nahm einen Vorschlag, aber noch ist dieser nicht gehen:

Select * where (?element rdfs:about ?id)

Aber das tut:

Select * where (?element rdfs:comment ?id)

Alles, was ich bekommen ist „Keine Spiele“. So kann ich den Kommentar auswählen, aber nicht thelabel ... Ideen?

UPDATE :: Nach einigen mehr Forschung, die Auswahl der folgenden Optionen:

Select ?subject ?property ?object where (?subject ?property ?object)

kommt nicht mit einem der RDFS Eigenschaften auf. Fehle ich etwas Großes? (Ich kann es mit rdfs slect: Kommentar, aber das wird nicht angezeigt: entweder ...

War es hilfreich?

Lösung

Wenn Sie sich für den URI aller RDF Themen suchen, würden Sie laufen:

SELECT ?subject WHERE { ?subject ?predicate ?object }

Beachten Sie, dass Sie geschweiften Klammern und nicht die Klammern müssen. Beachten Sie auch, dass Fall Angelegenheiten in RDF, so sehr vorsichtig sein, über die Schreibweise und Kapitalisierung Ihrer URIs (und Präfixe / Ortsnamen).

Um dajobe der Punkt in Bezug auf Folgerungen (gefolgert Tripel), rdfs:label ist eine OWL-Annotation Eigenschaft und wird von inferencers ignoriert werden, wenn Sie Ihre eigenen Regeln und / oder OWL Konstrukte. Mit anderen Worten ist, wenn man nur mit RDF anfangen, würde ich überrascht, wenn ein reasoner Tripel mit rdfs:label als Prädikat abgeleitet.

Andere Tipps

Zum einen rdf: ID existiert nicht im Datenmodell - die rdf Graph verdreifacht. „rdf:ID“ ist ein Syntax Begriff in einer Syntax verwendet, RDF / XML aber nicht erscheint in verdreifacht. Ähnlich rdf:about ist ein Syntax Begriff.

Wie, warum sparql ist der Protege funktioniert hier nicht - und ich habe nicht Protege verwendet -. Ich stelle mir vor, dass die Tripel Sie versuchen, werden von der Inferenzmaschine gefolgert zu finden und somit nicht unbedingt in der Basis rdf Graph

Es ist nicht ganz klar, was Sie zu tun versuchen. Sie wollen das URI-Objekt [einiger triple]? Wie erkennen Sie, dass die Triple-?

Ich denke, Ihre rdf: ID (eine lokale Referenz in Ihrem RDF-Dokument) wird unter Verwendung von XML gelöst werden: Basis und in eine rdf umgewandelt: über

Die folgende Abfrage wird mir die rdf:ID für einen einzelnen Typ pref:class

select * where {
?id rdf:type pref:class
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top