(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
Introduction to the Semantic Web
1. Tomasz Pluskiewicz PGS Software
INTRODUCTION TO
THE SEMANTIC WEB
2012-11-28
Introduction to the Semantic Web 1
2. Agenda
What is the Semantic Web?
What is data in the Semantic Web?
Storing and publishing semantic data
Querying the Semantic Web
What is there for developers?
How does the Semantic Web compare?
So who actually does the Semantic Web?
2012-11-28Introduction to the Semantic Web
2
3. What is the Semantic Web?
2012-11-28
3
Introduction to the Semantic Web
4. What is the Semantic Web?
Semantics = meaning (from Greek)
Set of practices and standards
Synonymous or related to:
Web of data
Linked data (cloud)
Giant Global Graph (GGG)
Web 3.0
Open Data
Big Data
2012-11-28Introduction to the Semantic Web
4
5. So what is it about?
Allowing machines to understand data
Ease sharing and mixing data
Extend the World Wide Web rather than
replace it
2012-11-28Introduction to the Semantic Web
5
6. Little bit of history
1969: paper Semantic Information Processing
by Ross Quillial
1980s: CYC and WordNet
mid- to late 1990s: Tim Berners-Lee coins the
term Semantic Web
Today: dbpedia: 1.2m triples
2012-11-28Introduction to the Semantic Web
6
10. It’s all about resources
Extensive use of URIs (and most often URLs)
(Almost) everyting is a URI
Example URIs:
http://infusion.com/people/tpluskiewicz
urn:isbn:1898432023
http://xmlns.com/foaf/0.1/firstName
2012-11-28Introduction to the Semantic Web
10
11. It’s all findable about resources
2012-11-28
Identifier
Representation
Resource itself
11
URI (URL?)
HTML, RDF
Described object
Introduction to the Semantic Web
Identifier URI should be different than the representationURI
Identifiers should not change
12. Cool URIs
Resource and representation have different
URIs
Hash URIs
http://www.example.com/about#alice
http://www.example.com/about.html
„Normal” URIs
http://www.example.com/id/bob
http://www.example.com/people/bob.html
2012-11-28Introduction to the Semantic Web
12
14. Resource Description Format
Facts and relations organized in triples
Triples mimic natural language sentences
Graphical representation is a directed graph
My name is Tomasz Pluskiewicz.
My age is 26.
I work for PGS Software.
2012-11-28Introduction to the Semantic Web
14
16. Serializing RDF triples
2012-11-28
RDF/XML (.rdf)
Notation3 (.n3)
N-Triples (.nt)
Turtle (.ttl)
JSON-LD
TriG (.trig)
TriX (.trix)
application/rdf+xml
text/n3
text/plain
text/turtle
16
Format MIME type
Introduction to the Semantic Web
17. RDF/XML vs Turtle
2012-11-28
Difficult to author
Verbose
No cannonical
serialization
Simple
Concise
Has means of
further compressing
content
17
RDF/XML Turtle
Introduction to the Semantic Web
18. There can be multiple graphs
Sets of triples form graphs
Graphs can be named with a URI
Named graph are also resources, hence there
can be triples describing those graphs
2012-11-28Introduction to the Semantic Web
18
21. Basics of RDF(S) resources
2012-11-28
rdfs:Resource
rdfs:Class
rdfs:Property
rdfs:Datatype
rdfs:Literal
rdf:type
rdfs:label
rdfs:subClassOf
rdfs:subPropertyOf
rdfs:range
rdfs:domain
21
classes properties
Introduction to the Semantic Web
22. Web Ontology Language
OWL: Lite, DL and Full
OWL 2: EL, QL and RL
Defining constraints
Enables defining complex rules
Uses specialized syntaxes
Base terms: owl:Thing, owl:Nothing,
owl:DatatypeProperty, owl:ObjectProperty,
owl:sameAs
2012-11-28Introduction to the Semantic Web
22
23. Common ontologies
Friend of a Friend
Dublin Core
SIOC
SKOS
UMBEL
Suggested Upper Merged Ontology
2012-11-28Introduction to the Semantic Web
23
Geonames
BIBO
24. Specialized ontologies
Gene Ontology
GOLD (General O. for Linguistic Description)
Foundational Model of Anatomy
GoodRelations
Lexvo
2012-11-28Introduction to the Semantic Web
24
26. Storing in relational databases
Mapping tables to triples:
D2RQ
R2RML
Ultrawrap
Using RDBMS with RDF built-in capabilities
Oracle 11g
Virtuoso
Jena SDB
IBM DB2
2012-11-28Introduction to the Semantic Web
27
27. Native triplestores
Using native triple (quad) stores
Virtuoso
AllegroGraph
BigOWLIM
Jena TDB
4store
Stardog
Dydra
2012-11-28Introduction to the Semantic Web
28
28. Publishing data easily
Embedding semantic markup in HTML
Microformats
Microdata
RDFa
Directly publishing RDF documents
http://manu.sporny.org/2011/uber-comparison-rdfa-md-uf/
2012-11-28Introduction to the Semantic Web
29
29. Microformats example
2012-11-28
<ul>
<li>
Joe Doe</li>
<li>
The Example Company
</li>
<li>
604-555-1234</li>
<li>
<a>
Website</a>
</li>
</ul>
30
<ul class="vcard">
<li class="vcard">
Joe Doe</li>
<li class="org">
The Example Company
</li>
<li class="tel">
604-555-1234</li>
<li>
<a class="url">
Website</a>
</li>
</ul>
Introduction to the Semantic Web
30. Microdata example
<section itemscope itemtype="http://data-vocabulary.org/Person">
Hello, my name is <span itemprop="name">John Doe</span>,
I am a <span itemprop="title">graduate research assistant</span>
at the <span itemprop="affiliation">University of Dreams</span>.
My friends call me <span itemprop="nickname">Johnny</span>.
You can visit my homepage at
<a href="http://www.JohnnyD.com"
itemprop="url">www.JohnnyD.com</a>.
<section itemprop="address" itemscope
itemtype="http://data-vocabulary.org/Address">
I live at <span itemprop="street-address">1234 Peach Drive</span>
<span itemprop="locality">Warner Robins</span> ,
<span itemprop="region">Georgia</span>.
</section>
</section>
2012-11-28Introduction to the Semantic Web
31
35. SPARQL + rules = SPIN
SPARQL Inferencing
Developed by TopQuadrant
Components of SPIN:
Represent SPARQL queries as RDF triples
Allow modularizing queries with spin:Function and
spin:Template
spin:MagicProperty
ASK to create constraints
CONSTRUCT to create rules
2012-11-28Introduction to the Semantic Web
36
38. What is there for developers?
dotNetRDF
Jena/ARQ
Rdflib
RDF.rb
EasyRdf
Rdfquery
Redland
(Web)Protégé
TopBraid Composer
NeOn
OntoWiki
Semantic MediaWiki
Cubic Web
Programming tools Design tools and frameworks
39. Semantic Web vs X
2012-11-28
40
Introduction to the Semantic Web
40. Semantic Web vs XML
2012-11-28
Data representation
(model)
Graph
xsd and XPath
Schema defined with
RDFS or OWL
URI identifiers
Data serialization
(syntax)
Tree
xsd and XPath
DTD or XML schema
No built-in identifiers
41
Semantic Web (RDF) XML
Introduction to the Semantic Web
41. Semantic Web vs REST
2012-11-28
URIs identify resources
HTTP encouraged to
allow dereferencing
Uniform RDF messages
Resources are linked
(triples)
Application specific
Resource Identification
Uniform Interface
Self-Describing
Messages
Hypermedia Driving
Application State
Stateless Interactions
42
Semantic Web REST
Introduction to the Semantic Web
42. Semantic Web vs RDBMS
2012-11-28
SPARQL
Felxible and extensible
schema
Easy data distribution
Depends on vendor
Easier process BI
Open World
SQL
Schema must be defined
first and is rather rigid
Painful replication
ACID Transactions
Strict ETL
Closed World
43
Semantic Web Relational databases
Introduction to the Semantic Web
43. Semantic Web vs NoSQL
2012-11-28
SPARQL
Graph
Schemaless
Named graphs
Built on standards and
interoperability
Can seem scientific and
complicated
Various APIs
Graph, doc, key-value
Schemaless
Documents (doc DBs)
Tackle specific problems
(latency, scale, perf.)
Designed for easy
adoption
44
Semantic Web NoSQL
Introduction to the Semantic Web
44. Who actually does the Semantic Web?
Is it happening?
2012-11-28
46
Introduction to the Semantic Web
45. Linked data and open data
Dbpedia
Freebase
Geonames
Social data
Media
Government data
Publications
Many many other
datahub.io
lod.openlinksw.com
data.gov
data.gov.uk
datadotgc.ca
openlibrary.org
bnb.data.bl.uk
2012-11-28Introduction to the Semantic Web
http://richard.cyganiak.de/2007/10/lod/lod-datasets_2011-09-19_colored.html
46. Who does the Semantic Web?
2012-11-28
IBM DB2
Open Services
Lifecycle
Collaboration
Linked Data
Platform
Oracle 11g
Triplestore
Reasoner
48
IBM Oracle
Introduction to the Semantic Web
47. Who does the Semantic Web?
2012-11-28
Webmaster tools
Knowledge graph
Freebase
RDFa/Microdata
(also Yahoo)
Open Graph
Protocol
49
Google Facebook
Introduction to the Semantic Web
48. Who does the Semantic Web?
2012-11-28
Thousands of datasets
Some offered in RDF
Linked by Linking Open
Government Data project
(200 datasets)
Open Government
Partnership (50+
countries)
Gene research
Language
processing
Semantic MediaWiki
50
Government/public data Academic work
Introduction to the Semantic Web
49. Where to learn in person?
Semantic Technology & Business Conference
Berlin, London, New York, San Francisco
European Semantic Web Symposium
International Semantic Web Conference
International World Wide Web Conference
International Conference on Semantic Web
and Web Services
Semantic Web Applications and Tools for Life
Sciences
2012-11-28Introduction to the Semantic Web
51
50. Some interesting links...
http://semanticweb.com/
http://patterns.dataincubator.org/book/
http://www.w3.org/standards/semanticweb/
http://spinrdf.org
Wikipedia
http://semanticweb.com/breaking-into-the-nosql-conversation_b27146
http://gigaom.com/2012/03/11/is-big-data-new-or-have-we-forgotten-its-old-
heroes/
http://www.snee.com/bobdc.blog/2012/10/sparql-and-big-data-and-
nosql.html
http://dret.net/netdret/docs/soa-rest-www2009/rest
http://www.mkbergman.com/
http://www.cambridgesemantics.com/semantic-university
2012-11-28Introduction to the Semantic Web
52
51. ...and some books
David Wood, Linked Data, Manning
Bob DuCharme, Learning SPARQL, O’Reilly
Toby Segaran, Programming the Semantic Web, O’Reilly
John Hebeler, Semantic Web Programming, Wiley
David Siegel, Pull: The Power of the Semantic Web to Transform Your
Business, Portfolio
2012-11-28Introduction to the Semantic Web
53