Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Meaning of Data - Web Semantics in TYPO3
1. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Meaning of Data
Web Semantics in TYPO3
2. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
session:~$ whoami
• freelance software engineer
• since 2007 TYPO3 Core Developer / Active Contributor
• from 2010 to 2015 Leader of the TYPO3 Core Team
• 2002-2007 studies in computer science
• since 2014 studies in internet web science
3. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Overview
• “What is it all about?!“
• Linked Open Data - An idea…
• Boring Theory - Technology Stack
• Reasoning & Examples
• Possibilities for TYPO3
4. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
“What is it all about?!“
11. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
• works quite well
• has limitations on
• combinations
• finding relevant data
• reusing relevant data
Searching in Google
12. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Linked Open Data
15. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Linked Open Data
• synonyms: “car” vs. “automobile“
• homonyms: “jaguar“ could be car, animal or Mac OS X
• hierarchy: “car“ and “bicycle“ are known as “vehicle“
• language: “visualize“ vs. “visualise“
• language: “visualisieren“@de vs. “visualiser“@fr
16. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Linked Open Data
• Wikipedia has lots of information already
• HTML just represents and links information
• HTML does not provide further meaning of data
• DBpedia is basically a semantic extract of Wikipedia
• DBpedia provides meaning on various resources
• data can be fetched using SPARQL (“semantic SQL“)
17. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Linked Open Data
• many variants like WikiData, GeoNames/GeoSPARQL, …
• information is stored at different locations/hosts
• information is linked all across the internet
• URIs are used to identify “things“ for machines
• URLs are used to provide information for humans
• goal is to have a massive graph of linked data
18. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Very Boring Theory
19. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Technology Stack
20. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Technology Stack
• XML & XSD (XML Schema Definition) - valid & well-formed
• RDF (Resource Description Framework) - meaning
• RDF-S (RDF Schema) - add own concepts
• OWL (Ontology Web Language) - vocabulary
• SPARQL - fetch results from the above
21. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
RDF Triples
• 3 components create a particular meaning
• <Subject>
<Predicate/Property>
<Object>
.
• <:Oliver>
<:hasFirstName>
<“Oliver“>
;
<:talksAbout>
<:SemanticWeb>
;
<:talksAt>
<:T3CampMallorca15>
.
• <:T3CampMallorca15>
<:starts>
<“2015-‐09-‐25“^^xsd:date>
;
<:ends>
<“2015-‐09-‐27“^^xsd:date>
;
<:happensIn>
<:PalmaDeMallorca>
.
• <:PalmaDeMallorca>
<owl:sameAs>
<dbr:Palma,_Majorca>
.
• <dbr:Palma,_Majorca>
<rdf:type>
<dbo:City>
.
22. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
RDF Schema
• What’s a “City“ actually?
• <dbr:Palma,_Majorca>
<rdf:type>
<dbo:City>
.
• <dbo:City>
<rdf:type>
<rdfs:Class>
;
<rdfs:subClassOf>
<dbo:Settlement>
.
• <:name>
<rdf:type>
<rdf:Property>
;
<rdfs:domain>
<dbo:City>
;
<rdfs:range>
xsd:string
.
• <:isPartOf>
<rdf:type>
<rdf:Property>
;
<rdfs:domain>
<dbo:City>
;
<rdfs:range>
<:Region>
;
<rdfs:subPropertyOf>
<:belongsTo>
.
23. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Annotations
• describe current document or node
• Rich Snippets
• Microformat (limited vocabulary)
• Microdata
• RDFa Lite (RDF Annotations)
• JSON-LD (Linked Data)
24. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Microdata
• <div
itemscope
itemtype="http://schema.org/Movie">
<h1
itemprop="name">Avatar</h1>
<div
itemprop="director"
itemscope
itemtype="http://schema.org/Person">
Director:
<span
itemprop="name">James
Cameron</span>,
born
<span
itemprop="birthDate">August
16,
1954</span>
</div>
<span
itemprop="genre">Science
fiction</span>
<a
href="../movies/avatar-‐theatrical-‐trailer.html"
itemprop="trailer">Trailer</a>
</div>
• <:something
rdf:type
http://schema.org/Movie>
.
<:something
http://schema.org/name
“Avatar“>
.
25. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
RDFa Lite
• <p
vocab="http://schema.org/"
typeof="Person">
My
name
is
<span
property="name">Manu
Sporny</span>
and
you
can
give
me
a
ring
via
<span
property="telephone">1-‐800-‐555-‐0199</span>
or
visit
<a
property="url"
href="http://manu.sporny.org/">
my
homepage</a>.
</p>
• <:something
rdf:type
http://schema.org/Person>
.
<:something
http://schema.org/name
“Manu
Sporny“>
.
<:something
http://schema.org/telephone
“…“>
.
26. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
JSON-LD
• {
"@context":
{
"name":
"http://schema.org/name",
"homepage":
{
"@id":
"http://schema.org/url",
"@type":
"@id"
}
},
"name":
"Manu
Sporny",
"homepage":
"http://manu.sporny.org/",
"image":
"http://manu.sporny.org/images/manu.png"
}
27. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
OWL
• effectively working with RDF/RDF-S
• classes & individuals (“instances“)
• properties & data-types (“predicates“)
• ranges & domains
• required for proper reasoning and inference
• comes in 3 dialects - lite, description logic, full
28. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
OWL
• equivalents by rules
• Spaniard:
Person
and
(inhabitantOf
some
SpanishCity)
• meaning of properties
• inverse, symmetric, transitive, disjoint, …
• <Palma
isPartOf
Mallorca>
&
<Mallorca
contains
Palma>
• cardinalities of properties - minimum, maximum, exact
• <:hasParent
owl:cardinality
“2“^^xsd:integer>
29. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Assumptions
• Closed World Assumption (CWA)
• “everything is said, there’s nothing more“
• Open World Assumption (OWA)
• “there might still be more unknown facts“
• <:Bob
:hasSister
:Alice>
.
• <:Bob
:hasSister
:Cassandra>
.
#
what
he
does
not
know…
30. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
SPARQL
• “it’s like SQL, but very different…“
• PREFIX
dbo:
<http://dbpedia.org/ontology/>
PREFIX
dbr:
<http://dbpedia.org/resource/>
SELECT
DISTINCT
?subject
?object
WHERE
{
?subject
rdf:type
dbo:Automobile
.
?subject
dbo:manufacturer
?object
.
FILTER(?object
=
dbr:SEAT)
}
• dbr:SEAT_Ibiza
#
?subject
dbr:SEAT
#
?object
dbr:SEAT_Exeo
dbr:SEAT
dbr:SEAT_IBE
dbr:SEAT
31. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Storage
• MySQL seems to be possible, but gets slow
• Stanbol, Virtuoso, Sesame, Allegro, Jena
• choosing the proper storage depends
• frequency of loads and amount of tripples
• level of inferencing
• query language
32. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Reasoning & Examples
33. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Reasoning & Examples
• Demo in Protégé
• Tool to model ontologies
• Developed at Standford University
34. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Possibilities for TYPO3
35. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Activities in the past
• extension “semantic“ # discontinued
• SPARQL endpoint handling to import RDF triples
• extension „scotty“ # discontinued
• bring semantic technologies into TYPO3 CMS
• categories, taxonomies, identities
• diploma thesis by Sebastian Kurfürst # Flow & Neos
“Exposing Domain Models as Linked Data“
36. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Future possibilities
• linking custom domain models with ontologies
• enriches the meaning of your data
• allows more sophisticated search statements
• exposing data by having an own SPARQL endpoint
• adds more meaning to your data than REST does
• automatically enrich your markup with RDFa
• SEO at it’s best & makes Google happy… maybe…
39. Meaning of Data - Web Semantics in TYPO3 Oliver Hader, 09/2015
Future possibilities
• project by Johannes Goslar
• RTE with Named Entity Recognition (NER)
• “Alex bought a Jaguar in 2011“
• “Alex[Person] bought[verb] Jaguar[Thing] in 2011[Date]“
• Jaguar could be a car, an animal or Mac OS X version
• automated annotation of written text with RDF tripples