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

Reply via email to