Skip to main content
Jump to: navigation, search

EntityId Requirements


Higgins logo 76Wx100H.jpg


This page is for discussion/clarification of the terminology, requirements, and design decisions around EntityIds.

Content Data Model Requirements

First, in terms of the underlying graph model, here’s a set of proposed requirements on which we need consensus.

  1. An Entity is a node in the graph, and the CDM needs a consistent way of representing arcs referencing that node.
    1. There MAY be 0..n such arcs referencing the node.
  2. An arc MAY represented as either:
    1. A unique identifier.
    2. A set of Attributes of that Entity, none of which itself is required to be a unique identifier.
  3. If the arc is represented as a unique identifier:
    1. It MAY be either absolute (globally unique across all Contexts) or relative (locally unique within the Context)

Higgins API Requirements

Second, based on those requirements, here is the set of questions that need to be answered regarding the Higgins API.

  1. In an EntityId restricted to being a unique identifier (vs. a set of Attributes)?
  2. If so, is EntityId defined to be a string?
  3. If so, can an EntityId value be either globally unique, or locally unique to the Context?
  4. Is an EntityId:
    1. A type of Attribute
    2. A separate property of an Entity that MAY be exposed as an Attribute
    3. Inherent in the definition of an Entity?
  5. What is the cardinality of EntityId (note that the answer to this question may depend on the answer to the previous question):
    1. 0..n
    2. 0..1
    3. 1

Back to the top