wiki:CMDI 1.2/Resource proxies/IsPartOf

This page is a subpage of CMDI 1.2

Location of the IsPartOf list

The issue

The IsPartOf list was described as follow by Thorsten in his 2012 document:

Resources that are defined in bundles are listed under ResourceProxy. The individual parts can be seen as independent resources as well, such as a subcorpus that can also be distributed on its own. To point out that a resource is part of a larger unit or created as part of a larger unit, the IsPartOfList is introduced referring to one or more larger units by giving the PID of the larger units with the IsPartOf element.

In other word, the list can be used to provide 'uplinks' to collections that the described resources and/or the metadata are part of. This is generally considered a useful feature, however there clearly is some ambiguity as to what is the subject of the is-part-of relation(s). The name implies a single subject, but the element itself is a child of /CMD/Resources which contradictory implies a statement about all of the referenced resources. If the is-part-of relations should be considered meta-metadata (i.e. say something about the metadata record rather than the resources), the list should not be in /CMDI/Resources but rather a separate list in /CMD.

Proposed solution

Discussion

Consider the 2 sub-issues mentioned above:

  • the name "isPartOf? indicates that the (implicit) subject part of the relationship can be referred to as one thing
  • its current location within <Resources> may be interpreted to indicate that it pertains to all ResourceProxies?

In combination these issues make the IsPartOf's semantics unclear.

Proposal

In CMDI 1.2 we propose to move the <IsPartOfList?> out of - and to the same level as - <Resources>, see example below. Any IsPartOf instance should then express a partitive relationship between the described resource as a whole and some collection or larger resource.

Any need for expressing partitive relationships involving individual ResourceProxies? must then be handled by components using @ref.

CMDI example

<CMD>
    <Header>
        <MdProfile>clarin.eu:cr1:p_1345561703673</MdProfile>
        ...
    </Header>
    <Resources>
        ...
    </Resources>
    <IsPartOfList>
        <IsPartOf>http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
    </IsPartOfList>
    ...
</CMD>


Old stuff

Proposed solutions

First solution

Add resource proxy reference to the IsPartOf element, e.g.:

<IsPartOfList>
   <IsPartOf ref="rp1">http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
   <IsPartOf ref="rp2">http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
   <IsPartOf ref="rp3">http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
   <IsPartOf ref="rp3">http://infra.clarin.eu/example/someothercollection.cmdi</IsPartOf>
</IsPartOfList>

Pros

  • Allows more fine grained relations and
  • More explicit in referring to resource proxies, not the metadata document
  • No longer contradicts singular form 'is'

Cons

  • Assumes that one metadata document may describe resources from multiple collections; this may or may not not be something we want to support - needs discussion.
  • No way to refer to all resources (for large sets belonging to one collection would require a reference per resource)

Discussion

Discuss the solution proposal in this section

Second solution

Rename IsPartOf(List) to PartOf(List)

<PartOfList>
   <PartOf>http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
   <PartOf>http://infra.clarin.eu/example/someothercollection.cmdi</IsPartOf>
</PartOfList>

Pros

  • Resolves the contradictory interpretation of the relation pertaining to all resources
  • Minimal change compared to existing feature

Cons

  • Does not add option for specifying finer grained relations

Discussion

Discuss the solution proposal in this section

Third solution

Move IsPartOfList out of resources, e.g.:

<CMD>
    <Header>
        <MdProfile>clarin.eu:cr1:p_1345561703673</MdProfile>
        ...
    </Header>
    <Resources>
        ...
    </Resources>
    <IsPartOfList>
        <IsPartOf>http://infra.clarin.eu/example/mycollection.cmdi</IsPartOf>
    </IsPartOfList>

This makes it clear that the is-part-of relation pertains to the bundle (metadata+resources) and not collection of resources or individual resources. Optionally scrap the IsPartOfList container and make IsPartOf repeatable.

Pros

  • No longer contradicts singular form 'is'
  • Clearly refers to the metadata-resources bundle, not just the set of resources

Cons

  • This may not be want we want to express

Discussion

Discuss the solution proposal in this section

Florian (BAS): I would definitely prefer the third solution. In fact I think that most people using IsPartOf did imply this interpretation anyway. Can anybody provide us with a use case where we would really need fine grained relations as in Solution 1? The only thing I can think of would a CMDI for a virtual collection.

Tickets

Tickets in the CMDI 1.2 milestone with the keyword ispartoflist:

Ticket Summary Owner Component Priority Status
No tickets found

Discussion

Discuss the topic in general below this point

Florian (BAS): Why is 'isPartOf' not a simple relation like any other? If we want to express a isPartOf-relation regarding the complete resource+metadata bundle (for instance to save us of from listing individual relations for all members of the ResoureProxyList?), we could re-formulate the element to make it more explicit : 'thisResourceBundleIsPartOf'.

Last modified 10 years ago Last modified on 04/07/14 09:27:45