-
Notifications
You must be signed in to change notification settings - Fork 18
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.

