SlideShare a Scribd company logo
Distributed Collaboration on RDF Datasets
Using Git
Towards the Quit Store
Natanael Arndt, Norman Radtke and Michael Martin
SEMANTiCS 2016, Leipzig
September 14, 2016
Problem & Motivation
2 / 23
Problem & Motivation
Linked Datasets as of August 2014
Enterprise Workspace
clone
enrich
😱
Public LOD Cloud
3 / 23
Problem & Motivation
Remark (Co-Evolution)
The process of datasets simultaneously evolving separated from each
other while influencing each others evolution
4 / 23
Problem & Motivation
Usage of public LOD as background knowledge
Mobile use cases
In distributed collaboration on RDF datasets
⇒ Support for multiple versions of the same dataset at the same
time
5 / 23
Approach
The same problem exists for
source code repositories
Since around 10 years
distributed version control
system are solving this
problem
Multiple working copy exist at
the same time and can be
synchronized
Server/Client Server/Client
Server/Client
Server/Client
Server/Client
6 / 23
Approach
Git is successful in software
development
Server/Client Server/Client
Server/Client
Server/Client
Server/Client
7 / 23
Approach
Git is successful in software
development
We have decided to see if this
also works for RDF
Server/Client Server/Client
Server/Client
Server/Client
Server/Client
7 / 23
Approach
Git is successful in software
development
We have decided to see if this
also works for RDF
So we have put RDF into the
repositories
Server/Client Server/Client
Server/Client
Server/Client
Server/Client
7 / 23
Methodology
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update Read/write interface
Translating read/write
operations to versioning
Synchronizes the store with
the current working copy
8 / 23
Methodology:
Serialization of RDF data
Multiple RDF serialization formats are available
For the versioning with Git we need:
Same RDF graph = same representation
Minimal difference between versions
Meaningful difference between version
⇒ We have chosen a canonicalized N-Quads serialization
9 / 23
Methodology:
Blank Nodes in Versioning
With RDF as exchange format, still blank nodes are a problem
Blank nodes identifiers only have a local scope
… are not persistent or portable identifiers
… are purely an artifact of the serialization
([Cyganiak et al., 2014] sections 3.4 and 3.5)
10 / 23
Methodology:
Blank Nodes in Versioning
With RDF as exchange format, still blank nodes are a problem
Blank nodes identifiers only have a local scope
… are not persistent or portable identifiers
… are purely an artifact of the serialization
We follow the recommendation of RDF 1.1, to replace blank
nodes with IRIs
([Cyganiak et al., 2014] sections 3.4 and 3.5)
10 / 23
Methodology:
Read/Write Interface
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
SPARQL 1.1 Query and Update
Query proxy providing a
SPARQL endpoint
Executes Queries on the Store
Triggers read or write
operations on the versioning
layer
11 / 23
Methodology:
Translating Read/Write Operations
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
SPARQL read/write operations
are transformed to commit,
merge, revert, push and pull
12 / 23
Methodology:
Commit
Is triggered by UPDATE Queries
The changed graphs are added and commited in a new Git
commit
A Commit contains lines resp. statements added/removed
A B
13 / 23
Methodology:
Commit
A commit is always referring to its predecessor not vice versa
We can also create two commits with the same predecessor
A B C
14 / 23
Methodology:
Commit
A commit is always referring to its predecessor not vice versa
We can also create two commits with the same predecessor
Branching/Forking
A B C
D
14 / 23
Methodology:
Merge
If the commits are diverged we need to synchronize the versions
A B C
D
15 / 23
Methodology:
Merge
If the commits are diverged we need to synchronize the versions
Create a commit with two predecessors
Still we need to actually consolidate the graphs
A B C
D
E
15 / 23
Methodology:
Merge
Using the default three-way-merge from git
<urn:ex:Tilia> a <urn:ex:Tree> .
<urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer .
<urn:ex:Tilia> <urn:ex:label> "Linda"@de .
<urn:ex:Tilia> <urn:ex:label> "Tilia"@en .
16 / 23
Methodology:
Merge
Using the default three-way-merge from git
On syntactical level Git produces conflicts
Branch A
<urn:ex:Tilia> a <urn:ex:Tree> .
<urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer .
+ <urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer .
<urn:ex:Tilia> <urn:ex:label> "Linda"@de .
<urn:ex:Tilia> <urn:ex:label> "Tilia"@en .
Branch B
<urn:ex:Tilia> a <urn:ex:Tree> .
<urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer .
+ <urn:ex:Tilia> <urn:ex:label> "Linde"@de .
- <urn:ex:Tilia> <urn:ex:label> "Linda"@de .
<urn:ex:Tilia> <urn:ex:label> "Tilia"@en .
16 / 23
Methodology:
Merge
Using the default three-way-merge from git
On syntactical level Git produces conflicts
Git Merge:
<urn:ex:Tilia> a <urn:ex:Tree> .
<urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer .
<<<<<<< HEAD
<urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer . =======
<urn:ex:Tilia> <urn:ex:label> "Linda"@de . <urn:ex:Tilia> <urn:ex:label> "Linde"@de .
>>>>>>> typo
<urn:ex:Tilia> <urn:ex:label> "Tilia"@en .
16 / 23
Methodology:
Merge
Using the default three-way-merge from git
On syntactical level Git produces conflicts
But actually there is no conflict
Conflicts have to be looked for on other levels
<urn:ex:Tilia> a <urn:ex:Tree> .
<urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer .
<urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer .
<urn:ex:Tilia> <urn:ex:label> "Linde"@de .
<urn:ex:Tilia> <urn:ex:label> "Tilia"@en .
16 / 23
Methodology:
Revert
Reverting a commit undoes an earlier change
This is done by exchanging the add- and delete-set of statements
A B B−1
17 / 23
Implementation
File References
SPARQL 1.1 Interface
Public Git Repository
Local Git Repository
Query-Analyzer
Quad-Store
SPARQL Query
Update
Dump to files
Select
Parse files
Response
Written in Python, using Flask API as HTTP interface and RDFlib for
SPARQL and RDF
18 / 23
Integration
Quit Store has the role of managing the repository
Provide the read/write interface
Synchronize the repository and the store.
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
19 / 23
Integration
Quit Diff can calculate differences between commits
Trace provenance of statement
Transmit patches to collaborators.
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
19 / 23
Integration & Future Work
Quit Notify can actively inform other clones of updates
This enables distributed setups for collaboration and
synchronization.
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
20 / 23
Integration & Future Work
Quit Merge will implement various merge strategies for RDF
Detect conflicts in diverged versions.
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
20 / 23
Poster
Quit DiffNatanael Arndt
Norman Radtke
?LEDS
INKED NTERPRISE ATA ERVICESL E D S
P 34 21 / 23
Conclusion
With Quit we have presented a
methodology for
version control and tracking
provenance of contributions,
synchronization: clone, push and pull
by other participants, and
distributed collaboration on RDF
datasets (gitflow)
Hopefully this can help to utilize the
big ecosystem of methodologies and
tools around Git
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
22 / 23
Conclusion
With Quit we have presented a
methodology for
version control and tracking
provenance of contributions,
synchronization: clone, push and pull
by other participants, and
distributed collaboration on RDF
datasets (gitflow)
Hopefully this can help to utilize the
big ecosystem of methodologies and
tools around Git
Questions?
Natanael Arndt
<arndt@informatik.uni-leipzig.de>
Quit Store
Quit Diff Δ( , )
Quit Merge
60%
Quit Notify
Quit Store
RDF
Quad Store
SPARQL 1.1 Interface
Query & Update
22 / 23
References I
Cyganiak, R., Wood, D., and Lanthaler, M. (2014).
Rdf 1.1 concepts and abstract syntax.
https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/.
23 / 23

