Re: How do OBO ontologies work on the LOD?

All right, down to business.

On Thu, Feb 23, 2012 at 1:32 PM, Peter DeVries <pete.devries@gmail.com>wrote:

> Hi Chris,
>
> *> Sorry, I'm not following. In OBO format you can map OBO-Style IDs to
> any URI scheme you like. The default is to map to a
> http://purl.obolibrary.org/obo URI*
>
> As it is implemented HAO does not follow best practices as described here:
>
> http://www.w3.org/DesignIssues/LinkedData.html
>
> ( Additional Information Here http://linkeddata.org/guides-and-tutorials
> )
>
> Specifically the rule *#3 When someone looks up a URI, provide useful
> information, using the standards (RDF*, SPARQL)*
>
> You can test this by running curl commands like
>
> curl -H "Accept: application/rdf+xml"
> http://purl.obolibrary.org/obo/HAO_0000000
>

I get
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
    <HEAD>
        <TITLE>302 Found</TITLE>
    </HEAD>
    <BODY>
    <H1>Found</H1>
         The resource requested is available <A HREF="
http://www.berkeleybop.org/ontologies/HAO_0000000">here</A>.<P>
    </BODY>
</HTML>

Curl is not following the redirects. With wget it does, but there is still
a problem:

wget --header "Accept: application/rdf+xml"
http://purl.obolibrary.org/obo/HAO_000000
--2012-02-23 20:26:02--  http://purl.obolibrary.org/obo/HAO_000000
Resolving purl.obolibrary.org (purl.obolibrary.org)... 132.174.1.35
Connecting to purl.obolibrary.org (purl.obolibrary.org)|132.174.1.35|:80...
connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://www.berkeleybop.org/ontologies/HAO_000000 [following]
--2012-02-23 20:26:02--  http://www.berkeleybop.org/ontologies/HAO_000000
Resolving www.berkeleybop.org (www.berkeleybop.org)... 131.243.192.99
Connecting to www.berkeleybop.org (www.berkeleybop.org)|131.243.192.99|:80...
connected.
HTTP request sent, awaiting response... 303 See Other
Location: http://purl.obolibrary.org/obo/HAO/about/HAO_000000 [following]
--2012-02-23 20:26:03--  http://purl.obolibrary.org/obo/HAO/about/HAO_000000
Connecting to purl.obolibrary.org (purl.obolibrary.org)|132.174.1.35|:80...
connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://api.hymao.org/api/ontology/ontology_class/HAO_000000[following]
--2012-02-23 20:26:03--
http://api.hymao.org/api/ontology/ontology_class/HAO_000000
Resolving api.hymao.org (api.hymao.org)... 128.194.196.117
Connecting to api.hymao.org (api.hymao.org)|128.194.196.117|:80...
connected.
HTTP request sent, awaiting response... 404 Not Found
2012-02-23 20:26:04 ERROR 404: Not Found.

The multiple redirects are fine - an artifact of the fact that purl's
redirect rules are not expressive enough. But in the end we don't get RDF,
which we should, so this is indeed a problem that I'll take up with the HAO
developers. They chose to handle the PURLs themselves rather than using
ontobee, and I had the understanding that they would do the RDF bit too but
something is amiss.


 However, I think testing using the Vapour Validator is easier to
understand.

>
> This might best be shown in comparison to a LOD OWL class that works
> correctly,
>
> OBO Ontology URI http://purl.org/obo/owl/HAO#HAO_0000000
>

This is a legacy URI. The OBO to OWL translation is undergoing a disruptive
change so that we can deliver a page per term. I'm not sure where you got
this URI from. HAO is distributed at
http://purl.obolibrary.org/obo/hao.owland I see there only the URI
below.


> Mapped URI http://purl.obolibrary.org/obo/HAO_0000000
>

Mapped by who?


> HTML Page http://api.hymao.org/public/ontology_class/show_expanded/4048
>

Yes. Now if they followed the protocol that we suggested that page would
have page source that is RDF/XML and show html in the browser. I'll ask
them about this. Understand that there isn't a boss of OBO, and that the
developers had and exercised the choice to have the PURLs redirect to their
site. However I believe they want to serve RDF so I'll find out what's up.


>
> Check in the Vapour Validator http://validator.linkeddata.org/vapour
>
> For comparison
>
> URI for the Species Apis mellifera
> http://lod.taxonconcept.org/ses/z9oqP#Species
>
> Human Page http://lod.taxonconcept.org/ses/z9oqP.html
>
> Check the URI using the  Vapour Validator
>
> It is my opinion that this ontology could have been (and could still be
> modified to) implemented in a way that followed LOD best practices.
>

