[Dev] Introduction; Shimmer Prototype Database
Michael R. Bernstein
webmaven at lvcm.com
Sun Nov 10 13:13:32 PST 2002
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.
Cheers,
Michael Bernstein.
P.S. if I screwed up the explanation, please let me know. I'm still an
RDF newbie.
More information about the Dev
mailing list