More Related Content

What's hot

A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
Riccardo Tommasini
 
R Programming Language
R Programming LanguageR Programming Language
R Programming Language
NareshKarela1
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Riccardo Tommasini
 
R programming language: conceptual overview
R programming language: conceptual overviewR programming language: conceptual overview
R programming language: conceptual overview
Maxim Litvak
 
Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
Daniele Dell'Aglio
 
Introduction to Rstudio
Introduction to RstudioIntroduction to Rstudio
Introduction to Rstudio
Olga Scrivner
 
1 R Tutorial Introduction
1 R Tutorial Introduction1 R Tutorial Introduction
1 R Tutorial Introduction
Sakthi Dasans
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
Daniele Dell'Aglio
 

What's hot (8)

A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
 
R Programming Language
R Programming LanguageR Programming Language
R Programming Language
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
 
R programming language: conceptual overview
R programming language: conceptual overviewR programming language: conceptual overview
R programming language: conceptual overview
 
Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
 
Introduction to Rstudio
Introduction to RstudioIntroduction to Rstudio
Introduction to Rstudio
 
1 R Tutorial Introduction
1 R Tutorial Introduction1 R Tutorial Introduction
1 R Tutorial Introduction
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
 

Viewers also liked

KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data SourcesKESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
Linked Enterprise Date Services
 
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakeseccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
Linked Enterprise Date Services
 
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-M
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-MExecuting SPARQL Queries over Mapped Document Stores with SparqlMap-M
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-M
Linked Enterprise Date Services
 
