SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
Institute for Web Science & Technologies – WeST
Programming
the
Semantic Web
Steffen Staab,
Thomas Gottron, Stefan Schegelmann
& Team
Steffen Staab 2Programming the Semantic Web
Linked Open Data – Vision of a Web of Data
 „Classic“ Web
 Linked documents
 Web of Data
 Linked data entities
Steffen Staab 3Programming the Semantic Web
 „Classic“ Web
Linked Open Data – Vision of a Web of Data
 Web of Data
ID
ID
Steffen Staab 4Programming the Semantic Web
LOD – Base technologies
 IDs: Dereferencable HTTP URIs
 Data Format: RDF
 No schema often / rich schema sometimes
 Links to other data sources
foaf:Document
„Extracting schema ...“
fb:Computer_Scientist
dc:creator
http://dblp.l3s.de/.../NesterovAM98
http://dblp.l3s.de/.../Serge_Abiteboul
rdf:type
„Serge Abiteboul“
dc:title
rdf:type
foaf:name
http://www.bibsonomy.org/.../Serge+Abiteboul
rdfs:seeAlso
1 Statement = 1 Tripel
Subject Predicate Object
rdf:type = http://www.w3.org/1999/02/22-rdf-syntax-ns#type
foaf:Document = http://xmlns.com/foaf/0.1/Document
swrc:InProceedingsrdf:type
Steffen Staab 5Programming the Semantic Web
LOD Cloud
… the Web of Linked Data consisting of
more than 30 Billion RDF triples from
hundreds of data sources …
Gerhard Weikum
SIGMOD Blog, 6.3.2013
http://wp.sigmod.org/
Where’s the Data in
the Big Data Wave?
Steffen Staab 6Programming the Semantic Web
Some „Bubbles“ of the LOD Cloud
Steffen Staab 7Programming the Semantic Web
Agenda
 SchemEX
 Where do I find relevant data?
 Efficient construction of a
schema-level index
 Application
 LODatio: Search the LOD cloud
 Active user support
 LiteQ – Language integrated types,
extensions and queries for RDF graphs
 Exploring
 Programming, Typing
Steffen Staab 8Programming the Semantic Web
Motivation
Design Time
Navigation
Run Time
Access
Steffen Staab 9Programming the Semantic Web
Example RDF Graph
Steffen Staab 10Programming the Semantic Web
Programmers Tasks
1. Explore and understand
the schema of the data
source
• Find a type that represents
dogs
2. Align schema types with
programming language
type system
• From dog RDF data type to
dog data type in the host
programming language
3. Query for instances and
instantiate program data
types
• Get all dogs that have an
owner
Steffen Staab 11Programming the Semantic Web
Programmers Tasks vs Our Solution: LITEQ
1. Explore and understand
the schema of the data
source
• Find a type that represents
dogs
2. Align schema types with
programming language
type system
• From dog RDF data type to
dog data type in the host
programming language
3. Query for instances and
instantiate program data
types
• Get all dogs that have an
owner
1. Using NPQL
(NodePathQueryLanguage)
for exploration and definition
2. Type mapping rules for
primitive data types
3. Intensional vs Extensional
 Intensional node path
evaluation provides program
data types
 Extensional node path
evaluation provides instance
data representations
Steffen Staab 12Programming the Semantic Web
 Navigating to ex:Dog:
• Start with rdf:Resource as
universal supertype
• Use the subtype navigation
operator „>“
rdf:Resourcerdf:Resource >rdf:Resource > ex:Creaturerdf:Resource > ex:Creature >rdf:Resource > ex:Creature > ex:Dog
Use NPQL schema query language for navigation
Steffen Staab 13Programming the Semantic Web
 Retrieving the ex:dog data
type
• Start with the node path
from previous example
• Use the intension method
to get data type description
Using NPQL to retrieve type descriptions
... > ex:Creature > ex:Dog... > ex:Creature > ex:Dog -> Intension
type exDog =
member this.exhasOwner :exPerson =
member this.exhasName :String =
member this.exhasAge :String =
.
.
member this.exTaxNo :Integer =
Steffen Staab 14Programming the Semantic Web
Using NPQL to retrieve sets of typed objects
Retrieving objects for all ex:dog
entities
• Start with the node path
from previous example
• Use the extension method
to get the set of typed objects
... > ex:Creature > ex:Dog... > ex:Creature > ex:Dog -> Extension
Provides you with the set of objects containing typed
objects for all instances of ex:Dog
{exHasso}
Steffen Staab 15Programming the Semantic Web
 Retrieve all dogs with owners
