Where are the relations for BFO 2.0?

385 views
Skip to first unread message

Alan Ruttenberg

unread,
Mar 27, 2016, 10:27:14 PM3/27/16
to BFO Discuss
This message was accidentally marked as spam and the sender banned. I believe I've fixed that now. Sorry about that Vikram.
Alan

---------- Forwarded message ----------
From: <dilettante.coder@live.com>
To: BFO Discuss <bfo-d...@googlegroups.com>
Cc: 
Date: Sat, 26 Mar 2016 11:47:41 -0700
Subject: Where are the relations for BFO 2.0?
I'm new to BFO, so perhaps I'm missing something obvious.

But: the Ontobee page for BFO redirects to the Github 2.0 release athttps://raw.githubusercontent.com/BFO-ontology/BFO/v2.0/bfo.owl.  This release folder does not contain any separate owl file containing relations.  The root folder for the BFO repository does have an ro.owl at https://raw.githubusercontent.com/BFO-ontology/BFO/master/ro.owl.  Is this what is supposed to be used with BFO 2.0?  However, the relations in this file do not contain some of the ones mentioned as "Foundational Relations" in _Building Ontologies with Basic Formal Ontology," such as continuant_part_of and occurrent_part_of.

So, where is the standard set of relations to be used with BFO 2.0?

I notice also that there is a 2014-05-03 release at https://raw.githubusercontent.com/BFO-ontology/BFO/master/releases/2014-05-03/owl-group/bfo.owl with integrated relations.  Is that what we should be using?

Best,

     Vikram



Jie Zheng

unread,
Mar 27, 2016, 11:06:58 PM3/27/16
to bfo-d...@googlegroups.com
Hi Vikram,

After BFO 2 Graz release (2014-05-03 version, the OWL file you found), it has a long term debate on temporal relations.
So, BFO 2.0 OWL is a classes-only version. The incorporation of core relations has been held over for a later version.

For OBO Foundry communities, we generally use the core version of relation ontology (RO) which contains almost all the relations that you can find in BFO 2 Graz release without considering temporal. For example, 'has part' relation in RO, you can find 3 related relations in BFO2 Graz release, has continuant part at some time, has continuant part at all time, and has occurrent part.

The RO core relations OWL file is available on:
http://purl.obolibrary.org/obo/ro/core.owl
Best,

Jie

--
You received this message because you are subscribed to the Google Groups "BFO Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bfo-discuss...@googlegroups.com.
To post to this group, send email to bfo-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/bfo-discuss.
For more options, visit https://groups.google.com/d/optout.

dilettan...@live.com

unread,
Mar 28, 2016, 6:24:51 PM3/28/16
to BFO Discuss
So, in the interests of conversion/compatibility with future releases, it's best to use BFO classes-only and core from RO?  If that's the current advice, it may be a good idea to put something about it on the Github page, and maybe something about the difference with what is in the book.  I took the book's listed relations as canonical, so was confused.

Thanks!

Best,

     Vikram

Jie Zheng

unread,
Mar 29, 2016, 5:49:06 PM3/29/16
to bfo-d...@googlegroups.com
Hi Vikram,

Yes. Most ontologies belong to OBO Foundry community are generally use BFO 2.0 (classes only) and relations from RO. We do consider to post the recommendation on the OBO Foundry website. Haven't thought about adding the information on the BFO github page yet. I will discuss with BFO developers about it. Thanks for your suggestion.

Could you please let me know which book you refer to? "Building Ontology With BFO"?

Thanks,

Jie

dilettan...@live.com

unread,
Mar 30, 2016, 12:02:45 AM3/30/16
to BFO Discuss
So, just to make absolutely sure, the two files would be https://raw.githubusercontent.com/BFO-ontology/BFO/master/releases/2014-05-03/owl-group/bfo_classes_only.owl and https://raw.githubusercontent.com/oborel/obo-relations/master/core.owl?

Yes, the book is Building Ontologies with Basic Formal Ontology.

