- 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