ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] N-RELATIONs: Formal Ontology, Semantic Web and Smart

To: "edbark@xxxxxxxx" <edbark@xxxxxxxx>, "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
Cc: "Paul Brown (pbrown@xxxxxxxxx)" <pbrown@xxxxxxxxx>, "Bauman, Bruce T" <btbauma@xxxxxxx>
From: Cory Casanave <cory-c@xxxxxxxxxxxxxxx>
Date: Fri, 4 Nov 2011 14:02:30 -0400
Message-id: <B958E6B1BCD5114789747469E80A8762A93E0B0A01@xxxxxxxxxxxxxxxxxxxxxxxxx>
The other strong use-case for reification, besides n-ary, is to support 
relations as first-class elements that can also be the subject of other 
relations.  I have found this essential to represent the concepts of a domain 
accurately - "marriage" is such a relation.  The other use-case for relations 
of relations to add metadata about the assertion, including the authority and 
time for which the relation is valid.  The problem with this in RDF/OWL 
properties is that the same concept may need, at times, to be a reified 
relation but in simpler cases a single property will do.  So a general 
representation seems to always need to use reification.  On the down-side 
reification (in RDF/OWL) makes queries much more complex and it removed the 
relations from any "normal" inference as they are not asserted in the same way.    (01)

For these reasons I have concluded that the simpler approach is for all 
relations to be "first class" so that these artificial differences don't exist. 
 Once that simplification is made the logic & infrastructure can support all 
relations consistently and efficiently.    (02)

-Cory    (03)

-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx 
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Ed Barkmeyer
Sent: Friday, November 04, 2011 12:32 PM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] N-RELATIONs: Formal Ontology, Semantic Web and 
Smart Applications    (04)

The practice of reifying relations in binary models goes back at least to Peter 
Chen and the original Entity-Relationship models.    (05)

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.    (06)

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.    (07)


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.    (08)

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.    (09)

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.    (010)

-Ed    (011)

P.S. I now await John Sowa's further elaboration/correction on the
history of reification.  :-)    (012)

--
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    (013)

"The opinions expressed above do not reflect consensus of NIST,
 and have not been reviewed by any Government authority."    (014)


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
>
>    (015)


_________________________________________________________________
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    (016)


_________________________________________________________________
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    (017)

<Prev in Thread] Current Thread [Next in Thread>