[hcls] Temporal relations, n-ary relations, 4D ontologies

I have changed the title of the mail, since the discussion has moved away from the BMC Bioinformatics paper.

First of all, RDF and OWL have no special features for n-ary relations (RDF reification is not practical for that), and in my opinion there is now way that this will change at this point in time. Introducing such features would break the basic triple model, and it seems quite unrealistic to me that such a feature will be introduced to OWL or RDF in the foreseeable future. We should try to make the best of what we have in RDF and OWL, and I think that with some basic, good design choices, the problems might probably be far less severe than it has been portrayed in the recent discussion.
I also cannot agree that the OWL design patterns described earlier are 'cheating'. Almost every relation can also be viewed as an entity that is comprised of two parts or participants. In most cases, both the 'relation view' and the 'entity view' seem equally plausible to me, and I cannot see why the 'relation view' should win by default.

I think it would be instructive if we would try to go through some real examples where n-ary relations and temporal indexing seem to be necessary, and try to formulate it in standard OWL. Let's try to talk through clear examples and not through references to the history of formal logics -- that would be better understandable to most readers of this mailing list (me included). Then we can compare different approaches and try to find the one that is the most intuitive, consistent, flexible and OWL-DL-compatible.

I will try to express the examples in AFO (http://esw.w3.org/topic/HCLS/AFO_Foundational_Ontology), a very simple ontology that distinguishes objects, processes and qualities. Objects and processes can have 'full temporal parts' that are made up of the whole object at a certain timespan ('lifetime'). Qualities have the same lifetime as the objects or processes they inhere in.

> >>Organism has_feature SOME (Temperature_Feature THAT
> >>         has_temporal_extent VALUE temporal_extent_1 AND
> >>         has_state SOME (has_magnitude VALUE 37 AND has_units VALUE 
> >>degrees_C))

Similar statement in AFO (on the instance-level, just because it is easier to write):

-----
<Organism> <has_temporal_part> <Organism_at_timespan_1> .
<Organism_at_timespan_1> <has_quality> <temperature_quality> .
<temperature_quality> <has_value> "37" .
-----


> >Protein that has_feature SOME (Location_Feature THAT
> >	has_temporal_extent VALUE temporal_extent_1 AND
> >	has_location SOME cytoplasm)

In AFO:
-----
<Protein> <has_temporal_part> <Protein_at_timespan_1> .
<Protein_at_timespan_1> <located_in> <cytoplasm> .
-----



cheers,
Matthias Samwald

----------

Yale Center for Medical Informatics, New Haven /
Section on Medical Expert and Knowledge-Based Systems, Vienna /
http://neuroscientific.net



.
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger

Received on Tuesday, 22 May 2007 15:04:22 UTC