The practice of reifying relations in binary models goes back at least
to Peter Chen and the original Entity-Relationship models. (01)
That is, you make the relation itself a 'class'/'entity', and then it
has binary relationships to each of its arguments. Each of those binary
relationships is a term for the 'role' -- the 'argument name' if you
will, or in the least informative of cases, just the position number. (02)
This is precisely the recommended best practice for representing n-ary
relationships in OWL: the relation becomes a 'class', and each of the
argument slots becomes an objectProperty (or datatypeProperty) named for
the role. The domain of the argument property is the relation class and
the range of the argument property is the range of the argument. One
can create the inverse of the role property where it is useful, i.e.,
where one needs to navigate the model from one argument of the relation
to another. (03)
The problem the RDF folk and the OWL folk have is the absence of a way
to declare that the 'class' term represents an n-ary relation. That is
the one semantic addition that is created by the UML AssociationClass. (04)
Unfortunately, the other rules for handling association classes in UML
v1 made the structure hard to use, and many UML best practice documents
forbid its use. The problem for slavishly object-oriented models is
whether there is a difference between the role links and the attributes
of the would-be class, and whether a class whose instances play one of
the roles has an attribute that refers directly to another role player,
and of course, what the resulting C++, C# and Java implementations will
look like. An alternative used by database modelers in UML v2 is to
create a <n-ary relation> stereotype for classes representing reified
relations and a <role> stereotype for the arguments. The advantage of
this approach is that it allows the modeler to mark up the model to
characterize participation multiplicities correctly, and to create the
useful inverses. And for database models, it distinguishes the
functional arguments (the role players and their keys) from the
dependent variables (the other attributes and associations) in the 3rd
normal form relation. (05)
All of this only says that the practice of reification of relations is
common, but has evolved differently for different implementation
mechanisms and for different semantic concerns. And make no mistake:
Tableaux reasoning is an implementation mechanism, and more than half of
the RDF folk are more worried about managing triple stores than
manipulating their semantics. (06)
-Ed (07)
P.S. I now await John Sowa's further elaboration/correction on the
history of reification. :-) (08)
--
Edward J. Barkmeyer Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263 Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263 Cel: +1 240-672-5800 (09)
"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority." (010)
David Price wrote:
> WRT RDF doesn't it simply boil down to being based on graphs which,
> quoting from Wikipedia, are "mathematical structures used to model
> pairwise relations between objects from a certain collection". So, I'm
> confused by comments like "N-ary relations work great in a graph model."
> which seems completely at odds with the fact that graph relations are
> pairwise.
>
> UML has N-ary associations and AssociationClass, so there's at least one
> standard from which the semantics community might steal an idea or two.
>
> Cheers,
> David
>
> On 11/4/2011 2:57 PM, AzamatAbdoullaev wrote:
>
>> I believe this fundamental issue more belong to the Ontolog Forum.
>> Risk to start the n-relations thread...
>>
>> Azamat
>>
>> ----- Original Message -----
>> From: "David Booth"<david@xxxxxxxxxx>
>> To: "glenn mcdonald"<glenn@xxxxxxxxx>
>> Cc: "AzamatAbdoullaev"<abdoul@xxxxxxxxxxxxxx>;<semantic-web@xxxxxx>;
>> "Frank Manola"<fmanola@xxxxxxx>; "Sampo Syreeni"<decoy@xxxxxx>;
>> <alexandre.riazanov@xxxxxxxxx>
>> Sent: Friday, November 04, 2011 3:13 PM
>> Subject: Standard representations for n-ary relations [was: Re: relational
>> data as a bona fide member of the SM]
>>
>>
>>
>>> Plus RDF doesn't have any *standard* way to tag or represent n-ary
>>> relations -- we have taken a do-it-yourself attitude[1] -- and thus
>>> tools cannot predictably recognize n-ary relations as such.
>>>
>>> Personally, I think this is something that would be good to address, and
>>> there are several simple ways it could be done.
>>>
>>> 1. http://www.w3.org/TR/swbp-n-aryRelations/
>>>
>>> David
>>>
>>> On Fri, 2011-11-04 at 08:49 -0400, glenn mcdonald wrote:
>>>
>>>> N-ary relations work great in a graph model. The only reason they seem
>>>> awkward in the Semantic Web world, in my opinion, is that RDF leads us
>>>> to looking at a graph *decomposition* instead of an actual assembled
>>>> graph. This effect cascades onto SPARQL and OWL, and thus we end up
>>>> with a great forest we're reduced to looking at, and talking about,
>>>> one twig at a time.
>>>>
>>>> glenn
>>>>
>>>>
>>>> On Friday, November 4, 2011, AzamatAbdoullaev<abdoul@xxxxxxxxxxxxxx>
>>>> wrote:
>>>>
>>>>> That's a big issue of Relational Ontology, or "N-Relational Ontology
>>>>>
>>>> of Things", as discussed 5 years ago:
>>>>
>>>>> http://lists.w3.org/Archives/Public/semantic-web/2006Apr/0047.html.
>>>>> And it is not strange that a consistent formal account of
>>>>>
>>>> N-Relations has been long missing. Relations are so ubiquitious and
>>>> omnipresent that most people take them for granted. In a general
>>>> sense, everything is related to everything. We are related to the
>>>> world around us, to other people, to our country, to our family and
>>>> children and to ourselves. There are ontological, logical, natural,
>>>> physical, mechanical, biological, psychological,
>>>> emotional, technological, social, cultural, moral, sexual, aesthetic,
>>>> and semiotic relations, to name a few. For most people, there is no
>>>> particular problem with most of these relations, may be, except
>>>> ontological and semiotic (semantic, syntactic and pragmatic)
>>>> relations. However, theorists have been perpetually puzzled over
>>>> relations, and they have tried to understand them theoretically and
>>>> systematically, but consistent, machine-readable models of relations
>>>> have proved extraordinarily difficult to construct:
>>>>
>>>>> "What Organizes the World: N-Relational Entities":
>>>>>
>>>>
>http://www.igi-global.com/chapter/reality-universal-ontology-knowledge-systems/28313
>>>>
>>>>> What is hardly questionable, to be implemented, the semantic web
>>>>>
>>>> indeed requires a unified formal ontology of relations: UFOR.
>>>>
>>>>> Azamat Abdoullaev
>>>>>
>>>>> ----- Original Message -----
>>>>> From: Frank Manola
>>>>> To: Alexandre Riazanov
>>>>> Cc: Semantic Web List
>>>>> Sent: Friday, November 04, 2011 1:23 AM
>>>>> Subject: Re: relational data as a bona fide member of the SM
>>>>>
>>>>> On Nov 3, 2011, at 6:22 PM, Alexandre Riazanov wrote:
>>>>>
>>>>>
>>>>> On Thu, Nov 3, 2011 at 5:20 PM, Frank Manola<fmanola@xxxxxxx>
>>>>>
>>>> wrote:
>>>>
>>>>> On Nov 3, 2011, at 3:19 PM, Alexandre Riazanov wrote:
>>>>>
>>>>> I have been asking this sort of questions for a while and the only
>>>>>
>>>> decent answer I know is that
>>>>
>>>>> Description Logics only work with unary and binary predicates
>>>>>
>>>> (classes and properties),
>>>>
>>>>> although I believe RDF was initially developed independently from
>>>>>
>>>> the DL and OWL work.
>>>>
>>>>> RIF and RuleML seem to be going in the relational direction (see
>>>>>
>>>> also the earlier work
>>>>
>http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.7623&rep=rep1&type=pdf
>>>> by Harold Boley), but it is difficult to break the monopoly
>>>>
>>>>> of RDF+OWL.
>>>>>
>>>>> From my point of view, a major reason for focusing on unary and
>>>>>
>>>> binary predicates (the logical forms that underlie RDF triples) is
>>>> that it's easier to deal with the problems of integrating
>>>> heterogeneous data (a key issue in the semantic web) if the data is in
>>>> (or is mapped to being in) that form, as opposed to data in arbitrary
>>>> arity relations (for example, with n-aries you need a schema to
>>>> interpret any tuples you encounter "in the wild", otherwise you don't
>>>> know what the "columns" mean). If you go back to the period before
>>>> the "monopoly of RDF+OWL" :-) and look at the work on integrating
>>>> heterogeneous relational databases, one of the major approaches to
>>>> developing the mappings between the various relational schemas was by
>>>> interpreting the various local schemas in terms of unary and binary
>>>> relations for just this reason (compound keys had to be dealt with in
>>>> this way too, because the same combinations of columns didn't
>>>> necessarily constitute the keys in otherwise corresponding relations
>>>> in the different local schemas). Mind you, if you're NOT worried
>>>> about integrating heterogeneous data, RDF introduces extra pain of its
>>>> own (figuring out all those identifiers, for one thing), but if you
>>>> ARE worried about integrating heterogenous data, I think you want
>>>> those identifiers around.
>>>>
>>>>> I don't quite understand your argument. Indeed, interoperability is
>>>>>
>>>> the target. Syntactic interoperability is not a problem as long as you
>>>> use the same or convertible syntaxes.
>>>>
>>>>> Semantic interoperability requires shared understanding of the
>>>>>
>>>> identifiers being used, which has nothing to do with arity.
>>>> Reinterpreting legacy relational schemas is a related, but separate
>>>> issue.
>>>>
>>>>> Binary predicates are often handy to represent attributes, but it
>>>>>
>>>> does not mean n-ary predicates cannot be helpful in the same (although
>>>> I could not recall a real example) and other KR tasks.
>>>>
>>>>> Let me try again, then (although I can't guarantee I'll be any more
>>>>>
>>>> understandable this time!). The original question (I thought) was why
>>>> there weren't relational approaches applied in Semantic-Web-like
>>>> contexts (where, as you say, interoperability is the target). I cited
>>>> the integration of heterogeneous relational databases to argue that,
>>>> in this case, where relations were already being used by all parties,
>>>> and interoperability was the target, those doing the integration found
>>>> that using unaries and binaries helped (I agree that shared
>>>> understanding of the identifiers is necessarily for semantic
>>>> interoperability, but in RDF+OWL, at least the identifiers are
>>>> *there*; those putting the data on the Web had to create them). All
>>>> that RDF is doing is starting from the unaries and binaries. This is
>>>> not an argument that n-ary relations aren't helpful in data modeling.
>>>> Nor is it an argument that you can't do semantic integration using
>>>> n-ary relations. I simply think it's *easier* to do that integration
>>>> with the RDF approach, and I cited an historical example as evidence
>>>> that others have found that as well. Now, they/we may have simply
>>>> missed the boat, and if so, someone (possibly you) will have to come
>>>> along and show us a better way (I'm serious). There have certainly
>>>> been attempts to provide more general KRs (allowing n-ary predicates)
>>>> for data/knowledge exchange
>>>>
>>> --
>>> David Booth, Ph.D.
>>> http://dbooth.org/
>>>
>>> Opinions expressed herein are those of the author and do not necessarily
>>> reflect those of his employer.
>>>
>>>
>>>
>> _________________________________________________________________
>> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
>> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
>> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
>> Shared Files: http://ontolog.cim3.net/file/
>> Community Wiki: http://ontolog.cim3.net/wiki/
>> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>>
>>
>>
>
>
> --
> Managing Director and Consultant
> TopQuadrant Limited. Registered in England No. 05614307
> UK +44 7788 561308
> US +1 336-283-0606
>
>
>
>
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>
> (011)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J (012)
|