This page is a subpage of [[CMDI 1.2]] = Location of the !IsPartOf list = [[PageOutline(1-4)]] == The issue == The !IsPartOf list was described as follow by Thorsten in [[attachment:header.pdf:wiki:CMDI 1.2|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 solutions == === First solution === Add resource proxy reference to the !IsPartOf element, e.g.: {{{#!xml http://infra.clarin.eu/example/mycollection.cmdi http://infra.clarin.eu/example/mycollection.cmdi http://infra.clarin.eu/example/mycollection.cmdi http://infra.clarin.eu/example/someothercollection.cmdi }}} ==== 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) {{{#!xml http://infra.clarin.eu/example/mycollection.cmdi http://infra.clarin.eu/example/someothercollection.cmdi }}} ==== 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.: {{{#!xml
clarin.eu:cr1:p_1345561703673 ...
... http://infra.clarin.eu/example/mycollection.cmdi }}} 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 == {{{#!comment Below replace the word 'keyword' in both the the text and the ticket query }}} Tickets in the CMDI 1.2 milestone with the keyword ''ispartoflist'': [[TicketQuery(keywords=~ispartoflist,milestone=CMDI 1.2,format=table,col=summary|owner|component|priority|status)]] == Discussion == Discuss the topic in general below this point