Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: EntityId decision analysis page (was RE: [higgins-dev]entityIDnot an attribute?)


My vote on the 3 questions. I am assuming that EntityId=CUID for this response.


> 1) Must an EntityId be an identifier (string) or can it be a
> collection of attributes (multi-part key)? (Higgins 1.0, only
> supports the former.)


I prefer a multi-part key where the parts of the key might also be unique in a context. An example is a EntityID made up of a uniqueName, uniqueId, nativeName, nativeId. Any part of the of the Entity ID could be used to identify the object.

>  
> 2) Must an EntityId be exposed as an attribute of an Entity, or is
> it optional to do that?


Optional or not at all. If exposed as an attribute, then it may require constraints, such as non-searchable attribute.  For example LDAP DNs are not searchable.

>  
> 3) Is the cardinality of EntityId 0..n or 0..1?

0..1 if the EntityId is mutlipart as in Q1.  0..n if it is a string, and then it needs a type.

David

David Kuehr-McLaren
Tivoli Security
919.224.1960


higgins-dev-bounces@xxxxxxxxxxx wrote on 09/12/2008 03:39:40 PM:

> +1 that “Contextually Unique Identifier” (CUID) accurately captures
> the requirements for the value of the Context Data Model component
> currently called “EntityID”.

> So Jim, are you suggesting that we change “EntityId” to “CUID”? Or
> just that we just the term CUID when stating the requirements for an
> EntityId value?

> Also, please feel free to weigh in on three other questions I posed yesterday:
> 1) Must an EntityId be an identifier (string) or can it be a
> collection of attributes (multi-part key)? (Higgins 1.0, only
> supports the former.)

>  
> 2) Must an EntityId be exposed as an attribute of an Entity, or is
> it optional to do that?

>  
> 3) Is the cardinality of EntityId 0..n or 0..1?
> =Drummond
>
> From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-
> bounces@xxxxxxxxxxx] On Behalf Of Jim Sermersheim
> Sent: Friday, September 12, 2008 1:03 AM
> To: higgins-dev-bounces@xxxxxxxxxxx
> Cc: 'Higgins (Trust Framework) Project developer discussions'
> Subject: Re: EntityId decision analysis page (was RE: [higgins-dev]
> entityIDnot an attribute?)

>  
> Right, we talked about this on the dev call today.  EntityID should
> not be called "unique identifier" because that might imply "globally
> unique".  What ppl have actually meant in the convo by "unique
> identifier" is "an identifier -- unique within the context -- that
> names the entity within that context".

>  
> Our original term (CUID) was much better [Contextually Unique Identifier]
>
> >>> Anthony Nadalin <drsecure@xxxxxxxxxx> 09/11/08 8:32 PM >>>

> wiki is the pits
>
> so a EntityID can't always be the unique identifier at best an
> EntityID is a reference within a context only, Lets take a cell
> phone, it has a unique identity of +015128380085 but that may not
> tell be how I reference this entity within a context.
>
> Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122
>
> [image removed] "Drummond Reed" ---09/11/2008 08:24:04 PM---I took
> the action item on the Higgins call today to parse the key questions
> being raised about EntityId on this thread into a d

>
> [image removed]
> From:

>
> [image removed]
> "Drummond Reed" <drummond.reed@xxxxxxxxxxxx>

>
> [image removed]
> To:

>
> [image removed]
> "'Higgins (Trust Framework) Project developer discussions'"
> <higgins-dev@xxxxxxxxxxx>

>
> [image removed]
> Date:

>
> [image removed]
> 09/11/2008 08:24 PM

>
> [image removed]
> Subject:

>
> [image removed]
> EntityId decision analysis page (was RE: [higgins-dev] entityID not
> an attribute?)

