Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar...

15
Towards the Definition of a Language-Independent Mapping Template for Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina, David Chaves-Fraga and Freddy Priyatna, OEG - UPM ocorcho@fi.upm.es @ocorcho 19/11/2019 SciKnow 2019

Transcript of Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar...

Page 1: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Towards the Definition of a Language-Independent

Mapping Template for Knowledge Graph

Creation

Oscar Corcho, Ontology Engineering GroupUniversidad Politécnica de Madrid, Spain

Ana Iglesias-Molina, David Chaves-Fraga and Freddy Priyatna, OEG - UPM

[email protected]@ocorcho

19/11/2019SciKnow 2019

Page 2: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Creating Knowledge Graphs?

2

People

ID Name Birthdate SportID

1 Emily Scarrat

19900208 2

2 Jonah Lomu

19751118 2

Sports

ID Sport

1 Ice Skating

2 Rugby

<Person/1> <Person/2>

<Sport/2>

<Sport/1>

Emily Scarrat

Jonah Lomu

08/02/90 18/11/75

Ice Skating

Rugby

ex:birthdate

ex:name

ex:birthdate

ex:sport

ex:name

ex:name

Knowledge GraphSource Data

Page 3: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Creating Knowledge Graphs?

3

People

ID Name Birthdate SportID

1 Emily Scarrat

19900208 2

2 Jonah Lomu

19751118 2

Sports

ID Sport

1 Ice Skating

2 Rugby

<Person/1> <Person/2>

<Sport/2>

<Sport/1>

Emily Scarrat

Jonah Lomu

08/02/90 18/11/75

Ice Skating

Rugby

ex:birthdate

ex:name

ex:birthdate

ex:sport

ex:name

ex:name

Knowledge GraphSource Data

- Ad-hoc tools- Declarative mappings

Page 4: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Declarative Mappings

4

• Establish relationships between ontology and data

• Several languages:

R2RML

RML

xR2RML

SPARQL Generate

CSVW

Easy way to create and choose among them?

Scientific Knowledge

Page 5: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Knowledge Graph Creation

5

Ontologies

MappingFile

Extract Transform Load

MappingEngine

SPARQL

RDB

Data source Knowledge graph

Page 6: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Mapping structure (RML)

6

<PERSON> rml:logicalSource [ rml:source "/home/user/data/people.csv" ; rml:referenceFormulation ql:CSV ; ]; rr:subjectMap [ rr:class ex:Person; rr:template "http://ex.com/Person/{ID}"; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:name ]; rr:objectMap [ rml:reference "Name" ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:birthdate ]; rr:objectMap [ rml:reference "Birthdate" ]; ];

people.csv

ID Name Birthdate SportID

1 Emily Scarrat

19900208 2

2 Jonah Lomu

19751118 2

ex:Person/1 a ex:Person .ex:Person/1 ex:name “Emily Scarrat” .ex:Person/1 ex:birthdate “08/02/1990” .ex:Person/2 a ex:Person .ex:Person/2 ex:name “Jonah Lomu” .ex:Person/2 ex:birthdate “18/11/1975” .

Triples Map

Page 7: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Mapping structure (RML)

7

<PERSON> rml:logicalSource [ rml:source "/home/user/data/people.csv" ; rml:referenceFormulation ql:CSV ; ]; rr:subjectMap [ rr:class ex:Person; rr:template "http://ex.com/Person/{ID}"; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:name ]; rr:objectMap [ rml:reference "Name" ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:birthdate ]; rr:objectMap [ rml:reference "Birthdate" ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:sport ]; rr:objectMap [ rr:parentTriplesMap <SPORT>; rr:joinCondition [ rr:child "sport_id"; rr:parent "id"; ]; ]; ];

people.csv

ID Name Birthdate SportID

1 Emily Scarrat

19900208 2

2 Jonah Lomu

19751118 2

sports.csv

ID Sport

1 Ice Skating

2 Rugby

<SPORT> rml:logicalSource [ rml:source "/home/user/data/sports.csv" ; rml:referenceFormulation ql:CSV ; ]; rr:subjectMap [ rr:class ex:Sport; rr:template "http://ex.com/Sport/{sport}"; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:name ]; rr:objectMap [ rml:reference "sport" ]; ];

Join condition

Page 8: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Mapping structure (RML)

8

