Transcript
Page 1: Making Semantic Data Federation Work

Making Semantic Data Federation Work

by Alex Miller

Page 2: Making Semantic Data Federation Work

Data Integration Problems1. Discovery and description

2. Internal integration

3. External integration

4. Nomadic data

5. Inflexible interfaces

2

Page 3: Making Semantic Data Federation Work

1. Discovery and description

• What data do we have?

• What does it mean?

• Who is creating it?

• Who is using it?

3

Page 4: Making Semantic Data Federation Work

2. Internal integration• Does your order entity have the same

fields as my entity?

• Are your codes for order status the same as my codes for order status?

4

Page 5: Making Semantic Data Federation Work

3. External integration• Does a public source of information

exist?

• How do the entities in the public source relate to the entities in my data?

5

Page 6: Making Semantic Data Federation Work

4. Nomadic data

• Where does your data come from?

• Which version of the data are you using?

• Why does your data not match my data?

6

Page 7: Making Semantic Data Federation Work

5. Inflexible interfaces

• Why can't I see all of my data?

• Why does it take months to expose a new data element in my application?

7

Page 8: Making Semantic Data Federation Work

Results

8

Data Information ActionX

Page 9: Making Semantic Data Federation Work

Semantic Technologies• Data model - RDF

• Metadata - RDFS/OWL

• Entailment - OWL, RIF

• Relational data - R2RML

• Query - SPARQL

• Federation - SPARQL Protocol, Federation

9

Page 10: Making Semantic Data Federation Work

10

Semantic Data Source

SPARQL Protocol

SPARQL

RDFS/OWL

RDF

Semantic Data Source

Page 11: Making Semantic Data Federation Work

10

Semantic Data Source

SPARQL Protocol

SPARQL

RDFS/OWL

RDFData model

Semantic Data Source

Page 12: Making Semantic Data Federation Work

10

Semantic Data Source

SPARQL Protocol

SPARQL

RDFS/OWL

RDF

Metadata

Semantic Data Source

Page 13: Making Semantic Data Federation Work

10

Semantic Data Source

SPARQL Protocol

SPARQL

RDFS/OWL

RDF

Query

Semantic Data Source

Page 14: Making Semantic Data Federation Work

10

Semantic Data Source

SPARQL Protocol

SPARQL

RDFS/OWL

RDF

API

Semantic Data Source

Page 15: Making Semantic Data Federation Work

Semantic Data Source

11

Relational Access

SPARQL Protocol

SPARQL

RDFS/OWL

RDB2RDF

RDF

RelationalDatabase

SQL

Page 16: Making Semantic Data Federation Work

Semantic Data Source

11

Relational Access

SPARQL Protocol

SPARQL

RDFS/OWL

RDB2RDF

RDF

RelationalDatabase

SQL

Virtual

Page 17: Making Semantic Data Federation Work

Semantic Data Source

11

Relational Access

SPARQL Protocol

SPARQL

RDFS/OWL

RDB2RDF

RDF

RelationalDatabase

SQL

Page 18: Making Semantic Data Federation Work

Music Database

12

MID First Last Inst_ID

1 Eddie Van Halen 10

2 Yo Yo Ma 20

3 Kenny G 30

Musicians:

IID Instrument Type

10 Guitar String

20 Cello String

30 Saxophone Woodwind

Instruments:

Page 19: Making Semantic Data Federation Work

Musician Schema

13

music:Instrument

rdfs:domain

music:Musician

rdf:type

rdfs:Class rdf:Property

music:firstName

music:lastName

music:plays

music:instName

music:instType

rdf:type

rdfs:domain

rdfs:domain

rdfs:range

rdfs:domainrdfs:domain

Page 20: Making Semantic Data Federation Work

Triples From Tables

14

MID First Last Inst_ID

1 Eddie Van Halen 10

2 Yo Yo Ma 20

3 Kenny G 30

Musicians:

artist:1 rdf:type music:Musicianartist:2 rdf:type music:Musicianartist:3 rdf:type music:Musician

Turn each key into a resource and specify the proper type of each resource:

IID Instrument Type

10 Guitar String

20 Cello String

30 Saxophone Woodwind

Instruments:

