SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
RDF Mapping Language (RML)
A Generic Language for Integrated
RDF Mappings of Heterogeneous Data
Anastasia Dimou, Miel Vander Sande, Pieter Colpaert,
Ruben Verborgh, Erik Mannens and Rik Van de Walle
Ghent University – iMinds – Multimedia Lab
http://semweb.mmlab.be/rml
LDOW14, WWW14
Seoul, Korea, 8th April 2014
The five stars of the Linked Open Data scheme
are approached as a set of
consecutive steps
… and are applied to a single input source every time
Limitations of current solutions
The semantic representation of each mapped resource is
Independently defined
disregarding its possible prior definitions
and its links to other resources
Manual aligned
to its prior appearances (if possible)
by reconstructing the same URIs
Not linked to other resources
links are defined after the data are mapped and published
Need for a well-considered policy regarding
mapping and primary interlinking of data
in the context of a certain
knowledge domain
No mapping formalization
exists that defines how to map
heterogeneous sources into RDF
using integrated and
interoperable mappings.
Relational Database to RDF (R2RML W3C)
R2RML mappings R2RML processor
Data OWNER / PUBLISHER
defines
RDF
DB
Mapping heterogeneous resources to RDF
R2RML mappings R2RML processor
Data OWNER / PUBLISHER
defines
RDF
DB CSV
RDF
Mapping heterogeneous resources to RDF
R2RML mappings R2RML processor
Data OWNER / PUBLISHER
defines
RDF
DB CSV XML
RDF RDF
Current limitation:
mapping data on a per-source & per-format basis
R2RML mappings R2RML processor
Data OWNER / PUBLISHER
defines
RDF
DB CSV JSONXML
RDF RDF RDF
The mappings are tied to the implementations
not interoperable across different implementations
No uniform way to describe mappings of
heterogeneous resources that
describe complementarily the same domain
Mapping definitions are not reused
for data in the same or different formats
Further limitation:
lack of uniform and interoperable solutions
Uniform way for integrated mapping
of heterogeneous sources
Mappings definitions? processor
Data OWNER / PUBLISHER
defines
RDF
DB CSV JSONXML
R2RML mapping definition
Table Name
Triples
Map
Logical Table
Subject Map
Predicate-Object Map
1 Subject Map
0 or more
Predicate-Object Maps
Predicate-Object Map
Predicate-Object Map
Predicate Map
Object Map
R2RML mapping definition
Table Name
Triples
Map
Logical Table
Subject Map
Predicate-Object Map
Predicate-Object Map
Predicate-Object Map
Predicate Map
Object Map
From R2RML to a generic mapping language
Object Map
Predicate
Map
Subject Map
Term Map
template
constant
column
column
RDF Term :
a URI,
a literal,
a blank node
R2RML Mapping
<#ProductMapping>
rr:logicalTable [
rr:tableName “Suitcase" ];
rr:subjectMap [
rr:template "http://ex.com/{Suitcase}";
rr:class ex:Person ];
rr:predicateObjectMap [
rr:predicate rdfs:label;
rr:objectMap “Name” ].
ex:567 a schema:Product;
rdfs:label “Samsonite DeLux 45”.
Suitcase Name
567 Samsonite DeLux 45
from R2RML to a generic mapping language
R2RML Generic mapping language
Logical Table Logical Source
(CSV, XML, JSON)
Table Name Source name / URI
Column ???
per row iteration ???
References to values of heterogeneous resources
<PendingOrders>...
<Order id="398">
<Product>
<Id>AE5982</Id>
<Name>Samsonite DeLux 45</Name>
</Product>
</Order>...
<PendingOrders>
{ ... ,
“ProductInStock” :
{ “ID”: "567",
“Name”: “Samsonite DeLux 45”,
“type”: “suitcase”,
}, ...
}
XPath for XML
Reference:
“Order@Id”
Iterator:
“/PendingOrders /Order”
JSONPath for JSON
Reference:
“$. ProductInStock.ID”
Iterator:
“$.ProductInStock”
from R2RML to a generic mapping language
R2RML R2RML
Logical Table Logical Source
(CSV, XML, JSON)
Table Name Source name / URI
Column Reference
(defined Reference Formulation)
per row iteration defined Iterator
Mapping XML files
<PendingOrders>…
<Order id="398">
<Product>
<Id>AE5982</Id>
<Name>Samsonite DeLux 45</Name>
</Product>
</Order> …
</PendingOrders>
<#OrdersMapping>
rml:logicalSource [
rml:source “orders.xml";
rml:referenceFormulation ql:XPath;
rml:iterator “/PendingOrders/Order/Product” ];
rr:subjectMap [
rr:template http://ex.com/{Id};
rr:class schema:Product ];
rr:predicateObjectMap [
rr:predicate rdfs:label ;
rr:object “Product/Name” ] .
ex:AE5982 a schema:Product ;
rdfs:label “Samsonite DeLux 45”.
Mapping JSON files
{ ... ,
“ProductInStock” :
{ “ID”: "567",
“Name”: “Samsonite DeLux 45”,
“type”: “suitcase”
}, ...
}
ex:567 a schema:Product ;
rdfs:label “Samsonite DeLux 45” .
<#ProductInStockMapping>
rml:logicalSource [
rml:source “stock.json";
rml:referenceFormulation ql:JSONPath;
rml:iterator “$.ProductInStock” ];
rr:subjectMap [
rr:template http://ex.com/{ID};
rr:class schema:Product ];
rr:predicateObjectMap [
rr:predicate rdfs:label ;
rr:object “Name” ] .
RDF Mapping Language (RML)
Source
Triples Map
Logical Source
Subject Map
Predicate-Object
Map
Predicate
Map
Object Map
Term
Map
template
constant
reference
Iterator
Reference
Formulation
Referencing
Object Map
Triples
Map
Join
Condition
Parent
column
Child
column
{ ... "Performance" :
{ "Perf_ID": "567",
"Location": {
"lat": "51.043611" ,
"long": "3.717222"}
},
... }
<Events> ...
<Exhibition id="398">
<Location>
<lat>51.043611</lat>
<long>3.717222</long>
</Location>
</Exhibition> ...
</Events>
Robust cross-references
<#PerformancesMapping>
rr:subjectMap [
rr:template “http://ex.com/{Perf_ID}”];
rr:predicateObjectMap [
rr:predicate ex:location;
rr:objectMap [
rr:parentTriplesMap <#LocationMapping> ] ].
<#EventsMapping>
rr:subjectMap [
rr:template "http://ex.com/{@id}" ];
rr:predicateObjectMap [
rr:predicate ex:location;
rr:objectMap [
rr:parentTriplesMap <#LocationMapping> ] ];
{ ... "Performance" :
{ "Perf_ID": "567",
"Location": {
"lat": "51.043611" ,
"long": "3.717222“ } } ,
... }
<Events> ...
<Exhibition id="398">
<Location>
<lat>51.076891</lat>
<long>3.717222</long>
</Location>
</Exhibition> ... ...
</Events>
Robust cross-references
<#LocationMapping>
rr:subjectMap [
rr:template "http://ex.com/{lat},{long}"];
rr:predicateObjectMap [
rr:predicate ex:long;
rr:objectMap [ rml:reference "long" ] ];
rr:predicateObjectMap [
rr:predicate ex:lat;
rr:objectMap [ rml:reference "lat" ] ] .
ex:567 ex:location ex:51.043611, 3.717222
ex:398 ex:location ex:51.076891, 3.717222
ex:51.043611, 3.717222
ex:lat ex:3.717222
ex:long ex:51.043611.
{ ... "Performance" :
{ "Perf_ID": "567",
"Venue": {
"Name": "STAM",
"Venue_ID": "78" },
"Location": {
"long": "3.717222",
"lat": "51.043611" } } , ... }
Primary Interlinking
<#PerformancesMapping>
rr:subjectMap [
rr:template “http://ex.com/{Perf_ID}”];
rr:predicateObjectMap [
rr:predicate ex:venue;
rr:objectMap [
rr:parentTriplesMap <#VenueMapping> ] ].
<#VenueMapping>
rml:logicalSource [
rml:source "http://ex.com/performances.json";
rml:referenceFormulation ql:JSONPath;
rml:iterator "$.Performance.Venue.[*]" ];
rr:subjectMap [
rr:template "http://ex.com/{Venue_ID}";
rr:class ex:Venue ].
.
{ ... "Performance" :
{ "Perf_ID": "567",
"Venue": {
"Name": "STAM",
"Venue_ID": "78" },
... }
<Events> ...
<Exhibition id="398">
<Venue>STAM</Venue>
</Exhibition> ... ...
</Events>
Primary Interlinking
ex:567 ex:venue ex:78.
ex:398 ex:venue ex:78.
<#EventsMapping>
rr:subjectMap [
rr:template "http://ex.com/{@id}" ];
rr:predicateObjectMap [
rr:predicate ex:venue;
rr:objectMap [
rr:parentTriplesMap <#VenueMapping>;
rr:joinCondition [
rr:child "$.Performance.Venue.Name";
rr:parent "/Events/Exhibition/Venue" ] ] ] .
Avoid redefining and replicating URI patterns
Uniquely define the URI patterns that
generates a resource and refer to its definition
Modifications to the patterns or data values
are propagated to every other reference of the resource
Links between resources in different inputs
are defined already on mapping level
New mappings are automatically aligning
Robust cross-references and primary interlinking
Address the mappings definition in a generic way
scale over the input data extracts.
Distinct and not interdependent
references to the data extracts and the mappings
Proof: CSS3 selectors to map HTML documents
enrich the aforementioned data with data from and
Extensibility and Scalability
Limitations:
Mapping of data on a per-source and per-format basis
Mapping definitions are tied to the implementation
Lack of Mapping definitions’ reuse
RDF Mapping Language (RML):
Uniform and interoperable mapping definitions
Robust cross-references and interlinking
Scalable mapping language
Conclusions: Addressed Limitation
RDF Mapping Language (RML)
generic language for mapping
heterogeneous resources into RDF
in an integrate and interoperable fashion
RML: http://semweb.mmlab.be/rml
RML Processor: https://github.com/mmlab/RMLProcessor
Contact us
Anastasia Dimou anastasia.dimou@ugent.be @natadimou
Miel Vander Sande miel.vandersande@ugent.be @Miel_vds

Contenu connexe

Tendances

Linked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender SystemsLinked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender Systems
Vito Ostuni
 
DB-IR-ranking
DB-IR-rankingDB-IR-ranking
DB-IR-ranking
FELIX75
 
Rdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology SpecificationRdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology Specification
chenjennan
 
Tracing Networks: Ontology Software in a Nutshell
Tracing Networks: Ontology Software in a NutshellTracing Networks: Ontology Software in a Nutshell
Tracing Networks: Ontology Software in a Nutshell
enoch1982
 
The Network Data Structure in Computing
The Network Data Structure in ComputingThe Network Data Structure in Computing
The Network Data Structure in Computing
Marko Rodriguez
 

Tendances (20)

Recommender Systems in the Linked Data era
Recommender Systems in the Linked Data eraRecommender Systems in the Linked Data era
Recommender Systems in the Linked Data era
 
Linked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender SystemsLinked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender Systems
 
Wi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolWi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX tool
 
Jesús Barrasa
Jesús BarrasaJesús Barrasa
Jesús Barrasa
 
DB and IR Integration
DB and IR IntegrationDB and IR Integration
DB and IR Integration
 
Introduction of Knowledge Graphs
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge Graphs
 
DB-IR-ranking
DB-IR-rankingDB-IR-ranking
DB-IR-ranking
 
Linked Open Data Visualization
Linked Open Data VisualizationLinked Open Data Visualization
Linked Open Data Visualization
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and ...
A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and ...A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and ...
A Practical Ontology for the Large-Scale Modeling of Scholarly Artifacts and ...
 
Semantic Variation Graphs the case for RDF & SPARQL
Semantic Variation Graphs the case for RDF & SPARQLSemantic Variation Graphs the case for RDF & SPARQL
Semantic Variation Graphs the case for RDF & SPARQL
 
HyperGraphQL
HyperGraphQLHyperGraphQL
HyperGraphQL
 
Managing RDF data with graph databases
Managing RDF data with graph databasesManaging RDF data with graph databases
Managing RDF data with graph databases
 
Rdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology SpecificationRdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology Specification
 
Tracing Networks: Ontology Software in a Nutshell
Tracing Networks: Ontology Software in a NutshellTracing Networks: Ontology Software in a Nutshell
Tracing Networks: Ontology Software in a Nutshell
 
The Network Data Structure in Computing
The Network Data Structure in ComputingThe Network Data Structure in Computing
The Network Data Structure in Computing
 
Deriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF DataDeriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF Data
 
Introduction to the R Statistical Computing Environment
Introduction to the R Statistical Computing EnvironmentIntroduction to the R Statistical Computing Environment
Introduction to the R Statistical Computing Environment
 
A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
 
The History and Use of R
The History and Use of RThe History and Use of R
The History and Use of R
 

Similaire à A Generic Language for Integrated RDF Mappings of Heterogeneous Data

Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Lino Valdivia
 
Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...
తేజ దండిభట్ల
 
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as KnowledgeRDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
National Institute of Informatics
 
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as KnowledgeRDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
Rathachai Chawuthai
 

Similaire à A Generic Language for Integrated RDF Mappings of Heterogeneous Data (20)

Do it on your own - From 3 to 5 Star Linked Open Data with RMLio
Do it on your own - From 3 to 5 Star Linked Open Data with RMLioDo it on your own - From 3 to 5 Star Linked Open Data with RMLio
Do it on your own - From 3 to 5 Star Linked Open Data with RMLio
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
Translation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RMLTranslation of Relational and Non-Relational Databases into RDF with xR2RML
Translation of Relational and Non-Relational Databases into RDF with xR2RML
 
Rdf data-model-and-storage
Rdf data-model-and-storageRdf data-model-and-storage
Rdf data-model-and-storage
 
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4jExplicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
 
Mapping, Interlinking and Exposing MusicBrainz as Linked Data
Mapping, Interlinking and Exposing MusicBrainz as Linked DataMapping, Interlinking and Exposing MusicBrainz as Linked Data
Mapping, Interlinking and Exposing MusicBrainz as Linked Data
 
RSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF StreamsRSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF Streams
 
morph-LDP Demo
morph-LDP Demomorph-LDP Demo
morph-LDP Demo
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
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...
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1
 
inteSearch: An Intelligent Linked Data Information Access Framework
inteSearch: An Intelligent Linked Data Information Access FrameworkinteSearch: An Intelligent Linked Data Information Access Framework
inteSearch: An Intelligent Linked Data Information Access Framework
 
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph DatabaseBringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
 
RDF and Java
RDF and JavaRDF and Java
RDF and Java
 
Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...
 
RDF Stream Processing: Let's React
RDF Stream Processing: Let's ReactRDF Stream Processing: Let's React
RDF Stream Processing: Let's React
 
SWT Lecture Session 11 - R2RML part 2
SWT Lecture Session 11 - R2RML part 2SWT Lecture Session 11 - R2RML part 2
SWT Lecture Session 11 - R2RML part 2
 
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as KnowledgeRDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
 
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as KnowledgeRDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
RDF4U: RDF Graph Visualization by Interpreting Linked Data as Knowledge
 

Plus de andimou

Plus de andimou (8)

What Factors Influence the Design of a Linked Data Generation Algorithm?
What Factors Influence the Design of a Linked Data Generation Algorithm?What Factors Influence the Design of a Linked Data Generation Algorithm?
What Factors Influence the Design of a Linked Data Generation Algorithm?
 
High quality Linked Data generation for librarians
High quality Linked Data generation for librariansHigh quality Linked Data generation for librarians
High quality Linked Data generation for librarians
 
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
 
DBpedia Mappings Quality Assessment
DBpedia Mappings Quality AssessmentDBpedia Mappings Quality Assessment
DBpedia Mappings Quality Assessment
 
Towards an Interface for User-Friendly Linked Data Generation Administration
Towards an Interface for User-Friendly Linked Data Generation AdministrationTowards an Interface for User-Friendly Linked Data Generation Administration
Towards an Interface for User-Friendly Linked Data Generation Administration
 
Test-driven Assessment of [R2]RML Mappings to Improve Dataset Quality
Test-driven Assessment of [R2]RML Mappings to Improve Dataset Quality Test-driven Assessment of [R2]RML Mappings to Improve Dataset Quality
Test-driven Assessment of [R2]RML Mappings to Improve Dataset Quality
 
Extraction and Semantic Annotation of Workshop Proceedings in HTML using RML
Extraction and Semantic Annotation of Workshop Proceedings in HTML using RMLExtraction and Semantic Annotation of Workshop Proceedings in HTML using RML
Extraction and Semantic Annotation of Workshop Proceedings in HTML using RML
 
Visualizing the information of a Linked Open Data enabled Research Informatio...
Visualizing the information of a Linked Open Data enabled Research Informatio...Visualizing the information of a Linked Open Data enabled Research Informatio...
Visualizing the information of a Linked Open Data enabled Research Informatio...
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

A Generic Language for Integrated RDF Mappings of Heterogeneous Data

  • 1. RDF Mapping Language (RML) A Generic Language for Integrated RDF Mappings of Heterogeneous Data Anastasia Dimou, Miel Vander Sande, Pieter Colpaert, Ruben Verborgh, Erik Mannens and Rik Van de Walle Ghent University – iMinds – Multimedia Lab http://semweb.mmlab.be/rml LDOW14, WWW14 Seoul, Korea, 8th April 2014
  • 2. The five stars of the Linked Open Data scheme are approached as a set of consecutive steps
  • 3. … and are applied to a single input source every time
  • 4. Limitations of current solutions The semantic representation of each mapped resource is Independently defined disregarding its possible prior definitions and its links to other resources Manual aligned to its prior appearances (if possible) by reconstructing the same URIs Not linked to other resources links are defined after the data are mapped and published
  • 5. Need for a well-considered policy regarding mapping and primary interlinking of data in the context of a certain knowledge domain
  • 6. No mapping formalization exists that defines how to map heterogeneous sources into RDF using integrated and interoperable mappings.
  • 7. Relational Database to RDF (R2RML W3C) R2RML mappings R2RML processor Data OWNER / PUBLISHER defines RDF DB
  • 8. Mapping heterogeneous resources to RDF R2RML mappings R2RML processor Data OWNER / PUBLISHER defines RDF DB CSV RDF
  • 9. Mapping heterogeneous resources to RDF R2RML mappings R2RML processor Data OWNER / PUBLISHER defines RDF DB CSV XML RDF RDF
  • 10. Current limitation: mapping data on a per-source & per-format basis R2RML mappings R2RML processor Data OWNER / PUBLISHER defines RDF DB CSV JSONXML RDF RDF RDF
  • 11. The mappings are tied to the implementations not interoperable across different implementations No uniform way to describe mappings of heterogeneous resources that describe complementarily the same domain Mapping definitions are not reused for data in the same or different formats Further limitation: lack of uniform and interoperable solutions
  • 12. Uniform way for integrated mapping of heterogeneous sources Mappings definitions? processor Data OWNER / PUBLISHER defines RDF DB CSV JSONXML
  • 13. R2RML mapping definition Table Name Triples Map Logical Table Subject Map Predicate-Object Map 1 Subject Map 0 or more Predicate-Object Maps Predicate-Object Map Predicate-Object Map Predicate Map Object Map
  • 14. R2RML mapping definition Table Name Triples Map Logical Table Subject Map Predicate-Object Map Predicate-Object Map Predicate-Object Map Predicate Map Object Map
  • 15. From R2RML to a generic mapping language Object Map Predicate Map Subject Map Term Map template constant column column RDF Term : a URI, a literal, a blank node
  • 16. R2RML Mapping <#ProductMapping> rr:logicalTable [ rr:tableName “Suitcase" ]; rr:subjectMap [ rr:template "http://ex.com/{Suitcase}"; rr:class ex:Person ]; rr:predicateObjectMap [ rr:predicate rdfs:label; rr:objectMap “Name” ]. ex:567 a schema:Product; rdfs:label “Samsonite DeLux 45”. Suitcase Name 567 Samsonite DeLux 45
  • 17. from R2RML to a generic mapping language R2RML Generic mapping language Logical Table Logical Source (CSV, XML, JSON) Table Name Source name / URI Column ??? per row iteration ???
  • 18. References to values of heterogeneous resources <PendingOrders>... <Order id="398"> <Product> <Id>AE5982</Id> <Name>Samsonite DeLux 45</Name> </Product> </Order>... <PendingOrders> { ... , “ProductInStock” : { “ID”: "567", “Name”: “Samsonite DeLux 45”, “type”: “suitcase”, }, ... } XPath for XML Reference: “Order@Id” Iterator: “/PendingOrders /Order” JSONPath for JSON Reference: “$. ProductInStock.ID” Iterator: “$.ProductInStock”
  • 19. from R2RML to a generic mapping language R2RML R2RML Logical Table Logical Source (CSV, XML, JSON) Table Name Source name / URI Column Reference (defined Reference Formulation) per row iteration defined Iterator
  • 20. Mapping XML files <PendingOrders>… <Order id="398"> <Product> <Id>AE5982</Id> <Name>Samsonite DeLux 45</Name> </Product> </Order> … </PendingOrders> <#OrdersMapping> rml:logicalSource [ rml:source “orders.xml"; rml:referenceFormulation ql:XPath; rml:iterator “/PendingOrders/Order/Product” ]; rr:subjectMap [ rr:template http://ex.com/{Id}; rr:class schema:Product ]; rr:predicateObjectMap [ rr:predicate rdfs:label ; rr:object “Product/Name” ] . ex:AE5982 a schema:Product ; rdfs:label “Samsonite DeLux 45”.
  • 21. Mapping JSON files { ... , “ProductInStock” : { “ID”: "567", “Name”: “Samsonite DeLux 45”, “type”: “suitcase” }, ... } ex:567 a schema:Product ; rdfs:label “Samsonite DeLux 45” . <#ProductInStockMapping> rml:logicalSource [ rml:source “stock.json"; rml:referenceFormulation ql:JSONPath; rml:iterator “$.ProductInStock” ]; rr:subjectMap [ rr:template http://ex.com/{ID}; rr:class schema:Product ]; rr:predicateObjectMap [ rr:predicate rdfs:label ; rr:object “Name” ] .
  • 22. RDF Mapping Language (RML) Source Triples Map Logical Source Subject Map Predicate-Object Map Predicate Map Object Map Term Map template constant reference Iterator Reference Formulation Referencing Object Map Triples Map Join Condition Parent column Child column
  • 23. { ... "Performance" : { "Perf_ID": "567", "Location": { "lat": "51.043611" , "long": "3.717222"} }, ... } <Events> ... <Exhibition id="398"> <Location> <lat>51.043611</lat> <long>3.717222</long> </Location> </Exhibition> ... </Events> Robust cross-references <#PerformancesMapping> rr:subjectMap [ rr:template “http://ex.com/{Perf_ID}”]; rr:predicateObjectMap [ rr:predicate ex:location; rr:objectMap [ rr:parentTriplesMap <#LocationMapping> ] ]. <#EventsMapping> rr:subjectMap [ rr:template "http://ex.com/{@id}" ]; rr:predicateObjectMap [ rr:predicate ex:location; rr:objectMap [ rr:parentTriplesMap <#LocationMapping> ] ];
  • 24. { ... "Performance" : { "Perf_ID": "567", "Location": { "lat": "51.043611" , "long": "3.717222“ } } , ... } <Events> ... <Exhibition id="398"> <Location> <lat>51.076891</lat> <long>3.717222</long> </Location> </Exhibition> ... ... </Events> Robust cross-references <#LocationMapping> rr:subjectMap [ rr:template "http://ex.com/{lat},{long}"]; rr:predicateObjectMap [ rr:predicate ex:long; rr:objectMap [ rml:reference "long" ] ]; rr:predicateObjectMap [ rr:predicate ex:lat; rr:objectMap [ rml:reference "lat" ] ] . ex:567 ex:location ex:51.043611, 3.717222 ex:398 ex:location ex:51.076891, 3.717222 ex:51.043611, 3.717222 ex:lat ex:3.717222 ex:long ex:51.043611.
  • 25. { ... "Performance" : { "Perf_ID": "567", "Venue": { "Name": "STAM", "Venue_ID": "78" }, "Location": { "long": "3.717222", "lat": "51.043611" } } , ... } Primary Interlinking <#PerformancesMapping> rr:subjectMap [ rr:template “http://ex.com/{Perf_ID}”]; rr:predicateObjectMap [ rr:predicate ex:venue; rr:objectMap [ rr:parentTriplesMap <#VenueMapping> ] ]. <#VenueMapping> rml:logicalSource [ rml:source "http://ex.com/performances.json"; rml:referenceFormulation ql:JSONPath; rml:iterator "$.Performance.Venue.[*]" ]; rr:subjectMap [ rr:template "http://ex.com/{Venue_ID}"; rr:class ex:Venue ]. .
  • 26. { ... "Performance" : { "Perf_ID": "567", "Venue": { "Name": "STAM", "Venue_ID": "78" }, ... } <Events> ... <Exhibition id="398"> <Venue>STAM</Venue> </Exhibition> ... ... </Events> Primary Interlinking ex:567 ex:venue ex:78. ex:398 ex:venue ex:78. <#EventsMapping> rr:subjectMap [ rr:template "http://ex.com/{@id}" ]; rr:predicateObjectMap [ rr:predicate ex:venue; rr:objectMap [ rr:parentTriplesMap <#VenueMapping>; rr:joinCondition [ rr:child "$.Performance.Venue.Name"; rr:parent "/Events/Exhibition/Venue" ] ] ] .
  • 27. Avoid redefining and replicating URI patterns Uniquely define the URI patterns that generates a resource and refer to its definition Modifications to the patterns or data values are propagated to every other reference of the resource Links between resources in different inputs are defined already on mapping level New mappings are automatically aligning Robust cross-references and primary interlinking
  • 28. Address the mappings definition in a generic way scale over the input data extracts. Distinct and not interdependent references to the data extracts and the mappings Proof: CSS3 selectors to map HTML documents enrich the aforementioned data with data from and Extensibility and Scalability
  • 29. Limitations: Mapping of data on a per-source and per-format basis Mapping definitions are tied to the implementation Lack of Mapping definitions’ reuse RDF Mapping Language (RML): Uniform and interoperable mapping definitions Robust cross-references and interlinking Scalable mapping language Conclusions: Addressed Limitation
  • 30. RDF Mapping Language (RML) generic language for mapping heterogeneous resources into RDF in an integrate and interoperable fashion RML: http://semweb.mmlab.be/rml RML Processor: https://github.com/mmlab/RMLProcessor Contact us Anastasia Dimou anastasia.dimou@ugent.be @natadimou Miel Vander Sande miel.vandersande@ugent.be @Miel_vds