| Author | Topic |
Posts: 27
Registered: January 2008
|
|
Invalid RDF annotations
|
18 Jan '08 06:46
|
 |
|
Dear SBML users,
As you are perhaps aware, some annotations in SBML are not valid RDF[1].
If you look at the latest specifications (Level 2 Version 3 Release 2), specially at the page 95: the piece of RDF given as an example for the model creator(s) contains several mistakes.
Let's take the model BIOMD0000000007 (from BioModels Database, cf. http://www.ebi.ac.uk/compneur-srv/biomodels/models-main/publ/BIOMD0000000007.xml) as our example (it follows the syntax given on the page 95 of the specs).
Here is the part of the annotation about the creator(s) (we only focus on the creators' part: the only one which is invalid):
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" >
<rdf:Description rdf:about="#_000001">
<dc:creator rdf:parseType="Resource">
<rdf:Bag>
<rdf:li rdf:parseType="Resource">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Shapiro</vCard:Family>
<vCard:Given>Bruce</vCard:Given>
</vCard:N>
<vCard:EMAIL>bshapiro@jpl.nasa.gov</vCard:EMAIL>
<vCard:ORG>
<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
</vCard:ORG>
</rdf:li>
<rdf:li rdf:parseType="Resource">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Le Novere</vCard:Family>
<vCard:Given>Nicolas</vCard:Given>
</vCard:N>
<vCard:EMAIL>lenov@ebi.ac.uk</vCard:EMAIL>
<vCard:ORG>
<vCard:Orgname>EMBL-EBI</vCard:Orgname>
</vCard:ORG>
</rdf:li>
</rdf:Bag>
</dc:creator>
[...]
</rdf:Description>
</rdf:RDF>
If you check the validation of these lines (without the [...]), you will notice that several elements generate errors messages by the validator.
Here are one valid syntax for this case:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" >
<rdf:Description rdf:about="#_000001">
<dc:creator>
<rdf:Bag>
<rdf:li rdf:parseType="Resource">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Shapiro</vCard:Family>
<vCard:Given>Bruce</vCard:Given>
</vCard:N>
<vCard:EMAIL>bshapiro@jpl.nasa.gov</vCard:EMAIL>
<vCard:ORG rdf:parseType="Resource">
<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
</vCard:ORG>
</rdf:li>
<rdf:li rdf:parseType="Resource">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Le Novere</vCard:Family>
<vCard:Given>Nicolas</vCard:Given>
</vCard:N>
<vCard:EMAIL>lenov@ebi.ac.uk</vCard:EMAIL>
<vCard:ORG rdf:parseType="Resource">
<vCard:Orgname>EMBL-EBI</vCard:Orgname>
</vCard:ORG>
</rdf:li>
</rdf:Bag>
</dc:creator>
</rdf:Description>
</rdf:RDF>
Two things have been done:
- remove rdf:parseType="Resource" from <dc:creator>, cf. http://www.w3.org/TR/REC-rdf-syntax/#containers
- add rdf:parseType="Resource" to all the <vCard:N> (like it is done for the <vCard:N>), cf. http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-parsetype-resource
We can also separate the definition of each creator (with this solution, each creator has a URI):
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" >
<rdf:Description rdf:about="#_000001">
<dc:creator>
<rdf:Bag>
<rdf:li rdf:resource="Author01" />
<rdf:li rdf:resource="Author02" />
</rdf:Bag>
</dc:creator>
</rdf:Description>
<rdf:Description rdf:about="Author01">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Shapiro</vCard:Family>
<vCard:Given>Bruce</vCard:Given>
</vCard:N>
<vCard:EMAIL>bshapiro@jpl.nasa.gov</vCard:EMAIL>
<vCard:ORG rdf:parseType="Resource">
<vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
</vCard:ORG>
</rdf:Description>
<rdf:Description rdf:about="Author02">
<vCard:N rdf:parseType="Resource">
<vCard:Family>Le Novere</vCard:Family>
<vCard:Given>Nicolas</vCard:Given>
</vCard:N>
<vCard:EMAIL>lenov@ebi.ac.uk</vCard:EMAIL>
<vCard:ORG rdf:parseType="Resource">
<vCard:Orgname>EMBL-EBI</vCard:Orgname>
</vCard:ORG>
</rdf:Description>
</rdf:RDF>
There is another point (even if I don't know if SBML wants it or even needs it): with a rdf:Bag (or any other Container) you can't close the list (i.e. say "these are *all* the members of the container"), using a Collection instead of a Container would solve that (cf. http://www.w3.org/TR/rdf-primer/#collections).
Although I took time to look at the syntax and grammar of RDF, I'm not a specialist of it. Therefore some mistakes may still remain, even if these solutions are valid. I would appreciate to have your comments and corrections about this matter.
Thank you.
[1] http://www.w3.org/RDF/Validator/
P.S.
While thinking about this issue, I noticed some very small typos in the specifications:
- p. 127, l. 5: There are two consecutive 'a'.
- p. 127, l. 11: The line number indicated should be 24 (according to the SBML specs document lines) or 12 (according to the Schema document lines), but not 27.
Hope that will help.
--
Camille Laibe
Software Developer (Computational Neurobiology),
European Bioinformatics Institute, Cambridge (UK).
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu.
|
|
|
Posts: 469
Registered: October 2003
|
|
Re: Invalid RDF annotations
|
18 Jan '08 08:46

|
 |
|
Camille Laibe wrote:
> Dear SBML users,
>
> As you are perhaps aware, some annotations in SBML are not valid RDF[1].
> If you look at the latest specifications (Level 2 Version 3 Release 2), specially at the page 95: the piece of RDF given as an example for the model creator(s) contains several mistakes.
> Let's take the model BIOMD0000000007 (from BioModels Database, cf. http://www.ebi.ac.uk/compneur-srv/biomodels/models-main/publ/BIOMD0000000007.xml) as our example (it follows the syntax given on the page 95 of the specs).
>
> Here is the part of the annotation about the creator(s) (we only focus on the creators' part: the only one which is invalid):
>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" >
> <rdf:Description rdf:about="#_000001">
> <dc:creator rdf:parseType="Resource">
> <rdf:Bag>
> <rdf:li rdf:parseType="Resource">
> <vCard:N rdf:parseType="Resource">
> <vCard:Family>Shapiro</vCard:Family>
> <vCard:Given>Bruce</vCard:Given>
> </vCard:N>
> <vCard:EMAIL>bshapiro@jpl.nasa.gov</vCard:EMAIL>
> <vCard:ORG>
> <vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
> </vCard:ORG>
> </rdf:li>
> <rdf:li rdf:parseType="Resource">
> <vCard:N rdf:parseType="Resource">
> <vCard:Family>Le Novere</vCard:Family>
> <vCard:Given>Nicolas</vCard:Given>
> </vCard:N>
> <vCard:EMAIL>lenov@ebi.ac.uk</vCard:EMAIL>
> <vCard:ORG>
> <vCard:Orgname>EMBL-EBI</vCard:Orgname>
> </vCard:ORG>
> </rdf:li>
> </rdf:Bag>
> </dc:creator>
> [...]
> </rdf:Description>
> </rdf:RDF>
>
> If you check the validation of these lines (without the [...]), you will notice that several elements generate errors messages by the validator.
>
> Here are one valid syntax for this case:
>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/" >
> <rdf:Description rdf:about="#_000001">
> <dc:creator>
> <rdf:Bag>
> <rdf:li rdf:parseType="Resource">
> <vCard:N rdf:parseType="Resource">
> <vCard:Family>Shapiro</vCard:Family>
> <vCard:Given>Bruce</vCard:Given>
> </vCard:N>
> <vCard:EMAIL>bshapiro@jpl.nasa.gov</vCard:EMAIL>
> <vCard:ORG rdf:parseType="Resource">
> <vCard:Orgname>NASA Jet Propulsion Laboratory</vCard:Orgname>
> </vCard:ORG>
> </rdf:li>
> <rdf:li rdf:parseType="Resource">
> <vCard:N rdf:parseType="Resource">
> <vCard:Family>Le Novere</vCard:Family>
> <vCard:Given>Nicolas</vCard:Given>
> </vCard:N>
> <vCard:EMAIL>lenov@ebi.ac.uk</vCard:EMAIL>
> <vCard:ORG rdf:parseType="Resource">
> <vCard:Orgname>EMBL-EBI</vCard:Orgname>
> </vCard:ORG>
> </rdf:li>
> </rdf:Bag>
> </dc:creator>
> </rdf:Description>
> </rdf:RDF>
>
> Two things have been done:
> - remove rdf:parseType="Resource" from <dc:creator>, cf. http://www.w3.org/TR/REC-rdf-syntax/#containers
> - add rdf:parseType="Resource" to all the <vCard:N> (like it is done for the <vCard:N>), cf. http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-parsetype-resource
- add rdf:parseType="Resource" to all the <vCard:ORG>
--
Nicolas LE NOVERE, Computational Neurobiology, EMBL-EBI, Wellcome-Trust
Genome Campus, Hinxton CB101SD UK, Tel:+441223494521, Mob:+447833147074
Fax:468, Skype:n.lenovere, AIM:nlenovere, MSN:nlenovere@hotmail.com
http://www.ebi.ac.uk/~lenov/, http://www.ebi.ac.uk/compneur/
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu.
|
|
|
Posts: 961
Registered: October 2003
|
|
Re: Invalid RDF annotations
|
05 Apr '08 20:43

|
 |
|
Hi Camille,
Thank you for catching these errors. It looks like you and
Nicolas are right about the following, and these will
probably need to be fixed in a new version of the L2 spec
(along with some other things):
- remove rdf:parseType="Resource" from <dc:creator>,
- add rdf:parseType="Resource" to all the <vCard:ORG>
I don't know if people want or care about this one -- maybe
other people can comment?
> We can also separate the definition of each creator (with
> this solution, each creator has a URI):
> <rdf:Description rdf:about="#_000001">
> <dc:creator>
> <rdf:Bag>
> <rdf:li rdf:resource="Author01" />
> <rdf:li rdf:resource="Author02" />
> </rdf:Bag>
> </dc:creator>
> </rdf:Description>
>
> [... rest of example omitted ...]
I'm not sure I understand your point about the following --
could you elaborate on it?
> There is another point (even if I don't know if SBML
> wants it or even needs it): with a rdf:Bag (or any other
> Container) you can't close the list (i.e. say "these are
> *all* the members of the container"), using a Collection
> instead of a Container would solve that
> (cf. http://www.w3.org/TR/rdf-primer/#collections).
Finally, could you please file these in the SBML issue
tracker?
> While thinking about this issue, I noticed some very small
> typos in the specifications:
> - p. 127, l. 5: There are two consecutive 'a'.
> - p. 127, l. 11: The line number indicated should be 24
> (according to the SBML specs document lines) or 12
> (according to the Schema document lines), but not 27.
The same goes for everyone: if you spot typos or other
problems, please feel free to report them using the issue
tracker at
http://sbml.org/issue-tracker
Thanks,
MH
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 27
Registered: January 2008
|
|
Re: Invalid RDF annotations
|
07 Apr '08 08:30

|
 |
|
Hello,
> I'm not sure I understand your point about the following --
> could you elaborate on it?
>
>> There is another point (even if I don't know if SBML
>> wants it or even needs it): with a rdf:Bag (or any other
>> Container) you can't close the list (i.e. say "these are
>> *all* the members of the container"), using a Collection
>> instead of a Container would solve that
>> (cf. http://www.w3.org/TR/rdf-primer/#collections).
In the context of RDF, a Container doesn't provide any limit to its content. That means that a Container defines a list of included resources but do not exclude possible others.
A Collection is used to describe a group that contains *only* the specified members. Therefore, you can say "here are the authors of this model *and there are no others*".
I don't think this level of security is necessary in the context of SBML, but as I went through the specs of RDF for this issue, I discovered this element and therefore gave the different possibilities to describe a "list" of resources in RDF.
>From http://www.w3.org/TR/rdf-primer/#collections :
"A limitation of the containers described in Section 4.1 is that there is no way to close them, i.e., to say 'these are all the members of the container'. As noted in Section 4.1, a container only says that certain identified resources are members; it does not say that other members do not exist. Also, while one graph may describe some of the members, there is no way to exclude the possibility that there is another graph somewhere that describes additional members. RDF provides support for describing groups containing only the specified members, in the form of RDF collections."
> Finally, could you please file these in the SBML issue
> tracker?
>
>> While thinking about this issue, I noticed some very small
>> typos in the specifications:
>> - p. 127, l. 5: There are two consecutive 'a'.
>> - p. 127, l. 11: The line number indicated should be 24
>> (according to the SBML specs document lines) or 12
>> (according to the Schema document lines), but not 27.
I think I already did:
cf. bug 1874869 in the "SBML Specification Issue Reports" section, on the SourceForge repository, http://sourceforge.net/tracker/index.php?func=detail&aid=1874869&group_id=71971&atid=894711
--
Camille Laibe
Software Developer (Computational Neurobiology),
European Bioinformatics Institute, Cambridge (UK).
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss
For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/forums/
For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu
|
|
|
Posts: 1
Location: Brazil
Registered: April 2008
|
|
|
Posts: 961
Registered: October 2003
|
|
|
|