Below is an example of the XDI "global social graph" from the "local view" of a specific person, =alice.
Notes:
1) It contains exactly one statement that establishes that this is alice's local view: the */$is$/=alice statement at the root. That means every XDI client knows exactly how to find the XDI endpoint at which this local graph lives -- the http address of the endpoint has the XDI address =alice$/$http$uri, and the http address has the XDI address =alice$/$https$uri. In fact, given all the good stuff we figured out at Whistler, we can be even more precise: the
highest priority http address has the XDI address =alice$/$http$uri*1, and the
highest priority https address has the XDI address =alice$/$https$uri*1.
2) In English this says, "Alice has two 'friends' in a Facebook context -- Chas and David -- and two 'friends' a LinkedIn context -- Bob and Chas." The word 'friends' appears in quotes because this is the term used to describe relationships in social networking. (In FOAF it is "knows".) In fact in the XDI graph, we can simply shows "relationship in context", which is what the dotted arcs originating from the Facebook and LinkedIn contexts show. If Alice wanted to specifically call these "friends", she could assign a "+friend" label to these arcs. Alternately she can assign as many different arcs with as many different role descriptors as she wants to these relationships, i.e., she could point at Bob with arcs labelled "+friend", "+coworker", "+frisbee+player", etc.
Here's the X3 Short:
{
$is$
=alice
@linkedin
Here's the JSON:
{
"*":
{
"$is$":
[
"=alice"
]
},
"$":
{
"=alice":
{
"$": {
"@facebook":
{
"*": [
"=(mailto:chas@me.com)",
"=web*david"
]
},
"@linkedin":
{
"*": [
"=bob",
"=(mailto:chas@me.com)"
]
}
}
}
}
}
=Drummond