Ich erstelle derzeit eine Ontologie für ein Projekt, das sich mit Sensordaten beschäftigt. Ich habe erfolgreich ein RDF-Diagramm mit RDFLib in Python erstellt. Und dann speicherte das Diagramm mit Jena TDB-Datenbank. Jetzt möchte ich die Datenbank mit SPARQL abfragen, aber ich weiß ehrlich nicht, wo ich anfangen soll.RDF-Grafik Abfrage mit Präfixnamen mit SPARQL
Zum Beispiel, wenn ich mit bin schon ein wissendes Vokabular lässt Freund eines Freundes sagen (FOAF
) dann werde ich einfach eine Abfrage so etwas wie dies ausführen und ich bekommen, was ich brauche:
SELECT ?name
WHERE {
?person foaf:name ?name .
}
Aber da ich schaffe meine RDF mit unterschiedlichen Ontologien (ein Sensor Ontologien) mein Ziel ist es, diese Abfrage auszuführen und alle Daten im Zusammenhang erhalten:
SELECT * {?dev ?lon ?lat}
wo dev
der Gerätename ist, lon
ist die Länge wo sich das Gerät befindet und lat
ist der Breitengrad. Alle diese Daten werden innerhalb des Graphen bereitgestellt, sind jedoch noch nicht definiert, um abgefragt zu werden.
Um es zusammenzufassen, ich versuche, ein vorangestelltes Namen für Klassen, um herauszufinden, und so weiter, zum Beispiel kann die Klasse Gerät durch (dev, Gerät ...)
Kann die Zuordnung Etiketten in RDFLib vertreten sein die Lösung oder muss ich ein Vokabular für die Abfrage entwickeln?
Im Allgemeinen müssen Sie den Datensatz verstehen, den Sie abfragen. Es entspricht einer Ontologie, verwenden Sie einfach Prädikate und Klassen aus dieser Ontologie in Ihre Abfragen. Angenommen, es gibt ein Prädikat, um den Helligkeitswert mit dem URI 'http: // something.org/sensor/hasLightnessValue' zu erhalten, können Sie den Helligkeitswert für Ihr Gerät mit einem URI' http: // something abrufen. org/device/myDevice' as ' Die Präfixe" value "dienen nur dazu, die Abfrage für Menschen lesbarer zu machen. –
Sie brauchen wirklich nichts über die Ontologie zu wissen, um den Datensatz zu erforschen und zu verstehen. Verwenden Sie SPARQL, wenn Sie nur '' s? P? O' Abfragen mit einem 'LIMIT' durchführen, um herauszufinden, welche Daten existieren und wie die Eigenschaften, Klassen usw. definiert und verwendet werden. – scotthenninger