- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Mon, 23 Apr 2007 15:19:06 +0100
- To: Sandro Hawke <sandro@w3.org>
- Cc: semantic-web@w3.org
On 23 Apr 2007, at 01:47, Sandro Hawke wrote: > I keep running into a problem with modeling in RDFS/OWL where I don't > know whether to use a multi-valued singular property or a single- > valued > plural (collection) property. For example: > > Style 1 - Singular Property > > Turtle: p:Charles f:child p:William, p:Harry. > > N-Triples: > p:Charles f:child p:William . > p:Charles f:child p:Harry . > > Style 2 - Plural (Collection) Property > > Turtle: p:Charles f:children ( p:William p:Harry ). > > N-Triples: > p:Charles f:children _:genid2 . > _:genid2 rdf:first p:William . > _:genid2 rdf:rest _:genid1 . > _:genid1 rdf:first p:Harry . > _:genid1 rdf:rest rdf:nil . > > I believe the dominant opinion is that one should use Style 1 > unless one > needs one of the key features of Style 2, which are roughly: > a. the values are ordered > b. the values are exhaustive Since it ensures neither, I think style 2 is a huge anti-pattern. I recommend it against it always. (That's not to say that some sort of structured intermediary is always wrong, obviously.) > I've never liked having to make that tradeoff, and I think I now see a > way to get out of it. > > My current perspective comes from my current focus, which is on > exploring how OWL lines up (and fails to line up) with object-oriented > programming systems. [snip] I echo others in saying that this is almost certainly a mistake, or, at least, a perilous path. > As far as I know, OO systems always use Style 2, > since they don't (directly) support multi-valued properties. [snip] And we see problems arise in the very first moment. OOP objects generally don't have properties, but instance variables. This may seem a trivial wording difference, but it really isn't. That you can squint and make things sort of line up doesn't mean that they *do* line up. Cheers, Bijan.
Received on Monday, 23 April 2007 14:18:24 UTC