Towards Versioning of Arbitrary RDF Data
Towards Versioning of Arbitrary RDF DataTowards Versioning of Arbitrary RDF Data
Towards Versioning of Arbitrary RDF Data
Linked Enterprise Date Services
 
Streaming-based Text Mining using Deep Learning and Semantics
Streaming-based Text Mining using Deep Learning and SemanticsStreaming-based Text Mining using Deep Learning and Semantics
Streaming-based Text Mining using Deep Learning and Semantics
Linked Enterprise Date Services
 
Semantic E-Commerce - Use Cases in Enterprise Web Applications
Semantic E-Commerce - Use Cases in Enterprise Web ApplicationsSemantic E-Commerce - Use Cases in Enterprise Web Applications
Semantic E-Commerce - Use Cases in Enterprise Web Applications
Linked Enterprise Date Services
 
E-government at its best: Open, transparent and useful
E-government at its best: Open, transparent and usefulE-government at its best: Open, transparent and useful
E-government at its best: Open, transparent and useful
Linked Enterprise Date Services
 
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
Aad Versteden
 
FAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
FAME.Q – A Formal approach to Master Quality in Enterprise Linked DataFAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
FAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
Linked Enterprise Date Services
 
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
Linked Enterprise Date Services
 
Setting Up the Data Lake
Setting Up the Data LakeSetting Up the Data Lake
Setting Up the Data Lake
Caserta
 
Incorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic ArchitectureIncorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic Architecture
Caserta
 
From Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of Services
Markus Lanthaler
 
Information Virtualization: Query Federation on Data Lakes
Information Virtualization: Query Federation on Data LakesInformation Virtualization: Query Federation on Data Lakes
Information Virtualization: Query Federation on Data Lakes
DataWorks Summit
 

Viewers also liked (14)

KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data SourcesKESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
KESeDa: Knowledge Extraction from Heterogeneous Semi-Structured Data Sources
 
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakeseccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
eccenca CorporateMemory - Semantically integrated Enterprise Data Lakes
 
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-M
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-MExecuting SPARQL Queries over Mapped Document Stores with SparqlMap-M
Executing SPARQL Queries over Mapped Document Stores with SparqlMap-M
 
Towards Versioning of Arbitrary RDF Data
Towards Versioning of Arbitrary RDF DataTowards Versioning of Arbitrary RDF Data
Towards Versioning of Arbitrary RDF Data
 
Streaming-based Text Mining using Deep Learning and Semantics
Streaming-based Text Mining using Deep Learning and SemanticsStreaming-based Text Mining using Deep Learning and Semantics
Streaming-based Text Mining using Deep Learning and Semantics
 
Semantic E-Commerce - Use Cases in Enterprise Web Applications
Semantic E-Commerce - Use Cases in Enterprise Web ApplicationsSemantic E-Commerce - Use Cases in Enterprise Web Applications
Semantic E-Commerce - Use Cases in Enterprise Web Applications
 
E-government at its best: Open, transparent and useful
E-government at its best: Open, transparent and usefulE-government at its best: Open, transparent and useful
E-government at its best: Open, transparent and useful
 
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
 
FAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
FAME.Q – A Formal approach to Master Quality in Enterprise Linked DataFAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
FAME.Q – A Formal approach to Master Quality in Enterprise Linked Data
 
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
Semantically integrated Enterprise Data Lakes and Co-Evolution of Public / Pr...
 
Setting Up the Data Lake
Setting Up the Data LakeSetting Up the Data Lake
Setting Up the Data Lake
 
Incorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic ArchitectureIncorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic Architecture
 
From Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of Services
 
Information Virtualization: Query Federation on Data Lakes
Information Virtualization: Query Federation on Data LakesInformation Virtualization: Query Federation on Data Lakes
Information Virtualization: Query Federation on Data Lakes
 

Similar to Distributed Collaboration on RDF Datasets Using Git: Towards the Quit Store

A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
Aksw Group
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
GraphRM
 
On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingDaniele Dell'Aglio
 
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyData
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
confluent
 
Sustainable queryable access to Linked Data
Sustainable queryable access to Linked DataSustainable queryable access to Linked Data
Sustainable queryable access to Linked Data
Ruben Verborgh
 
Functional reactive programming
Functional reactive programmingFunctional reactive programming
Functional reactive programming
Araf Karsh Hamid
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oak
Michael Dürig
 
Quadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystemQuadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystem
Rob Vesse
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
Revolution Analytics
 
Lightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkLightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache Spark
Manish Gupta
 
Reactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJavaReactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJava
Ali Muzaffar
 
Oak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryOak, the Architecture of the new Repository
Oak, the Architecture of the new Repository
Michael Dürig
 
Introduction to metadata cleansing using SPARQL update queries
Introduction to metadata cleansing using SPARQL update queriesIntroduction to metadata cleansing using SPARQL update queries
Introduction to metadata cleansing using SPARQL update queries
European Commission
 
LarKC Tutorial at ISWC 2009 - Parallelisation
LarKC Tutorial at ISWC 2009 - ParallelisationLarKC Tutorial at ISWC 2009 - Parallelisation
LarKC Tutorial at ISWC 2009 - Parallelisation
LarKC
 
cyclades eswc2016
cyclades eswc2016cyclades eswc2016
cyclades eswc2016
Pascal Molli
 
Semantic Web talk TEMPLATE
Semantic Web talk TEMPLATESemantic Web talk TEMPLATE
Semantic Web talk TEMPLATE
Oleksiy Pylypenko
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...
Nikolaos Konstantinou
 
Map Reduce along with Amazon EMR
Map Reduce along with Amazon EMRMap Reduce along with Amazon EMR
Map Reduce along with Amazon EMR
ABC Talks
 
Preparing for Scala 3
Preparing for Scala 3Preparing for Scala 3
Preparing for Scala 3
Martin Odersky
 

Similar to Distributed Collaboration on RDF Datasets Using Git: Towards the Quit Store (20)

A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
A Method for Distributed and Collaborative Curation of RDF Datasets Utilizing...
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
 
On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarking
 
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
 
Sustainable queryable access to Linked Data
Sustainable queryable access to Linked DataSustainable queryable access to Linked Data
Sustainable queryable access to Linked Data
 
Functional reactive programming
Functional reactive programmingFunctional reactive programming
Functional reactive programming
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oak
 
Quadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystemQuadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystem
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
 
Lightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkLightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache Spark
 
Reactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJavaReactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJava
 
Oak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryOak, the Architecture of the new Repository
Oak, the Architecture of the new Repository
 
Introduction to metadata cleansing using SPARQL update queries
Introduction to metadata cleansing using SPARQL update queriesIntroduction to metadata cleansing using SPARQL update queries
Introduction to metadata cleansing using SPARQL update queries
 
LarKC Tutorial at ISWC 2009 - Parallelisation
LarKC Tutorial at ISWC 2009 - ParallelisationLarKC Tutorial at ISWC 2009 - Parallelisation
LarKC Tutorial at ISWC 2009 - Parallelisation
 
cyclades eswc2016
cyclades eswc2016cyclades eswc2016
cyclades eswc2016
 
