[eml-dev] EML 2.1 release coming soon- draft

Christopher Jones cjones at msi.ucsb.edu
Wed Apr 2 18:03:37 PDT 2008


Inigo,

On Apr 2, 2008, at Apr2---5:01:50 PM, inigo wrote:
> So <describes> (eml:eml/additionalMetadata/describes) is
> fundamentally important, you argue. Why is <describes>
> optional ?

Early in the development of EML, the core developers placed a lot of  
emphasis on the extensibility of metadata languages, and the EML  
2.00beta* releases were all based on RDF-like triple constructs in  
order to cross-reference EML modules and documents, and to provide an  
extensible framework.  RDF was in it's infancy at the time, and is a  
tough to grasp hold of as well, and so the various EML developers in  
the community decided to forego some of the flexibility of the RDF- 
style modules and opted for a simpler, hierarchical EML schema.  In  
order to maintain an extensible framework in EML, the  
<additionalMetadata> tag was added, and the <describes> tag used to  
bind content to various locations in the EML tree.  So, from an  
extensibility standpoint, <describes> and <additionalMetadata> are  
fundamental to EML.

> It is an element barely used in LTER,  and I
> don't recall a strong push in LTER best practices for its use.
> (Then again, by the time we get to the last page of the
> best practices, we are pretty overwhelmed with advice)

I think it's good to remember that EML is a specification developed by  
the *ecological community*, with the LTER Network being one component  
of that larger community. The LTER 'Best Practices' have been  
developed within the LTER to help guide the network in producing EML,  
but it is by no means part of the specification.  Other groups will  
benefit from the experiences of the LTER in using EML, and vice versa.

> The describes element is the metadata placeholder for metadata
> that did not fit anywhere else in the metadata document. The
> content there could be so generic that It would be difficult to
> make good use of it other than human reading. There are exceptions,
> of course (STMML)

Actually, it's not.  <additionalMetadata> is the container used to  
provide a moderate level of extensibility in EML, as noted above, and  
the <describes> tag is the mechanism used to bind the additional  
content to other locations within the EML tree.  The <describes> tag  
is optional because an EML author may *not* want to bind content to  
another location in the tree, but rather just provide additional  
metadata in a structured format that a parser that can handle (likely  
a parser that understands a superset of EML, for instance a markup  
language developed for soils metadata that is highly domain specific  
and added to the addtional metadata section.)

> I would say that
> the "unexpected" content in <additionalMetadata> will be primarily
> to save us from information loss, and sometimes, we use to plug
> in other schemas (such the STMML/custom unit consensus workaround).
> Perhaps other specify <access> rules there, (not sure why).

Please read the EML 2.0.1 specification. Access control rules in  
Section 2.4.1 state:

"Exceptions for particular data components of the package can be  
controlled at a finer grain by using an access description in the  
<additionalMetadata> element that points at a particular  
<distribution> element by referencing its unique id. An access control  
document may be defined, or referenced, from this location, and the  
<describes> element is used to point to the distribution that is to be  
controlled via its "id" attribute."

You seem to be lobbying for the removal of the <describes> tag, which  
is integral to maintaining separate access control rules for both  
metadata and data components of an EML package.  In my opinion, this  
would be a step backwards.  There are recognized and documented  
problems with the access control constructs in EML, and possible  
backwards-incompatible fixes are described in Bugzilla, but a  
wholesale removal of <describes> would be detrimental to the current  
access control functionality.

> However, it is still "optional". So, automated parser
> and semantic apps relying on <describes> content will be ill-fated
> with the schema as is. Enforcing the use of <describes> at the
> recommendation level ( that is, best / common practices) is all we
> have now.

Actually, the rules governing the use of the <describes> tag is  
strictly enforced by the applications that employ the EML parser (for  
both EML and XML validity).  You may want to ask Chad and Matt about  
how the parser enforces the rules - they wrote the EML parser.

> So, as it is, it is not much different from taking <describes>
> out of there. <xs:any> does not preclude the use of <describes>.
> May be it ought to be mandatory, we did it so in one EML-2.0.2
> candidate. Later, we proposed this other solution because of the
> backward compatibility problem, and also, because we did not need it.
> Perhaps, part of the reason is not used is because in practice, we
> have been forced to remove it from the EML schema due to its
> problematic nature.

If you plan to lobby for the removal of the <describes> tag, you must  
replace all of the functionality that it provides (described above and  
more) with other constructs without sacrificing the fundamental  
feature of EML: extensibility.  EML is not perfect by any means.  The  
community will likely move on to more semantically-oriented languages  
in the future, but the features that were designed into EML have  
catapulted groups within the ecological community out of free-form  
text descriptions, proprietary binary file descriptions, and/or no  
descriptions at all.

Thank you to all of those that toiled over the current version of EML,  
and those who are toiling over future versions now.

Chris
_________________________________________________________________
christopher jones       cjones at msi.ucsb.edu      (805) 680-5946
marine science institute  university of california, santa barbara
_________________________________________________________________

> cheers, inigo
>
> ps: im sending this to the eml-dev list per Matt request.
>
>
> Matthew Jones wrote:
>> <describes> is a fundamentally important field.  It cannot be removed
>> without significantly reducing the functionality of the
>> additionalMetadata section.  We use it for annotations of many points
>> in the schema.  It is also the primary mechanism being considered for
>> attaching semantic annotations to eml attributes.  So I would  
>> strongly
>> resist such a change.
>>
>> BTW, this discussion should be occurring on eml-dev.  Please forward
>> it there so all EML contributors are aware of it.
>>
>> Matt
>>


More information about the Eml-dev mailing list