>
>
>
>
> I took the action item on the Higgins call today to parse the key
> questions being raised about EntityId on this thread into a decision
> analysis page on the Higgins wiki. I have posted this page at:
>  
> http://wiki.eclipse.org/EntityId_Requirements
>  
> …and placed a link to it on http://wiki.eclipse.
> org/Context_Data_Model_1.1_Open_Issues#Open_Issues.
>  
> The ideal way to proceed is for folks to post opinions to the page
> and then ping the list with a pointer. However, for those who prefer
> responding in email, following is the wikitext version of the page
> to which you can respond directly.
>  
> =Drummond
>
> == About ==
> This page is for discussing/documenting the terminology,
> requirements, and design decisions for [[EntityId]]s.
>  
> == 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 [[Attribute]]s of that [[Entity]], none of which itself
> is required to be a unique identifier.
> # If the arc is represented as a unique identifier:
> ## It MUST be locally unique within the [[Context]], and it MAY be
> globally unique across all [[Context]]s).
>  
> == 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 [[Attribute]]s?
>  
> === #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)?
>  

>
> From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-bounces@xxxxxxxxxxx
> ] On Behalf Of Anthony Nadalin
> Sent: Thursday, September 11, 2008 7:36 AM
> To: Higgins (Trust Framework) Project developer discussions
> Cc: higgins-dev; higgins-dev-bounces@xxxxxxxxxxx
> Subject: Re: [higgins-dev] entityID not an attribute?
>  

> So there are a couple of things here, we have always talked about
> the EntityID as being a reference to the Entity and not the unique
> identifier. There are many ways to reference an Entity, so I don't
> believe that this is limited to 0..1. I also believe that the
> EntityID encapsulates a given set of attributes.The unique
> identifier is only has to be unique within a context. So I believe
> that the unique identifier is an attribute, not a way to reference the Entity.
>
> Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122
>
> [image removed] Paul Trevithick ---09/10/2008 05:51:39 PM---Raj has
> suggested the need to clarify the language here. So here is a
> restatement. Additions in red. Substitutions in blue. All

>  
>
> [image removed]
> From:

>
> [image removed]
> Paul Trevithick <paul@xxxxxxxxxxxxxxxxx>

>
> [image removed]
> To:

>
> [image removed]
> higgins-dev <higgins-dev@xxxxxxxxxxx>

>
> [image removed]
> Date:

>
> [image removed]
> 09/10/2008 05:51 PM

>
> [image removed]
> Subject:

>
> [image removed]
> Re: [higgins-dev] entityID not an attribute?

>
>
>
>
>
> Raj has suggested the need to clarify the language here. So here is
> a restatement. Additions in red. Substitutions in blue. All defined
> terms in initial caps.
>
> Background: We remain committed to these two principles:  

> ·    An Entity has 0..1 unique identifier (called an EntityId) (...
> and we expect almost all Entities will have an EntityId).  