Semantic Web talk TEMPLATE
Semantic Web talk TEMPLATESemantic Web talk TEMPLATE
Semantic Web talk TEMPLATE
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...
 
Map Reduce along with Amazon EMR
Map Reduce along with Amazon EMRMap Reduce along with Amazon EMR
Map Reduce along with Amazon EMR
 
Preparing for Scala 3
Preparing for Scala 3Preparing for Scala 3
Preparing for Scala 3
 

Recently uploaded

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
nscud
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
ewymefz
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
NABLAS株式会社
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 

Recently uploaded (20)

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 

Distributed Collaboration on RDF Datasets Using Git: Towards the Quit Store

  • 1. Distributed Collaboration on RDF Datasets Using Git Towards the Quit Store Natanael Arndt, Norman Radtke and Michael Martin SEMANTiCS 2016, Leipzig September 14, 2016
  • 3. Problem & Motivation Linked Datasets as of August 2014 Enterprise Workspace clone enrich 😱 Public LOD Cloud 3 / 23
  • 4. Problem & Motivation Remark (Co-Evolution) The process of datasets simultaneously evolving separated from each other while influencing each others evolution 4 / 23
  • 5. Problem & Motivation Usage of public LOD as background knowledge Mobile use cases In distributed collaboration on RDF datasets ⇒ Support for multiple versions of the same dataset at the same time 5 / 23
  • 6. Approach The same problem exists for source code repositories Since around 10 years distributed version control system are solving this problem Multiple working copy exist at the same time and can be synchronized Server/Client Server/Client Server/Client Server/Client Server/Client 6 / 23
  • 7. Approach Git is successful in software development Server/Client Server/Client Server/Client Server/Client Server/Client 7 / 23
  • 8. Approach Git is successful in software development We have decided to see if this also works for RDF Server/Client Server/Client Server/Client Server/Client Server/Client 7 / 23
  • 9. Approach Git is successful in software development We have decided to see if this also works for RDF So we have put RDF into the repositories Server/Client Server/Client Server/Client Server/Client Server/Client 7 / 23
  • 10. Methodology Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update Read/write interface Translating read/write operations to versioning Synchronizes the store with the current working copy 8 / 23
  • 11. Methodology: Serialization of RDF data Multiple RDF serialization formats are available For the versioning with Git we need: Same RDF graph = same representation Minimal difference between versions Meaningful difference between version ⇒ We have chosen a canonicalized N-Quads serialization 9 / 23
  • 12. Methodology: Blank Nodes in Versioning With RDF as exchange format, still blank nodes are a problem Blank nodes identifiers only have a local scope … are not persistent or portable identifiers … are purely an artifact of the serialization ([Cyganiak et al., 2014] sections 3.4 and 3.5) 10 / 23
  • 13. Methodology: Blank Nodes in Versioning With RDF as exchange format, still blank nodes are a problem Blank nodes identifiers only have a local scope … are not persistent or portable identifiers … are purely an artifact of the serialization We follow the recommendation of RDF 1.1, to replace blank nodes with IRIs ([Cyganiak et al., 2014] sections 3.4 and 3.5) 10 / 23
  • 14. Methodology: Read/Write Interface Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update SPARQL 1.1 Query and Update Query proxy providing a SPARQL endpoint Executes Queries on the Store Triggers read or write operations on the versioning layer 11 / 23
  • 15. Methodology: Translating Read/Write Operations Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update SPARQL read/write operations are transformed to commit, merge, revert, push and pull 12 / 23
  • 16. Methodology: Commit Is triggered by UPDATE Queries The changed graphs are added and commited in a new Git commit A Commit contains lines resp. statements added/removed A B 13 / 23
  • 17. Methodology: Commit A commit is always referring to its predecessor not vice versa We can also create two commits with the same predecessor A B C 14 / 23
  • 18. Methodology: Commit A commit is always referring to its predecessor not vice versa We can also create two commits with the same predecessor Branching/Forking A B C D 14 / 23
  • 19. Methodology: Merge If the commits are diverged we need to synchronize the versions A B C D 15 / 23
  • 20. Methodology: Merge If the commits are diverged we need to synchronize the versions Create a commit with two predecessors Still we need to actually consolidate the graphs A B C D E 15 / 23
  • 21. Methodology: Merge Using the default three-way-merge from git <urn:ex:Tilia> a <urn:ex:Tree> . <urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer . <urn:ex:Tilia> <urn:ex:label> "Linda"@de . <urn:ex:Tilia> <urn:ex:label> "Tilia"@en . 16 / 23
  • 22. Methodology: Merge Using the default three-way-merge from git On syntactical level Git produces conflicts Branch A <urn:ex:Tilia> a <urn:ex:Tree> . <urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer . + <urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer . <urn:ex:Tilia> <urn:ex:label> "Linda"@de . <urn:ex:Tilia> <urn:ex:label> "Tilia"@en . Branch B <urn:ex:Tilia> a <urn:ex:Tree> . <urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer . + <urn:ex:Tilia> <urn:ex:label> "Linde"@de . - <urn:ex:Tilia> <urn:ex:label> "Linda"@de . <urn:ex:Tilia> <urn:ex:label> "Tilia"@en . 16 / 23
  • 23. Methodology: Merge Using the default three-way-merge from git On syntactical level Git produces conflicts Git Merge: <urn:ex:Tilia> a <urn:ex:Tree> . <urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer . <<<<<<< HEAD <urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer . ======= <urn:ex:Tilia> <urn:ex:label> "Linda"@de . <urn:ex:Tilia> <urn:ex:label> "Linde"@de . >>>>>>> typo <urn:ex:Tilia> <urn:ex:label> "Tilia"@en . 16 / 23
  • 24. Methodology: Merge Using the default three-way-merge from git On syntactical level Git produces conflicts But actually there is no conflict Conflicts have to be looked for on other levels <urn:ex:Tilia> a <urn:ex:Tree> . <urn:ex:Tilia> <urn:ex:age> "1000"^^xsd:integer . <urn:ex:Tilia> <urn:ex:height> "40"^^xsd:integer . <urn:ex:Tilia> <urn:ex:label> "Linde"@de . <urn:ex:Tilia> <urn:ex:label> "Tilia"@en . 16 / 23
  • 25. Methodology: Revert Reverting a commit undoes an earlier change This is done by exchanging the add- and delete-set of statements A B B−1 17 / 23
  • 26. Implementation File References SPARQL 1.1 Interface Public Git Repository Local Git Repository Query-Analyzer Quad-Store SPARQL Query Update Dump to files Select Parse files Response Written in Python, using Flask API as HTTP interface and RDFlib for SPARQL and RDF 18 / 23
  • 27. Integration Quit Store has the role of managing the repository Provide the read/write interface Synchronize the repository and the store. Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 19 / 23
  • 28. Integration Quit Diff can calculate differences between commits Trace provenance of statement Transmit patches to collaborators. Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 19 / 23
  • 29. Integration & Future Work Quit Notify can actively inform other clones of updates This enables distributed setups for collaboration and synchronization. Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 20 / 23
  • 30. Integration & Future Work Quit Merge will implement various merge strategies for RDF Detect conflicts in diverged versions. Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 20 / 23
  • 31. Poster Quit DiffNatanael Arndt Norman Radtke ?LEDS INKED NTERPRISE ATA ERVICESL E D S P 34 21 / 23
  • 32. Conclusion With Quit we have presented a methodology for version control and tracking provenance of contributions, synchronization: clone, push and pull by other participants, and distributed collaboration on RDF datasets (gitflow) Hopefully this can help to utilize the big ecosystem of methodologies and tools around Git Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 22 / 23
  • 33. Conclusion With Quit we have presented a methodology for version control and tracking provenance of contributions, synchronization: clone, push and pull by other participants, and distributed collaboration on RDF datasets (gitflow) Hopefully this can help to utilize the big ecosystem of methodologies and tools around Git Questions? Natanael Arndt <arndt@informatik.uni-leipzig.de> Quit Store Quit Diff Δ( , ) Quit Merge 60% Quit Notify Quit Store RDF Quad Store SPARQL 1.1 Interface Query & Update 22 / 23
  • 34. References I Cyganiak, R., Wood, D., and Lanthaler, M. (2014). Rdf 1.1 concepts and abstract syntax. https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/. 23 / 23