|
|
(32 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | == Introduction ==
| + | #REDIRECT [[EntityId]] |
− | This page defines a Higgins [[NodeIdDatatype]].
| + | |
− | | + | |
− | == Definition ==
| + | |
− | * A [[NodeIdDatatype]] is a kind of URI [[Data Range]].
| + | |
− | * A [[NodeIdDatatype]] MAY be absolute or relative:
| + | |
− | ** An absolute [[NodeIdDatatype]] MUST uniquely identify both a [[Context]] and a specific [[Node]] within that [[Context]].
| + | |
− | ** A relative [[NodeIdDatatype]] MUST uniquely identify a [[Node]] within a given [[Context]].
| + | |
− | * A [[NodeIdDatatype]] MUST conform to the ABNF defined below.
| + | |
− | | + | |
− | == ABNF ==
| + | |
− | The following [http://en.wikipedia.org/wiki/Augmented_Backus-Naur_form ABNF] defines the syntax of a Higgins [[NodeIdDatatype]]. Rules not defined in this ABNF are defined in either:
| + | |
− | * The [[ContextIdDatatype]] definition, or
| + | |
− | * The [http://wiki.oasis-open.org/xri/XriCd02/Xri2dot0Abnf ABNF for XRI 2.0] (which includes the IRI ABNF from [http://www.ietf.org/rfc/rfc3987.txt RFC 3987]).
| + | |
− | | + | |
− | NodeIdDatatype = AbsoluteNodeId / RelativeNodeId
| + | |
− | AbsoluteNodeId = AbsoluteNodeURI / AbsoluteNodeXRI
| + | |
− | AbsoluteNodeURI = ContextURI [ "#" ifragment ]
| + | |
− | AbsoluteNodeXRI = ContextXRI [ "//" xri-segment ]
| + | |
− | RelativeNodeId = ifragment / xri-segment
| + | |
− | | + | |
− | == Notes ==
| + | |
− | * In an '''AbsoluteNodeId''', a '''RelativeNodeId''' is optional when the [[Context]] identified by the '''ContextURI''' or '''ContextXRI''' contains exactly one [[Node]].
| + | |
− | * The '''AbsoluteNodeURI''' form is consistent with one of the two proposed forms of [http://www.w3.org/TR/2007/WD-cooluris-20071217/ Cool URIs] defined by the [http://www.w3.org/ W3C].
| + | |
− | * The '''AbsoluteNodeXRI''' form is an [http://en.wikipedia.org/wiki/XRI XRI] as defined by [http://wiki.oasis-open.org/xri/XriCd02/Xri2dot0Abnf XRI Syntax 2.0].
| + | |
− | * See [[Context Discovery]] for rules defining resolution of an instance of a [[NodeIdDatatype]].
| + | |
− | | + | |
− | == Relationship to OpenID ==
| + | |
− | * An [http://openid.net/specs/openid-authentication-2_0.html OpenID 2.0] compliant URL or XRI may serve as an absolute [[NodeIdDatatype]]. See [[ContextIdDatatype]] for details.
| + | |
− | | + | |
− | == Examples ==
| + | |
− | | + | |
− | === AbsoluteNodeURIs ===
| + | |
− | | + | |
− | ==== Filenames ====
| + | |
− | | + | |
− | file://system/config/openid.xrds#pault
| + | |
− | file://system/config/openid.xdi#pault
| + | |
− | file://system/config/ldap.xrds#pault
| + | |
− | file://system/config/ldap.xdi#pault
| + | |
− | | + | |
− | ==== URLs ====
| + | |
− | | + | |
− | http://example.com#49387
| + | |
− | https://example.com#49387
| + | |
− | http://example.com/higgins/openid.xrds#49387
| + | |
− | https://example.com/higgins/openid.xdi#49387
| + | |
− | http://example.com/higgins/ldap.xrds#49387
| + | |
− | https://example.com/higgins/ldap.xdi#49387
| + | |
− | | + | |
− | === AbsoluteNodeXRIs ===
| + | |
− | | + | |
− | ==== XRI 2.0 Form ====
| + | |
− | | + | |
− | =drummond/($context)*($openid)//=drummond
| + | |
− | =drummond/($context)*($ldap)//dreed
| + | |
− | =!F83.62B1.44F.2813/($context)*($openid)//=drummond
| + | |
− | =!F83.62B1.44F.2813/($context)*($ldap)//dreed
| + | |
− | =drummond*mom/($context)*($openid)//spr
| + | |
− | =drummond*mom/($context)*($ldap)//spreed
| + | |
− | @example/($context)//Example%20Corp
| + | |
− | @example/($context)*($openid)//@!2C75.AC49.21D3.1207
| + | |
− | @example/($context)*($ldap)//corp
| + | |
− | @free*example/($context)*($openid)//example
| + | |
− | @free*example/($context)*($ldap)//example
| + | |
− | | + | |
− | ==== Proposed XRI 3.0 Form ====
| + | |
− | | + | |
− | =drummond/$context$openid//=drummond
| + | |
− | =drummond/$context$ldap//dreed
| + | |
− | =!F83.62B1.44F.2813/$context$openid//=drummond
| + | |
− | =!F83.62B1.44F.2813/$context$ldap//dreed
| + | |
− | =drummond*mom/$context$openid//spr
| + | |
− | =drummond*mom/$context$ldap//spreed
| + | |
− | @example/$context//Example%20Corp
| + | |
− | @example/$context$openid//@!2C75.AC49.21D3.1207
| + | |
− | @example/$context$ldap//corp
| + | |
− | @free*example/$context*$openid//example
| + | |
− | @free*example/$context$ldap//example
| + | |
− | | + | |
− | === HXRIs ===
| + | |
− | A HXRI ("HTTP XRI") is an XRI that uses an HXRI proxy resolver prefix. "xri.net" is a public HXRI proxy resolver operated by XDI.org. All others are examples.
| + | |
− | | + | |
− | ==== XRI 2.0 Form ====
| + | |
− | | + | |
− | https://xri.net/=drummond/($context)*($openid)//=drummond
| + | |
− | https://xri.net/=drummond*mom/($context)*($openid)//spr
| + | |
− | http://xri.example.com/@example/($context)*($openid)//@example
| + | |
− | http://xri.example.com/@free*example/($context)*($openid)//example
| + | |
− | https://xri.example.org/@1000.a1b2.c3d4.9999!1234/($context)*($ldap)//example
| + | |
− | | + | |
− | ==== Proposed XRI 3.0 Form ====
| + | |
− | | + | |
− | https://xri.net/=drummond/$context$openid/=drummond
| + | |
− | https://xri.net/=drummond*mom/$context$openid//spr
| + | |
− | http://xri.example.com/@example/$context$openid//@example
| + | |
− | http://xri.example.com/@example*free/$context$openid//example
| + | |
− | https://xri.example.org/@1000.a1b2.c3d4.9999!1234/$context$ldap//example
| + | |
− | | + | |
− | | + | |
− | == See Also ==
| + | |
− | * [[ContextIdDatatype]]
| + | |
− | * [[ContextId]]
| + | |
− | * [[NodeId]]
| + | |
− | * [[Higgins Global Graph]]
| + | |
− | | + | |
− | == Links ==
| + | |
− | * [http://eclipse.org/higgins Higgins Home]
| + | |