Menu

#128 linking rdf:Bags

closed
8
2014-07-08
2008-09-03
No

I would like to modify a tiny bit the annotation framework described in the spec, to allow rdf:ID and rdf:about attributes on rdf:Bag element. This is proper RDF, and that will provide a mechanism to precise an annotation with another one. Examples of things much asked for by the community are:
* describe protein modifications on species
* put evidence codes

The following says that the species is a phosphorylated form of the protein:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
<rdf:Description rdf:about="#_000004" >
<bqbiol:isVersionOf>
<rdf:Bag rdf:ID="toto" >
<rdf:li rdf:resource="urn:miriam:uniprot:P04551"/>
</rdf:Bag>
</bqbiol:isVersionOf>
<bqbiol:isVersionOf>
<rdf:Bag rdf:about="#toto">
<rdf:li rdf:resource="urn:miriam:obo.mod:MOD%3A00047"/>
</rdf:Bag>
</bqbiol:isVersionOf>
</rdf:Description>
</rdf:RDF>

The following says that the species has been located in the lysosome, by a cell fractionation assay described in a publication.

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
<rdf:Description rdf:about="#_000004" >
<bqbiol:occursIn>
<rdf:Bag rdf:ID="toto" >
<rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0005764"/>
</rdf:Bag>
</bqbiol:occursIn>
<bqbiol:isDescribedBy>
<rdf:Bag rdf:about="#toto">
<rdf:li rdf:resource="urn:miriam:pubmed:1111111"/>
</rdf:Bag>
</bqbiol:isdescribedBy>
<bqbiol:isDescribedBy>
<rdf:Bag rdf:about="#toto">
<rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004"/>
</rdf:Bag>
</bqbiol:isdescribedBy>
</rdf:Description>
</rdf:RDF>

Discussion

