Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: Strawman for 0..n entity ids [WAS: [higgins-dev] Myposition onEntityId]

EntityID is of type EntityID not of type attribute, its not a entity identifier, its a entity resolver within a context, which is not the same

Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122

Inactive hide details for "Drummond Reed" ---09/19/2008 03:48:52 AM---You’ll have to unpack that one a little further. “An En"Drummond Reed" ---09/19/2008 03:48:52 AM---You’ll have to unpack that one a little further. “An EntityId is not an identifer and not an attribute?” Then what is it?


From:

"Drummond Reed" <drummond.reed@xxxxxxxxxxxx>

To:

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

Date:

09/19/2008 03:48 AM

Subject:

RE: Strawman for 0..n entity ids [WAS: [higgins-dev] Myposition onEntityId]




You’ll have to unpack that one a little further. “An EntityId is not an identifer and not an attribute?” Then what is it?

With regards to “fully qualified”, are you saying an EntityId MUST be fully qualified (in other words, include a ContextId), or are you saying it MAY be fully qualified?

I thought the requirement was the latter.

=Drummond

From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Anthony Nadalin
Sent:
Thursday, September 18, 2008 9:59 PM
To:
Higgins (Trust Framework) Project developer discussions
Cc:
higgins-dev-bounces
Subject:
Re: Strawman for 0..n entity ids [WAS: [higgins-dev] Myposition onEntityId]

So to further qualify the EntityID is not an Identifier and not an attribute. The entityID may be fully qualified that is may have a referwnce to the context thus can resolve with out a contextID

-----------------
Sent from my BlackBerry Handheld.



----- Original Message -----
From:
"Drummond Reed" [drummond.reed@xxxxxxxxxxxx]
Sent:
09/18/2008 09:11 PM MST
To:
"'Higgins (Trust Framework) Project developer discussions'" <higgins-dev@xxxxxxxxxxx>
Cc:
<higgins-dev-bounces@xxxxxxxxxxx>
Subject:
RE: Strawman for 0..n entity ids [WAS: [higgins-dev] My position onEntityId]

Tony, I think everyone’s on board that an EntityId represents a reference to exactly one Entity in a context. Now its about cardinality, immutability, and type. Regarding the first two, the current proposal is that if cardinality is 0..n, the IEntity.getEntityIds() method will return all of them (whether exposed as attributes or not), and the proposed IEntity.getCanonicalEntityId() method will return only the single EntityId specified in that context to be: a) canonical, b) immutable. If the context does not support either canonical immutable IDs, the IEntity.getCanonicalEntityId() method will return an error.

If there’s agreement on that, then it’s just down to the types returned by those methods and accepted by IContext.getEntity().

=Drummond

From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Anthony Nadalin
Sent:
Thursday, September 18, 2008 10:34 AM
To:
Higgins (Trust Framework) Project developer discussions
Cc:
Higgins (Trust Framework) Project developer discussions; higgins-dev-bounces@xxxxxxxxxxx
Subject:
Re: Strawman for 0..n entity ids [WAS: [higgins-dev] My position onEntityId]

Depends, no one is stating what an EntityID represents, my view is it resolves to the Entity within a context

Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122

"Markus Sabadello" ---09/18/2008 12:30:56 PM---After the call, I had this idea:


From:

"Markus Sabadello" <msabadello@xxxxxxxxxxxxx>

To:

"Higgins (Trust Framework) Project developer discussions" <higgins-dev@xxxxxxxxxxx>

Date:

09/18/2008 12:30 PM

Subject:

Re: Strawman for 0..n entity ids [WAS: [higgins-dev] My position on EntityId]





After the call, I had this idea:

1. Let's say IEntity.getEntityIds() returns an array of Objects (in Java: Object[]). These Objects can either be Strings or IAttributeValues. If the EntityId is not exposed as an attribute, it's just a String. If it is exposed as an attribute, then it's an IAttributeValue.

2. IEntity.getCanonicalEntityId() returns a single Object. As before, if the canonical EntityId is not exposed as an attribute, then the Object is a String. Otherwise it's an IAttributeValue.

3. IContext.getEntity() has two overloaded versions. One that takes a String, and one that takes an IAttributeValue.

So in total:

public Object[] IEntityId.getEntityIds(); // Objects can either be String or IAttributeValue
public Object IEntity.getCanonicalEntityId(); // Object can either be String or IAttributeValue
public IEntity IContext.getEntity(String);
public IEntity IContext.getEntity(IAttributeValue);

You don't invent something new for typing such as key-value pairs. You simply use the existing IAttributeValue interface. IAttributeValue already includes the type. And it can be complex, so you can do multi-part keys too.

All the IAttributeValue instances returned by IEntityId.getEntityIds() are guaranteed to also show up somewhere on the IEntity in an IAttribute that is a sub-attribute of higgins:synonym.

Would that work?

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

GIF image

GIF image


Back to the top