Sparql - query zu bekommen alle Tripel in Bezug auf ein bestimmtes Thema
Ich möchte, dass alle Tripel in dem Graphen von einem bestimmten Thema /node.
Kann ich alles verdreifacht...
SELECT $s $p $o WHERE { $s $p $o }
... nicht wirklich hilfreich
Kann ich alles direkt anschließen verdreifacht...
SELECT $s $p $o WHERE {
$s _some_predicate_ _some_object_specifier .
$s $p $o }
Was ich will, ist der start auf $s (selected by predicate and object)
und dann bekommen
so etwas wie $s $p* $o
Gedanken?
Also ich würde gerne bei ID_6 und erhalten Sie alle Knoten unterhalb, einschließlich der Knoten 1 und 2. Ich brauche auch die Prädikate, weil nicht alle Prädikate werden HAT
Also genauer gesagt mit der folgenden Grafik möchte ich alle Tripel unten Objekt "P2" ich brauche die Subjekt, Prädikat und Objekt für jeden der 1xx und 2xx Knoten... ich kann die Abfrage rekursiv jeden Knoten um die Daten zu erhalten, aber ich hoffe es gibt eine einfache (ish) - Abfrage, um alle Daten in einer einzigen Abfrage...
- "So etwas wie
$s $p* $o
" ist nicht sehr klar in dem, was Sie wollen, genau. Können Sie ein konkretes Beispiel nennen: einige Beispiel-RDF-graph, und was möchten Sie in der Lage sein zu Abfrage von RDF-Graphen? Wie-ist-die Frage ist eher zu breit und vage zu beantworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke was du suchst ist Eigentum Pfad
Gibt es eine Möglichkeit, dies zu tun, aber ob es "einfacher" ist etwas subjektiv.
Eigenschaft Pfade ermöglichen Sie die Abfrage Pfade von unbekannter Länge. Allerdings können Sie nur angeben, wie willkürliche-Länge-Eigenschaft Pfade auf bestimmte property-Namen (also nicht auf dem Grundstück Variablen).
Einen Weg, um dieses ist die Verwendung einer Verneinung, etwa so:
Dies gibt Ihnen wieder alle "Kinder" verbunden über Wege der Länge 1 oder mehr, wo die verbindende Eigenschaft ist entweder
:overrides
oder NICHT:overrides
(die, natürlich, gilt für jede Eigenschaft).Allerdings mithilfe von property-Pfaden können Sie nur match diese Eigenschaften, um Ihre Werte zurück, Sie können nicht wirklich bekommen, die Namen der Eigenschaft sich zurück. So müssen wir die Abfrage etwas umfangreicher und nur Abfrage für alles angeschlossen, unsere ursprüngliche Thema (
:P3
) sowie zu allen möglichen "Kind" Themen (?child
).Die vollständige Abfrage wird dann:
Der Grund, warum dies funktioniert, ist, dass wir Spiel und lege die beiden eingehenden und ausgehenden Eigenschaften für jeder Kind auf den Weg geben: also für ein Kind verbunden
:P3
über einen Pfad der Länge 2, so erhalten wir die erste Komponente des Pfades zurück, weil:P3 ?prop ?val
es entspricht, und der Letzte Teil, weil?someSubj ?incomingChildProp ?child
passt es. Für einen Pfad der Länge 3, der mittlere Teil des Pfads angepasst werden, denn es wurde bereits abgerufen, indem?child ?childProp ?childPropVal
wenn der Pfad noch in der Länge 2.