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.
8. dbp:Chicago_(band)
dbp:The_Blues_Brothers_(film)
dbp:Wrigley_Field
n
db tio
po oca
:lo
c _l
m
at
ion :fil
ie
ov
m
dbpo:owner
dbp:Chicago
dbp
o:r
e si
den
c e
dbp:Chicago_Cubs
dbp:Barack_Obama
dbp:Pizza
dbp: http://dbpedia.org/resource/
dbpo: http://dbpedia.org/ontology/
8
10. Subject dbp:Chicago_(band)
dbp:The_Blues_Brothers_(film)
dbp:Wrigley_Field
Predicate n
db tio
po ca
:lo o
ca _l
m
tio fil
Object
:
n ie
ov
m
dbpo:owner
dbp:Chicago
dbp
o:r
e si
den
c e
dbp:Chicago_Cubs
dbp:Barack_Obama
dbp:Pizza
dbp: http://dbpedia.org/resource/
dbpo: http://dbpedia.org/ontology/
10
12. dbp:Chicago_(band)
dbp:The_Blues_Brothers_(film)
dbp:Wrigley_Field
n
db tio
po oca
:lo
c _l
m
at
ion :fil
ie
ov
m
dbpo:owner
dbp:Chicago
dbp
o:r
e si
den
c e
dbp:Chicago_Cubs
dbp:Barack_Obama
dbp:Pizza
dbp: http://dbpedia.org/resource/
dbpo: http://dbpedia.org/ontology/
12
17. A class describes a
group of things that
share common
properties.
17
18. ex:City
is a is a is a
dbp:San_Francisco dbp:Chicago dbp:Saint_Louis
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#
18
34. Music Database
Musicians:
MID First Last Inst_ID
1 Eddie Van Halen 10
2 Yo Yo Ma 20
3 Kenny G 30
Instruments: IID Instrument Type
10 Guitar String
20 Cello String
30 Saxophone Woodwind
34
35. Musician Schema
rdfs:Class rdf:Property
rdf:type rdf:type
rdfs:domain music:firstName
music:Musician rdfs:doma
in
rdfs music:lastName
:dom
ain
rdfs:range music:plays
music:Instrument rdfs:dom
ain
rdfs
:do
music:instName
mai
n
music:instType
35
36. Triples From Tables
Musicians: Instruments:
MID First Last Inst_ID IID Instrument Type
1 Eddie Van Halen 10 10 Guitar String
2 Yo Yo Ma 20 20 Cello String
3 Kenny G 30 30 Saxophone Woodwind
Turn each key into a resource and specify the proper
type of each resource:
artist:1 rdf:type music:Musician instrument:10 rdf:type music:Instrument
artist:2 rdf:type music:Musician instrument:20 rdf:type music:Instrument
artist:3 rdf:type music:Musician instrument:30 rdf:type music:Instrument
36
37. Triples From Tables
Musicians: Instruments:
MID First Last Inst_ID IID Instrument Type
1 Eddie Van Halen 10 10 Guitar String
2 Yo Yo Ma 20 20 Cello String
3 Kenny G 30 30 Saxophone Woodwind
Turn each cell into a triple based on the key, property
(mapped per column), and value:
artist:1 music:firstName "Eddie" instrument:10 music:instName "Guitar"
artist:1 music:lastName "Van Halen" instrument:10 music:instType "String"
artist:2 music:firstName "Yo Yo" instrument:20 music:instName "Cello"
artist:2 music:lastName "Ma" instrument:20 music:instType "String"
artist:3 music:firstName "Kenny" instrument:30 music:instName "Saxophone"
artist:3 music:lastName "G" instrument:30 music:instType "Woodwind"
37
38. Triples From Tables
Musicians: Instruments:
MID First Last Inst_ID IID Instrument Type
1 Eddie Van Halen 10 10 Guitar String
2 Yo Yo Ma 20 20 Cello String
3 Kenny G 30 30 Saxophone Woodwind
Turn each foreign key reference into a relationship
between the foreign and primary resources.
artist:1 music:plays instrument:10
artist:1 music:plays instrument:20
artist:2 music:plays instrument:30
38
39. R2RML
• "Relational to RDF Mapping Language"
• RDB2RDF Working Group at W3C
• ETL "data transformation" use case
• Dynamic "query translation" use case
• SPARQL to SQL
39
40. R2RML Triple Mapping
ain music:instName
rdfs:dom
music:Instrument
rdfs:d
omain
music:instType
Instruments:
IID Instrument Type
10 Guitar String
40
50. Federator
SPARQL Endpoint
Ontology and
Federator service registry
R2RML Web SPARQL
Endpoint Endpoint Endpoint
Data Db Triple
base pedia Store
47
51. Named graph mapping
• Services can provide named graphs,
described in their service description
• Federator lets you create federated
named graphs that map to service
named graphs
48