Difference between revisions of "Entity UDI"
(combined NodeIdDatatype and NodeRelationDatatype) |
(+ examples) |
||
Line 8: | Line 8: | ||
** A relative [[NodeIdDatatype]] MUST uniquely identify a [[Node]] within a given [[Context]]. | ** A relative [[NodeIdDatatype]] MUST uniquely identify a [[Node]] within a given [[Context]]. | ||
* A [[NodeIdDatatype]] MUST conform to the ABNF defined below. | * A [[NodeIdDatatype]] MUST conform to the ABNF defined below. | ||
− | |||
== ABNF == | == ABNF == | ||
Line 29: | Line 28: | ||
== Relationship to OpenID == | == 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. | * 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 == | == See Also == |
Revision as of 21:38, 12 February 2008
Contents
Introduction
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 ABNF defines the syntax of a Higgins NodeIdDatatype. Rules not defined in this ABNF are defined in either:
- The ContextIdDatatype definition, or
- The ABNF for XRI 2.0 (which includes the IRI ABNF from 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 Cool URIs defined by the W3C.
- The AbsoluteNodeXRI form is an XRI as defined by XRI Syntax 2.0.
- See Context Discovery for rules defining resolution of an instance of a NodeIdDatatype.
Relationship to OpenID
- An 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