LarKC Tutorial at ISWC 2009 - Data Model


Published on

The aim of the EU FP 7 Large-Scale Integrating Project LarKC is to develop the Large Knowledge Collider (LarKC, for short, pronounced “lark”), a platform for massive distributed incomplete reasoning that will remove the scalability barriers of currently existing reasoning systems for the Semantic Web. The LarKC platform is available at This talk, is part of a tutorial for early users of the LarKC platform, and describes the data model used within LarKC.

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

LarKC Tutorial at ISWC 2009 - Data Model

  1. 1. LarKC Data Layer Early adopter’s workshop
  2. 2. Objectives <ul><li>To provide a standard API for RDF persistence </li></ul><ul><li>To implement different strategies of data passing (by value vs. by reference) </li></ul><ul><li>To realize efficient RDF statement meta-data association </li></ul><ul><li>To offer utility model to simplify common RDF data management tasks </li></ul>
  3. 3. ORDI Data Model <ul><li>RDF model states universal-true </li></ul><ul><li>Named graphs do not ensure the required flexibility to model complex context/meta-data </li></ul><ul><ul><li>Provenance of the information </li></ul></ul><ul><ul><li>Author / time stamp created / selection </li></ul></ul><ul><li>Isolate data from the meta-data on RDF model level </li></ul>
  4. 4. ORDI Data Model Semantics <ul><li>Neutral in terms of semantics </li></ul><ul><li>Well defined data model operations </li></ul><ul><ul><li>add – asserts new RDF statement </li></ul></ul><ul><ul><li>remove – retract an RDF statement </li></ul></ul><ul><ul><li>associate – add statement to a labelled group </li></ul></ul><ul><ul><li>deassociate – remote statement from a labelled group </li></ul></ul>
  5. 5. ORDI Data Model Example <ul><li>Operations </li></ul><ul><li>add(a:alice, foaf:name, “Alice”, ng:g1) </li></ul><ul><li>add(b:bob, foaf:knows, a:alice, ng:g2, {l:l1}) </li></ul><ul><li>add(a:alice, foaf:name, “Alice”, ng:g2) </li></ul><ul><li>associate(a:alice, foaf:name, “Alice”, ng:g1, l:l2) </li></ul><ul><li>associate(a:alice, foaf:name, “Alice”, ng:g2, l:l2) </li></ul><ul><li>associate(a:alice, foaf:name, “Alice”, ng:g2, l:l3) </li></ul><ul><li>remove(a:alice, foaf:name, “Alice”, ng:g2) </li></ul>Alice foaf:name foaf:knows foaf:name b:bob a:alice ng:g1 ng:g2 L1 L2 L2 L3
  6. 6. Used Concepts in the Data Model NG1 NG3 NG4 NG5 NG2 Labelled groups of statements Labelled groups of statements
  7. 7. Supported Sets of Statements RDF data types Description Example Set of statement RDF statements s1, p1, o1, ng1 s2, p2, o2 s3, p3, o3, ng3, {group1} RDF graph Named graph s1, p1, o1, ng1 , {group1} s2, p2, o2, ng1 , {group2} s3, p3, o3, ng1 Dataset SPARQL dataset represents a collection of graphs s1, p1, o1, ng1 s2, p2, o2, ng2 s3, p3, o3, ng3 Labelled group of statements RDF group of statements s1, p1, o1, ng1, {group1} s2, p2, o2, ng2, {group1} s3, p3, o3, ng3, {group1}
  8. 8. Java Interfaces to Implement the RDF Types
  9. 9. Java Interfaces to Create the RDF Types
  10. 10. The Different Implementations Name Purpose Cost to pass 10 6 RDF statements Set of statements Services to return RDF data (e.g., SPARQL construct and describe queries) 350MB memory Named graph in memory Pass named graphs between plug-ins 350MB memory HTTP published RDF graph Load chunks of RDF from URL few KBs + time to load the data Named graph retrieved from a SPARQL endpoint Pass named graphs using a SPARQL endpoint few KBs + time to transfer the data + to filter the dataset with SPARQL SPARQL dataset Constrain RDF data exposed by a SPARQL endpoint with a list of graph names few KBs + time to transfer the data + to filter the dataset with SPARQL Labelled group of statements Pass arbitrary sets of RDF statements between plug-ins (e.g., graph priming) few KBs + time to associate the statements + time to filter the labelled group
  11. 11. Questions?