-
Notifications
You must be signed in to change notification settings - Fork 17
notation shift
This branch implements the "Notation Shift".
This refers to a change to the XDI graph model in which the following rules about inner roots and their serializations change:
- There are no more restrictions on how the source and target of a relational arc may be inside or outside an inner root (previously the source and target of a relational arc had to be inside the same inner root). This affects the structure of all constructs based on inner roots, i.e. messages, link contracts, and policies.
- The XDI DISPLAY "short notation" is abolished.
- The XDI/JSON "normal notation" is abolished.
- The "inner" serialization parameter is abolished.
XDI DISPLAY "short notation" (abolished after the shift):
[=]!:uuid:1111/[=]!:uuid:1111/($do$if$and$or/$true/({$msg}<$secret><$token><$valid>&/&/true)) [=]!:uuid:1111/[=]!:uuid:1111/($do$if$and$or/$true/({$msg}<$sig><$valid>&/&/true)) [=]!:uuid:1111/[=]!:uuid:1111/($do/$all/) [=]!:uuid:1111/[=]!:uuid:1111/($do$if$and/$true/({$from}/$is/[=]!:uuid:1111))
XDI DISPLAY "normal notation" (only valid notation after the shift):
([=]!:uuid:1111/[=]!:uuid:1111)$do/$all/ ([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and/$true){$from}/$is/[=]!:uuid:1111 ([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and$or/$true){$msg}<$secret><$token><$valid>&/&/true ([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and$or/$true){$msg}<$sig><$valid>&/&/true
XDI/JSON "short notation" (only valid notation after the shift):
{ "[=]!:uuid:1111/[=]!:uuid:1111": [ { "$do/$all": [ "" ], "$do$if$and/$true": [ { "{$from}/$is": [ "[=]!:uuid:1111" ] } ], "$do$if$and$or/$true": [ { "{$msg}<$secret><$token><$valid>&/&": true, "{$msg}<$sig><$valid>&/&": true } ] } ] }
XDI/JSON "normal notation" (abolished after the shift):
{ "([=]!:uuid:1111/[=]!:uuid:1111)$do/$all": [ "([=]!:uuid:1111/[=]!:uuid:1111)" ], "([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and/$true){$from}/$is": [ "([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and/$true)[=]!:uuid:1111" ], "([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and$or/$true){$msg}<$secret><$token><$valid>&/&": true, "([=]!:uuid:1111/[=]!:uuid:1111)($do$if$and$or/$true){$msg}<$sig><$valid>&/&": true }
Merged per 2224dd1 on 5th Jul 2014 after snapshot-0.5-pre-notation-shift.
Sample deployment before merge: https://server.xdi2.org/pre-notation-shift
The XdiInnerRoot class encapsulates most of the functionality affected by the Notation Shift.
Graphs can be migrated using the xdi2-tools.
This work is licensed under a Creative Commons Attribution 4.0 International License.