[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[higgins-dev] Splitting Entity UDI into absolute and relative variants
|
With much help from Markus, Jim, and Drummond, here¹s a summary of a bunch
of recent conversations on the list, offlist and on #higgins:
- UDIs should be based on strings not URIs
- We have defined some useful UDI forms
(URIs, XRI, Linked Data, etc.) here http://parity.com/udi
- But developers are free to develop their own UDI identifier forms.
Since UDIs are fundamentally strings these developer-defined forms
are syntactically unrestricted. E.g. the string "+1 (617) 555-1212"
could be an Entity UDI.
- For each kind of UDI there exists a UDI resolution algorithm
- In the special case where the developer wishes to add a new
developer-defined UDI form AND they wish to have these UDIs resolve
to Entities such that they blend in with other Entities resolved by
other UDI forms into a seamless global graph, then the resolution
of a UDI string must be performed by attempting the multiple
resolution algorithms in a strict order. This order will be
defined in the UDI spec document. Developer-defined algorithms
are applied after the algorithms/forms listed in the document.
Remaining Problem
-----------------
- If all UDIs are strings there is no way to tell an absolute
from a relative Entity UDI:
AbsoluteEntityUDI = identifies a Context and the Entity within it
RelativeEntityUDI = identifies an Entity within a given, open Context
- This is a problem because some IdAS methods require relative UDIs
(e.g. Icontext.getEntity()) whereas others require absolute UDIs.
Proposed solution
-----------------
- We will define two kinds of Entity UDI: RelativeEntityUDI and
AbsoluteEntityUDI. Both are string-typed.
- In HOWL [1] today the higgins:entityId attribute can have values that are
either of type string or of type EntityUDI. This will be changed
to having a value of RelativeEntityUDI, a sub-type of xsd:string.
- In HOWL we will add a definition for AbsoluteEntityUDI, as well
as (by extension) AbsoluteAttributeUDI and RelativeAttributeUDI
-Paul
[1] http://wiki.eclipse.org/HOWL_1.1