Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
RDFS and OWL Reasoning for Linked Data ! Linked Data is the emerging trend of publishing structured data on the
Web as interlinked RDF graphs following a number of simple principles: ! use HTTP URIs to name things, ! return RDF about those things when their URIs are looked up, and ! include links to related RDF documents elsewhere on the Web.
These trends and related trends with respect to embedding metadata into HTML pages have lead to a huge volume of RDF data being made openly available online, contributing to what is often called the “Web of Data".
The Semantic Web provides the necessary tools to query this data, (i) by defining RDF as a universal data format; (ii) by defining SPARQL, a standard query language for RDF; and (iii) by providing schema languages such as RDFS and OWL, which
allow for adding rich semantics to the data.
2
Querying the Web: Ontology-Based Data Access
“Companies that produce(d) telephones”
Siemens C25 (my first mobile phone) IBM Simon (the world’s first smartphone)
! The data is there!
3
The data is there! … as Linked Data even!
4
…
Image from http://blog.dbtune.org/public/.081005_lod_constellation_m.jpg ; Giasson, Bergman Cf. also http://lov.okfn.org/dataset/lov/ “Linked Open Vocabularies”, mentioned by Chris
Data is described using – also linked - vocabularies
“Links” here typically described using the RDFS and OWL (meta-)vocabularies
5
Semantic Search engine: ! Can I just download all that data into a triple store and query it with
SPARQL?
Triple Store
? SPARQL
6
How to formulate the query? “Companies that produce(d) telephones”
dbo:Organisation foaf:made yago:Telephone
? dbr:Siemens rdf:type dbo:Organisation. dbr:Siemens foaf:made dbr:Siemens_C25. dbr:Siemens_C25 a yago:Telephone.
dbr:IBM foaf:made dbr:IBM_Simon. dbr:IBM rdf:type dbo:Organisation. dbr:IBM_Simon rdf:type yago:Telephone .
dbr:Siemens_C25
dbr:IBM_Simon
7
How to formulate the query? SPARQL!
! SPARQL http://www.w3.org/TR/sparql11-query/ : ! “SQL Look-and-feel” query language for RDF ! Basic Graph pattern matching ! Complex patterns on top (UNION, FILTER, BIND, …)
“Companies that produce(d) telephones”
dbr:Siemens a dbo:Organisation. dbr:Siemens foaf:made dbr:Siemens_C25. dbr:Siemens_C25 a yago:Telephone.
dbr:IBM foaf:made dbr:IBM_Simon. dbr:IBM a dbo:Organisation. dbr:IBM_Simon rdf:type yago:Telephone .
SELECT ?C { ?C a dbo:Organisation. ?C foaf:made ?P . ?P a yago:Telephone . }
8
How to formulate the query? “Companies that produce(d) telephones”
? dbr:Siemens_C25 dbo:manufacturer dbr:Siemens . dbr:Siemens_C25 a yago:SiemensMobilePhones .
dbr:IBM_Simon dbo:manufacturer dbr:IBM . dbr:IBM_Simon rdf:type yago:IBMMobilePhones .
However, the data rather looks like that:
SELECT ?C { ?C a dbo:Organisation. ?C foaf:made ?P . ?P a yago:Telephone . }
9
Make use of ontological inference! “Companies that produce(d) telephones”
dbo:manufacturer rdfs:subPropertyOf foaf:maker. foaf:maker owl:inverseOf foaf:made. dbo:manufacturer rdfs:range dbo:Organisation. yago:SiemensMobilePhones rdfs:subClassOf yago:Telephone . yago:IBMMobilePhones rdfs:subClassOf yago:Telephone .
dbr:Siemens_C25 dbo:manufacturer dbr:Siemens . dbr:Siemens_C25 a yago:SiemensMobilePhones .
dbr:IBM_Simon dbo:manufacturer dbr:IBM . dbr:IBM_Simon a yago:IBMMobilePhones .
SELECT ?C { ?C a dbo:Organisation. ?C foaf:made ?P . ?P a yago:Telephone . }
dbo:manufacturer rdfs:subPropertyOf foaf:maker. foaf:maker owl:inverseOf foaf:made. dbo:manufacturer rdfs:range dbo:Organisation. yago:SiemensMobilePhones rdfs:subClassOf yago:Telephone . yago:IBMMobilePhones rdfs:subClassOf yago:Telephone .