<PERSON> rml:logicalSource [ rml:source "/home/user/data/people.csv" ; rml:referenceFormulation ql:CSV ; ]; rr:subjectMap [ rr:class ex:Person; rr:template "http://ex.com/Person/{ID}"; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:name ]; rr:objectMap [ rml:reference "Name" ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:birthdate ]; rr:objectMap [ rml:reference "Birthdate" ]; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:sport ]; rr:objectMap [ rr:parentTriplesMap <SPORT>; rr:joinCondition [ rr:child "sport_id"; rr:parent "id"; ]; ]; ];

people.csv

ID Name Birthdate SportID

1 Emily Scarrat

19900208 2

2 Jonah Lomu

19751118 2

sports.csv

ID Sport

1 Ice Skating

2 Rugby

<SPORT> rml:logicalSource [ rml:source "/home/user/data/sports.csv" ; rml:referenceFormulation ql:CSV ; ]; rr:subjectMap [ rr:class ex:Sport; rr:template "http://ex.com/Sport/{sport}"; ]; rr:predicateObjectMap [ rr:predicateMap [ rr:constant ex:name ]; rr:objectMap [ rml:reference "sport" ]; ];

ex:Person/1 a ex:Person .ex:Person/1 ex:name “Emily Scarrat” .ex:Person/1 ex:birthdate “08/02/1990” .ex:Person/1 ex:sport ex:Sport/2 .ex:Person/2 a ex:Person .ex:Person/2 ex:name “Jonah Lomu” .ex:Person/2 ex:birthdate “18/11/1975” .ex:Person/2 ex:sport ex:Sport/2 .

ex:Sport/1 a ex:Sport .ex:Sport/1 ex:name “Ice Skating” .ex:Sport/2 a ex:Sport .ex:Sport/2 ex:name “Rugby” .

Page 9: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Spreadsheets as mappings

• Gathering and declaration of mapping rules in

spreadsheets

• Each sheet contains an essential element describing the

data:

- Prefixes

- Source data

- Subject

- Predicate-Object

- Functions

9

Page 10: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Spreadsheets as mappings

• Objective: language-independent, no need to know a mapping language

• Target user: Non mapping experts

• Advantages: Improves rule visualization, enables using functions of spreadsheets, guides the writing

10

Page 11: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Spreadsheet design

11

Prefix URI

ex http://ex.com/

sql http://w3.org/ns/sql#

Prefix sheetSource sheet

Subject sheetID Class URI

PERSON ex:Person http://ex.com/Person/{ID}

SPORT ex:Sport http://ex.com/Sport/{ID}

ID Feature Value

PERSON source data/people.csv

PERSON format CSV

SPORT source data/sports.csv

SPORT format CSV

Page 12: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Spreadsheet design

12

Predicate-Object sheetPredicate Object DataType ReferenceID InnerRef OurterRef ID

ex:name {name} string PERSON

ex:birthdate {birthdate} date PERSON

ex:sport SPORT {SportID} {ID} PERSON

ex:name {sport} string SPORT

ex:code {ID} integer SPORT

ex:comment <Fun1> SPORT

Function sheetFunctionID Function Params

<Fun1> sql:concat {ID},<Fun2>

<Fun2> sql:upper {sport}

Page 13: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Mapeathor

13

Data source

Ontology

Mapeathor

Spreadsheet mappings

Under development

...

https://github.com/oeg-upm/Mapeathor

• Once the mapping rules are declared, they are

translated into the most suitable language

Page 14: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Conclusions and Future WorkConclusions:

- Spreadsheet design to capture scientific knowledge from experts improving KG creations

- Mapeathor: from spreadsheets to any mapping language- Used in projects like H2020-Bimmer and Bio2RDF

Future work:- Improve spreadsheet design towards actual

language-independence- Develop Mapeathor with the spreadsheet- Widen the language translation

14

Page 15: Towards the Definition of a Language-Independent Mapping ... · Knowledge Graph Creation Oscar Corcho, Ontology Engineering Group Universidad Politécnica de Madrid, Spain Ana Iglesias-Molina,

Towards the Definition of a Language-Independent

Mapping Template for Knowledge Graph

Creation

Oscar Corcho, Ontology Engineering GroupUniversidad Politécnica de Madrid, Spain

Ana Iglesias-Molina, David Chaves-Fraga and Freddy Priyatna, OEG - UPM

[email protected]@ocorcho

19/11/2019SciKnow 2019