[Zope3-dev] Re: [DRAFT] local portlets and perspectives

Jean-Marc Orliaguet jmo at ita.chalmers.se
Thu Aug 25 06:33:59 EDT 2005


Olivier Grisel wrote:

> Jean-Marc Orliaguet wrote:
>
>>
>> (SellerURI, merchandiseURI, BuyerURI, "Sale Transaction")
>>
> Let's rewrite this relation to a prolog equivalent fact:
> transaction(SellerURI, merchandiseURI, BuyerURI, "Sale Transaction").
>
> There is no primary key in that relation. We could add one such as
> TransactionURI for instance :
>
> transaction(TransactionURI, SellerURI, merchandiseURI, BuyerURI, "Sale
> Transaction").
>
> In this case we could rewrite this fact without loss of information
> using only binary relations/predicates by projecting it:
>
> transactionSeller(transactionURI, SellerURI),
> transactionMerchandise(transactionURI, merchandiseURI),
> transactionBuyer(transactionURI, buyerURI),
> transactionType(transactionURI, "Sale Transaction").
>
> This description is then equivalent and RDF friendly. However it
> requires the introduction of a primary key which was implicit in the
> first description and is much more verbose.
>
> In the portletInPerspective example, one would similarly need to
> introduce a primary key to be able to describe the same facts using
> bianry relations only and thus being able to use a rdflib graph to
> store and query the local/contextual porlets layouts.
>
> -- 
> Olivier
>

Hi Olivier!

If you use a primary key to collect all the dyadic relations into a
unique relation, then you have implicitly created a triadic relation
(identified by the key), except that you also explicitly enumerate the
underlying relations. So in the end you'll have to store: the primary
key + 3 dyadic relations between 6 elements.

best regards
/JM


More information about the Zope3-dev mailing list