Re: GO as RDF properties

On Mar 12, 2008, at 9:06 PM, 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.

Hi Tore

No one's preventing you from doing it. However, it would almost  
certainly be a bad idea.

OWL1.1. may allow you to mix properties and classes in this way, but  
even so it's unlikely to carry the semantics you intend

You could define your own property and link it to the GO class via an  
annotation property. Here you're just using GO as fancy  
documentation. This approach would probably be the most in keeping  
with the BioPAX-y OO type approach above

alternatively you can go down what I guess is more the biopax-obo  
route; make your reaction a subclass of the GO function, use classes  
to represent the proteins and chemicals involved, with some kind of  
participation relation between the participants and the reaction

As Alan says biopax-obo would be a good list to ask about this

> 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 } } .

'a' is a synonym for rdf:type isn't it? Which means ?a and ?b would  
be in the ABox, so you couldn't have a subClassOf axiom between them  
in OWL1.0 DL

> 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.

Not sure what you mean here.

Cheers
Chris

> Regards,
>
> Tore Eriksson
> Taisho Pharmaceutical Co., Ltd.
>
> _______________________________________________________________
> Tore Eriksson [tore.eriksson ad po.rd.taisho.co.jp]
>
>
>
>
>

Received on Thursday, 13 March 2008 23:18:51 UTC