- From: Aldo Bucchi <aldo.bucchi@gmail.com>
- Date: Wed, 13 Oct 2010 12:57:43 -0300
- To: Mirko <idonthaveenoughinformation@googlemail.com>
- Cc: public-lod@w3.org, Virtuoso Users <virtuoso-users@lists.sourceforge.net>
Hi Mirko, Here's a tip that is a bit software bound but it may prove useful to keep it in mind. Virtuoso's Quad Store is implemented atop an RDF_QUAD table with 4 columns (g, s, p o). This is very straightforward. It may even seem naive at first glance. ( a table!!? ). Now, the great part is that the architecture is very open. You can actually modify the table via SQL statements directly: insert, delete, update, etc. You can even add columns and triggers to it. Some ideas: * Keep track of n-ary relations in the same table by using accessory columns ( time, author, etc ). * Add a trigger and log each add/delete to a separate table where you also store more data * When consuming this data, you can use SQL or you can run a SPARQL construct based on a SQL query, so as to "triplity" the n-tuple as you wish. The bottom suggestion here is: Take a look at what's possible when you escape "SPARQL" only and start working in a hybrid environment ( SQL + SPARQL ). Also note that the "self-contained" nature of RDF assertions ( facts, statements ) makes it possible to do all sorts of tricks by taking them into 3+ tuple structures. My coolest experiment so far is a time machine. I log adds and deletes and can recreate the state of the system ( Quad Store ) up to any point in time. Imagine a Queue management system where you can "replay" the state of the system, for example. Regards, A On Wed, Oct 13, 2010 at 10:02 AM, Mirko <idonthaveenoughinformation@googlemail.com> wrote: > Hi all, > I try to understand alternatives to reification for Linked Data publishing, > since reification is discouraged. For example, how could I express the > following without reification: > @prefix dc: <http://purl.org/dc/elements/1.1/>. > @prefix foaf: <http://xmlns.com/foaf/0.1/>. > <http://ex.org/stmt> > rdfs:label "Statement that describes user interest in a document"@de; > rdf:subject <http://ex.org/User>; > rdf:predicate foaf:interest; > rdf:object <http://ex.org/Item>; > dc:publisher <http://ex.org/Service>; > dc:created "2010-10-13"^^xsd:date; > dc:license <http://ex.org/License>. > <http://ex.org/User> rdf:type foaf:Agent. > <http://ex.org/Item> rdf:type foaf:Document. > Thanks, > Mirko > -- Aldo Bucchi @aldonline skype:aldo.bucchi http://aldobucchi.com/
Received on Wednesday, 13 October 2010 15:58:38 UTC