Best,

     Vikram

Jie Zheng

unread,
Mar 30, 2016, 1:23:07 AM3/30/16
to bfo-d...@googlegroups.com
It has some minor modification based on 2014-05-03 version.

Best,

Jie

Chris Mungall

unread,
Mar 30, 2016, 12:12:55 PM3/30/16
to bfo-d...@googlegroups.com
Yes, correct, never use the github URLs directly, always use PURLs

If in doubt about which PURLs are correct, in addition to
ontology-specific documentation, the OBO Foundry lists valid purls for
any OBO Library ontology

For example, on:
http://obofoundry.org/ontology/ro.html

You will see the PURL for the core subset.

Tania Tudorache

unread,
Mar 31, 2016, 1:33:36 PM3/31/16
to proteg...@lists.stanford.edu, bfo-d...@googlegroups.com
Jim is right, this loads fine in Protege 5. This was an OWL API issue,
see here [1,2].

Tania

[1]: https://github.com/protegeproject/protege/issues/17
[2]: https://sourceforge.net/p/owlapi/bugs/367/



On 03/31/2016 07:21 AM, Jim Balhoff wrote:
> Hi Daniel,
>
> Which version of Protege are you using? With Protege 5.0.0-beta24 I find that it automatically loads all imports when I choose “Open from URL…” and enter http://purl.obolibrary.org/obo/ro.owl or http://purl.obolibrary.org/obo/ro/core.owl.
>
> I think in some older versions there may have been problems when an http URI redirected to https.
>
> Best regards,
> Jim Balhoff
>
>
>> On Mar 31, 2016, at 4:51 AM, Daniel Schober <dsch...@ipb-halle.de> wrote:
>>
>> Dear Foundry and Protege developers,
>>
>> trying to open RO in Protege is a bit hard, as one has to look for the real Location URIs of all the 8 imported ontologies and substitute the purls with the real location URIs manually.
>>
>> May I recommend that the OBO Foundry developers make sure their owl ontologies are tested in the Protege standard environment, i.e. that they are released in a form that people can open and edit them with Protege ? If end users are left with ontologies that are difficult to handle even in the W3C recommended standard ontology development platforms, then it will decrease compliance.
>>
>> I guess the other Option would be that Protege allows the purl imports to be resolved and imported.
>> Or can one publish these in the catalog-v001.xml file ?
>>
>> Best regards,
>> Daniel Schober.
>> --
>>
>> Dr. Daniel Schober
>> Leibniz Institute of Plant Biochemistry, http://www.IPB-Halle.de
>> Dept. for Stress and Developmental Biology Bioinformatics & Mass Spectrometry
>> Weinberg 3 Tel. +49 (0) 345 5582 - 1476
>> 06120 Halle
>>
>> _______________________________________________
>> protege-user mailing list
>> proteg...@lists.stanford.edu
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
> _______________________________________________
> protege-user mailing list
> proteg...@lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-user


Chris Mungall

unread,
Mar 31, 2016, 9:55:27 PM3/31/16
to User support for WebProtege and Protege Desktop, bfo-d...@googlegroups.com, tudo...@stanford.edu
Many of the OBO Library ontologies such as ro.owl go through a rigorous
series of unit tests and integration tests before release, and we also
perform checks on the library as a whole, and get feedback from ontology
portals like OLS if there are issues.

As Tania and Jim say, in this case it's legacy software that's the
issue, unfortunately we can't guarantee to support older versions of
software in all cases, sometimes things like github/https support
necessitate a break.

On 31 Mar 2016, at 1:51, Daniel Schober wrote:

