making semantic data federation work
DESCRIPTION
Enterprises are drowning in data that they can't find, access, or use. For many years, enterprises have wrestled with the best way to combine all that data into actionable information without building systems that break as schemas evolve. Approaches like warehousing and ETL can be brittle in the face of changing data sources or expensive to create. Data integration at the application level is common but this results in significant complexity in the code. Data-oriented web services attempt to provide reusable sources of integrated data, however these have just added another layer of data access that constrain query and access patterns.This talk will look at how semantic web technologies can be used to make existing data visible and actionable using standards like RDF (data), R2RML (data translation), OWL (schema definition and integration), SPARQL (federated query), and RIF (rules). The semantic web approach takes the data you already have and makes that data available for query and use across your existing data sources. This base capability is an excellent platform for building federated analytics.TRANSCRIPT
![Page 1: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/1.jpg)
Making Semantic Data Federation Work
by Alex Miller
![Page 2: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/8.jpg)
Results
8
Data Information ActionX
![Page 9: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/10.jpg)
10
Semantic Data Source
SPARQL Protocol
SPARQL
RDFS/OWL
RDF
Semantic Data Source
![Page 11: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/11.jpg)
10
Semantic Data Source
SPARQL Protocol
SPARQL
RDFS/OWL
RDFData model
Semantic Data Source
![Page 12: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/12.jpg)
10
Semantic Data Source
SPARQL Protocol
SPARQL
RDFS/OWL
RDF
Metadata
Semantic Data Source
![Page 13: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/13.jpg)
10
Semantic Data Source
SPARQL Protocol
SPARQL
RDFS/OWL
RDF
Query
Semantic Data Source
![Page 14: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/14.jpg)
10
Semantic Data Source
SPARQL Protocol
SPARQL
RDFS/OWL
RDF
API
Semantic Data Source
![Page 15: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/15.jpg)
Semantic Data Source
11
Relational Access
SPARQL Protocol
SPARQL
RDFS/OWL
RDB2RDF
RDF
RelationalDatabase
SQL
![Page 16: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/16.jpg)
Semantic Data Source
11
Relational Access
SPARQL Protocol
SPARQL
RDFS/OWL
RDB2RDF
RDF
RelationalDatabase
SQL
Virtual
![Page 17: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/17.jpg)
Semantic Data Source
11
Relational Access
SPARQL Protocol
SPARQL
RDFS/OWL
RDB2RDF
RDF
RelationalDatabase
SQL
![Page 18: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/37.jpg)
3. Uniform access
• SPARQL 1.1
• SPARQL Protocol
• HTTP
22
![Page 38: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/38.jpg)
23
Semantic Data Source
Semantic Data Source
Semantic Data Source
4. Federation
RelationalDatabase
DBPedia
![Page 39: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/40.jpg)
Challenges
25
![Page 41: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/41.jpg)
Challenges
• Relating data domains
25
![Page 42: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/42.jpg)
Challenges
• Relating data domains
• Security
25
![Page 43: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/43.jpg)
Challenges
• Relating data domains
• Security
• Unconstrained query access
25
![Page 44: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/44.jpg)
Challenges
• Relating data domains
• Security
• Unconstrained query access
• Federated query optimization
25
![Page 45: Making Semantic Data Federation Work](https://reader033.vdocuments.net/reader033/viewer/2022052505/555c25f4d8b42a0b418b4cdc/html5/thumbnails/45.jpg)
Thanks!
Visit us at http://revelytix.com or at our booth!
26