Difference between revisions of "Entity UDI"
(combined NodeIdDatatype and NodeRelationDatatype) |
|||
Line 1: | Line 1: | ||
+ | == Introduction == | ||
+ | This page defines a Higgins [[NodeIdDatatype]]. | ||
+ | |||
== Definition == | == Definition == | ||
− | * An [[ | + | * 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. | ||
− | |||
− | |||
− | NodeIdDatatype = ifragment / xri-segment | + | == 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. | ||
== See Also == | == See Also == | ||
− | |||
* [[ContextIdDatatype]] | * [[ContextIdDatatype]] | ||
+ | * [[ContextId]] | ||
+ | * [[NodeId]] | ||
+ | * [[Higgins Global Graph]] | ||
+ | |||
+ | == Links == | ||
+ | * [http://eclipse.org/higgins Higgins Home] |
Revision as of 20:03, 12 February 2008
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.