Open Source Applications Foundation

[Dev] Introduction; Shimmer Prototype Database

Bill Seitz Wed, 13 Nov 2002 18:47:55 -0500


Someone, maybe Sean Palmer, has written about using quints instead of 
triples, to also deal with the "sez who?" meta-attribute. (But I'm a 
super-beginner at RDF...)

Florin Iucha wrote:

>On Sun, Nov 10, 2002 at 01:13:32PM -0800, Michael R. Bernstein wrote:
>  
>
>>On Sat, 2002-11-09 at 07:10, Florin Iucha wrote:
>>    
>>
>>>On Fri, Nov 08, 2002 at 05:15:49PM -0800, Morgen Sagen wrote:
>>>      
>>>
>>>>Mitch, Al Cho, and I started looking at how we could model the
>>>>information we wanted to store in a PIM.  After several brainstorming
>>>>sessions where we drew schema diagrams of varying complexity, we
>>>>realized information can be boiled down into statements of the form:  
>>>>
>>>>   <this> <has-relationship-with> <that>
>>>>        
>>>>
>>>You will need to augment this a bit more with attributes on the
>>>relation:
>>>
>>>   Phoenis is-connected-by-highway-to 'Los Angeles'
>>>                 distance = xyz miles
>>>
>>>   Bob is-child-of (Peter, Mary)
>>>       index = third
>>>
>>>Note that (Peter, Mary) is an object in the previous statement.
>>>
>>>You also need this in order to implement ordered collections in an 
>>>efficient manner: trying to solve 1000 (A comes-before B) relations
>>>to find out who is third is not fun.
>>>      
>>>
>>RDF has a concept called reification, which comes in handy here. This
>>means that you can label a subject/predicate/object triple with an
>>identifier, and then make statements about that triple.
>>
>>Way oversimplified pseudocode:
>>
>><Phoenix has-route-to Los-Angeles id="593">
>><593 has-length x>
>>
>><Peter had-sex-with Mary id="451">
>><Bob is-child-of 451 id="762">
>><762 is-index 3>
>>
>>So you see, you can get away with nothing more than the simple
>>subject/predicate/object triple, as long as the object in the
>>relationship can be another triple referenced by an id.
>>    
>>
>
>I know that you can get away with nothign more than triplets. SAT is
>is reducible to 3SAT.
>
>The issue was havin a natural/convenient notation.
>
>  
>
>>P.S. if I screwed up the explanation, please let me know. I'm still an
>>RDF newbie.
>>    
>>
>
>Now, your example uses quadruplets so you didn't exactly got away with
>triplets 8^).
>
>A better set of triplets is:
>
>(S1, Peter, S2)
>            (S2, had-sex-with, S3)
>                               (S3, Mary, nil)
>(S1, is-child-of, S4)
>                  (S4, Bob, S5)
>                            (S5, index-of, S6)
>                                           (S6, 3, nil)
>
>This still assumes a lot of things that need to be expanded (which
>triplets are atoms, which relations, etc) , but I think we are getting
>waay off track here.
>
>florin
>
>  
>