instrument:10 rdf:type music:Instrumentinstrument:20 rdf:type music:Instrumentinstrument:30 rdf:type music:Instrument

Page 21: Making Semantic Data Federation Work

Triples From Tables

15

MID First Last Inst_ID

1 Eddie Van Halen 10

2 Yo Yo Ma 20

3 Kenny G 30

Musicians:

artist:1 music:firstName "Eddie"artist:1 music:lastName "Van Halen"artist:2 music:firstName "Yo Yo"artist:2 music:lastName "Ma"artist:3 music:firstName "Kenny"artist:3 music:lastName "G"

Turn each cell into a triple based on the key, property (mapped per column), and value:

IID Instrument Type

10 Guitar String

20 Cello String

30 Saxophone Woodwind

Instruments:

instrument:10 music:instName "Guitar"instrument:10 music:instType "String"instrument:20 music:instName "Cello"instrument:20 music:instType "String"instrument:30 music:instName "Saxophone"instrument:30 music:instType "Woodwind"

Page 22: Making Semantic Data Federation Work

Triples From Tables

16

MID First Last Inst_ID

1 Eddie Van Halen 10

2 Yo Yo Ma 20

3 Kenny G 30

Musicians:

artist:1 music:plays instrument:10artist:1 music:plays instrument:20artist:2 music:plays instrument:30

Turn each foreign key reference into a relationship between the foreign and primary resources.

IID Instrument Type

10 Guitar String

20 Cello String

30 Saxophone Woodwind

Instruments:

Page 23: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Page 24: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map rr:tableName

Page 25: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

rr:class

rr:tableName

Page 26: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Page 27: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Domain

ontology

Page 28: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Page 29: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Database

Page 30: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Page 31: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:columnR2RML

Page 32: Making Semantic Data Federation Work

R2RML Triple Mapping

17

IID Instrument Type

10 Guitar String

music:Instrumentmusic:instName

music:instType

rdfs:domain

rdfs:domain

Instruments:

Triples Map

Subject Map"http://example.com/music/

Inst-{iid}"

Predicate Object Map

Predicate Map

Object Map

rr:class

rr:tableName

rr:predicate

rr:column

Page 33: Making Semantic Data Federation Work

Registry• Semantic data sources are self-describing

and use a common protocol

• Easy to build into a registry w/ additional metadata (also described with RDFS/OWL)

18

Page 34: Making Semantic Data Federation Work

Benefits of semantic technology stack

1. Common data model

2. Precise description

3. Uniform access

4. Federation

19

Page 35: Making Semantic Data Federation Work

1. Common data model

• RDF provides common model for both data and descriptions of all kinds

• Very flexible (but also very fine-grained)

20

Page 36: Making Semantic Data Federation Work

21

dbp: http://dbpedia.org/resource/ex: http://example.org/ontology/rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#rdfs: http://www.w3.org/2000/01/rdf-schema#

ex:City

dbp:London

rdf:type

ex:cityFounded47

rdf:Property

rdf:type

rdfs:domainrdfs:range

xsd:gYear

2. Precise flexible description

rdf:Class

rdf:type

Page 37: Making Semantic Data Federation Work

3. Uniform access

• SPARQL 1.1

• SPARQL Protocol

• HTTP

22

Page 38: Making Semantic Data Federation Work

23

Semantic Data Source

Semantic Data Source

Semantic Data Source

4. Federation

RelationalDatabase

DBPedia

Page 39: Making Semantic Data Federation Work

Data Integration Solutions(with semantics)

1. Discovery and description

2. Internal integration

3. External integration

4. Nomadic data

5. Inflexible interfaces

24

Page 40: Making Semantic Data Federation Work

Challenges

25

Page 41: Making Semantic Data Federation Work

Challenges

• Relating data domains

25

Page 42: Making Semantic Data Federation Work

Challenges

• Relating data domains

• Security

25

Page 43: Making Semantic Data Federation Work

Challenges

• Relating data domains

• Security

• Unconstrained query access

25

Page 44: Making Semantic Data Federation Work

Challenges

• Relating data domains

• Security

• Unconstrained query access

• Federated query optimization

25

Page 45: Making Semantic Data Federation Work

Thanks!

Visit us at http://revelytix.com or at our booth!

26


Top Related