Changes between Version 21 and Version 22 of MetadataSiblings


Ignore:
Timestamp:
Sep 20, 2012, 12:31:23 PM (12 years ago)
Author:
simonp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MetadataSiblings

    v21 v22  
    1414 * can index these relationships to support search
    1515 * has services for retrieving a specific set of related records or the entire collection of related records
    16 This proposal adds sibling relationships between metadata records to !GeoNetwork. The elements in the ISO standard that support sibling relationships are the aggregateInformation element. Sibling relationships types can be specified using an extendible codelist. Sibling records would be displayed under the relationship type. An example of how sibling relations are displayed in the classic interface and the new ExtJS interface are shown below.
     16This proposal adds sibling relationships between metadata records to !GeoNetwork. The elements in the ISO standard that support sibling relationships are the aggregateInfo element. Sibling relationships types can be specified using an extendible codelist. Sibling records would be displayed under the relationship type. An example of how sibling relations are displayed in the classic interface and the new ExtJS interface are shown below.
    1717
    1818=== Proposal Type ===
     
    3434
    3535{{{
    36     <gmd:aggregateInformation>
     36    <gmd:aggregateInfo>
    3737        <gmd:MD_AggregateInformation>
    3838            <gmd:aggregateDataSetIdentifier>
     
    5656            </gmd:initiativeType>
    5757        </gmd:MD_AggregateInformation>
    58     </gmd:aggregateInformation>
     58    </gmd:aggregateInfo>
    5959}}}
    6060
    6161The UUID of the related record is held in an MD_Identifier element, the associationType is set to crossReference (which seems the most appropriate association type code) and the initiativeType is set to the type of sibling relationship (in this example 'project').
    6262
    63 To retrieve and display related records from the aggregateInformation block, we extend the process that is used for parent-child and other relationships:
     63To retrieve and display related records from the aggregateInfo block, we extend the process that is used for parent-child and other relationships:
    6464 * in the java code underlying the !GetRelated guiservice. A simple XPath extraction for all aggregateInformation elements that have an aggregateDataSetIdentifier with a code, an associationType with value set to crossReference and an initiativeType is used to assemble the list of codes (UUIDs/URNs). Sibling metadata records are extracted from the database and attached to the XML output of the !GetRelated guiservice.
    6565 * add processing of the !GetRelated output in relations.xsl which is used in the xml.relation service - returns a simple/brief view of the related records.
     
    6969[[Image(NewSiblingRelationships.png)]] 
    7070
    71 To create aggregateInformation elements representing sibling relationships, the user would use the advanced editor to expand the aggregateInformation element manually and:
     71To create aggregateInfo elements representing sibling relationships, the user would use the advanced editor to expand the aggregateInfo element manually and:
    7272 * search for and select a sibling metadata record whose UUID will become the aggregateDataSetIdentifier (The search widget for the parentIdentifier is used for this purpose)
    7373 * select 'crossReference' as the associationType
     
    8181
    8282== Risks ==
    83 As is the case with many features of the ISO standard, best practice for the use of the aggregateInformation element is not defined. There is a risk that they way in which we are using this element will not suit all users. However one way of developing best practice is to attempt to use the element in different ways and accumulate experience which we hope will not be too bitter :-)
     83As is the case with many features of the ISO standard, best practice for the use of the aggregateInfo element is not defined. There is a risk that they way in which we are using this element will not suit all users. However one way of developing best practice is to attempt to use the element in different ways and accumulate experience which we hope will not be too bitter :-)
    8484
    8585