120 likes | 238 Views
XDI Graph Patterns. V16 2010- 12-07. XDI graph notation. Root node : Represents the root of an XDI graph. Context node : Represents an XDI subject or non-literal XDI object. Literal node : Represents a literal XDI object. Contextual arc : Uniquely identifies a context node.
E N D
XDI Graph Patterns V16 2010-12-07
XDI graph notation Root node: Represents the root of an XDI graph Context node: Represents an XDI subject or non-literal XDI object Literal node: Represents a literal XDI object Contextual arc: Uniquely identifies a context node Relational arc: Links two context nodes Literal arc: Uniquely identifies a literal node
Applied Notation root context literal “literal” contextual context literal contextual “literal” context contextual relational contextual context
Root context (=abc) =abc =xyz
Relations vs.subcontexts (=abc) =abc =abc+friend=xyz +friend =xyz =xyz +friend =abc/+friend/=xyz
Single-valued properties (=abc) =abc +age “33” +age$d “2010-09-20T10:11:12Z” =abc/+age =abc/+age$d
Multi-valued properties (=abc) +home+fax +home =abc *2 +tel !1 “+1.206.555.1111” !2 “+1.206.555.2222” *1 +work
Multi-valued properties (=abc) +home+fax +home =abc *2 +tel !1 “+1.206.555.1111” !2 =abc+tel/!1 “+1.206.555.2222” =abc+tel/!2 *1 =abc+tel/*1/!2 +work =abc+tel/*2/!1 =abc+tel/+home/!1 =abc+tel/+home+fax/!1 =abc+tel/+work/!2
Multi-instance subjects (=abc) =abc $ *2 $1 +home *1 $2 +work
Multi-instance subjects (=abc) =abc $ =abc$/+home/=abc$1 *2 $1 +home =abc$/+work/=abc$2 =abc$/*1/=abc$2 *1 $2 =abc$/*2/=abc$1 +work =abc$1/$+home/=abc$ =abc$2/$+work/=abc$ =abc$1/$*2/=abc$ =abc$2/$*1/=abc$
Multi-instance subjects (=abc) =abc $ =abc$/+home/=abc$1 *2 $1 +home =abc$/+work/=abc$2 =abc$/*1/=abc$2 *1 $2 =abc$/*2/=abc$1 +work =abc$1/$+home/=abc$ =abc$2/$+work/=abc$ =abc$1/$*2/=abc$ =abc$2/$*1/=abc$
Link contracts (=abc) $do is the root of all link contracts $nsubcontexts identify $do instances (as with any other XDI subject) =abc $() identifies the parent contexts for this $do instance $do These subcontexts identify the XDI subjects authorized under this link contract $1 $1 $() $do =efg Personas of =abc $() $2 =xyz Example 1: a link contract for the =abc$1 persona that DOES NOT grant permission to $get the list of authorizees $get $do $(()) $() =xyz $get Example 2: a link contract for the =abc$2 persona that DOES grant permission to $get the list of authorizees $(()) $(()) identifies the parent context of the parent context, i.e., this is permission to do an XDI $get on =abc$2