Hello Tore,

You might consider posing this question to the obo-discuss group, where discussion of the use of GO often occurs, or consider joining the biopax-obo effort - http://groups.google.com/group/biopax-obo - where we are currently working on precisely this sort of problem - representing interactions and pathways in a way that maximally reuses existing OBO ontologies, and which use OWL and RDF in manner consistent with the existing forms of the owl versions of the OBO ontologies.

Regards,
Alan

On Mar 13, 2008, at 12:06 AM, Tore Eriksson wrote:


Hi,

I am contemplating how to represent biochemical reactions in RDF, and I
have some questions about properties and subproperties that I hope
anyone could shed some light on. What I want to do is to model reactions
and the involved entities like this:

_:bn1 a :Reaction;
:substrate <info:inchi/InChI=1/C4H4O4/c5-3(6)1-2-4(7)8/h1-2H,(H, 5,6)(H,7,8)/b2-1+/f/h5,7H>;
    :substrate <info:inchi/InChI=1/H2O/h1H2>;
    :enzyme <http://purl.uniprot.org/uniprot/P07954>;
:product <info:inchi/InChI=1/C4H6O5/c5-2(4(8)9)1-3(6)7/h2,5H, 1H2,(H,6,7)(H,8,9)/t2-/m0/s1/f/h
6,8H>.

My idea is to substitute the predicate :enzyme with molecular functions
that are subclasses of GO:0003824 (catalytic activity), and use the GO
hiearchy to constrain which type of catalytic activity is:

@prefix GO: <http://purl.org/obo/owl/GO#>
_:bn1 a :Reaction;
:substrate <info:inchi/InChI=1/C4H4O4/c5-3(6)1-2-4(7)8/h1-2H,(H, 5,6)(H,7,8)/b2-1+/f/h5,7H>;
    :substrate <info:inchi/InChI=1/H2O/h1H2>;
    GO:GO_0004333 <http://purl.uniprot.org/uniprot/P07954>;
:product <info:inchi/InChI=1/C4H6O5/c5-2(4(8)9)1-3(6)7/h2,5H, 1H2,(H,6,7)(H,8,9)/t2-/m0/s1/f/h
6,8H>.

As the GO categories presumably are of type rdfs:Class, my question is
if I am allowed to do this at all. Also, I suppose I have to remap the
class hierarchy to a property hierarchy, since the properties will not
heed the rdfs:subClassOf hierarchy. Perhaps something like this in
SPARQL:

PREFIX GO: <http://purl.org/obo/owl/GO#>
CONSTRUCT { ?a a rdfs:Property .
            ?b a rdfs:Property .
            ?a rdfs:subPropertyOf ?b }
WHERE { GRAPH <http://www.berkeleybop.org/ontologies/obo-all/ molecular_function/molecular_function.owl>
          {  ?a a GO:GO_000382 .
             ?b a GO:GO_000382 .
             ?a rdfs:subClassOf ?b } } .

Another question is how can I write this in RDF schema or OWL? I have a
nagging feeling that I am over-reaching on this one... Any comments
welcome.

Regards,

Tore Eriksson
Taisho Pharmaceutical Co., Ltd.

_______________________________________________________________
Tore Eriksson [tore.eriksson ad po.rd.taisho.co.jp]






Reply via email to