Ich suche nach einer einfachen Möglichkeit, Tripel aus zwei oder mehr benannten Graphen (aber nicht den gesamten unbenannten Standardgraphen) in einen anderen benannten Graphen einzufügen. Ich verwende GraphDB.einfügen von zwei benannten Graphen?
Ich denke, das durch das Schreiben aus der gleichen Abfrage mehrfach in dem WHERE
Abschnitt getan werden kann, eingewickelt in mehr GRAPH
Spezifikationen und sie dann zusammen unioning, aber mein WHERE
s ist lang und ich würde es vorziehen, nicht zu schreiben sie mehrmals aus.
Sagen wir, ich habe einige Daten wie folgt geladen:
INSERT DATA {
GRAPH <http://example.com/ngA> {
<http://example.com/person1> <http://example.com/name> "Arthur" .
}
GRAPH <http://example.com/ngB> {
<http://example.com/person1> <http://example.com/name> "Brian" .
}
GRAPH <http://example.com/ngC> {
<http://example.com/person1> <http://example.com/name> "Charlie" .
}
}
ich alle Dreiergruppen eines bestimmten Musters aus dem Standard unbenannte Graph in einen neuen Namen Graph mit so etwas wie dieses kopieren:
INSERT {
GRAPH <http://example.com/ngZ> {
?s <http://example.com/moniker> ?o .
}
}
WHERE
{ ?s <http://example.com/name> ?o }
eine einfache Möglichkeit, SELECT
für Tripel von einem vorgegebenen Muster von zwei oder mehr (aber nicht alle) namens Graphen ist
SELECT *
FROM <http://example.com/ngA>
FROM <http://example.com/ngB>
WHERE
{ ?s <http://example.com/name> ?o }
Was ist, wenn ich diese Tripel aus diesen angegebenen Graphen in einen anderen Graphen kopieren möchte?
ich einen Fehler von GraphDB 8.3 (und vom sparql.org Validator) bekommen, wenn ich versuche zu
INSERT {
GRAPH <http://example.com/ngZ> {
?s <http://example.com/moniker> ?o .
}
}
WHERE
{ SELECT *
FROM <http://example.com/ngA>
FROM <http://example.com/ngB>
WHERE
{ ?s <http://example.com/name> ?o } }