> ·    [Raj: you asked about why this EntityId is optional. The
> answers are (1) that our “complex” Attributes have values that are
> themselves Entities and we didn’t want to require developers to
> explicitly “name” these values (especially in situations where there
> was no need for N>1 Entities to share (link to the same)
> value/Entity and (2) we need this in order that our model remain a
> pure super-set of RDF/OWL (and thus allows IdAS to losslessly
> “adapt” the Semantic Web (including all Linked Data).]

> ·    An Entity has 0..N Attributes some of which may be used singly
> or in combination to identify an Entity or a set of Entities within a Context.

> ·    [Raj: To date we have decided not to define an explicit
> “Identifier” Attribute type. The reason for not defining it is twofold: First
> , the distinction between an Identifier and an Attribute has so far
> proved impossible to agree on. Second, Context Provider developers
> are free to create their own Attribute Definitions and thus a
> developer could define their own “Identifier” sub-Attribute]

>
> The proposal remains:  

> ·    To no longer consider the one, optional EntityId as an Attribute.
> ·    To have an IdAS getEntityId() method to return this EntityId
> (or return null if it doesn’t exist) whereas other getAttribute
> methods return Attributes/values

> ·    NOTE: CP developers remain free to present the EntityId value
> as the value of some Attribute type that they define and use within
> their Context

>
> With the above clarified and annotated definitions, I’m interested
> to hear Tony’s, Raj’s and anyone else’s reactions.
>
> -Paul
>
>
> On 9/9/08 1:20 PM, "Nataraj Nagaratnam" <natarajn@xxxxxxxxxx> wrote:

> Yea, there seems to be disconnect here with usage of the term
> 'identifier' (or Id).  

> The statement "An Entity has 0..N Attributes some of which may be
> used as identifiers" tells me that there is more than one
> identifier, and then the statement "An Entity has 0..1 EntityId"
> says that there is one identifier (as i think "EntityId" means
> "Entity Identifier"). This seems to be contradicting statements in
> some sense, and maybe the cause of disconnect here.

>
> So how about this..  

> · An Entity has 0..N Attributes
> · An Entity has 1 UniqueIdentifier within a given context.

>
> Then it makes the calculation of uniqueIdentifier to be relevant to
> the Entity within a given context; this way, we leave attributes as
> they are - if we end up using those attributes to
> identify/search/lookup an entity, then fine but uniqueness is not
> guaranteed. Wrt those attributes that are used to search/lookup,..
> maybe we don't need to designate those attributes to be identifiers
> in a formal manner in the data model?
>
> So proposal can be
> To have an IdAS getUniqueEntityId() method to return a unique
> identifier within the context of that entity, whereas other
> getAttribute methods return Attributes/values
>
> another comment - do we really want entities without unique
> identifiers at all?
>
> Regards,
> Raj
>
>
>
> [image removed] Anthony Nadalin---09/09/2008 12:40:37 PM---OK, So
> not sure I agree
>
> [image removed]
> From:[image removed]
> Anthony Nadalin/Austin/IBM@IBMUS
> [image removed]
> To:[image removed]
> "Higgins \(Trust Framework\) Project developer discussions" <
> higgins-dev@xxxxxxxxxxx>
> [image removed]
> Cc:[image removed]
> higgins-dev <higgins-dev@xxxxxxxxxxx>, higgins-dev-bounces@xxxxxxxxxxx
> [image removed]
> Date:[image removed]
> 09/09/2008 12:40 PM
> [image removed]
> Subject:[image removed]
> Re: [higgins-dev] entityID not an attribute?

>
>
>
>
>
> OK, So not sure I agree
>
> I believe that there are 0..N EntityIDs and the EnitityID job is to
> encapsulate the referenced attributes, thus there may be multiple EntityIDs.
>
> Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122
>
> [image removed] Paul Trevithick ---09/09/2008 10:56:26 AM---Just to
> make sure we’re all discussing the right proposal. Let me back up a
> bit here and restate it:
> [image removed]
> From:[image removed]
> Paul Trevithick <paul@xxxxxxxxxxxxxxxxx>
> [image removed]
> To:[image removed]
> higgins-dev <higgins-dev@xxxxxxxxxxx>
> [image removed]
> Date:[image removed]
> 09/09/2008 10:56 AM
> [image removed]
> Subject:[image removed]
> Re: [higgins-dev] entityID not an attribute?

>
>
>
>
>
> Just to make sure we’re all discussing the right proposal. Let me
> back up a bit here and restate it:
>
> Background: We remain committed to these two principles:

> · An Entity has 0..1 EntityId (...and we expect almost all Entities
> will have an EntityId)
> · An Entity has 0..N Attributes some of which may be used as
> identifiers (that is, these attributes may singly or in combination
> uniquely identify an Entity within its Context)

>
> The proposal is:

> · To no longer consider the one, optional EntityId as an Attribute.
> · To have an IdAS getEntityId() method to return this EntityId (or
> return null if it doesn’t exist) whereas other getAttribute methods
> return Attributes/values
> · NOTE: CP developers remain free to present the EntityId value as
> the value of some Attribute type that they define and use within their Context

>
> -Paul
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev

Back to the top