EntityId Requirements
{{#eclipseproject:technology.higgins}}
Contents
About
This page is for discussing/documenting the terminology, requirements, and design decisions for EntityIds.
Content Data Model Requirements
In terms of the underlying graph model, following is a summary of the abstract requirements derived in a recent (2008-09-11) thread on the email list. The first step is determining if there is consensus about these requirements. Please post a note with your wiki signature if you disagree with any of the following:
- An Entity is a node in the graph described by the Higgins Context Data Model. The CDM needs a consistent way of representing arcs referencing that node.
- There MAY be 0..n such arcs referencing the node. (0 is possible for blank nodes.)
- An arc MAY theoretically be represented as either:
- A unique identifier.
- A set of Attributes of that Entity, none of which itself is required to be a unique identifier.
- If the arc is represented as a unique identifier:
Higgins API Requirements
The second step, based on the above requirements, is answering the following questions with respect to the Higgins API. Please post your votes/answers (with your wiki signature).
#1: Unique Identifier vs. Attribute Set
Should the Higgins API constrain an EntityId to be a unique identifier, or can it be a set of Attributes?
#2: Representation of an EntityId as a Unique Identifier
If an EntityId is a unique identifier, should this be represented as:
- A type of Attribute?
- A separate property of an Entity that MAY be exposed as an Attribute?
- Inherent in the definition of an Entity?
#3: Cardinality
What is the cardinality of EntityId? (The answer may depend on the answer to #2.)
- 0..n?
- 0..1?
- 1 (whose value may be null)?