- From: Frank Manola <fmanola@acm.org>
- Date: Wed, 01 Aug 2012 11:40:45 -0400
- To: Steve Harris <steve.harris@garlik.com>
- Cc: Pat Hayes <phayes@ihmc.us>, Austin William Wright <aaa@bzfx.net>, Melvin Carvalho <melvincarvalho@gmail.com>, Semantic Web <semantic-web@w3.org>
On Aug 1, 2012, at 7:11 AM, Steve Harris wrote: > On 2012-07-31, at 14:18, Frank Manola wrote: > >> >> On Jul 31, 2012, at 8:35 AM, Steve Harris wrote: >> >>> On 2012-07-31, at 07:04, Pat Hayes wrote: >>>> >>>> On Jul 27, 2012, at 3:37 AM, Steve Harris wrote: >>>> >>>>> Yeah, but that example uses reification, which is at best frowned upon. >>>> >>>> Look. If you want to refer to, and describe in RDF, an RDF triple, then you will be using reification whether you call it that or not. Reification, in this context, *means* describing RDF triples in RDF. And RDF reification is not "frowned upon" as far as the specs are concerned, so if this is what you want to do, go ahead and use it. It is perfectly legal, conformant, RDF. >>> >>> It is, but RDF Reification is very definitely frowned upon - not everyone agrees, and I'm somewhat neutral on the subject myself. >>> >>>>> Increasingly my reaction to these kinds of questions is: maybe you shouldn't be using RDF. >>>>> >>>>> RDF has limits of expressivity, [all IMHO] it's best for describing things in a way that the descriptions can easily be consumed by other reasonably generic processors - once you start delving off into obscure corners - e.g. something that was said by person X, believed by person Y, but not person Z, and then published by W - then you're no longer in the territory of easily. Even once you've somehow parsed that lot, doing anything useful with it - in an even vaguely generic way - is beyond complex. >>>> >>>> Its messy, but its not hard to write stuff like this in RDF, after inventing the appropriate URI vocabulary to do it all, of course. And as for doing anything useful with it, well yes that might well be a problem, but not because its written in RDF. This stuff is just hard to do anything useful with, period. >>> >>> Sure, I didn't mean to imply that RDF made it more difficult, but I imagined/hoped (maybe falsely) that there were system designed for modelling this kind of stuff that would make it easier. Maybe complex temporal stuff would have been a better example. You /can/ do it in RDF, but there are better systems. >> >> When assessing these "better systems" though, keep in mind your previous comment about descriptions that " can easily be consumed by other reasonably generic processors". There are approaches that allow a more straightforward representation than RDF of lots of things provided everyone shares the (usually implicit) assumptions necessary to use those approaches. Lots of the complexity of RDF is due to the need to explicitly determine, and assign "identities" (even if they're blank nodes) to, the number of distinct things you are talking about (and if you start talking about RDF triples themselves, these things include individual triples, nodes, arcs, etc.). With other approaches, you tend to do this in your head, which makes it seem simpler. > > I disagree. Quoting, reification, and other similar mechanism are fundamentally more complex to deal with than straight graphs. Steve-- I'm not exactly sure I understand what you disagree with. Take reification, for example (and here I assume we're talking about *RDF* reification, and not the general idea of reification). Using reification presumes you have a *need* to talk about the graphs themselves, not just the things the graphs describe. So you need a vocabulary (and, if you will, a design pattern for using that vocabulary) to describe the components of graphs. But what you wind up with is just a "straight graph". RDF reification is just a pre-defined vocabulary; there's no additional "mechanism" there (no more than if you needed to describe airplanes and had a pre-defined vocabulary for doing it). Obviously it's a more complex graph, because you're describing additional stuff, but it's still a graph. If you had a need to talk about the graphs themselves in RDF, but didn't have RDF reification, you'd need to invent your own vocabulary (perhaps a better one), but you'd still have a more complex graph at the end than if you weren't describing the graph itself, simply because there's more stuff to describe. You could go to some other approach to do some of this stuff; quads or arbitrary n-tuples (going beyond triples) are sometimes suggested for some applications. But this would require obtaining general agreement on the precise meaning of the components of the n-tuples (as subject, predicate, and object are agreed on for triples) in order to get the same degree of interoperability; and you'd still need to invent "identifiers" to fill the positions of the tuples. Once you work all this out, whether this would be simpler than RDF in any fundamental way seems to me at least debatable. --Frank > > I think that "vanilla" RDF can be easily consumed - other systems, such as temporal logics, not so much. It's not the right solution (IMHO) to keep adding things to RDF to make it more capable, and hence more complex to process.
Received on Wednesday, 1 August 2012 15:41:46 UTC