[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