[
Lists Home |
Date Index |
Thread Index
]
Michael Champion wrote:
>
> I've wondered for years about the analogy between RDF and the
> binary-relational model (cf
> http://www.dbdebunk.com/page/page/1147347.htm) in which everything is
> modeled as two entities with a relationship between them There's also
> variants such as the Associative Model of Data
> http://www.lazysoft.com/resources_downloads.htm
This is true, but realize that one can represent n-ary relationships
given a set of binary relationships. The "other" KR standard: KIF uses
an n-ary model. It turns out that Pay Hayes who is the editor of the RDF
Semantics REC, has also been involved in the KIF work. Pat is a fairly
knowlegable guy -- card carrying logician wizard, and it turns out that
the new RDF has adopted the list syntax from DAML+OIL, e.g. rdf:first,
rdf:rest and rdf:nil ... so that one can construct lists from RDF triples.
>
> As Dare implies, there has got to be some sort of mapping between the
> abstraction of triples / binary relations and actual application
> data. Of course that's true with raw XML or the n-ary relational
> model, but triples seem to be a pretty abstract abstraction, and it
> sounds like this is one reason why the binary relational approach
> hasn't taken off.
Again, triples are merely the basic syntax of RDF. One can write entire
languages (e.g. OWL) based upon the triple syntax. The
"rdf:parseType='Collection'" is a shorthand way to convert something like
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:ID="A"/>
<owl:Thing rdf:ID="B"/>
<owl:Thing rdf:ID="C"/>
</owl:oneOf>
into a list which has the triples:
_:1 rdf:first <#A>
_:1 rdf:rest _:2
_:2 rdf:first <#B>
_:2 rdf:rest _:3
_:3 rdf:first <#C>
_:3 rdf:rest rdf:nil
>
> I just wonder whether RDF advocates are aware of these other
> triples-like approaches, what they think they've learned from them, or
> whether they think the analogy is misleading?
Oh yeah (they are aware). They have learned that among other things,
triples can be used to construct arbitrarily complex structures. The
"analogy" between triples and binary relationships is not merely an
analogy, there is an actual mathematical equivalence between the two
which is well known and understood.
For one (now somewhat old) example of how triples can be used to
construct n-ary relations see:
http://www.openhealth.org/RDF/RDFAbstractSyntax.html -- note that this
was pre "new RDF"
I guess the bottom line is that there are many people who consider
"triples" as almost too trivial to consider at face value -- the
rdf:List, rdf:first, rdf:next, rdf:nil vocabulary was considered
essential by the WebOnt WG in order to create the OWL language out of
RDF triples much as we consider Unicode characters as essential to
creating XML. That said, it is possible to use triples (and binary
relations) in this fashion, thereby getting beyond the *well known*
limitations of binary relations themselves. The price is having a bunch
of triples that make no sense on their own (i.e. outside the context of
their containing graph).
Jonathan
|