Community:NDR/Relationships/List Of Core Relationships

From NSDLWiki

Jump to: navigation, search

Summary of Relationships

Required Cardinality Relationship In Diagram In Other Model Comments
Agent
Relationships OUT
[0..*][0..*] Agent memberOf Aggregator X X
Relationships IN
Metadata metadataFor Agent X X This is theoretically allowed, but so far has no practical use. For the purpose of documentation, it would be clearer to just leave this one out.
Metadata annotates Agent X This should not be allowed, and removed from any documentation that mentions it
Aggregator aggregatorFor Agent X X
MetadataProvider metadataProviderFor Agent X X
Aggregator authorizedToChange Agent(s) X X There is mention of an authorization model. Is this separate from the NDR model? Not really, but it was an overlay, and uses a different namespace Is it ok for me to show these relationships on the model diagrams? Yes
MetadataProvider authorizedToChange Agent(s) X X
Aggregator
Relationships OUT
X [1][1] Aggregator aggregatorFor Agent X X
[0..1][0..1] Aggregator associatedWith Resource X X Do any other object types have the associatedWith relationship? No
X [1..*][1..*] Aggregator authorizedToChange Agent(s) X
X [1..*][1..*] Aggregator authorizedToChange Aggregator(s) ? Used to indicate permissions given to groups of agents
[0..*][0..*] Aggregator memberOf Aggregator X
Relationships IN
Resource memberOf Aggregator X X
Agent memberOf Aggregator X X
Aggregator memberOf Aggregator X X
Metadata metadataFor Aggregator X X Collections currently use this relationship, but this needs to be evaluated for collection API. i.e. collection metadata has a metadataFor relationship to the collection aggregator.
Metadata annotates Aggregator X This should be removed
Metadata
Relationships OUT
[0..1][0..*] Metadata annotates Agent X This should be removed
[0..1][0..*] Metadata annotates Aggregator X This should be removed
[0..1][0..*] Metadata annotates Resource X This directly conflicts with the notion of an annotation used by DLS. The semantics of current uses of this relation are inconsistent, and no services pay attention to the relationship. It should probably be removed.
X [0..1][0..*] Metadata metadataFor Agent X X At least one metadataFor relationship must exist for at least one of the <object> types, Agent, Aggregator, or Resource.
X [0..1][0..*] Metadata metadataFor Aggregator X X
X [0..1][0..*] Metadata metadataFor Resource X X
X [1][1] Metadata metadataProvidedBy MetadataProvider X X
Relationships IN
Metadata Provider
Relationships OUT
[0..1][0..*] MetadataProvider aggregatedBy Aggregator X This is used exclusively for collections - to relate a collection MetadataProvider to the collection Aggregator. This relationship should be evaluated when we re-evaluate collections.
X [1][1..*] MetadataProvider authorizedToChange Agent(s) X X
X [1][1..*] MetadataProvider authorizedToChange Aggregators(s) X X
X [1][1] MetadataProvider metadataProviderFor Agent X X
Relationships IN
Metadata metadataProvidedBy MetadataProvider X X
Resource
Relationships OUT
[0..*][0..*] Resource memberOf Aggregator. X X
Relationships IN
Metadata metadataFor Resource X X
Metadata annotates Resource X
Aggregator associatedWith Resource X
Personal tools