- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Tue, 5 Mar 2013 11:17:53 +0000
- To: "Timothy W. Cook" <timothywayne.cook@gmail.com>
- Cc: public-openannotation <public-openannotation@w3.org>
My gut feeling is that this should be presented in
xs:annotation/xs:appinfo, as that is exactly what that structure in
XSD is intended for.
But I would not put semi-RDF/XML in there, either go all the way or
use something else (dcterms?). Thus using rdfs:seeAlso as an attribute
I would say is inappropriate as it seems to be hinting on being RDF
when it is not at all.
Perhaps something like (syntax not checked!):
<xs:complexType name="ct-f6c5ea6e-6458-4799-874d-7f3d365d260d"
xml:id="ct-f6c5ea6e-6458-4799-874d-7f3d365d260d">
<xs:annotation>
<xs:appinfo>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<oa:Annotation xmlns:oa="http://www.w3.org/ns/oa#">
<oa:motivatedBy
rdf:resource="http://www.w3.org/ns/oa#tagging" />
<oa:hasTarget
rdf:target="#ct-f6c5ea6e-6458-4799-874d-7f3d365d260d" />
<oa:hasBody>
<oa:SemanticTag
rdf:about="http://purl.bioontology.org/ontology/SNOMEDCT/365761000" />
</oa:hasBody>
</oa:Annotation>
</rdf:RDF>
</xs:appinfo>
</xs:annotation>
<!-- ... -->
</xs:complexType>
Here I use the xml:id on the complex type to make it easy to refer to
it by #anchor and reduce the verbosity a bit. Of course RDF/XML does
work against us a bit in its verbose form.
But unless you want to do something more about the annotation, like
referring to it (give it an rdf:about), adding provenance, or build
some kind of relations between these complex types, then I would think
it would be easier to just do (again syntax not checked):
<xs:complexType name="ct-f6c5ea6e-6458-4799-874d-7f3d365d260d">
<xs:annotation>
<xs:appinfo>
<dcterms:source>http://purl.bioontology.org/ontology/SNOMEDCT/365761000</dcterms:source>
</xs:appinfo>
</xs:annotation>
</xs:complexType>
This should comply with the schema at
http://www.dublincore.org/schemas/xmls/qdc/dcterms.xsd which you can
add if you want.
I'm not sure about dcterms:source vs dcterms:identifier (or
motivation oa:tagging or also adding oa:identifying) - that depends on
the nature of your complex types.
Also xs:appinfo takes a source attribute.. so the simplest might just be:
<xs:appinfo source="http://purl.bioontology.org/ontology/SNOMEDCT/365761000" />
On Sat, Mar 2, 2013 at 2:23 PM, Timothy W. Cook
<timothywayne.cook@gmail.com> wrote:
> HI All,
>
> Though I have read virtually everything I can find related to this
> subject; including:
> http://lists.w3.org/Archives/Public/public-openannotation/2013Feb/0051.html
>
> I really don't see the answer to my question.
>
> First of all this is a "green field" area. I do not have to be
> concerned with existing documents and how it has been done in the
> past.
>
> I just want to get this right, the first time. Given all the
> experience from people here.
>
> Scenario:
>
> I have XML Schemas that define data instance structures (as usual).
> These schemas use a lot of complexTypes that are restrictions from a
> base schema. Since each base schema complexType can be represented in
> a schema multiple times with different restrictions, I use a UUID
> based name. For example:
>
> <xs:complexType name="ct-f6c5ea6e-6458-4799-874d-7f3d365d260d">
> <xs:complexContent>
> <xs:restriction base="mlhim2:DvQuantityType">
> <xs:sequence>
>
> ...
>
> These complexTypes are almost always definable via a controlled
> vocabulary, ex. SNOMED-CT
>
> In order to add semantics to the complexType definition my current
> thought is to use:
>
> <xs:complexType name="ct-f6c5ea6e-6458-4799-874d-7f3d365d260d">
> <xs:annotation>
> <xs:appinfo>
> <rdfs:isDefinedBy
> rdfs:resource="http://purl.bioontology.org/ontology/SNOMEDCT/365761000"/>
> </xs:appinfo>
> </xs:annotation>
> <xs:complexContent>
> <xs:restriction base="mlhim2:DvQuantityType">
> <xs:sequence>
> ...
>
> Which will identify this complexType as a Sodium level finding
> according to SNOMED-CT.
>
> My first question is:
> 1) is it correct to make the assumption that the annotation applies to
> the enclosing complexType without using an rdf:about (or similar)
> definition?
>
> 2) is rdfs:isDefinedBy the "tag" to use, or is something like
> oa:SemanticTag a better choice?
>
> Realizing that these annotations will not be reproduced in the
> instance data. The eco-system around this says that to determine the
> full semantics you must have the schema associated with any instance
> data.
>
> Thoughts?
>
> Cheers,
> Tim
>
>
>
> --
> ============================================
> Timothy Cook, MSc +55 21 94711995
> MLHIM http://www.mlhim.org
> Like Us on FB: https://www.facebook.com/mlhim2
> Circle us on G+: http://goo.gl/44EV5
> Google Scholar: http://goo.gl/MMZ1o
> LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook
>
--
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester
Received on Tuesday, 5 March 2013 11:18:42 UTC