Yes, and it will be modified to provide RDF as I have said.


>
> My concern is that other groups like the beetle people (Coleopterologists)
> etc. would see the HAO ontology and assume that they should also use OBO.
>

They should ;-)


> (The assumption being that most of the use of these vocabularies will be
> in relationship to LOD URI's)
>

I still don't know what a LOD URI is. A URI is a URI.


> In other words, if the HAO ontology followed LOD best practices then it
> would be a good project to model similar efforts on - but it does not.
>

You are reading too much into the situation. Either there's a
misconfiguration or they haven't implemented yet. Simple as that.


> Does this help clarify my concern?
>

Well, it was a long way round, but I hadn't realized they weren't serving
RDF. Note for future - don't get wrapped up (an get me wrapped up ;-) in a
big deal about LOD versus OWL. A request to that URI isn't behaving as
expected. It can be fixed. It will be fixed. Expect something similar to
the RDF at
http://www.ontobee.org/browser/rdf.php?o=HAO&iri=http://purl.obolibrary.org/obo/HAO_0000000


I'll follow up privately with the HAO developers cc you.

Later,
Alan


>
> Respectfully,
>
> - Pete
>
>
> On Thu, Feb 23, 2012 at 10:09 AM, Chris Mungall <cjmungall@lbl.gov> wrote:
>
>>
>> On Feb 23, 2012, at 9:40 AM, Peter DeVries wrote:
>>
>> Hi Chris,
>>
>> http://oboformat.googlecode.com/svn/trunk/doc/obo-syntax.html#5
>>
>> *"On completions this section will define the semantics of the entirety
>> of OBO via mappings to OWL2. The mappings could also be used to specify a
>> translation procedure and/or an interface to OWL tools (such as OWL
>> reasoners).*
>> *
>> *
>> *The translation is defined using a translation function T which
>> translates (a fragment of) OBO into OWL DL. The definition of T is often
>> recursive, but it will eventually "ground out" in (a fragment of) OWL DL."
>> *
>> *
>> *
>> The fact that OBO can be mapped to a subset of OWL 2 LD is not the same
>> as saying it is OWL 2.
>>
>>
>> Yes - OBO Format has a formal semantics that is a subset of OWL2-DL
>>
>> In any case this is not really relevant, since it does not address my
>> main concern.
>> *
>> *
>> That OBO and the OBO ontologies converted to OWL (specifically the
>> hymenoptera ontology) do not follow LOD best practices.
>>
>>
>> I'm not aware of the issue - what should we do to improve this?
>>
>> If there is no intention of using this ontology for LOD applications then
>> this is not a problem.
>>
>> Should I interpret your comment as supporting the idea that those
>> interested in creating applications for the LOD should do so by creating
>> new OBO ontologies when they could just as easily create new OWL ontologies
>> that follow LOD best practices?
>>
>>
>> They could do this, the question of whether they should do this is highly
>> dependent on the ontology they're creating. But in general I think most
>> people developing a new ontology should use an OWL syntax for the primary
>> representation.
>>
>> If you look at how this project was setup, it seems to me that it would
>> have been much more direct and LOD compliant to base their URI's and
>> ontology on URI's
>> related to URL's like this
>> http://api.hymao.org/projects/32/public/ontology_class/show/1033
>>
>> Than to a non LOD OBO URI?
>>
>>
>> Sorry, I'm not following. In OBO format you can map OBO-Style IDs to any
>> URI scheme you like. The default is to map to a
>> http://purl.obolibrary.org/obo URI
>>
>> Respectfully,
>>
>> - Pete
>>
>> On Wed, Feb 22, 2012 at 3:48 PM, Chris Mungall <cjmungall@lbl.gov> wrote:
>>
>>>
>>> OBO-Format is a subset of OWL2-DL
>>>
>>> http://oboformat.org
>>>
>>> Cheers
>>> Chris
>>>
>>> On Feb 22, 2012, at 9:50 AM, Peter DeVries wrote:
>>>
>>> Hi Alan,
>>>
>>> > *We use OWL and the Virtuoso endpoint you are using doesn't
>>> understand it.*
>>>
>>> Isn't it more accurate to say that OBO is not the same as the OWL
>>> standards? i.e. *OBO does not equal OWL.*
>>>
>>> - Pete
>>>
>>> On Wed, Feb 22, 2012 at 9:15 AM, Alan Ruttenberg <
>>> alanruttenberg@gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Feb 22, 2012 at 2:55 AM, Peter DeVries <pete.devries@gmail.com>wrote:
>>>>
>>>>> Hi Alan,
>>>>>
>>>>> Here is an example from the Hymenoptera Anatomy Ontology
>>>>>
>>>>> http://obofoundry.org/cgi-bin/detail.cgi?id=hymenoptera_anatomy
>>>>>
>>>>> Example via my endpoint
>>>>>
>>>>> http://lsd.taxonconcept.org/describe/?url=http://purl.obolibrary.org/obo/HAO_0001000&sid=1151
>>>>>
>>>>
>>>> Ok, I see. The problem here is the one I alluded to. We use OWL and the
>>>> Virtuoso endpoint you are using doesn't understand it. I am ccing Kingsley
>>>> and officially "tsk"ing him. We've known each other long enough that I'd
>>>> have hoped he would have got some OWL religion by now. By that I don't mean
>>>> doing full reasoning arbitrary combinations of RDF from different sources -
>>>> but at least correctly parsing OWL is something I would have hoped be
>>>> implemented by now.
>>>>
>>>> What the HAO should look like in a simple linked data browser (where
>>>> some of the 'data' is in the form of OWL class definitions)  is something
>>>> like this:
>>>>
>>>>
>>>> http://www.ontobee.org/browser/rdf.php?o=HAO&iri=http://purl.obolibrary.org/obo/HAO_0001000
>>>>
>>>> Virtuoso knows how to do CBD (in fact ontobee is virtuoso as triple
>>>> store too), but the page generator on your endpoint isn't doing it on the
>>>> page it generates. Instead it does straight links out and links in. The
>>>> links in are from an annotation on the axiom. It would be better there to
>>>> not display anything, or to display a note saying there is an annotation
>>>> that it can't display, or to properly parse the annotation (which would
>>>> require another CBD query starting at the annotation) and display it.
>>>> Kingsley, the source for ontobee is available - why not pick it up or use
>>>> it as a spec for how to properly display OWL?
>>>>
>>>> The assertional content is:
>>>>
>>>> *class: tentorio-antennal muscle *
>>>> subClassOf: antennal muscle
>>>> subClassOf: attached_to some scape
>>>> subClassOf: attached_to some anterior tentorial arm
>>>>
>>>> The SPARQL queries used to collect the content on the page are
>>>> available by a link at the bottom of the page.
>>>>
>>>> The RDF that is generated can be seen by view source. I can see
>>>> desirable improvements, e.g. adding some isDefinedBy links, and including
>>>> all the inferrred superclasses, but that's not directly to your question,
>>>> and is the sort of thing I mean when I say we will be working further on
>>>> the RDF for the terms.
>>>>
>>>> Doing a GET for application/rdf+xml to the purl will pull in
>>>> approximately the same RDF. The HAO folks decided to make their own browser
>>>> for their content instead of using ontobee, which is fine. What we've tried
>>>> to promote within the OBO community is the use of semweb technology as one
>>>> form of dissemination, use of stable URIs as identifiers, and the ability
>>>> to provide both human readable pages and machine readable pages. I'll get
>>>> to Bernard's email later, but I hope you and he will realize that promoting
>>>> and starting to successfully achieve implementation of these values for the
>>>> OBO ontologies will yield very good value for the semantic web. There is an
>>>> incredible amount of very well curated biological knowledge that is
>>>> constantly being generated by that community.
>>>>
>>>> I was thinking that the character states described in this ontology
>>>>> could be attached to species like this.
>>>>>
>>>>> <http://lod.taxonconcept.org/ses/z9oqP#Species> <somePredicate>
>>>>> <someHAOCharacterState>
>>>>>
>>>>
>>>> Are there what you would call character states in the example you gave
>>>> above? I understand it as a bit of anatomy knowledge - what part connects
>>>> to what.  I guess what I need to know is what, if any, assertions would you
>>>> make given that you now see what was intended to be seen? Do you need a
>>>> flattening predicate (my preference would be to use an annotation property)
>>>> that more directly links the species concept to scape and anterior
>>>> tentorial arm? What should it be?
>>>>
>>>>
>>>>
>>>>> And be properly interpreted on Sig.ma example http://bit.ly/zfbimy
>>>>>
>>>>
>>>> I'll have to look at that later. But I would ask of it and of your
>>>> endpoint: Is there some obligation to properly interpret what is stated
>>>> according the web standard OWL? Surely the obligation for proper
>>>> interpretation needs to be a mutual effort?
>>>>
>>>> From my point of view I want to make the OBO LOD be useful and I
>>>> understand that there are different communities that would use it. I think
>>>> we need to be true to the representation we choose - it provides a lot of
>>>> benefits for query, consistency checking, etc. But we're also trying to be
>>>> polite to others and are open to augmenting it so that it can be of utility
>>>> to others. The key is for us to first understand how we should do that, for
>>>> you to understand what is currently being said, and when we're done for
>>>> your client applications to either represent what we've said too, or learn
>>>> how to ignore it.
>>>>
>>>> -Alan
>>>>
>>>> ps. For some examples of how using OWL is yielding tangible benefits
>>>> you could browse http://groups.google.com/group/fma-owl-2009
>>>> In that effort I'm slowly working through translating a human anatomy
>>>> ontology, the FMA, into OWL, and in the process discovering (and having
>>>> fixed) thousands of errors.
>>>>
>>>>
>>>>> - Pete
>>>>>
>>>>>
>>>>> On Wed, Feb 22, 2012 at 12:27 AM, Alan Ruttenberg <
>>>>> alanruttenberg@gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Feb 21, 2012 at 3:51 PM, Peter DeVries <
>>>>>> pete.devries@gmail.com> wrote:
>>>>>>
>>>>>>> Hi Juan,
>>>>>>>
>>>>>>> Thanks for this. I read the paper. They have an "OWL" version of
>>>>>>> this OBO vocabulary but it seems to not be a fully mapped OWL version as
>>>>>>> described in your paper.
>>>>>>>
>>>>>>
>>>>>> Which one?
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> In this particular use case I was thinking of applying the terms and
>>>>>>> properties described by the ontology to my species concepts.
>>>>>>>
>>>>>>
>>>>>> This is a nice example and should be supported. An immediate
>>>>>> suggestion is to send mail to  obo-discuss@lists.sourceforge.net as
>>>>>> that is where you will find both the developers of the OBO LOD support as
>>>>>> well as the biologist community.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> For instance:
>>>>>>>
>>>>>>> species X has this metabolic pathway.  (which would be useful for
>>>>>>> finding species with potential drug interactions or other chemical
>>>>>>> reactions)
>>>>>>>
>>>>>>
>>>>>> We're in the process of revising BFO and the relations ontology. A
>>>>>> draft version is at http://purl.obolibrary.org/obo/bfo.owl
>>>>>>
>>>>>> In terms of that, your statement might be represented as
>>>>>>
>>>>>> <species> subclassOf 'has site of' some <metabolic process>
>>>>>> if you want to represent that all members of the species have the
>>>>>> process
>>>>>>
>>>>>> or
>>>>>>
>>>>>> <anonymous instance of species> 'has site of'  <anonymous instance of
>>>>>> process>
>>>>>>
>>>>>> e.g.
>>>>>>
>>>>>> @prefix obo: <http://purl.obolibrary.org/obo/>
>>>>>> @prefix hasSiteOf: <http://purl.obolibrary.org/obo/BFO_0000067>
>>>>>>
>>>>>> _:a rdf:type <species>
>>>>>> _:b rdf:type <metabolic process>
>>>>>> _:a hasSiteOf: _:b
>>>>>>
>>>>>> If you want to represent that the process happens in some individuals
>>>>>> of this species.
>>>>>>
>>>>>> In the above I write <species> where you would write the uri of your
>>>>>> species class (e.g. http://purl.obolibrary.org/obo/NCBITaxon_9903) ,
>>>>>> and <metabolic process> where you would write the uri of your process class
>>>>>> (e.g. http://purl.obolibrary.org/obo/GO_0030245).
>>>>>>
>>>>>>
>>>>>>
>>>>>>> I don't think this use case requires the full OBO  relationships,
>>>>>>> just a mapping ontology that connects terms and characters to those in the
>>>>>>> OBO ontology.
>>>>>>>
>>>>>>
>>>>>> Not sure what you mean by this.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Doing it this way you might get a species "tagged" with something
>>>>>>> that is not appropriate but that could be detected by some service that
>>>>>>> analyzes the statements made
>>>>>>> in the species concept markup
>>>>>>>
>>>>>>
>>>>>> Example?
>>>>>>
>>>>>>> .
>>>>>>> My guess is that some of the OBO ontologies (if fully entailed) will
>>>>>>> not play well on the LOD cloud, but they would play a useful role when
>>>>>>> mapped as I described.
>>>>>>>
>>>>>>
>>>>>> Examples would be helpful. But note that it is our intention that we
>>>>>> *do* play well on the LOD cloud. However also note, we work in OWL and much
>>>>>> of what we say is about types/classes, and many(most?) linked data browsers
>>>>>> don't understand or present OWL in a meaninful way. One of the reasons we
>>>>>> have developed ontobee is that it is designed to do justice to linked
>>>>>> ontology terms that are defined in terms of OWL. So class expressions are
>>>>>> not left as messes of bnodes, but instead parsed and displayed as OWL. I'd
>>>>>> like to see more linked data browsers do the same.
>>>>>>
>>>>>>
>>>>>>> Does my interpretation seem appropriate to you or am I missing
>>>>>>> something?
>>>>>>>
>>>>>>
>>>>>> I hope you are missing something :) But please elaborate so we can
>>>>>> see.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> - Pete
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Feb 21, 2012 at 9:39 AM, Juan Sequeda <
>>>>>>> juanfederico@gmail.com> wrote:
>>>>>>>
>>>>>>>> Peter
>>>>>>>>
>>>>>>>> You may want to take a look at this:
>>>>>>>> http://www.ncbi.nlm.nih.gov/pubmed/21388572
>>>>>>>>
>>>>>>>> The implementation of the OBO to OWL mapping work is part of
>>>>>>>> official Gene Ontology project.
>>>>>>>>
>>>>>>>> Juan Sequeda
>>>>>>>> +1-575-SEQ-UEDA
>>>>>>>> www.juansequeda.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Feb 20, 2012 at 7:46 PM, Peter DeVries <
>>>>>>>> pete.devries@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> How do OBO type ontologies work in the Linked Open Data cloud.
>>>>>>>>>
>>>>>>>>> One that I recently loaded has a large number of blank nodes.
>>>>>>>>>
>>>>>>>>> It the idea that these will be mapped to LOD URI's?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> - Pete
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------------
>>>>>>>>> Pete DeVries
>>>>>>>>> Department of Entomology
>>>>>>>>> University of Wisconsin - Madison
>>>>>>>>> 445 Russell Laboratories
>>>>>>>>> 1630 Linden Drive
>>>>>>>>> Madison, WI 53706
>>>>>>>>> Email: pdevries@wisc.edu
>>>>>>>>> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
>>>>>>>>> Bases
>>>>>>>>> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------------
>>>>>>> Pete DeVries
>>>>>>> Department of Entomology
>>>>>>> University of Wisconsin - Madison
>>>>>>> 445 Russell Laboratories
>>>>>>> 1630 Linden Drive
>>>>>>> Madison, WI 53706
>>>>>>> Email: pdevries@wisc.edu
>>>>>>> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
>>>>>>> Bases
>>>>>>> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>>>>>>>
>>>>>>> --------------------------------------------------------------------------------------
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> ------------------------------------------------------------------------------------
>>>>> Pete DeVries
>>>>> Department of Entomology
>>>>> University of Wisconsin - Madison
>>>>> 445 Russell Laboratories
>>>>> 1630 Linden Drive
>>>>> Madison, WI 53706
>>>>> Email: pdevries@wisc.edu
>>>>> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
>>>>> Bases
>>>>> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>>>>>
>>>>> --------------------------------------------------------------------------------------
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> ------------------------------------------------------------------------------------
>>> Pete DeVries
>>> Department of Entomology
>>> University of Wisconsin - Madison
>>> 445 Russell Laboratories
>>> 1630 Linden Drive
>>> Madison, WI 53706
>>> Email: pdevries@wisc.edu
>>> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
>>> Bases
>>> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>>>
>>> --------------------------------------------------------------------------------------
>>>
>>>
>>>
>>
>>
>> --
>>
>> ------------------------------------------------------------------------------------
>> Pete DeVries
>> Department of Entomology
>> University of Wisconsin - Madison
>> 445 Russell Laboratories
>> 1630 Linden Drive
>> Madison, WI 53706
>> Email: pdevries@wisc.edu
>> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
>> Bases
>> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>>
>> --------------------------------------------------------------------------------------
>>
>>
>>
>
>
> --
>
> ------------------------------------------------------------------------------------
> Pete DeVries
> Department of Entomology
> University of Wisconsin - Madison
> 445 Russell Laboratories
> 1630 Linden Drive
> Madison, WI 53706
> Email: pdevries@wisc.edu
> TaxonConcept <http://www.taxonconcept.org/>  &  GeoSpecies<http://about.geospecies.org/> Knowledge
> Bases
> A Semantic Web, Linked Open Data <http://linkeddata.org/>  Project
>
> --------------------------------------------------------------------------------------
>

Received on Friday, 24 February 2012 01:39:43 UTC