> Dear Foundry and Protege developers,
>
> trying to open RO in Protege is a bit hard, as one has to look for
> the real Location URIs of all the 8 imported ontologies and substitute
> the purls with the real location URIs manually.
>
> May I recommend that the OBO Foundry developers make sure their owl
> ontologies are tested in the Protege standard environment, i.e. that
> they are released in a form that people can open and edit them with
> Protege ? If end users are left with ontologies that are difficult to
> handle even in the W3C recommended standard ontology development
> platforms, then it will decrease compliance.
>
> I guess the other Option would be that Protege allows the purl imports
> to be resolved and imported.
> Or can one publish these in the catalog-v001.xml file ?
>
> Best regards,
> Daniel Schober.
>
>
> Am 30.03.2016 um 18:12 schrieb Chris Mungall:

Daniel Schober

unread,
Apr 7, 2016, 11:17:13 AM4/7/16
to chris mungall, obo-d...@sourceforge.net, bfo-d...@googlegroups.com
Dear Chris, dear OBO Foundry fellows.

[which channel reaches the OBO Foundry ? Is obo discuss the right one ? The obo-foundry list at https://sourceforge.net/p/obo/mailman/obo-foundry/ seems rather dormant ...]

The core.owl file (renaming it to RO-core.owl would make its name more context-independent) imports
http://purl.obolibrary.org/obo/ro/annotations.owl
I still get a time-out on the imports in Protege, so I will use a locally downloaded version from
https://raw.githubusercontent.com/oborel/obo-relations/master/annotations.owl
and point Protege to resolve the inaccessible imports from the local versions.

It seems, aside BFO version like "Graz BFO 2 release", BFO2, "Alan Ruttenbergs version of BFO", BFO 1.x. and others, core.owl imports yet another BFO version called
http://purl.obolibrary.org/obo/ro/bfo-classes-minimal.owl
and as a consequence of the secondary import RO does import this BFO slim version too. Does that mean using BFO2.owl and core.owl will result in some redundant BFO classes ? If bfo-classes-minimal.owl  is an updated autogenerated BFO2 subset, then there is no problem I guess. I could not find any guidance on this on the OBO Foundry, RO nor BFO pages.

Another issue needing more OBO Foundry documentation is the metadata sets used to annotate representational units (RUs) in OBO Foundry ontologies. Years ago I had recommended http://lov.okfn.org/dataset/lov/terms?&vocab=ru and for OBI we used a subset minimal metadata derived of that. From OBI it then moved into IAO and now seems to be factored out again into a self standing artifact. But I find two versions:
http://information-artifact-ontology.googlecode.com/svn/trunk/src/ontology/ontology-metadata.owl
and
https://raw.githubusercontent.com/oborel/obo-relations/master/annotations.owl
a slimmer version used by RO. What is the official futureproof OBO Foundry recommendation on RU metadata ?

On another matter, what file do I need to import to get the preceded_by top level relation at
http://www.ontobee.org/ontology/RO?iri=http://purl.obolibrary.org/obo/BFO_0000062
Why is this not in RO-core.owl ? Do I need to import RO (which I believe contains lots of domain specific overhead, e.g. neuro & eco )?
I like to express that a GasChromatographyMassSpecAssay equivalentTo MassSpecAssay AND preceeded_by some GasChromatographyAssay ...
More than 30 Ontologies use this relation...so shouldn't it be in ro-core ? Or is there a more suitable core relation for this ?

Cheers,
  Daniel Schober.

Am 30.03.2016 um 18:12 schrieb Chris Mungall:

Daniel Schober

unread,
Apr 7, 2016, 11:17:31 AM4/7/16
to bfo-d...@googlegroups.com, Tania Tudorache
In Protege one can not import from these PURL URIs, neither P4.x nor 5.x
does resolve these...
So what is the advice for Protege users ?

Cheers,
Daniel.

Am 30.03.2016 um 18:12 schrieb Chris Mungall:

Jim Balhoff

unread,
Apr 7, 2016, 11:17:31 AM4/7/16
to User support for WebProtege and Protege Desktop, bfo-d...@googlegroups.com
Hi Daniel,

Which version of Protege are you using? With Protege 5.0.0-beta24 I find that it automatically loads all imports when I choose “Open from URL…” and enter http://purl.obolibrary.org/obo/ro.owl or http://purl.obolibrary.org/obo/ro/core.owl.

I think in some older versions there may have been problems when an http URI redirected to https.

Best regards,
Jim Balhoff


> On Mar 31, 2016, at 4:51 AM, Daniel Schober <dsch...@ipb-halle.de> wrote:
>
> Dear Foundry and Protege developers,
>
> trying to open RO in Protege is a bit hard, as one has to look for the real Location URIs of all the 8 imported ontologies and substitute the purls with the real location URIs manually.
>
> May I recommend that the OBO Foundry developers make sure their owl ontologies are tested in the Protege standard environment, i.e. that they are released in a form that people can open and edit them with Protege ? If end users are left with ontologies that are difficult to handle even in the W3C recommended standard ontology development platforms, then it will decrease compliance.
>
> I guess the other Option would be that Protege allows the purl imports to be resolved and imported.
> Or can one publish these in the catalog-v001.xml file ?
>
> Best regards,
> Daniel Schober.
>
>
> Am 30.03.2016 um 18:12 schrieb Chris Mungall:
> --
>
> Dr. Daniel Schober
> Leibniz Institute of Plant Biochemistry, http://www.IPB-Halle.de
> Dept. for Stress and Developmental Biology Bioinformatics & Mass Spectrometry
> Weinberg 3 Tel. +49 (0) 345 5582 - 1476
> 06120 Halle
>

Daniel Schober

unread,
Apr 7, 2016, 11:17:31 AM4/7/16
to bfo-d...@googlegroups.com, proteg...@lists.stanford.edu, tudo...@stanford.edu
Dear Foundry and Protege developers,

trying to open RO in Protege is a bit hard, as one has to look for the
real Location URIs of all the 8 imported ontologies and substitute the
purls with the real location URIs manually.

May I recommend that the OBO Foundry developers make sure their owl
ontologies are tested in the Protege standard environment, i.e. that
they are released in a form that people can open and edit them with
Protege ? If end users are left with ontologies that are difficult to
handle even in the W3C recommended standard ontology development
platforms, then it will decrease compliance.

I guess the other Option would be that Protege allows the purl imports
to be resolved and imported.
Or can one publish these in the catalog-v001.xml file ?

Best regards,
Daniel Schober.


Am 30.03.2016 um 18:12 schrieb Chris Mungall:

Daniel Schober

unread,
Apr 7, 2016, 11:17:31 AM4/7/16
to bfo-d...@googlegroups.com
Dear Jie and Alan

 Is the RO core what is used in OBI core ?

Cheers,
 Daniel Schober

Chris Mungall

unread,
Apr 7, 2016, 12:17:09 PM4/7/16
to bfo-d...@googlegroups.com, obo-d...@sourceforge.net


On 7 Apr 2016, at 4:04, Daniel Schober wrote:

> Dear Chris, dear OBO Foundry fellows.
>
> /[which channel reaches the OBO Foundry ? Is obo discuss the right one
> ? The obo-foundry list at
> https://sourceforge.net/p/obo/mailman/obo-foundry/ seems rather
> dormant ...]/

You're using the right list (obo-discuss), this is the list for the OBO
community

> The core.owl file (renaming it to RO-core.owl would make its name more
> context-independent) imports
> http://purl.obolibrary.org/obo/ro/annotations.owl
> I still get a time-out on the imports in Protege, so I will use a
> locally downloaded version from
> https://raw.githubusercontent.com/oborel/obo-relations/master/annotations.owl
> and point Protege to resolve the inaccessible imports from the local
> versions.

I suspect you have a local firewall or network issue. As you can see,
all the PURLs above resolve.

What about if you access using the OWLAPI without Protege?

Maybe we should take this off list, I can suggest some tests for you to
do locally.

Note that there is a better solution to individually downloading all
imported files, I use this:
https://github.com/owlcollab/owltools/wiki/Import-Chain-Mirroring

This will create a local mirror of an owl:imports structure, and also
generate a catalog xml file that can be used by the owlapi and protege
to map global URIs to locally mirrored files.

> It seems, aside BFO version like "Graz BFO 2 release", BFO2, "Alan
> Ruttenbergs version of BFO", BFO 1.x. and others, core.owl imports yet
> another BFO version called
> http://purl.obolibrary.org/obo/ro/bfo-classes-minimal.owl

Yes, this is the minimal subset of BFO to define domain/range
constraints in RO

> and as a consequence of the secondary import RO does import this BFO
> slim version too. Does that mean using BFO2.owl and core.owl will
> result in some redundant BFO classes ? If bfo-classes-minimal.owl is
> an updated autogenerated BFO2 subset, then there is no problem I
> guess. I could not find any guidance on this on the OBO Foundry, RO
> nor BFO pages.

There should be no redundancy.

> Another issue needing more OBO Foundry documentation is the metadata
> sets used to annotate representational units (RUs) in OBO Foundry
> ontologies. Years ago I had recommended
> http://lov.okfn.org/dataset/lov/terms?&vocab=ru and for OBI we used a
> subset minimal metadata derived of that. From OBI it then moved into
> IAO and now seems to be factored out again into a self standing
> artifact. But I find two versions:
> http://information-artifact-ontology.googlecode.com/svn/trunk/src/ontology/ontology-metadata.owl
> and
> https://raw.githubusercontent.com/oborel/obo-relations/master/annotations.owl
> a slimmer version used by RO. What is the official futureproof OBO
> Foundry recommendation on RU metadata ?

I'm looking at
http://obofoundry.org/ontology/iao.html

Which is where you should go to get the purls

And it appears the purls are redirecting to googlecode, which is an
issue. I filed a ticket:
https://github.com/OBOFoundry/purl.obolibrary.org/issues/174

Thanks for bringing this to our attention. However, assuming you get
your local network issue fixed this shouldn't be a problem, even though
googlecode is frozen, the IAO metadata subset is stable and has not
changed since googlecode froze. We need to deal with it before
googlecode goes away forever, however.

> On another matter, what file do I need to import to get the
> /preceded_by/ top level relation at
> http://www.ontobee.org/ontology/RO?iri=http://purl.obolibrary.org/obo/BFO_0000062
> Why is this not in RO-core.owl ? Do I need to import RO (which I
> believe contains lots of domain specific overhead, e.g. neuro & eco )?
> I like to express that a GasChromatographyMassSpecAssay equivalentTo
> MassSpecAssay AND /preceeded_by/ some GasChromatographyAssay ...
> More than 30 Ontologies use this relation...so shouldn't it be in
> ro-core ? Or is there a more suitable core relation for this ?

This is currently in
http://purl.obolibrary.org/obo/ro/temporal-intervals.owl

Maybe this isn't the optimal way to modularize the ontology (you can
give us suggestions on the RO tracker). However, there will never be a
perfect predefined subset for every use case. This is why we have tools
like module extractors.

You might want to look into use robot
https://github.com/ontodev/robot

It's a command line tool that allows various kinds of ontology
processing capabilities. Here you could look into use the `robot
extract` command

https://github.com/ontodev/robot/blob/master/examples/README.md#extracting

It gives you both OWLAPI module extraction methods, as well as MIREOT.

We have some docs on this on the RO wiki, but they could be improved,
you can follow this ticket if you are interested:
https://github.com/oborel/obo-relations/issues/106

Thanks for your patience, remember there is no direct funding for OBO,
IAO, RO or BFO and much of the tooling so the documentation may not
always be as clear as it might be, but we are striving to improve this.
> Leibniz Institute of Plant Biochemistry,http://www.IPB-Halle.de
> Dept. for Stress and Developmental Biology Bioinformatics & Mass
> Spectrometry
> Weinberg 3 Tel. +49 (0) 345 5582 - 1476
> 06120 Halle
>
Reply all
Reply to author
Forward
0 new messages