• Use the known path to
navigate to the dog type
• Use the property selection
operator “<-“ to restrict the
dog data type
• Restrict dog data type to dogs with
ex:hasOwner property
• Use the extension method to
retrieve all dog instances with an owner
ex:Hasso object
Using NPQL to define Instances
... > ex:Dog... > ex:Dog <-... > ex:Dog <- ex:hasOwner... > ex:Dog <- ex:hasOwner -> Extension
Steffen Staab 16Programming the Semantic Web
Using LITEQ in Visual Studio
• Line 5: define a datacontext object
• Line 6: Use the datacontext object to define pet data type
•Navigate to pet
•Choose ex:hasOwner property
Steffen Staab 17Programming the Semantic Web
Using LITEQ to define types
type dog =rdfResource > exCreature > exDog → Intension
Intensional semantics:
type exDog=
inherit exCreature
hasOwner : exPerson
Using LITEQ to
define types
• The intensional semantic of LITEQ node paths supports
data type definition in the host programming language
Steffen Staab 18Programming the Semantic Web
Using LITEQ to retrieve objects
let dogs =rdfResource > exCreature > exDog → Extension
Extensional semantics:
{ex:Hasso,…}
• The extensional semantic of LITEQ node paths supports
query and retrieval of sets of typed objects
Steffen Staab 19Programming the Semantic Web
Using LITEQ to define type conditions
let payTax(dogWithOwner : exDog←hasOwner) = …
Type conditions for function
(method) arguments
• LITEQ data types in the host programming language can be
used to define type condidtions, e.g. in method heads
• LITEQ data types are generated in a pre-compile step,
they behave like manually implemented types
• compile-time and run-time type-checking is supported
Steffen Staab 20Programming the Semantic Web
Using Type Condidtions
let dogs = rdfResource > exCreature > exDog → Extension
let payTax(dogWithOwner : exDog←hasOwner) = …
for dog in dogs do
match dog with
| :? exDog ← hasOwner as dogWithOwner -> payTax dog
| _ -> ()
Scenario:
• Get all dogs
• Iterate over the set of dogs
• Call paytax method for all dogs with owners
Steffen Staab 21Programming the Semantic Web
Agenda
 SchemEX
 Where do I find relevant data?
 Efficient construction of a
schema-level index
 Application
 LODatio: Search the LOD cloud
 Active user support
 LiteQ – Language integrated types,
extensions and queries for RDF graphs
 Exploring
 Programming, Typing
Steffen Staab 22Programming the Semantic Web
Searching the LOD cloud???
?
foaf:Document
fb:Computer_Scientist
dc:creator
x
swrc:InProceedings
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x rdf:type swrc:InProceedings .
?x dc:creator ?y .
?y rdf:type fb:Computer_Scientist
}
Steffen Staab 23Programming the Semantic Web
Searching the LOD cloud???
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x rdf:type swrc:InProceedings .
?x dc:creator ?y .
?y rdf:type fb:Computer_Scientist
}
Index
• ACM
• DBLP
Steffen Staab 24Programming the Semantic Web
Schema-level index
 Schema information on LOD
Explicit
Assigning class types
Implicit
Modelling attributes
Class
Entity
rdf:type Entity
Property
Entity 2
Steffen Staab 25Programming the Semantic Web
DS1
Schema-level index
E1
P1
E2
XYZP2
C1
C2
C3
P1
P2
C1
C2
C3
DS1
Steffen Staab 26Programming the Semantic Web
Typecluster
 Entities with the same Set of types
C1 C2
DS1 DS2 DSm
Cn...
...
TCj
Steffen Staab 27Programming the Semantic Web
Typecluster: Example
foaf:Document swrc:InProceedings
DBLP ACM
tc2309
Steffen Staab 28Programming the Semantic Web
Bi-Simulation
 Entities are equivalent, if they refer with the same
attributes to equivalent entities
 Restriction: 1-Bi-Simulation
P1 P2
DS1 DS2 DSm
Pn...
...
BSi
Steffen Staab 29Programming the Semantic Web
Bi-Simulation: Example
dc:creator
BBC DBLP
bs2608
Steffen Staab 30Programming the Semantic Web
SchemEX: Combination TC and Bi-Simulation
 Partition of TC based on 1-Bi-Simulation with
restrictions on the destination TC
C1 C2 Cn...
DS1 DS2 DSm
...
C45 C2 Cn‘...
P1 Pn...
EQC EQC
DS
TCj TCk
EQCj
BSi
SchemaPayload
P2
Steffen Staab 31Programming the Semantic Web
SchemEX: Example
DBLP
...
tc2309 tc2101
eqc707
bs2608
foaf:Document swrc:InProceedings fb:Computer_Scientist
dc:creator
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x rdf:type swrc:InProceedings .
?x dc:creator ?y .
?y rdf:type fb:Computer_Scientist
}
Steffen Staab 32Programming the Semantic Web
SchemEX: Computation
 Precise computation: Brute-Force
C1 C2 Cn...
DS1 DS2 DSm
...
C12 C2 Cn‘...
P1 Pn...
EQC EQC
DS
TCj TCk
EQCj
BSi
SchemaPayload
P2
Steffen Staab 33Programming the Semantic Web
Stream-based Computation of SchemEX
 LOD Crawler: Stream of n-Quads (triple + data source)
… Q16, Q15, Q14, Q13, Q12, Q11, Q10, Q9, Q8, Q7, Q6, Q5, Q4, Q3, Q2, Q1
FiFo
4
3
2
1
1
6
2
3
4
5
C3
C2
C2
C1
Steffen Staab 34Programming the Semantic Web
Quality of Approximated Index
 Stream-based computation vs. brute force
 Data set of 11 Mio. tripel
Steffen Staab 35Programming the Semantic Web
SchemEX @ BTC 2011
 SchemEX
 Allows complex queries (Star, Chain)
 Scalable computation
 High quality
 Index over BTC 2011 data
 2.17 billion tripel
 Index: 55 million tripel
 Commodity hardware
 VM: 1 Core, 4 GB RAM
 Throughput: 39.500 tripel / second
 Computation of full index: 15h
Steffen Staab 36Programming the Semantic Web
Agenda
 SchemEX
 Where do I find relevant data?
 Efficient construction of a
schema-level index
 Application
 LODatio: Search the LOD cloud
 Active user support
 LiteQ – Language integrated types,
extensions and queries for RDF graphs
 Exploring
 Programming, Typing
Steffen Staab 37Programming the Semantic Web
SPARQL queries on LOD ???
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x rdf:type swrc:InProceedings .
?x dc:creator ?y .
?y rdf:type fb:Computer_Scientist
}
Index
• ACM
• DBLP
0
hits
1.000
hits
Help!
Steffen Staab 38Programming the Semantic Web
Inspiration from web search engines ...
Result set size
Result Snippets
Ranked
Retrieval
Reference to
data source
Steffen Staab 39Programming the Semantic Web
Inspiration from web search engines ...
Related Queries
Steffen Staab 40Programming the Semantic Web
Did you
mean?
Result set size
Result Snippets
Related
Queries
Ranked
Retrieval
Reference to
data source
Steffen Staab 41Programming the Semantic Web
LODatio: Extending the Payload
C1 C2 Cn...
DS-URI1
C12 C2 Cn‘...
P1 Pn...
EQC EQC
TCj TCk
EQCj
BSi
SchemaPayload
P2
DS1
EX1-1
EX1-2
EX1-3
200
ABC
DEF
GHI DS-URI2
DS2
EX2-1
150
XYZ
Steffen Staab 42Programming the Semantic Web
C3
P1
Realizing „Related Queries“
C1 C2
TC1
EQC2
DS3
300
SELECT ?x
WHERE {
?x rdf:type C1 .
?x rdf:type C2
}
C1 C2
EQC3
DS4
150
P1
EQC1
DS1
200
DS2
150
C3
BS1
TC2
SELECT ?x
WHERE {
?x rdf:type C1 .
?x rdf:type C2 .
?x P1 ?y
}
SELECT ?x
WHERE {
?x rdf:type C1 .
?x rdf:type C2 .
?x P1 ?y .
?y rdf:type C3 .
}
Steffen Staab 43Programming the Semantic Web
Conclusions
 Programming the Semantic Web requires new concepts
 Linked Open Data
 High volume, Varied data, Varying schemata
 Schema-level indices
 Efficient approximative computation
 High accuracy
 Applications
 Search
 Analysis
 ... (many more)
Institute for Web Science & Technologies – WeST
Thank you!
Steffen Staab 45Programming the Semantic Web
References
1. M. Konrath, T. Gottron, and A. Scherp, “Schemex – web-scale indexed schema extraction of linked open
data,” in Semantic Web Challenge, Submission to the Billion Triple Track, 2011.
2. M. Konrath, T. Gottron, S. Staab, and A. Scherp, “Schemex—efficient construction of a data catalogue by
stream-based indexing of linked data,” Journal of Web Semantics, 2012.
3. T. Gottron, M. Knauf, S. Scheglmann, and A. Scherp, “Explicit and implicit schema information on the
linked open data cloud: Joined forces or antagonists?,” Tech. Rep. 06/2012, Institut WeST, Universität
Koblenz-Landau, 2012.
4. T. Gottron and R. Pickhardt, “A detailed analysis of the quality of stream-based schema construction on
linked open data,” in CSWS’12: Proceedings of the Chinese Semantic Web Symposium, 2012.
5. T. Gottron, A. Scherp, B. Krayer, and A. Peters, “Get the google feeling: Supporting users in finding
relevant sources of linked open data at web-scale,” in Semantic Web Challenge, Submission to the
Billion Triple Track, 2012.
6. T. Gottron, A. Scherp, B. Krayer, and A. Peters, “LODatio: Using a Schema-Based Index to Support
Users in Finding Relevant Sources of Linked Data,” in K-CAP’13: Proceedings of the Conference on
Knowledge Capture, 2013.
7. T. Gottron, M. Knauf, S. Scheglmann, and A. Scherp, “A Systematic Investigation of Explicit and Implicit
Schema Information on the Linked Open Data Cloud,” in ESWC’13: Proceedings of the 10th Extended
Semantic Web Conference, 2013.
8. J. Schaible, T. Gottron, S. Scheglmann, and A. Scherp, “LOVER: Support for Modeling Data Using
Linked Open Vocabularies,” in LWDM’13: 3rd International Workshop on Linked Web Data Management,
2013.

Weitere ähnliche Inhalte

Was ist angesagt?

Spark cassandra integration 2016
Spark cassandra integration 2016Spark cassandra integration 2016
Spark cassandra integration 2016Duyhai Doan
 
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesIntroducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesHolden Karau
 
Data science at the command line
Data science at the command lineData science at the command line
Data science at the command lineSharat Chikkerur
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and SemanticsTatiana Al-Chueyr
 
Medical Heritage Library (MHL) on ArchiveSpark
Medical Heritage Library (MHL) on ArchiveSparkMedical Heritage Library (MHL) on ArchiveSpark
Medical Heritage Library (MHL) on ArchiveSparkHelge Holzmann
 
(Julien le dem) parquet
(Julien le dem)   parquet(Julien le dem)   parquet
(Julien le dem) parquetNAVER D2
 
Beyond shuffling - Strata London 2016
Beyond shuffling - Strata London 2016Beyond shuffling - Strata London 2016
Beyond shuffling - Strata London 2016Holden Karau
 
Practical Hadoop using Pig
Practical Hadoop using PigPractical Hadoop using Pig
Practical Hadoop using PigDavid Wellman
 
Debugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden KarauDebugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden KarauSpark Summit
 
Apache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupApache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupNed Shawa
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with ElasticsearchHolden Karau
 
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...In-Memory Computing Summit
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)andyseaborne
 
Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastHolden Karau
 
NoSQL and Triple Stores
NoSQL and Triple StoresNoSQL and Triple Stores
NoSQL and Triple Storesandyseaborne
 
SDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsSDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsKorea Sdec
 

Was ist angesagt? (20)

Drill 1.0
Drill 1.0Drill 1.0
Drill 1.0
 
Spark cassandra integration 2016
Spark cassandra integration 2016Spark cassandra integration 2016
Spark cassandra integration 2016
 
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
 
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesIntroducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
 
Data science at the command line
Data science at the command lineData science at the command line
Data science at the command line
 
AINL 2016: Bugaychenko
AINL 2016: BugaychenkoAINL 2016: Bugaychenko
AINL 2016: Bugaychenko
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
 
Medical Heritage Library (MHL) on ArchiveSpark
Medical Heritage Library (MHL) on ArchiveSparkMedical Heritage Library (MHL) on ArchiveSpark
Medical Heritage Library (MHL) on ArchiveSpark
 
(Julien le dem) parquet
(Julien le dem)   parquet(Julien le dem)   parquet
(Julien le dem) parquet
 
Beyond shuffling - Strata London 2016
Beyond shuffling - Strata London 2016Beyond shuffling - Strata London 2016
Beyond shuffling - Strata London 2016
 
Practical Hadoop using Pig
Practical Hadoop using PigPractical Hadoop using Pig
Practical Hadoop using Pig
 
Debugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden KarauDebugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden Karau
 
Apache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupApache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetup
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with Elasticsearch
 
4 sw architectures and sparql
4 sw architectures and sparql4 sw architectures and sparql
4 sw architectures and sparql
 
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)
 
Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at last
 
NoSQL and Triple Stores
NoSQL and Triple StoresNoSQL and Triple Stores
NoSQL and Triple Stores
 
SDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsSDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and models
 

Andere mochten auch

עוזי מאיר 2013
עוזי מאיר  2013עוזי מאיר  2013
עוזי מאיר 2013Yaniv Meir
 
Heavy metal bands
Heavy metal bandsHeavy metal bands
Heavy metal bandsNei Silva
 
Bus220 course outline
Bus220 course outlineBus220 course outline
Bus220 course outlineSajjad Haider
 
Hosted hangouts overview
Hosted hangouts overviewHosted hangouts overview
Hosted hangouts overviewHosted Hangouts
 
Kampanje sosiale medier
Kampanje sosiale medier Kampanje sosiale medier
Kampanje sosiale medier jentegruppa
 
hukum orang_yang_meninggalkan_shalat
hukum orang_yang_meninggalkan_shalathukum orang_yang_meninggalkan_shalat
hukum orang_yang_meninggalkan_shalatUna Una
 
soal latihan 1 2013 kewirausahaan
soal latihan 1 2013 kewirausahaansoal latihan 1 2013 kewirausahaan
soal latihan 1 2013 kewirausahaanUna Una
 

Andere mochten auch (10)

עוזי מאיר 2013
עוזי מאיר  2013עוזי מאיר  2013
עוזי מאיר 2013
 
Robbins fom7 ch01
Robbins fom7 ch01Robbins fom7 ch01
Robbins fom7 ch01
 
Heavy metal bands
Heavy metal bandsHeavy metal bands
Heavy metal bands
 
Bus220 course outline
Bus220 course outlineBus220 course outline
Bus220 course outline
 
Jentegarasjen
JentegarasjenJentegarasjen
Jentegarasjen
 
Carbon structure
Carbon structureCarbon structure
Carbon structure
 
Hosted hangouts overview
Hosted hangouts overviewHosted hangouts overview
Hosted hangouts overview
 
Kampanje sosiale medier
Kampanje sosiale medier Kampanje sosiale medier
Kampanje sosiale medier
 
hukum orang_yang_meninggalkan_shalat
hukum orang_yang_meninggalkan_shalathukum orang_yang_meninggalkan_shalat
hukum orang_yang_meninggalkan_shalat
 
soal latihan 1 2013 kewirausahaan
soal latihan 1 2013 kewirausahaansoal latihan 1 2013 kewirausahaan
soal latihan 1 2013 kewirausahaan
 

Ähnlich wie Staab programming thesemanticweb

ELK stack introduction
ELK stack introduction ELK stack introduction
ELK stack introduction abenyeung1
 
Spark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross LawleySpark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross LawleySpark Summit
 
How To Connect Spark To Your Own Datasource
How To Connect Spark To Your Own DatasourceHow To Connect Spark To Your Own Datasource
How To Connect Spark To Your Own DatasourceMongoDB
 
Spark Application Carousel: Highlights of Several Applications Built with Spark
Spark Application Carousel: Highlights of Several Applications Built with SparkSpark Application Carousel: Highlights of Several Applications Built with Spark
Spark Application Carousel: Highlights of Several Applications Built with SparkDatabricks
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasMapR Technologies
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Guido Schmutz
 
Apache Spark Tutorial
Apache Spark TutorialApache Spark Tutorial
Apache Spark TutorialAhmet Bulut
 
Information-Rich Programming in F# with Semantic Data
Information-Rich Programming in F# with Semantic DataInformation-Rich Programming in F# with Semantic Data
Information-Rich Programming in F# with Semantic DataSteffen Staab
 
Programming with Semantic Broad Data
Programming with Semantic Broad DataProgramming with Semantic Broad Data
Programming with Semantic Broad DataSteffen Staab
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingPlanetData Network of Excellence
 
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...Oscar Corcho
 
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...ZFConf Conference
 
The nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesThe nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesTony Hammond
 
Accelerating NLP with Dask and Saturn Cloud
Accelerating NLP with Dask and Saturn CloudAccelerating NLP with Dask and Saturn Cloud
Accelerating NLP with Dask and Saturn CloudSujit Pal
 
Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Djamel Zouaoui
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsVíctor Zabalza
 
Artmosphere Demo
Artmosphere DemoArtmosphere Demo
Artmosphere DemoKeira Zhou
 
The Nitty Gritty of Advanced Analytics Using Apache Spark in Python
The Nitty Gritty of Advanced Analytics Using Apache Spark in PythonThe Nitty Gritty of Advanced Analytics Using Apache Spark in Python
The Nitty Gritty of Advanced Analytics Using Apache Spark in PythonMiklos Christine
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Databricks
 

Ähnlich wie Staab programming thesemanticweb (20)

ELK stack introduction
ELK stack introduction ELK stack introduction
ELK stack introduction
 
Spark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross LawleySpark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross Lawley
 
How To Connect Spark To Your Own Datasource
How To Connect Spark To Your Own DatasourceHow To Connect Spark To Your Own Datasource
How To Connect Spark To Your Own Datasource
 
Spark Application Carousel: Highlights of Several Applications Built with Spark
Spark Application Carousel: Highlights of Several Applications Built with SparkSpark Application Carousel: Highlights of Several Applications Built with Spark
Spark Application Carousel: Highlights of Several Applications Built with Spark
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
20170126 big data processing
20170126 big data processing20170126 big data processing
20170126 big data processing
 
Apache Spark Tutorial
Apache Spark TutorialApache Spark Tutorial
Apache Spark Tutorial
 
Information-Rich Programming in F# with Semantic Data
Information-Rich Programming in F# with Semantic DataInformation-Rich Programming in F# with Semantic Data
Information-Rich Programming in F# with Semantic Data
 
Programming with Semantic Broad Data
Programming with Semantic Broad DataProgramming with Semantic Broad Data
Programming with Semantic Broad Data
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing
 
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
 
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...
ZFConf 2011: Что такое Sphinx, зачем он вообще нужен и как его использовать с...
 
The nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesThe nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologies
 
Accelerating NLP with Dask and Saturn Cloud
Accelerating NLP with Dask and Saturn CloudAccelerating NLP with Dask and Saturn Cloud
Accelerating NLP with Dask and Saturn Cloud
 
Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgets
 
Artmosphere Demo
Artmosphere DemoArtmosphere Demo
Artmosphere Demo
 
The Nitty Gritty of Advanced Analytics Using Apache Spark in Python
The Nitty Gritty of Advanced Analytics Using Apache Spark in PythonThe Nitty Gritty of Advanced Analytics Using Apache Spark in Python
The Nitty Gritty of Advanced Analytics Using Apache Spark in Python
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
 

Kürzlich hochgeladen

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 

Kürzlich hochgeladen (20)

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 

Staab programming thesemanticweb

  • 1. Institute for Web Science & Technologies – WeST Programming the Semantic Web Steffen Staab, Thomas Gottron, Stefan Schegelmann & Team
  • 2. Steffen Staab 2Programming the Semantic Web Linked Open Data – Vision of a Web of Data  „Classic“ Web  Linked documents  Web of Data  Linked data entities
  • 3. Steffen Staab 3Programming the Semantic Web  „Classic“ Web Linked Open Data – Vision of a Web of Data  Web of Data ID ID
  • 4. Steffen Staab 4Programming the Semantic Web LOD – Base technologies  IDs: Dereferencable HTTP URIs  Data Format: RDF  No schema often / rich schema sometimes  Links to other data sources foaf:Document „Extracting schema ...“ fb:Computer_Scientist dc:creator http://dblp.l3s.de/.../NesterovAM98 http://dblp.l3s.de/.../Serge_Abiteboul rdf:type „Serge Abiteboul“ dc:title rdf:type foaf:name http://www.bibsonomy.org/.../Serge+Abiteboul rdfs:seeAlso 1 Statement = 1 Tripel Subject Predicate Object rdf:type = http://www.w3.org/1999/02/22-rdf-syntax-ns#type foaf:Document = http://xmlns.com/foaf/0.1/Document swrc:InProceedingsrdf:type
  • 5. Steffen Staab 5Programming the Semantic Web LOD Cloud … the Web of Linked Data consisting of more than 30 Billion RDF triples from hundreds of data sources … Gerhard Weikum SIGMOD Blog, 6.3.2013 http://wp.sigmod.org/ Where’s the Data in the Big Data Wave?
  • 6. Steffen Staab 6Programming the Semantic Web Some „Bubbles“ of the LOD Cloud
  • 7. Steffen Staab 7Programming the Semantic Web Agenda  SchemEX  Where do I find relevant data?  Efficient construction of a schema-level index  Application  LODatio: Search the LOD cloud  Active user support  LiteQ – Language integrated types, extensions and queries for RDF graphs  Exploring  Programming, Typing
  • 8. Steffen Staab 8Programming the Semantic Web Motivation Design Time Navigation Run Time Access
  • 9. Steffen Staab 9Programming the Semantic Web Example RDF Graph
  • 10. Steffen Staab 10Programming the Semantic Web Programmers Tasks 1. Explore and understand the schema of the data source • Find a type that represents dogs 2. Align schema types with programming language type system • From dog RDF data type to dog data type in the host programming language 3. Query for instances and instantiate program data types • Get all dogs that have an owner
  • 11. Steffen Staab 11Programming the Semantic Web Programmers Tasks vs Our Solution: LITEQ 1. Explore and understand the schema of the data source • Find a type that represents dogs 2. Align schema types with programming language type system • From dog RDF data type to dog data type in the host programming language 3. Query for instances and instantiate program data types • Get all dogs that have an owner 1. Using NPQL (NodePathQueryLanguage) for exploration and definition 2. Type mapping rules for primitive data types 3. Intensional vs Extensional  Intensional node path evaluation provides program data types  Extensional node path evaluation provides instance data representations
  • 12. Steffen Staab 12Programming the Semantic Web  Navigating to ex:Dog: • Start with rdf:Resource as universal supertype • Use the subtype navigation operator „>“ rdf:Resourcerdf:Resource >rdf:Resource > ex:Creaturerdf:Resource > ex:Creature >rdf:Resource > ex:Creature > ex:Dog Use NPQL schema query language for navigation
  • 13. Steffen Staab 13Programming the Semantic Web  Retrieving the ex:dog data type • Start with the node path from previous example • Use the intension method to get data type description Using NPQL to retrieve type descriptions ... > ex:Creature > ex:Dog... > ex:Creature > ex:Dog -> Intension type exDog = member this.exhasOwner :exPerson = member this.exhasName :String = member this.exhasAge :String = . . member this.exTaxNo :Integer =
  • 14. Steffen Staab 14Programming the Semantic Web Using NPQL to retrieve sets of typed objects Retrieving objects for all ex:dog entities • Start with the node path from previous example • Use the extension method to get the set of typed objects ... > ex:Creature > ex:Dog... > ex:Creature > ex:Dog -> Extension Provides you with the set of objects containing typed objects for all instances of ex:Dog {exHasso}
  • 15. Steffen Staab 15Programming the Semantic Web  Retrieve all dogs with owners • Use the known path to navigate to the dog type • Use the property selection operator “<-“ to restrict the dog data type • Restrict dog data type to dogs with ex:hasOwner property • Use the extension method to retrieve all dog instances with an owner ex:Hasso object Using NPQL to define Instances ... > ex:Dog... > ex:Dog <-... > ex:Dog <- ex:hasOwner... > ex:Dog <- ex:hasOwner -> Extension
  • 16. Steffen Staab 16Programming the Semantic Web Using LITEQ in Visual Studio • Line 5: define a datacontext object • Line 6: Use the datacontext object to define pet data type •Navigate to pet •Choose ex:hasOwner property
  • 17. Steffen Staab 17Programming the Semantic Web Using LITEQ to define types type dog =rdfResource > exCreature > exDog → Intension Intensional semantics: type exDog= inherit exCreature hasOwner : exPerson Using LITEQ to define types • The intensional semantic of LITEQ node paths supports data type definition in the host programming language
  • 18. Steffen Staab 18Programming the Semantic Web Using LITEQ to retrieve objects let dogs =rdfResource > exCreature > exDog → Extension Extensional semantics: {ex:Hasso,…} • The extensional semantic of LITEQ node paths supports query and retrieval of sets of typed objects
  • 19. Steffen Staab 19Programming the Semantic Web Using LITEQ to define type conditions let payTax(dogWithOwner : exDog←hasOwner) = … Type conditions for function (method) arguments • LITEQ data types in the host programming language can be used to define type condidtions, e.g. in method heads • LITEQ data types are generated in a pre-compile step, they behave like manually implemented types • compile-time and run-time type-checking is supported
  • 20. Steffen Staab 20Programming the Semantic Web Using Type Condidtions let dogs = rdfResource > exCreature > exDog → Extension let payTax(dogWithOwner : exDog←hasOwner) = … for dog in dogs do match dog with | :? exDog ← hasOwner as dogWithOwner -> payTax dog | _ -> () Scenario: • Get all dogs • Iterate over the set of dogs • Call paytax method for all dogs with owners
  • 21. Steffen Staab 21Programming the Semantic Web Agenda  SchemEX  Where do I find relevant data?  Efficient construction of a schema-level index  Application  LODatio: Search the LOD cloud  Active user support  LiteQ – Language integrated types, extensions and queries for RDF graphs  Exploring  Programming, Typing
  • 22. Steffen Staab 22Programming the Semantic Web Searching the LOD cloud??? ? foaf:Document fb:Computer_Scientist dc:creator x swrc:InProceedings SELECT ?x WHERE { ?x rdf:type foaf:Document . ?x rdf:type swrc:InProceedings . ?x dc:creator ?y . ?y rdf:type fb:Computer_Scientist }
  • 23. Steffen Staab 23Programming the Semantic Web Searching the LOD cloud??? SELECT ?x WHERE { ?x rdf:type foaf:Document . ?x rdf:type swrc:InProceedings . ?x dc:creator ?y . ?y rdf:type fb:Computer_Scientist } Index • ACM • DBLP
  • 24. Steffen Staab 24Programming the Semantic Web Schema-level index  Schema information on LOD Explicit Assigning class types Implicit Modelling attributes Class Entity rdf:type Entity Property Entity 2
  • 25. Steffen Staab 25Programming the Semantic Web DS1 Schema-level index E1 P1 E2 XYZP2 C1 C2 C3 P1 P2 C1 C2 C3 DS1
  • 26. Steffen Staab 26Programming the Semantic Web Typecluster  Entities with the same Set of types C1 C2 DS1 DS2 DSm Cn... ... TCj
  • 27. Steffen Staab 27Programming the Semantic Web Typecluster: Example foaf:Document swrc:InProceedings DBLP ACM tc2309
  • 28. Steffen Staab 28Programming the Semantic Web Bi-Simulation  Entities are equivalent, if they refer with the same attributes to equivalent entities  Restriction: 1-Bi-Simulation P1 P2 DS1 DS2 DSm Pn... ... BSi
  • 29. Steffen Staab 29Programming the Semantic Web Bi-Simulation: Example dc:creator BBC DBLP bs2608
  • 30. Steffen Staab 30Programming the Semantic Web SchemEX: Combination TC and Bi-Simulation  Partition of TC based on 1-Bi-Simulation with restrictions on the destination TC C1 C2 Cn... DS1 DS2 DSm ... C45 C2 Cn‘... P1 Pn... EQC EQC DS TCj TCk EQCj BSi SchemaPayload P2
  • 31. Steffen Staab 31Programming the Semantic Web SchemEX: Example DBLP ... tc2309 tc2101 eqc707 bs2608 foaf:Document swrc:InProceedings fb:Computer_Scientist dc:creator SELECT ?x WHERE { ?x rdf:type foaf:Document . ?x rdf:type swrc:InProceedings . ?x dc:creator ?y . ?y rdf:type fb:Computer_Scientist }
  • 32. Steffen Staab 32Programming the Semantic Web SchemEX: Computation  Precise computation: Brute-Force C1 C2 Cn... DS1 DS2 DSm ... C12 C2 Cn‘... P1 Pn... EQC EQC DS TCj TCk EQCj BSi SchemaPayload P2
  • 33. Steffen Staab 33Programming the Semantic Web Stream-based Computation of SchemEX  LOD Crawler: Stream of n-Quads (triple + data source) … Q16, Q15, Q14, Q13, Q12, Q11, Q10, Q9, Q8, Q7, Q6, Q5, Q4, Q3, Q2, Q1 FiFo 4 3 2 1 1 6 2 3 4 5 C3 C2 C2 C1
  • 34. Steffen Staab 34Programming the Semantic Web Quality of Approximated Index  Stream-based computation vs. brute force  Data set of 11 Mio. tripel
  • 35. Steffen Staab 35Programming the Semantic Web SchemEX @ BTC 2011  SchemEX  Allows complex queries (Star, Chain)  Scalable computation  High quality  Index over BTC 2011 data  2.17 billion tripel  Index: 55 million tripel  Commodity hardware  VM: 1 Core, 4 GB RAM  Throughput: 39.500 tripel / second  Computation of full index: 15h
  • 36. Steffen Staab 36Programming the Semantic Web Agenda  SchemEX  Where do I find relevant data?  Efficient construction of a schema-level index  Application  LODatio: Search the LOD cloud  Active user support  LiteQ – Language integrated types, extensions and queries for RDF graphs  Exploring  Programming, Typing
  • 37. Steffen Staab 37Programming the Semantic Web SPARQL queries on LOD ??? SELECT ?x WHERE { ?x rdf:type foaf:Document . ?x rdf:type swrc:InProceedings . ?x dc:creator ?y . ?y rdf:type fb:Computer_Scientist } Index • ACM • DBLP 0 hits 1.000 hits Help!
  • 38. Steffen Staab 38Programming the Semantic Web Inspiration from web search engines ... Result set size Result Snippets Ranked Retrieval Reference to data source
  • 39. Steffen Staab 39Programming the Semantic Web Inspiration from web search engines ... Related Queries
  • 40. Steffen Staab 40Programming the Semantic Web Did you mean? Result set size Result Snippets Related Queries Ranked Retrieval Reference to data source
  • 41. Steffen Staab 41Programming the Semantic Web LODatio: Extending the Payload C1 C2 Cn... DS-URI1 C12 C2 Cn‘... P1 Pn... EQC EQC TCj TCk EQCj BSi SchemaPayload P2 DS1 EX1-1 EX1-2 EX1-3 200 ABC DEF GHI DS-URI2 DS2 EX2-1 150 XYZ
  • 42. Steffen Staab 42Programming the Semantic Web C3 P1 Realizing „Related Queries“ C1 C2 TC1 EQC2 DS3 300 SELECT ?x WHERE { ?x rdf:type C1 . ?x rdf:type C2 } C1 C2 EQC3 DS4 150 P1 EQC1 DS1 200 DS2 150 C3 BS1 TC2 SELECT ?x WHERE { ?x rdf:type C1 . ?x rdf:type C2 . ?x P1 ?y } SELECT ?x WHERE { ?x rdf:type C1 . ?x rdf:type C2 . ?x P1 ?y . ?y rdf:type C3 . }
  • 43. Steffen Staab 43Programming the Semantic Web Conclusions  Programming the Semantic Web requires new concepts  Linked Open Data  High volume, Varied data, Varying schemata  Schema-level indices  Efficient approximative computation  High accuracy  Applications  Search  Analysis  ... (many more)
  • 44. Institute for Web Science & Technologies – WeST Thank you!
  • 45. Steffen Staab 45Programming the Semantic Web References 1. M. Konrath, T. Gottron, and A. Scherp, “Schemex – web-scale indexed schema extraction of linked open data,” in Semantic Web Challenge, Submission to the Billion Triple Track, 2011. 2. M. Konrath, T. Gottron, S. Staab, and A. Scherp, “Schemex—efficient construction of a data catalogue by stream-based indexing of linked data,” Journal of Web Semantics, 2012. 3. T. Gottron, M. Knauf, S. Scheglmann, and A. Scherp, “Explicit and implicit schema information on the linked open data cloud: Joined forces or antagonists?,” Tech. Rep. 06/2012, Institut WeST, Universität Koblenz-Landau, 2012. 4. T. Gottron and R. Pickhardt, “A detailed analysis of the quality of stream-based schema construction on linked open data,” in CSWS’12: Proceedings of the Chinese Semantic Web Symposium, 2012. 5. T. Gottron, A. Scherp, B. Krayer, and A. Peters, “Get the google feeling: Supporting users in finding relevant sources of linked open data at web-scale,” in Semantic Web Challenge, Submission to the Billion Triple Track, 2012. 6. T. Gottron, A. Scherp, B. Krayer, and A. Peters, “LODatio: Using a Schema-Based Index to Support Users in Finding Relevant Sources of Linked Data,” in K-CAP’13: Proceedings of the Conference on Knowledge Capture, 2013. 7. T. Gottron, M. Knauf, S. Scheglmann, and A. Scherp, “A Systematic Investigation of Explicit and Implicit Schema Information on the Linked Open Data Cloud,” in ESWC’13: Proceedings of the 10th Extended Semantic Web Conference, 2013. 8. J. Schaible, T. Gottron, S. Scheglmann, and A. Scherp, “LOVER: Support for Modeling Data Using Linked Open Vocabularies,” in LWDM’13: 3rd International Workshop on Linked Web Data Management, 2013.