1 2 3 > >> (Page 1 of 3)
  • Stefan Hoops

    Stefan Hoops - 2008-09-03

    Logged In: YES
    user_id=862059
    Originator: NO

    I am accepting this issue as valid.

     
  • Stefan Hoops

    Stefan Hoops - 2008-09-03

    Logged In: YES
    user_id=862059
    Originator: NO

    Overall I think this is the right approach.

    However, we decided against correcting any design mistakes made in the RDF specs. We decided against those changes to avoid additional complications in the implementation. If we allow these additional attributes and do not ask for support we effectively create an individual exchange language.

    Please node that if we allow the about to refer to other ids we can annotate any element within an SBML document not just the parent object of the annotation element. This is far to complicated for L2V4 and we should keep this in mind for the proposed L3 MIRIAM compliant annotation extension.

    On the other hand if we open up the RDF design we should remove the RDF/XML limitations simultaneously.

     
  • Nicolas Le Novère

    Logged In: YES
    user_id=1045203
    Originator: YES

    > However, we decided against correcting any design mistakes made in the RDF specs.

    Yes and no. We decided not to change the global approach to RDF, but we are still fixing bugs, cf issue 1874879. Fixing this issue results in fiddling with attributes already

    > If we allow these additional attributes and do not ask for support we effectively create an individual exchange language.

    Sorry, I do not understand.

    > Please node that if we allow the about to refer to other ids we can annotate any element within an SBML document not just the parent object of the annotation element.

    Is-it true? I am not sure, because the SBML is not an RDF document. We will test it. We would have to modify the URI to use absolute ones. But anyway, we can still restrict the scope of the about to the current RDF block. After all, what we do at the moment is way more strict.

     
  • Camille Laibe

    Camille Laibe - 2008-09-08

    > Please node that if we allow the about to refer to other ids we can
    > annotate any element within an SBML document not just the parent object of
    > the annotation element.

    Yes, by using Nicolas's way, I guess it is possible to refer to elements outside the RDF block they are declared.

    But this is highly dependant on how a tool parses an SBML document. I believe, so far, most of the tools handling annotations only consider them independently (only linked to the component they are child of) and not as a whole set. In this case, the above modification of the RDF should not influence too much already existing tools: they will definitively not mix annotations from different blocks. But I agree, modifications will be needed to support this.

    Moreover, for safety, we can always add a restriction in the specifications.

     
  • Michael Hucka

    Michael Hucka - 2008-09-19
    • labels: 1102929 --> 990156
     
  • Sarah Keating

    Sarah Keating - 2008-09-19

    I am accepting this issue as valid.

     
  • Sarah Keating

    Sarah Keating - 2008-09-19

    I'm not sure we should make this change.

    I can see why it would be useful

    BUT ...

    about 50% of my libsbml related queries relate to dealing with annotations and how to pull information out.
    I think allowing the each Bag element to potential be "about" a different object will cause major complications
    and since we envisage revisiting RDF for l3 I would vote with not doing this now.

     
  • Michael Hucka

    Michael Hucka - 2008-09-19

    I am accepting this issue as valid.

     
  • Michael Hucka

    Michael Hucka - 2008-09-19

    Is this crucial for supporting evidence codes? If so, then we must have it. There is already a big modeling effort underway that needs it.

     
  • Nicolas Le Novère

    • assigned_to: nobody --> lenov
    • status: open --> pending
     
  • Stefan Hoops

    Stefan Hoops - 2009-02-03

    Graph generated from the first example.

     
  • Stefan Hoops

    Stefan Hoops - 2009-02-03

    File Added: example2.png

     
  • Stefan Hoops

    Stefan Hoops - 2009-02-03

    Graph generated from the second example.

     
  • Camille Laibe

    Camille Laibe - 2009-02-04

    Concerning the first example given by Nicolas, what about using this syntax instead:

    <?xml version="1.0"?>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
    xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
    <rdf:Description rdf:about="#_000004" >
    <bqbiol:isVersionOf>
    <rdf:Bag rdf:ID="toto" >
    <rdf:li rdf:resource="urn:miriam:uniprot:P04551"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    </rdf:Description>
    <rdf:Description rdf:about="urn:miriam:uniprot:P04551">
    <bqbiol:isVersionOf>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.mod:MOD%3A00047"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    </rdf:Description>
    </rdf:RDF>

    The corresponding graph seems correct (according to my understanding of what Nicolas wants to express).

     
  • Camille Laibe

    Camille Laibe - 2009-02-04

    About Nicolas' second example, I would write it that way:

    <?xml version="1.0"?>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
    xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
    <rdf:Description rdf:about="#_000004">
    <bqbiol:occursIn>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0005764" />
    </rdf:Bag>
    </bqbiol:occursIn>
    </rdf:Description>
    <rdf:Description rdf:about="urn:miriam:obo.go:GO%3A0005764">
    <bqbiol:isDescribedBy>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:pubmed:1111111" />
    <rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004" />
    </rdf:Bag>
    </bqbiol:isDescribedBy>
    </rdf:Description>
    </rdf:RDF>

    What do you think about this syntax?

     
  • Stefan Hoops

    Stefan Hoops - 2009-02-10

    The correct syntax for both examples is found below. Please note that this is just on possible notation.

    <?xml version="1.0"?>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
    <rdf:Description rdf:about="#_000004">
    <bqbiol:isVersionOf>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:uniprot:P04551" rdf:ID="toto"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    </rdf:Description>
    <rdf:Description rdf:about="#toto">
    <bqbiol:isVersionOf>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.mod:MOD%3A00047"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    </rdf:Description>
    </rdf:RDF>

    <?xml version="1.0"?>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
    <rdf:Description rdf:about="#_000004">
    <bqbiol:occursIn>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0005764" rdf:ID="toto"/>
    </rdf:Bag>
    </bqbiol:occursIn>
    </rdf:Description>
    <rdf:Description rdf:about="#toto">
    <bqbiol:isDescribedBy>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:pubmed:1111111"/>
    <rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004"/>
    </rdf:Bag>
    </bqbiol:isDescribedBy>
    </rdf:Description>
    </rdf:RDF>

     
  • Camille Laibe

    Camille Laibe - 2009-02-10

    I agree that Stefan gave another possible syntax.
    However, although it is a valid one, I'm not sure to fully understand why, when we already have an identifier for a resource (for example 'urn:miriam:uniprot:P04551' in the first example) it is useful to create a second one ('toto', still in the first example).
    Moreover, the addition of this identifier actually makes the graph[1] more complicated (than the relationships actually are)! See the attached pictures: graph_example1_Stephan.png (Stephan's syntax) and graph_example1_Camille.png (the syntax I gave previously). Of course, the same apply for the second example.
    So, as I'm not an expert of RDF, I would be happy to understand what are the pros of such a syntax. Thank you.

    [1] generated by the RDF W3C Online Validator: http://www.w3.org/RDF/Validator/

     
  • Camille Laibe

    Camille Laibe - 2009-02-10

    Ok, I wanted to attach the two graphs, but it seems I can't...
    Anyway, just copy/paste the piece of RDF to http://www.w3.org/RDF/Validator/, don't forget to select 'triples and graph' in the options and finally click 'Parse RDF'.

     
  • Stefan Hoops

    Stefan Hoops - 2009-06-27

    SBML Compliant encoding of example 2:

    <rdf:RDF
    xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about="#_000004">
    <bqbiol:occursIn>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0005764"/>
    </rdf:Bag>
    </bqbiol:occursIn>
    </rdf:Description>
    <rdf:Statement>
    <bqbiol:isDescribedBy>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004"/>
    <rdf:li rdf:resource="urn:miriam:pubmed:1111111"/>
    </rdf:Bag>
    </bqbiol:isDescribedBy>
    <rdf:object rdf:resource="urn:miriam:obo.go:GO%3A0005764"/>
    <rdf:predicate rdf:resource="http://biomodels.net/biology-qualifiers/occursIn"/>
    <rdf:subject rdf:resource="#_000004"/>
    </rdf:Statement>
    </rdf:RDF>

     
  • Stefan Hoops

    Stefan Hoops - 2009-06-27

    SBML compliant encoding of example 1:

    <rdf:RDF
    xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about="#_000004">
    <bqbiol:isVersionOf>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:uniprot:P04551"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    </rdf:Description>
    <rdf:Statement>
    <bqbiol:isVersionOf>
    <rdf:Bag>
    <rdf:li rdf:resource="urn:miriam:obo.mod:MOD%3A00047"/>
    </rdf:Bag>
    </bqbiol:isVersionOf>
    <rdf:object rdf:resource="urn:miriam:uniprot:P04551"/>
    <rdf:predicate rdf:resource="http://biomodels.net/biology-qualifiers/isVersionOf"/>
    <rdf:subject rdf:resource="#_000004"/>
    </rdf:Statement>
    </rdf:RDF>

     
  • Stefan Hoops

    Stefan Hoops - 2009-06-27

    I agree with the proposed change and that it should be done.

     
  • SourceForge Robot

    • status: pending --> closed
     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 730 days (the time period specified by
    the administrator of this Tracker).

     
  • Michael Hucka

    Michael Hucka - 2010-09-22
    • status: closed --> pending
     
  • Michael Hucka

    Michael Hucka - 2010-09-22

    Reopening the item. Screw the damn bot.

     
1 2 3 > >> (Page 1 of 3)

Log in to post a comment.

MongoDB Logo MongoDB