SlideShare a Scribd company logo
morph-LDP: An R2RML-based
Linked Data Platform implementation
Nandana Mihindukulasooriya1,2, Freddy Priyatna2,
Oscar Corcho2, Raúl García Castro1,2, and Miguel Esteban Gutiérrez1,2
1Center for Open Middleware
2Ontology Engineering Group, Facultad de Informática
Universidad Politécnica de Madrid, Spain
{nmihindu,fpriyatna,ocorcho,rgarcia,mesteban}@fi.upm.es
Objective: To expose relational databases as read / write Linked Data applications
Challenges: (i) Converting RDB to RDF and vice versa; (ii) Exposing RDF as read/write Linked Data
Approach: Combining the W3C Linked Data Platform (LDP) and W3C R2RML standards
Linked Data Platform
morph-LDP Use Case and Solution
An example – Retrieving the list of group members
R2RML Mapping Language
LDP4j morph-RDB
http://example.org/oeg/members/fpriyatna
identifies
Registration
Office
morph-LDP
Web App
Relational
Database
Library
Legacy Applications
configures
exposes
consumes Tabulator
OpenLink Data Explorer
ldspider LDIF
represents
Freddy
Priyatna
dereferences to
LDP Request
Handler
LDP4j
Template Matcher
Morph Proxy
Morph Engine
Query Translator
R2RML Processor
Data Translator
A set of rules for
generating RDF
triples from database
rows/values.
A RESTful protocol
for HTTP-based
read/write
Linked Data.
StandardsImpl.
http://ldp4j.org https://github.com/fpriyatna/morph
• An open-source R2RML Engine implementation
• Data and query translator
• Beyond the R2RML specification
• support for read / write access
• An open-source Java LDP implementation
• Middleware layer for building LDP applications
• Beyond the LDP specification
• support for vocabulary management
LDP Resource (LDPR)
Non-RDF
Source
(LDP-NR)
RDF Source (LDP-NR)
LDP Container (LDPC)
Basic Container
Direct Container
Indirect Container
GET /oeg/members/ HTTP/1.1
Host: example.org
Accept: text/turtle
200 OK
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel="type"
ETag: W/"195482449"
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<> a ldp:BasicContainer;
dcterms:title "Members of OEG, UPM";
ldp:contains <http://example.org/oeg/members/asun> ;
ldp:contains <http://example.org/oeg/members/fpriyatna> ;
ldp:contains <http://example.org/oeg/members/mesteban>;
ldp:contains <http://example.org/oeg/members/nmihindu>;
ldp:contains <http://example.org/oeg/members/ocorcho> ;
ldp:contains <http://example.org/oeg/members/rgarcia> .
HTTP Request
HTTP Response
Mapping LDP and R2RML Concepts
R2RML Mapping
TriplesMap
LogicalTable
PredicateObjectMap
PredicateMap
ObjectMap
SubjectMap
RefObjectMap
SELECT ?s WHERE { ?s a foaf:Person .
FILTER (REGEX(STR(?s), "^http://example.org/oeg/members/")) }
SPARQL Query
3
1
10
SELECT id FROM oegmembers 5SQL
LDP Request Handler
Query Translator
HTTP Request
ResultSet
Data Translator
-http://example.org/oeg/members/asun
-http://example.org/oeg/members/fpriyatna
-http://example.org/oeg/members/mesteban
-http://example.org/oeg/members/nmihindu
-http://example.org/oeg/members/ocorcho
-http://example.org/oeg/members/rgarcia
LDP Request Handler
-asun
-fpriyatna
-mesteban
-nmihindu
-ocorcho
-rgarcia
1
HTTP Response
2
3
45
7
8
9
10
M
D
6
SQL Query
oegmembers
id fname lname website email phone
asun Asunción Gómez Pérez http://delici.. asun@fi.up +34913367417
fpriyatna Freddy Priyatna http://delici.. fpriyatna@f +34913363670
mesteban Miguel Esteban Gutierrez http://delici.. mesteban@ +34913363671
nmihindu Nandana Mihindukulasoori http://www. nmihindu +34913363670
ocorcho Oscar Corcho http://delici.. ocorcho@ +34913366605
rgarcia Raul Garcia Castro http://delici.. rgarcia@fi +34913366596
D
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<TriplesMapPerson>
a rr:TriplesMap;
rr:logicalTable [ rr:tableName "oegmembers" ];
rr:subjectMap [ a rr:Subject; rr:class foaf:Person;
rr:template “http://example.org/oeg/members/{id}";
rr:termType rr:IRI; ];
rr:predicateObjectMap [
rr:predicateMap [ rr:constant foaf:firstName ];
rr:objectMap [ rr:column “fname"; rr:termType rr:Literal; ]; ];
rr:predicateObjectMap [
rr:predicateMap [ rr:constant foaf:lastName ];
rr:objectMap [ rr:column “lname"; rr:termType rr:Literal; ]; ];
…
M

More Related Content

PPTX
An Approach for the Incremental Export of Relational Databases into RDF Graphs
PDF
semanticweb
PDF
GRDDL: The Why, What, How, and Where
PDF
Scaling the (evolving) web data –at low cost-
PPTX
Efficient RDF Interchange (ERI) Format for RDF Data Streams
PPTX
Timbuctoo 2 EASY
PDF
Incorporating Functions in Mappings to Facilitate the Uplift of CSV Files int...
An Approach for the Incremental Export of Relational Databases into RDF Graphs
semanticweb
GRDDL: The Why, What, How, and Where
Scaling the (evolving) web data –at low cost-
Efficient RDF Interchange (ERI) Format for RDF Data Streams
Timbuctoo 2 EASY
Incorporating Functions in Mappings to Facilitate the Uplift of CSV Files int...

What's hot (20)

PPTX
Transient and persistent RDF views over relational databases in the context o...
PDF
Matching and merging anonymous terms from web sources
PPT
Chicago LOMRDF update 2003-06-19
PDF
W4 4 marc-alexandre-nolin-v2
PPTX
3TU Datacentrum Tech Overview
ODP
Introduction to LDL 2012
PDF
LDP-DL: A language to define the design of Linked Data Platforms
PDF
master_thesis_greciano_v2
PPTX
RDF-Gen: Generating RDF from streaming and archival data
PPT
Linked data and voyager
PPTX
Triple Stores
PDF
Improved chemical text mining of patents using infinite dictionaries, transla...
PPTX
Querying Linked Data on Android
PDF
Named Entity Recognition from Online News
PPTX
Enabling Language Resources to Expose Translations as Linked Data on the Web
PDF
Working with the IFS on System i
PDF
Linguistic markup and transclusion processing in XML documents
PPTX
RDF for Librarians
PDF
Uplift – Generating RDF datasets from non-RDF data with R2RML
PDF
Implications Of Dual Participation Of Floss Developer
Transient and persistent RDF views over relational databases in the context o...
Matching and merging anonymous terms from web sources
Chicago LOMRDF update 2003-06-19
W4 4 marc-alexandre-nolin-v2
3TU Datacentrum Tech Overview
Introduction to LDL 2012
LDP-DL: A language to define the design of Linked Data Platforms
master_thesis_greciano_v2
RDF-Gen: Generating RDF from streaming and archival data
Linked data and voyager
Triple Stores
Improved chemical text mining of patents using infinite dictionaries, transla...
Querying Linked Data on Android
Named Entity Recognition from Online News
Enabling Language Resources to Expose Translations as Linked Data on the Web
Working with the IFS on System i
Linguistic markup and transclusion processing in XML documents
RDF for Librarians
Uplift – Generating RDF datasets from non-RDF data with R2RML
Implications Of Dual Participation Of Floss Developer
Ad

Similar to morph-LDP: An R2RML-based Linked Data Platform implementation (20)

PPTX
Describing LDP Applications with the Hydra Core Vocabulary
PPTX
Introduction to W3C Linked Data Platform
PPTX
Best of Marketing
PDF
Introduction to LDP in Apache Marmotta
PPTX
Linked data platform adapter for bugzilla poster
PPTX
Publishing Linked Data 3/5 Semtech2011
PPTX
LOD2: State of Play WP6 - LOD2 Stack Architecture
PPTX
ODP
2009 0807 Lod Gmod
PDF
Bio2RDF should we do it
PPT
W3C Linked Data Platform Overview
PPT
PDF
Linked Open Data: A simple how-to
PPTX
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
PPTX
Learning W3C Linked Data Platform with examples
ODP
Data Integration And Visualization
ODP
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
PPTX
Tim Pugh-SPEDDEXES 2014
PPT
The Rhizomer Semantic Content Management System
PPTX
Application integration with the W3C Linked Data standards
Describing LDP Applications with the Hydra Core Vocabulary
Introduction to W3C Linked Data Platform
Best of Marketing
Introduction to LDP in Apache Marmotta
Linked data platform adapter for bugzilla poster
Publishing Linked Data 3/5 Semtech2011
LOD2: State of Play WP6 - LOD2 Stack Architecture
2009 0807 Lod Gmod
Bio2RDF should we do it
W3C Linked Data Platform Overview
Linked Open Data: A simple how-to
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
Learning W3C Linked Data Platform with examples
Data Integration And Visualization
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
Tim Pugh-SPEDDEXES 2014
The Rhizomer Semantic Content Management System
Application integration with the W3C Linked Data standards
Ad

More from Nandana Mihindukulasooriya (20)

PPTX
A Framework for Linked Data Quality based on Data Profiling and RDF Shape Ind...
PPTX
Leveraging Semantic Parsing for Relation Linking over Knowledge Bases
PPTX
ISWC 2020 - Semantic Answer Type Prediction
PDF
Fitur - HackaTrips 2018!
PDF
A Distributed Transaction Model for Read-Write Linked Data Applications
PDF
Repairing Hidden Links in Linked Data
PPTX
Loupe API - A Linked Data Profiling Service for Quality Assessment
PDF
Research Poster Design
PPTX
Collaborative Ontology Evolution and Data Quality - An Empirical Analysis
PPTX
Erasmus+ promotional event - Kandy, Sri Lanka
PPTX
Loupe model - Use Cases and Requirements
PPTX
4V - WP3 Progress Report (TIN2013-46238)
PPTX
A Two-Fold Quality Assurance Approach for Dynamic Knowledge Bases : The 3cixt...
PPTX
An analysis of the quality issues of the properties available in the Spanish ...
PPTX
LDP4j: A framework for the development of interoperable read-write Linked Da...
PPTX
Linked Data Platform as a novel approach for Enterprise Application Integra...
PPTX
ALM iStack - Application Lifecycle Management using Linked Data
PPTX
Erasmus Mundus - Overview, Opportunities, and Details
PPTX
Erasmus Mundus - European higher education opportunities for Sri Lankans
A Framework for Linked Data Quality based on Data Profiling and RDF Shape Ind...
Leveraging Semantic Parsing for Relation Linking over Knowledge Bases
ISWC 2020 - Semantic Answer Type Prediction
Fitur - HackaTrips 2018!
A Distributed Transaction Model for Read-Write Linked Data Applications
Repairing Hidden Links in Linked Data
Loupe API - A Linked Data Profiling Service for Quality Assessment
Research Poster Design
Collaborative Ontology Evolution and Data Quality - An Empirical Analysis
Erasmus+ promotional event - Kandy, Sri Lanka
Loupe model - Use Cases and Requirements
4V - WP3 Progress Report (TIN2013-46238)
A Two-Fold Quality Assurance Approach for Dynamic Knowledge Bases : The 3cixt...
An analysis of the quality issues of the properties available in the Spanish ...
LDP4j: A framework for the development of interoperable read-write Linked Da...
Linked Data Platform as a novel approach for Enterprise Application Integra...
ALM iStack - Application Lifecycle Management using Linked Data
Erasmus Mundus - Overview, Opportunities, and Details
Erasmus Mundus - European higher education opportunities for Sri Lankans

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
Teaching material agriculture food technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
cuic standard and advanced reporting.pdf
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation theory and applications.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Teaching material agriculture food technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Monthly Chronicles - July 2025
cuic standard and advanced reporting.pdf
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation theory and applications.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The AUB Centre for AI in Media Proposal.docx
Dropbox Q2 2025 Financial Results & Investor Presentation

morph-LDP: An R2RML-based Linked Data Platform implementation

  • 1. morph-LDP: An R2RML-based Linked Data Platform implementation Nandana Mihindukulasooriya1,2, Freddy Priyatna2, Oscar Corcho2, Raúl García Castro1,2, and Miguel Esteban Gutiérrez1,2 1Center for Open Middleware 2Ontology Engineering Group, Facultad de Informática Universidad Politécnica de Madrid, Spain {nmihindu,fpriyatna,ocorcho,rgarcia,mesteban}@fi.upm.es Objective: To expose relational databases as read / write Linked Data applications Challenges: (i) Converting RDB to RDF and vice versa; (ii) Exposing RDF as read/write Linked Data Approach: Combining the W3C Linked Data Platform (LDP) and W3C R2RML standards Linked Data Platform morph-LDP Use Case and Solution An example – Retrieving the list of group members R2RML Mapping Language LDP4j morph-RDB http://example.org/oeg/members/fpriyatna identifies Registration Office morph-LDP Web App Relational Database Library Legacy Applications configures exposes consumes Tabulator OpenLink Data Explorer ldspider LDIF represents Freddy Priyatna dereferences to LDP Request Handler LDP4j Template Matcher Morph Proxy Morph Engine Query Translator R2RML Processor Data Translator A set of rules for generating RDF triples from database rows/values. A RESTful protocol for HTTP-based read/write Linked Data. StandardsImpl. http://ldp4j.org https://github.com/fpriyatna/morph • An open-source R2RML Engine implementation • Data and query translator • Beyond the R2RML specification • support for read / write access • An open-source Java LDP implementation • Middleware layer for building LDP applications • Beyond the LDP specification • support for vocabulary management LDP Resource (LDPR) Non-RDF Source (LDP-NR) RDF Source (LDP-NR) LDP Container (LDPC) Basic Container Direct Container Indirect Container GET /oeg/members/ HTTP/1.1 Host: example.org Accept: text/turtle 200 OK HTTP/1.1 200 OK Content-Type: text/turtle; charset=UTF-8 Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel="type" ETag: W/"195482449" @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://www.w3.org/ns/ldp#>. <> a ldp:BasicContainer; dcterms:title "Members of OEG, UPM"; ldp:contains <http://example.org/oeg/members/asun> ; ldp:contains <http://example.org/oeg/members/fpriyatna> ; ldp:contains <http://example.org/oeg/members/mesteban>; ldp:contains <http://example.org/oeg/members/nmihindu>; ldp:contains <http://example.org/oeg/members/ocorcho> ; ldp:contains <http://example.org/oeg/members/rgarcia> . HTTP Request HTTP Response Mapping LDP and R2RML Concepts R2RML Mapping TriplesMap LogicalTable PredicateObjectMap PredicateMap ObjectMap SubjectMap RefObjectMap SELECT ?s WHERE { ?s a foaf:Person . FILTER (REGEX(STR(?s), "^http://example.org/oeg/members/")) } SPARQL Query 3 1 10 SELECT id FROM oegmembers 5SQL LDP Request Handler Query Translator HTTP Request ResultSet Data Translator -http://example.org/oeg/members/asun -http://example.org/oeg/members/fpriyatna -http://example.org/oeg/members/mesteban -http://example.org/oeg/members/nmihindu -http://example.org/oeg/members/ocorcho -http://example.org/oeg/members/rgarcia LDP Request Handler -asun -fpriyatna -mesteban -nmihindu -ocorcho -rgarcia 1 HTTP Response 2 3 45 7 8 9 10 M D 6 SQL Query oegmembers id fname lname website email phone asun Asunción Gómez Pérez http://delici.. asun@fi.up +34913367417 fpriyatna Freddy Priyatna http://delici.. fpriyatna@f +34913363670 mesteban Miguel Esteban Gutierrez http://delici.. mesteban@ +34913363671 nmihindu Nandana Mihindukulasoori http://www. nmihindu +34913363670 ocorcho Oscar Corcho http://delici.. ocorcho@ +34913366605 rgarcia Raul Garcia Castro http://delici.. rgarcia@fi +34913366596 D @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . <TriplesMapPerson> a rr:TriplesMap; rr:logicalTable [ rr:tableName "oegmembers" ]; rr:subjectMap [ a rr:Subject; rr:class foaf:Person; rr:template “http://example.org/oeg/members/{id}"; rr:termType rr:IRI; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant foaf:firstName ]; rr:objectMap [ rr:column “fname"; rr:termType rr:Literal; ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant foaf:lastName ]; rr:objectMap [ rr:column “lname"; rr:termType rr:Literal; ]; ]; … M