I need to simulate a graph (or it can be thought of as a recursive tree (s), since it is usually one or more roots) based on things having children:
a hasChildren (b, c)
b hasChildren (d, e)
c hasChildren (f, g)
d hasChildren (h, a)
Now there are implicit paths, a / c / f and recursive: a / b / d / a / b / d / ...
And then I need to set things on the graph through the expression of the path, both properties about them (these paths have a color: blue or such), as well as changing their children - perhaps deleting / hiding them or adding new children.
By the expression of the path, I mean something like this:
a/b/** -> color = "blue"
, , a/b/, color = "blue". , a/b/d/a/b/d/a, . a, .
:
**/d/h
a/b/[color="blue"]
ah
, . . , :
a/b/d
, :
a/**[color="blue"] -- descendants that have attribute color = "blue". This could be infinite in recursive case so we can put a restriction on this type of query to have it make sense, like does such a path exist, or just return first one or something.
, .
a hasChildren (b, c, x, y, z)
, . , , , .
, , , :) 1000 , 1000 100 000 .
-, ?
RDF/OWL, , , .