|
Hello Oliver,
On Thu, 17 Sep 2009 11:40:00 -0400
Oliver Ruebenacker <curoli@gmail.com> wrote:
> Hello Stefan, All,
>
> On Thu, Sep 17, 2009 at 8:31 AM, shoops <shoops@vbi.vt.edu> wrote:
> >> <bqbiol:isVersionOf>
> >> <rdf:bag>
> >> <rdf:li rdf:resource="http://some.uri.thing.1"/>
> >> <rdf:li rdf:resource="http://some.uri.thing.2"/>
> >> <rdf:li rdf:resource="http://some.uri.thing.3"/>
> >> <rdf:li rdf:resource="http://some.uri.thing.4"/>
> >> </rdf:bag>
> >> </bqbiol:isVersionOf>
> >>
> >> which is 1 CVTerm with 4 resources :-)
> >>
> >
> > Actually :(
> >
> > because from the standpoint from RDF we have for triplets:
> > subject: ???, predicate: bqbiol:isVersionOf, resource: ...1
> > subject: ???, predicate: bqbiol:isVersionOf, resource: ...2
> > subject: ???, predicate: bqbiol:isVersionOf, resource: ...3
> > subject: ???, predicate: bqbiol:isVersionOf, resource: ...4
> >
> > Therfore I would expect the count of stements to be 4. The tags bag
> > and li are just used for convenience/human readability. They do not
> > change the datamodel.
>
> Maybe it is equvalent for SBML/MIRIAM purposes, but in terms of RDF,
> a bag is not a convenience notation for similar statements. A bag is
> an object that represents a set, and the resulting statements are
> different. For example, to say that Obama has two daughters, without
> bags, you would say (in N3 notation):
>
> ex:Obama ex:hasChild ex:Malia .
> ex:Obama ex:hasChild ex:Sasha .
>
> with a bag, the equivalent to above situation would be:
>
> ex:Obama ex:hasChildren _:b0 .
> _:b0 rdf:type rdf:bag .
> _:b0 rdf:li ex:Malia .
> _:b0 rdf:li ex:Sasha .
>
> where _:b0 is a blank node. Instead of a blank node, you could also
> use a named node, such as:
>
> ex:Obama ex:hasChildren ex:ObamaChildren .
> ex:ObamaChildren rdf:type rdf:bag .
> ex:ObamaChildren rdf:li ex:Malia .
> ex:ObamaChildren rdf:li ex:Sasha .
>
> In any case, that makes one statement involving ex:Obama, but four
> statements total.
>
> Take care
> Oliver
>
Your example differs from the SBML example. You use 2 different
predicates:
ex:hasChild and ex:hasChildren
therfore it does not apply since in SBML we use just bqbiol:isVersionOf
which means that
<bqbiol:isVersionOf>
<rdf:bag>
<rdf:li rdf:resource="http://some.uri.thing.1"/>
<rdf:li rdf:resource="http://some.uri.thing.2"/>
<rdf:li rdf:resource="http://some.uri.thing.3"/>
<rdf:li rdf:resource="http://some.uri.thing.4"/>
</rdf:bag>
</bqbiol:isVersionOf>
is from the content view equivalent to:
<bqbiol:isVersionOf rdf:resource="http://some.uri.thing.1"/>
<bqbiol:isVersionOf rdf:resource="http://some.uri.thing.2"/>
<bqbiol:isVersionOf rdf:resource="http://some.uri.thing.3"/>
<bqbiol:isVersionOf rdf:resource="http://some.uri.thing.4"/>
If you do not belive me try the raptor library implemented by Dave
Beckett, who is and expert in this field, to generate the triplets and
write them out in a compact versus verbose format.
Thanks,
Stefan
--
Stefan Hoops, Ph.D.
Senior Project Associate
Virginia Bioinformatics Institute - 0477
Virginia Tech
Bioinformatics Facility II
Blacksburg, Va 24061, USA
Phone: (540) 231-1799
Fax: (540) 231-2606
Email: shoops@vbi.vt.edu
____________________________________________________________
To manage your sbml-interoperability list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-interoperability
For a web interface to the sbml-interoperability mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-interoperability list,
contact sbml-team@caltech.edu
|