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.


Zope3-dev mailing list

Reply via email to