@mpsaloha brought up an interesting point last week on our DataONE semprov call: Should <annotation> elements be able to have ids? This'd allow at least two cool things:
- Annotations can be turned into quads and referenced in other contexts. Coolness level: Gentle ocean breeze.
- Annotations can annotate other annotations. Coolness level: Gale force winds.
For example, (2) allows us to insert provenance about annotations. Take this annotation:
<!-- snip -->
<attribute id="my_attribute">
<!-- snip -->
<annotation>
<propertyURI label="contains measurements about">
http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#ofEntity
</propertyURI>
<valueURI label="air">
http://purl.obolibrary.org/obo/ENVO_00002005
</valueURI>
</annotation>
<!-- snip -->
</attribute>
<!-- snip -->
Add in the option of an id attribute:
<!-- snip -->
<attribute id="my_attribute">
<!-- snip -->
<annotation id="my_annotation">
<propertyURI label="contains measurements about">
http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#ofEntity
</propertyURI>
<valueURI label="air">
http://purl.obolibrary.org/obo/ENVO_00002005
</valueURI>
</annotation>
<!-- snip -->
</attribute>
<!-- snip -->
<annotations>
<annotation references="my_annotation">
<propertyURI label="was created by">
https://schema.org/creator
</propertyURI>
<valueURI label="Bryce Mecum">
https://dataone.org/person/BryceMecum
</valueURI>
</annotation>
</annotations>
I think this is potentially useful, and I also think it's not a problem to add to the schema and it's probably better to add now, before 2.2 is released. @mobb mentioned our usual pattern with id attributes is that they also come with system and scope attributes, like:
<xs:attribute name="id" type="res:IDType" use="optional"/>
<xs:attribute name="system" type="res:SystemType" use="optional"/>
<xs:attribute name="scope" type="res:ScopeType" use="optional" default="document"/>
Is this interesting to others and does this fit within the spirit of the semantics module?
@mpsaloha brought up an interesting point last week on our DataONE semprov call: Should
<annotation>elements be able to haveids? This'd allow at least two cool things:For example, (2) allows us to insert provenance about annotations. Take this annotation:
Add in the option of an
idattribute:I think this is potentially useful, and I also think it's not a problem to add to the schema and it's probably better to add now, before 2.2 is released. @mobb mentioned our usual pattern with
idattributes is that they also come withsystemandscopeattributes, like:Is this interesting to others and does this fit within the spirit of the semantics module?