This document discusses automating the process of integrating structured datasets as linked data. It involves recognizing entities and properties in the dataset, asking the user questions to determine the types of resources and relationships, and generating an RDF mapping. The mapping defines the transformation of the dataset into RDF triples using relevant ontologies. The goal is to simplify linked data integration by reducing the need for users to be familiar with RDF. A chatbot is presented that can perform this automated integration process by recognizing entities, asking questions, and generating the RDF mapping.
2. INTRODUCTION
2
Linked Data is a set of best practices to publish data in RDF
Data published as Linked Data are described according to
ontologies
LD make data interoperable, discoverable and reusable
RDF Mapping deďŹnes the transformation of a structured
dataset into an RDF dataset
3. RDF MAPPING TO INTEGRATE DATA IN THE LD
3
Name Birth City
Augustus Rome
Tiberius Rome
Caligula Antitum
Subject Predicate Object
ex:Augustus dbo:birthPlace ex:Rome
ex:Tiberius dbo:birthPlace ex:Rome
ex:Caligula dbo:birthPlace ex:Antitum
ex:$(Name) ex:$(Birth City)
dbo:birthPlace
4. RDF MAPPING CREATION PROCESS
4
Which type of resources are contained in
columns?
Name Birth City
Augustus Rome
Tiberius Rome
Caligula Antitum
Person City
5. 5
Which type of resources are contained in
columns?
What are the relationships between
resources?
Name Birth City
Augustus Rome
Tiberius Rome
Caligula Antitum
Person City
Birth Place
RDF MAPPING CREATION PROCESS
6. 6
Which type of resources are contained in
columns?
What are the relationships between
resources?
Which ontologies are relevant to describe
these concepts?
Name Birth City
Augustus Rome
Tiberius Rome
Caligula Antitum
dbo:Person dbo:City
dbo:birthPlace
RDF MAPPING CREATION PROCESS
8. PROBLEM STATEMENT
8
How to simplify as much as possible the
integration of existing structured datasets
as Linked Data?
9. CHALLENGE
9
Automate part of the integration process that requires
to be familiar with RDF
â
â
â
â
â
â
KNOW THE DATASET
PERFECTLY
BE FAMILIAR WITH
RDF
11. 11
â SPARQL-Generate [1]
â RML [2]
â YARRRML [3]
[1] Lefrançois, M., Zimmermann, A., Bakerally, N.: A SPARQL Extension For Generating RDF From Heterogeneous Formats. In: Extended Semantic Web Conference (ESWC) (2017)
[2] Dimou, A., Vander Sande, M., Colpaert, P., Verborgh, R., Mannens, E., Van de Walle, R.: RML: A Generic Language for Integrated RDF Mappings of Heterogeneous Data. In: Workshop on Linked Data on the Web (LDOW)
collocated with WWW (2014)
[3] Heyvaert, P., De Meester, B., Dimou, A., Verborgh, R.: Declarative Rules for Linked Data Generation at Your Fingertips! In: Extended Semantic Web Conference (ESWC), Poster & Demo (2018)
mappings:
Person:
subject: https://www.example.org/Person/$(name)/
predicateobjects:
- [a, 'http://dbpedia.org/ontology/Person']
- predicates: âhttp://dbpedia.org/ontology/birthPlaceâ
objects:
- mapping: City
City:
subject: https://www.example.org/City/$(birth_city)/
predicateobjects:
- [a, 'http://dbpedia.org/ontology/City']
Name Birth City
Augustus Rome
Tiberius Rome
Caligula Antitum
dbo:Person dbo:City
dbo:birthPlace
12. 12
â Karma [4]
â RMLEditor [5]
â Juma [6]
[4] Gupta, S., Szekely, P., Knoblock, C.A., Goel, A., Taheriyan, M., Muslea, M.: Karma: A System for Mapping Structured Sources Into the Semantic Web. In: Extended Semantic Web Conference (ESWC), Poster & Demo (2012)
[5] Heyvaert, P., Dimou, A., Herregodts, A.L., Verborgh, R., Schuurman, D., Mannens, E., Van de Walle, R.: RMLEditor: a Graph-Based Mapping Editor for Linked Data Mappings. In: Extended Semantic Web Conference (ESWC)
(2016)
[6] Junior, A.C., Debruyne, C., OâSullivan, D.: An Editor that Uses a Block Metaphor for Representing Semantic Mappings in Linked Data. In: Extended Semantic Web Conference (ESWC), Poster & Demo (2018)
15. 15
ENTITIES RECOGNITION
DBPedia, YAGO
Linked Open Vocabularies
PROPERTIES RECOGNITION
Linked Open Vocabularies
MAPPING GENERATION
RDFS and OWL
â
QUESTIONS TO USER
QUESTIONS TO USER
16. 16
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
DBpedia
YAGO
Linked Open
Vocabularies
[Augustus, Tiberius, Claudius]
Person
dbo:Person
dbo:Person
19. 19
ENTITIES RECOGNITION
DBPedia, YAGO
Linked Open Vocabularies
PROPERTIES RECOGNITION
Linked Open Vocabularies
MAPPING GENERATION
RDFS and OWL
â
QUESTIONS TO USER
QUESTIONS TO USER
20. 20
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Column Name contains entities of type Person?
21. 21
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Column Name contains entities of type Person?
â
22. 22
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Column Birth City contains entities of type City?
Column Name contains entities of type Person?
â
23. 23
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
â
Column Birth City contains entities of type City?
Column Name contains entities of type Person?
â
24. 24
ENTITIES RECOGNITION
DBPedia, YAGO
Linked Open Vocabularies
PROPERTIES RECOGNITION
Linked Open Vocabularies
MAPPING GENERATION
RDFS and OWL
â
QUESTIONS TO USER
QUESTIONS TO USER
25. 25
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Linked Open
Vocabularies
Name
schema:name
schema:name
26. 26
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Linked Open
Vocabularies
Birth City
dbo:birthPlace
dbo:birthPlace
schema:name
27. 27
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
Linked Open
Vocabularies
Birth Province
dbo:birthPlace
dbo:birthPlace
dbo:birthPlace
schema:name
28. 28
ENTITIES RECOGNITION
DBPedia, YAGO
Linked Open Vocabularies
PROPERTIES RECOGNITION
Linked Open Vocabularies
MAPPING GENERATION
RDFS and OWL
â
QUESTIONS TO USER
QUESTIONS TO USER
29. 29
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schema:name
dbo:birthPlace
dbo:birthPlace
Column Name contains names of entities?
30. 30
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schema:name
dbo:birthPlace
dbo:birthPlace
Column Name contains names of entities?
â
31. 31
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schema:name
dbo:birthPlace
dbo:birthPlace
Column Name contains names of entities?
â
Which column contains entities that have a name?
32. 32
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schem
a:nam
e
dbo:birthPlace
dbo:birthPlaceColumn Name contains names of entities?
â
Which column contains entities that have a name?
Name
33. 33
Column Birth City contains birth places of entities?
â
Which column contains entities that have a birth place?
Name
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schem
a:nam
e
dbo:birthPlace
dbo:birthPlace
34. 34
Column Birth Province contains birth places of entities?
â
Which column contains entities that have a birth place?
Name
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schem
a:nam
e
dbo:birthPlace
dbo:birthPlace
35. 35
ENTITIES RECOGNITION
DBPedia, YAGO
Linked Open Vocabularies
PROPERTIES RECOGNITION
Linked Open Vocabularies
MAPPING GENERATION
RDFS and OWL
â
QUESTIONS TO USER
QUESTIONS TO USER
36. 36
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schem
a:nam
e
dbo:birthPlace dbo:birthPlace
Apply rdfs:domain
and rdfs:range rules
dbo:Place
37. 37
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person dbo:City
schem
a:nam
e
dbo:birthPlace dbo:birthPlace
Infer rdfs:label
dbo:Place
rdfs:label rdfs:label rdfs:label
38. 38
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person
foaf:Person
dbo:Agent
...
dbo:City
dbo:Place
dbo:Location
...
schem
a:nam
e
dbo:birthPlace dbo:birthPlace
Apply
rdfs:subClassOf
owl:equivalentClass
rules
dbo:Place
dbo:location
...
rdfs:label rdfs:label rdfs:label
39. 39
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person
foaf:Person
dbo:Agent
...
dbo:City
dbo:Place
dbo:Location
...
schem
a:nam
e
dbo:birthPlace
dul:hasLocation
dbo:birthPlace
dul:hasLocation
Infer properties
rdfs:subPropertyOf
owl:equivalentProperty
dbo:Place
dbo:location
...
rdfs:label rdfs:label rdfs:label
40. 40
Name Birth City Birth Province
Augustus Rome
Tiberius Rome
Claudius Lugdunum Gallia Lugdunensis
dbo:Person
foaf:Person
dbo:Agent
...
dbo:City
dbo:Place
dbo:Location
...
schem
a:nam
e
dbo:birthPlace
dul:hasLocation
dbo:birthPlace
dul:hasLocation
dbo:Place
dbo:location
...
rdfs:label rdfs:label rdfs:label
mappings:
Person:
subject: https://www.example.org/Person/$(name)/
predicateobjects:
- [a, 'http://dbpedia.org/ontology/Person]
- [a, 'http://xmlns.com/foaf/0.1/Person]
- [a, 'http://dbpedia.org/ontology/Agent]
- predicates: âhttp://dbpedia.org/ontology/birthPlaceâ
objects:
- mapping: City
- predicates: âhttp://dbpedia.org/ontology/birthPlaceâ
objects:
- mapping: Place
...
City:
subject: https://www.example.org/City/$(birth_city)/
predicateobjects:
- [a, 'http://dbpedia.org/ontology/City']
- [a, 'http://dbpedia.org/ontology/location]
...
Place:
subject: https://www.example.org/City/$(birth_province)/
predicateobjects:
- [a, 'http://dbpedia.org/ontology/Place]
- [a, 'http://dbpedia.org/ontology/location]
...
â
42. 42
A bot for linked data integration
No need to be familiar with RDF
Works for datasets on Opendatasoft platform
Available on GitHub under MIT license
43. 43
Use Machine Learning to learn from user interactions
Identify more classes and properties
New user interface