From MonetDB
Jump to navigationJump to search

Tasks & Planning[edit]

 Parser                                                                  Sjoerd
 SPARQL Algebra                                                          Duc, Lefteris
 SPARQL to Relational(sql) Algebra                                       Niels, Peter, Lefteris
 RUNTIME Enviroment (shredder and functions)                             Lefteris, Peter
 Code Management - Module Maintenance - Packaging                        Sjoerd

RDF Storage[edit]




MonetDB-RDF-SparQL meeting (26.11.2010)[edit]

Participant List: Lefteris, Niels, Peter, Sjoerd, Stefan


  • SparQL syntax & semantic basics
    • Lefteris: Support property paths! --- the code is basically there.
  • Status report by Lefteris
    • RDF document shredding into 6 permutation of SPO triple table is done, incl. dictionary & tokenizer, module bug fixes & performance tuning (multi-threaded)
    • support for multiple documents / incremental shredding is missing
    • RDF SQL schema contains GRAPHS table that lists existing documents and their SQL SPO table sets
    • Open: which is best storage (physical clustering/ordering) and most efficient use of that (sorted permutations + merge-joins; hash-tables + hash-joins, MLA + positional-join-index)
  • Architecture alternatives
    • start with existing SparQL parser, e.g., redland librdf
   => SparQL algebra
      What are the SparQL algebra operators and what is the type system?
    • which relational algebra operators are required?
    • are polimorphic types / runtime typing & casting required? or can we make this explicit in the generated SQL query? (value constructing function, comparison functions, EBV, typed literals, ...)
 = S P O t s schema:
   S: oid -> tokenizer
   P: oid -> tokenizer
   O: oid/lng
   t: bte: uri: O=oid -> tokenizer
           str: O=oid -> s
           num: O=lng as is
           XML types? -> to be seen ...
   s: str (unique?)
 = exploit shredding order ("natural" MLA)
 = start with hash rather than permutations
 = support/exploit re-using hash tables with slices
 = recycler??
    • NULL semantics?
    • triple-valued booleans?
  • SparQL syntax & semantics (details, hurdles, etc.)

MonetDB-RDF-SparQL meeting (10.03.2011)[edit]

Participant list:

CWI: Lefteris, Niels, Peter, Sjoerd, Duc

UOA: Babis, Mixalis, Kostis, by spirit Manolis


  • Brought up to date the members of UOA on the MonetDB/RDF ideas.
  • Talked about self referenced triples (TIDs)
  • Incorporating spatial (and temporal) data
  • TID (triples ID)
    • Each triple has an ID, its position on the triple table, referred to hereafter as TID
    • Statements about triples can be made using the TID of the form (TID,property,object)
    • The most significant bit of the t byte if set then the triple has the form of (TID,property,object)
    • The rest 7 bits of t are left for typing the object
  • Spatial
    • Two 32 bit integers [latitude,longitude] concatenated into one 64bit int appearing only as object
    • A spatial type is defined on the t byte
    • Zone / Clustering Index on the spatial data

NKUA RDF Meeting (21.03.2011)[edit]

Participant List: Babis, Kostis, Manolis, Michael, and Stavros

RDF Development Plan on MonetDB

  1. Port Strabon on MonetDB using JDBC and geoss library.
  2. Extend (1) by developing an RDF storage scheme in Monet and producing appropriate SQL code for that scheme which evaluates given SPARQL queries.
    1. Extend current RDF storage scheme developed by Lefteris, or SPOts (if available) with spatial data.
    2. Modification of the Sesame's parser to produce appropriate SQL code for the employed RDF storage scheme, or development of a SPARQL interface from scratch possibly using the parser that Sjoerd is producing.
  3. Discard geoss library and implement (some of?) the respective spatial functions in Monet (inside the kernel).