ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] n-ary vs binary - inverting the n-ary to binary mapp

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Frank Olken <folken@xxxxxxx>
Date: Wed, 11 Feb 2009 04:26:34 -0500
Message-id: <499299CA.8080303@xxxxxxx>
Pat,    (01)

I agree with almost everything you said, but have some questions
about inverting the n-ary to binary relation mappings:    (02)

1)  If one has an incomplete (partial) set of binary relation instances,
and one wants to reconstruct the n-ary relation instabce (e.g., to store the
binary relationships in an n-ary relation in a relational DBMS) what
does one do about the missing binary relation instances?  Does one represent
the corresponding n-ary relation with nulls in the missing attribute
positions?    (03)


2)  More generally, I am looking for literature (and perhaps software)
on translating queries against the binary relation model back into
queries of the n-ary relational model or into  mixtures of the two.
Specifically, I am concerned about rewriting SPARQL queries
into SQL queries on into mixtures of SPARQL and SQL (i.e., some
relations are stored as binary relations in RDF and some as n-ary
relations in a relational DBMS).   Any pointers
would be appreciated ....     (04)

This problem arises in attempting to construct RDF/Owl/SPARQL
based systems which must co-exist with existing relational DBMS
systems.    (05)

                      Frank Olken
                      folken@xxxxxxx    (06)

Pat Hayes wrote:
>
> On Feb 10, 2009, at 4:45 PM, Mitch Harris wrote:
>
>> PH, JS, et al.:
>>
>>> Semantically, 'give' has three participants.  One or two may be
>>> omitted in a grammatical English sentence if they are obvious
>>> from the context.  But they exist, whether or not the speaker
>>> or listener knows who or what they are.
>>
>> To get back to a single relation that is stipulated rather than 
>> follow the
>> many (interesting) lexical/semantic paths surrounding donation, let's 
>> stick
>> with 'give' having all three parameters.
>
> Which begs the question. But let us proceed. 
>
>>
>>
>> Let me make what I think is the appropriate summary (yes many of the
>> following are arguable, and have already been argued, but there it is):
>>
>> Given the ternary relation "Gives(A, B, C)"  (which happens to mean 
>> that A
>> gave B to C) we can easily encode it as three binary relations: assign a
>> unique x, then Gives1(x, A), Gives2(x, B), Gives3(x, C) is derivable from
>> the ternary relation and one can reverse the derivation.
>
> Not quite. There is no 'assignment' and no requirement of uniqueness. 
> The translation into case/role binary form simply refers to the 
> /existence/ of the giving action. Also, the translation is usually 
> stipulated so that the original ternary (or whatever) relation becomes 
> a predication establishing the event as having the appropriate verbal 
> type, in this case a giving. So one gets the pattern:
>
> Foo(A, B, C)
>
> (exists (x)( Foo(x)  & FirsCaseName(x, A) & SecondCaseName(x, B) & 
> ThirdCaseName(x, C) )
>
> where the appropriate case/role names depend on the particuiar verb, 
> but often have 'agent' as the first one. 
>
>>
>> Converting everything to binary has its benefits: homogeneous
>> representation, most concepts are already binary (except maybe database
>> tables).
>
> The most important advantages are (1) the case/role names identify the 
> various arguments by name, making it easier to remember them (2) the 
> second form allows partial information to be recorded and used 
> naturally, and allows for arbitrary extensions, and (3) it also puts 
> the actual event described by the verb phrase into the universe of 
> discourse, allowing other properties and relations to be asserted 
> about it. Finally (4) it  means that a relatively simple notation 
> (such as RDF graph syntax, ie a labelled directed graph) can be used 
> to represent what seem on the surface to be much more complicated 
> facts. This is probably the origin of the idea that 'most' relations 
> are binary, which is actually much less obvious. 
>
>>
>> However, despite its simplicity, this equivalence/derivation is not well
>> known
>
> It is very well known in AI/KR, ontology engineering, formal logic and 
> linguistics. Several widely used rule languages are based on it.
>
>> , and even when known it is counterintuitive to use (as humans usually
>> write these things).
>
> On the contrary, for rendering the meanings of simple English action 
> sentences, it is actually in many ways more intuitive; and it supports 
> important 'obvious' entailments. For example, if John gave a book to 
> Mary, then it follows that Mary was given a book by John. 
>
>> Could the n-ary/binary debate be settled by allowing binary to be the
>> machine language and n-ary be the higher level human written language?
>
> That is one way to proceed, but it ignores the intuitive and 
> human-engineering advantages of the case/role form, such as its being 
> easier to remember. 
>
> This whole topic is a storm in a teacup. Real ontology engineering can 
> all be done within binary languages such as RDF: this has been known 
> for decades. For some purposes, allowing higher adicity relationships 
> is advantageous, but even when they are possible, the classical 
> case/role system is still widely useful. It is easy, if a little 
> tiresome, to mentally translate back and forth between various surface 
> conventions where needed, and also to write preprocessors which 
> present any logical form in almost any way that a user feels 
> comfortable with. Let everyone use their favorite notation, and we can 
> easily translate between them when necessary. 
>
> Pat H 
>
>>
>>
>> -- 
>> Mitchell A. Harris
>> Research Faculty (Instructor in Computer Science)
>> Department of Radiology
>> Massachusetts General Hospital/Harvard Medical School
>>
>>
>>
>>
>> _________________________________________________________________
>> 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
>> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
>>
>>
>>
>
> ------------------------------------------------------------
> IHMC                                     (850)434 8903 or (650)494 3973   
> 40 South Alcaniz St.           (850)202 4416   office
> Pensacola                            (850)202 4440   fax
> FL 32502                              (850)291 0667   mobile
> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>
>
>
>
> ------------------------------------------------------------------------
>
>  
> _________________________________________________________________
> 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
> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
>      (07)


--     (08)

                Frank Olken    (09)

National Science Foundation
Computer and Information Science and Engineering  Directorate
Intelligent Information Systems Division ...
Information Integration and Informatics Program ...
Suite 1125
4201 Wilson Blvd.
Arlington, VA 22230    (010)

Tel:      703-292-8930 (main)
Tel:      703-292-7350 (direct)
Email:    folken@xxxxxxx
Twitter:  http://twitter.com/frankolken    (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
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (012)

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