atlas://servername.org/id_of_object.attribute.subattribute
.
Examples:
{parents:["create"], objtype:"op", arg:{id:"a", b:{r:2, c:{d:54}}}}results at object:
{id:"a", b:{r:2, c:{d:54}}}
atlas://servername.org
out content is accessed
following way:a
refers to whole object.a.b
refers to {r:2, c:{d:54}}
.a.b.r
refers to number 2
.a.b.c
refers to {d:54}
.a.b.c.d
refers to number 54
.
Id type attributes in one object can refer to anything in any other object, even across servers if supported by server. Also can refer to list elements by using zero based index as 'attribute name'. For example if we have following objects:
{id:"data45", points:[ [x0,y0,z0], [x1,y1,z1], [x2,y2,z2]} {id:"road45", parents:["road", polyline:["data45.points.1", "atlas://server2.org/78.points.100"]}then
data45.points.1
refers to
[x1,y1,z1]
element in
data45.points object.atlas://server2.org/78.points.100
refers to
point in server2.org
. Seems that
server2.org
is also using integer ids for objects.
id
refers to a sub-attribute,
then rest of argument applies to that particular sub-attribute
content. For example after applying operation
{parents:["set"], objtype:"op", arg:{id:"a.b", r:42}to earlier object it looks like object:
{id:"a", b:{r:42, c:{d:54}}}Example2: after applying
{parents:["set"], objtype:"op", arg:{id:"a", b:{r:42}}operation object looks like
{id:"a", b:{r:42}}
id
-attribute. For example after
{parents:["delete"], objtype:"op", arg:{id:"a.b.r"}}operation object looks like
{id:"a", b:{c:{}}}