Intro to Semantic Web, Web Services, and Semantic Web Services
Ben Vandervalk
James Hogg Research Centre, Heart + Lung Institute
University of British Columbia
ben.vvalk@gmail.com
June 2012
The Semantic Web
Tim Berners-Lee, Wikimedia Commons, picture taken by Paul Clarke, 2010.
The Semantic Web, Scientific American, 2001.
Resource Description Framework (RDF)
@prefix facebook: <http://www.facebook.com/people/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
# triples...
facebook:BenVandervalk rdf:type foaf:Person .
facebook:BenVandervalk foaf:mbox mailto:ben@gmail.com .
An example RDF document, in N3 format.
RDF is a Graph-Based Data Model
@prefix facebook: <http://www.facebook.com/people/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
# triples...
facebook:BenVandervalk rdf:type foaf:Person .
facebook:BenVandervalk foaf:mbox mailto:ben.vvalk@gmail.com .
facebook:BenVandervalk
foaf:Person
mailto:ben@gmail.com
rdf:type
foaf:mbox
Merging RDF Datasets
facebook:BenVandervalk
foaf:Person
mailto:ben@gmail.com
rdf:type
foaf:mbox
facebook:PeterVandervalk
foaf:Person
mailto:peter@gmail.com
rdf:type
foaf:mbox
facebook:BenVandervalk
foaf:knows
facebook:BenVandervalk
foaf:Person
mailto:ben@gmail.com
rdf:type
foaf:mbox
facebook:PeterVandervalk
foaf:Person
mailto:peter@gmail.com
rdf:type
foaf:mbox
foaf:knows
Merging RDF Datasets
facebook:BenVandervalk rdf:type foaf:Person .
facebook:BenVandervalk foaf:mbox mailto:ben.vvalk@gmail.com .
merged with
yields
facebook:PeterVandervalk rdf:type foaf:Person .
facebook:PeterVandervalk foaf:mbox mailto:peter@gmail.com .
facebook:PeterVandervalk foaf:knows facebook:BenVandervalk .
facebook:BenVandervalk rdf:type foaf:Person .
facebook:BenVandervalk foaf:mbox mailto:ben.vvalk@gmail.com .
facebook:PeterVandervalk rdf:type foaf:Person .
facebook:PeterVandervalk foaf:mbox mailto:peter@gmail.com .
facebook:PeterVandervalk foaf:knows facebook:BenVandervalk .
Just concatenate the two lists of triples! (and remove duplicates)
SPARQL Protocol and RDF Query Language (SPARQL)
facebook:BenVandervalk rdf:type foaf:Person .
facebook:BenVandervalk foaf:mbox mailto:ben.vvalk@gmail.com .
facebook:PeterVandervalk rdf:type foaf:Person .
facebook:PeterVandervalk foaf:mbox mailto:peter@gmail.com .
facebook:PeterVandervalk foaf:knows facebook:BenVandervalk .
SELECT ?person ?mbox
WHERE {
?person rdf:type foaf:Person .
?person foaf:mbox ?mbox .
}
dataset
query
solutions
?person | ?mbox |
facebook:BenVandervalk | mailto:ben@gmail.com |
facebook:PeterVandervalk | mailto:peter@gmail.com |
Web Ontology Language (OWL)
Web Ontology Language (OWL)
<owl:Class rdf:ID="Father">
<owl:equivalentClass> <!-- if and only if -->
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection"> <!-- logical AND -->
<!-- sex is male -->
<owl:Restriction>
<owl:onProperty rdf:resource="#sex"/>
<owl:hasValue rdf:resource="#male"/>
</owl:Restriction>
<!-- at least one child -->
<owl:Restriction>
<owl:onProperty rdf:resource="#child"/>
<owl:minCardinality rdf:datatype="&xsd;integer">1</owl:minCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
...
(x, is a, father) <=> (x, sex, male) AND (∃y (x, child, y))
"Fathers are male and have at least one child."
That's all about the Semantic Web for now.
Topic #2: Web Services
(short)
Web Services
Semantic Web Services