Download - LarKC Tutorial at ISWC 2009 - Data Model
Copyright 2007
LarKC Data Layer
Early adopter’s workshop
Objectives
To provide a standard API for RDF persistence To implement different strategies of data passing
(by value vs. by reference) To realize efficient RDF statement meta-data
association To offer utility model to simplify common RDF data
management tasks
ORDI Data Model
RDF model states universal-true Named graphs do not ensure the required
flexibility to model complex context/meta-data Provenance of the information Author / time stamp created / selection
Isolate data from the meta-data on RDF model level
ORDI Data Model Semantics
Neutral in terms of semantics Well defined data model operations
add – asserts new RDF statement remove – retract an RDF statement associate – add statement to a labelled group deassociate – remote statement from a labelled
group
ORDI Data Model Example
Operationsadd(a:alice, foaf:name, “Alice”, ng:g1)
add(b:bob, foaf:knows, a:alice, ng:g2, {l:l1})
add(a:alice, foaf:name, “Alice”, ng:g2)
associate(a:alice, foaf:name, “Alice”, ng:g1, l:l2)
associate(a:alice, foaf:name, “Alice”, ng:g2, l:l2)
associate(a:alice, foaf:name, “Alice”, ng:g2, l:l3)
remove(a:alice, foaf:name, “Alice”, ng:g2)
Alice
foaf:name
foaf:knows
foaf:name
b:bob
a:alice
ng:g1
ng:g2
L1
L2
L2
L3
Used Concepts in the Data Model
NG1 NG3
NG4 NG5
NG2
Labelled groupsof statements Labelled groups
of statements
Supported Sets of Statements
RDF data types Description Example
Set of statement RDF statements s1, p1, o1, ng1s2, p2, o2s3, 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, ng1s2, p2, o2, ng2s3, 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}
Java Interfaces to Implement the RDF Types
Java Interfaces to Create the RDF Types
The Different Implementations
Name Purpose Cost to pass 106 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
Questions?