W3C home > Mailing lists > Public > www-archive@w3.org > May 2004

Re: [OEP] Draft of a note on n-ary relations

From: Alan Rector <rector@cs.man.ac.uk>
Date: Thu, 13 May 2004 16:12:20 +0100
Message-ID: <40A39054.9D5E2ABD@cs.man.ac.uk>
To: Dan Connolly <connolly@w3.org>
Cc: "Ralph R. Swick" <swick@w3.org>, www-archive@w3.org, Natasha Noy <noy@SMI.Stanford.EDU>, Dan Brickley <danbri@w3.org>, Sandro Hawke <sandro@w3.org>


Dan Connolly wrote:

> We've done some similar writing in the ESW wiki, and we
> actually found 3 patterns:
> "NaryRelations can be reduced to binary using various patterns:
> ArgumentList, CurriedFunction, RecordDescription."
>  -- http://esw.w3.org/topic/NaryRelations
> RecordDescription is pretty much the same as "Pattern 2".
> Perhaps CurriedFunction is like "Pattern 1" but I'm not sure;
> I think it's somewhat novel. It's perhaps too obscure
> or contrived to recommend as best practice. I like it a lot
> but I don't think I have figured out how to explain why.
> But I suggest you incorporate ArgumentList. It's quite
> straightforward.


* I agree RecordDescription is essentially the same as "Pattern 2".

* I think CurriedFunctions are different and would prefer to avoid them in a simple primer because
a) They  get messy except in functional programming languages that can deliver functions as values of other functions..
b) In an SW/RDF/OWL context there is the question about whether the curryFunction created by one resource on the SW is equivalent to the curryFunction created by another.  I see all sorts of namespace and equivalence problems here I wouldn't want to face at this stage.
c) They put one in OWL-Full without delivering obvious benefit that I can see.

* The argument list is a common programming trick - e.g. functions that deliver tuples - but I think distorts the spirit of either RDF or OWL.  For OWL it has the added disadvantage of moving immediately to OWL full and - I think - requiring a data type property to hold the list for what is otherwise semantically an object property. (If I am wrong on this, somebody please correct me.)  It also leaves the semantics of the different arguments implicit whereas any of the other mechanisms make them more explicit.  I wouldn't oppose including it, but I would want those  'health warnings' attached.

(There is a notion related to curriedFunctions which is a trick involving hierarchies of properties.


But I think that this should be delayed for a separate pattern. It would just confuse things here. It also raises some nasty technical questions for classifiers if it leads to a transitive property as the child of a non-transitive property, etc.)


Alan L Rector
Professor of Medical Informatics
Department of Computer Science
University of Manchester
Manchester M13 9PL, UK
TEL: +44-161-275-6188/6149/7183
FAX: +44-161-275-6236/6204
Room: 2.88a, Kilburn Building
email: rector@cs.man.ac.uk
web: www.cs.man.ac.uk/mig

> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
> see you at the WWW2004 in NY 15-21 May?
Received on Thursday, 13 May 2004 11:13:07 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:42:42 UTC