#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 2 of 3)
  • Frank Bergmann

    Frank Bergmann - 2010-10-06
    • labels: 990156 --> 1355933
    • status: pending --> open
     
  • Frank Bergmann

    Frank Bergmann - 2010-10-06

    re-opened, nicolas just made me aware of this today

     
  • Michael Hucka

    Michael Hucka - 2011-05-01
    • labels: 1355933 --> Level 3 Version 1 Core
     
  • Lucian Smith

    Lucian Smith - 2012-05-25
    • priority: 5 --> 8
    • milestone: --> Accepted:_Changes_with_conformance_implications
     
  • Michael Hucka

    Michael Hucka - 2012-06-19

    This fix needs to be made part of L3v2.

    I've added it to the list of known errata, with an explanation.

     
  • Michael Hucka

    Michael Hucka - 2012-06-19
    • assigned_to: lenov --> mhucka
    • status: open --> pending
     
  • Lucian Smith

    Lucian Smith - 2013-09-16
    • Group: Accept-conformanc-implication --> Accept-conformance-implications
     
  • Michael Hucka

    Michael Hucka - 2013-12-09
    • status: pending --> accepted
     
  • Lucian Smith

    Lucian Smith - 2014-04-23

    Updating this to also include L2v4 so we remember (finally) to make the change for L2v5.

     
  • Lucian Smith

    Lucian Smith - 2014-04-23
    • labels: Level 3 Version 1 Core --> Level 3 Version 1 Core, Level 2 Version 4
     
  • Nicolas Le Novère

    Hello,

    So .... Things are not as simple as it seemed. I went through all the proposals (Camille, Stephan etc.) and generated the graphs. I also explored all the alternatives I could find, including reification of statement and use of rdf attributes now deprecated (such as BagID). If we want to link independent triples through URIs, Camille's solution is not only the most elegant, it also provides the right graph. All the other solutions provide misleading graphs, i.e. with wrong statements. However, Camille's solution (as well as some of the other proposed) rely on using several Description elements. But SBML Level 2 requires that the controlled annotation lies in the first Description element. If we want to use only one Description element, the only way to get the proper graph is to nest the statements. By that I mean put a biomodels qualifiers and its content inside the Bag of another one. The advantage is that we do not need to introduce any other element or attribute. Also, all previous annotations remain valid. In summary, we have 3 options:

    OPTION 1: We allow nested statements. The result is valid RDF, with the proper graph. We do not need any additional element or attribute. We still use only the first Description element for controlled annotation.

    OPTION 2: We allow the use of several Description elements, and use them as described by Camille. The result is valid RDF, with the proper graph. We do not need any additional element or attribute. We do not restrict the controlled annotation to the first Description element anymore. However, we could say that if there are controlled annotations, the first Description element must be part of it (and then RDF finds the others)

    OPTION 3: We add the rdf:ID attribute on a Bag as planned initially. The result is valid RDF, but the RDF graph is rubbish. The meaning is described in the specification (as we do for the alternative Bags at the moment). We still use only the first Description element for controlled annotation.

    I am very very partial to OPTION 1.

     
  • Nicolas Le Novère

    XML corresponding to the triples above (apparently XML declaration made the code disappear)

    <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="http://identifiers.org/go/GO:0005764"/>
            <bqbiol:isDescribedBy>
              <rdf:Bag>
                <rdf:li rdf:resource="http://identifiers.org/pubmed/1111111"/>
              </rdf:Bag>
            </bqbiol:isDescribedBy>
            <bqbiol:isDescribedBy>
              <rdf:Bag>
                <rdf:li rdf:resource="http://identifiers.org/eco/ECO:0000004"/>
              </rdf:Bag>
            </bqbiol:isDescribedBy>
          </rdf:Bag>
        </bqbiol:occursIn>
      </rdf:Description>
    </rdf:RDF>
    
     
    Last edit: Lucian Smith 2014-05-08
  • Lucian Smith

    Lucian Smith - 2014-05-08

    Nicolas, if you put spaces before the example XML, it will display correctly--I've edited your above post appropriately. (Also, it emails everyone OK.)

    (Also, two spaces don't work--I had to go to four.)

     
    Last edit: Lucian Smith 2014-05-08
  • Michael Hucka

    Michael Hucka - 2014-06-05

    I agree with Nicolas, and option 1.

     
  • Lucian Smith

    Lucian Smith - 2014-06-12

    Given Nicolas's investigation, and the fact that there are a few options available and not just one, I am re-setting this item to 'open' so it's in the right searches until we choose between them. Everyone has agreed that some change needs to be made, but there are a few different options.

     
  • Lucian Smith

    Lucian Smith - 2014-06-12
    • status: accepted --> open
     
  • Dagmar Waltemath

    I would prefer a proper solution for annotations (blaming myself here), like an updated concept for how we would like to handle the linking of SBML into the semantic world (and how to solve the questions related to the SBML history at the same time).

    However, if something needs to be changed now, then I am also voting for option 1.

     
  • Lucian Smith

    Lucian Smith - 2014-06-25

    (If we get one more editor vote and someone to sign off on the text, I'll add it to the L2v5 spec too, add it to the errata lists, and close this issue.)

     
  • Frank Bergmann

    Frank Bergmann - 2014-06-28

    I prefer Option 2 myself, but would be ok with Option 1.

     
  • Brett Olivier

    Brett Olivier - 2014-07-08

    I agree with option 1.

    Regarding the text, maybe I missed it, but is it necessary to say that it is legitimate, when reading the controlled vocabulary, to ignore the nested elements?

     
    • Lucian Smith

      Lucian Smith - 2014-07-08

      That's an interesting question--I assume that on some level, all annotations can be ignored, right? No annotation actually changes the meaning of the thing it annotates, merely clarifies, or adds more specific information. I would assume the same is true of this nested annotation.

      So, you're suggesting an explicit mention of this? That seems reasonable.

       
  • Lucian Smith

    Lucian Smith - 2014-07-08
    • status: open --> closed
     
<< < 1 2 3 > >> (Page 2 of 3)

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks