Institute for Web Science & Technologies – WeST
Programming
the
Semantic Web
Steffen Staab,
Thomas Gottron, Stefan Schegel...
Steffen Staab 2Programming the Semantic Web
Linked Open Data – Vision of a Web of Data
 „Classic“ Web
 Linked documents
...
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
 N...
Steffen Staab 5Programming the Semantic Web
LOD Cloud
… the Web of Linked Data consisting of
more than 30 Billion RDF trip...
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 ...
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
• F...
Steffen Staab 11Programming the Semantic Web
Programmers Tasks vs Our Solution: LITEQ
1. Explore and understand
the schema...
Steffen Staab 12Programming the Semantic Web
 Navigating to ex:Dog:
• Start with rdf:Resource as
universal supertype
• Us...
Steffen Staab 13Programming the Semantic Web
 Retrieving the ex:dog data
type
• Start with the node path
from previous ex...
Steffen Staab 14Programming the Semantic Web
Using NPQL to retrieve sets of typed objects
Retrieving objects for all ex:do...
Steffen Staab 15Programming the Semantic Web
 Retrieve all dogs with owners
• Use the known path to
navigate to the dog t...
Steffen Staab 16Programming the Semantic Web
Using LITEQ in Visual Studio
• Line 5: define a datacontext object
• Line 6: ...
Steffen Staab 17Programming the Semantic Web
Using LITEQ to define types
type dog =rdfResource > exCreature > exDog → Inte...
Steffen Staab 18Programming the Semantic Web
Using LITEQ to retrieve objects
let dogs =rdfResource > exCreature > exDog → ...
Steffen Staab 19Programming the Semantic Web
Using LITEQ to define type conditions
let payTax(dogWithOwner : exDog←hasOwne...
Steffen Staab 20Programming the Semantic Web
Using Type Condidtions
let dogs = rdfResource > exCreature > exDog → Extensio...
Steffen Staab 21Programming the Semantic Web
Agenda
 SchemEX
 Where do I find relevant data?
 Efficient construction of...
Steffen Staab 22Programming the Semantic Web
Searching the LOD cloud???
?
foaf:Document
fb:Computer_Scientist
dc:creator
x...
Steffen Staab 23Programming the Semantic Web
Searching the LOD cloud???
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x r...
Steffen Staab 24Programming the Semantic Web
Schema-level index
 Schema information on LOD
Explicit
Assigning class types...
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...
......
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
attribut...
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-Sim...
Steffen Staab 31Programming the Semantic Web
SchemEX: Example
DBLP
...
tc2309 tc2101
eqc707
bs2608
foaf:Document swrc:InPr...
Steffen Staab 32Programming the Semantic Web
SchemEX: Computation
 Precise computation: Brute-Force
C1 C2 Cn...
DS1 DS2 D...
Steffen Staab 33Programming the Semantic Web
Stream-based Computation of SchemEX
 LOD Crawler: Stream of n-Quads (triple ...
Steffen Staab 34Programming the Semantic Web
Quality of Approximated Index
 Stream-based computation vs. brute force
 Da...
Steffen Staab 35Programming the Semantic Web
SchemEX @ BTC 2011
 SchemEX
 Allows complex queries (Star, Chain)
 Scalabl...
Steffen Staab 36Programming the Semantic Web
Agenda
 SchemEX
 Where do I find relevant data?
 Efficient construction of...
Steffen Staab 37Programming the Semantic Web
SPARQL queries on LOD ???
SELECT ?x
WHERE {
?x rdf:type foaf:Document .
?x rd...
Steffen Staab 38Programming the Semantic Web
Inspiration from web search engines ...
Result set size
Result Snippets
Ranke...
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
Retrieva...
Steffen Staab 41Programming the Semantic Web
LODatio: Extending the Payload
C1 C2 Cn...
DS-URI1
C12 C2 Cn‘...
P1 Pn...
EQC...
Steffen Staab 42Programming the Semantic Web
C3
P1
Realizing „Related Queries“
C1 C2
TC1
EQC2
DS3
300
SELECT ?x
WHERE {
?x...
Steffen Staab 43Programming the Semantic Web
Conclusions
 Programming the Semantic Web requires new concepts
 Linked Ope...
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 ind...
Upcoming SlideShare
Loading in...5
×

ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web

154
-1

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
154
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web

  1. 1. Institute for Web Science & Technologies – WeST Programming the Semantic Web Steffen Staab, Thomas Gottron, Stefan Schegelmann & Team
  2. 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. 3. Steffen Staab 3Programming the Semantic Web  „Classic“ Web Linked Open Data – Vision of a Web of Data  Web of Data ID ID
  4. 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. 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. 6. Steffen Staab 6Programming the Semantic Web Some „Bubbles“ of the LOD Cloud
  7. 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. 8. Steffen Staab 8Programming the Semantic Web Motivation Design Time Navigation Run Time Access
  9. 9. Steffen Staab 9Programming the Semantic Web Example RDF Graph
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. Steffen Staab 26Programming the Semantic Web Typecluster  Entities with the same Set of types C1 C2 DS1 DS2 DSm Cn... ... TCj
  27. 27. Steffen Staab 27Programming the Semantic Web Typecluster: Example foaf:Document swrc:InProceedings DBLP ACM tc2309
  28. 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. 29. Steffen Staab 29Programming the Semantic Web Bi-Simulation: Example dc:creator BBC DBLP bs2608
  30. 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. 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. 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. 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. 34. Steffen Staab 34Programming the Semantic Web Quality of Approximated Index  Stream-based computation vs. brute force  Data set of 11 Mio. tripel
  35. 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. 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. 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. 38. Steffen Staab 38Programming the Semantic Web Inspiration from web search engines ... Result set size Result Snippets Ranked Retrieval Reference to data source
  39. 39. Steffen Staab 39Programming the Semantic Web Inspiration from web search engines ... Related Queries
  40. 40. Steffen Staab 40Programming the Semantic Web Did you mean? Result set size Result Snippets Related Queries Ranked Retrieval Reference to data source
  41. 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. 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. 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. 44. Institute for Web Science & Technologies – WeST Thank you!
  45. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×