Steffen Staab
staab@uni-koblenz.de
1WeST
Web Science & Technologies
University of Koblenz ▪ Landau, Germany
Programming th...
Steffen Staab
staab@uni-koblenz.de
2WeST
This presentation contains program code,
engineering, speculation and worse.
It m...
Steffen Staab
staab@uni-koblenz.de
3WeST
Semantic Web: Great History, Still Long Way to Go!
Big
Systems
Practice
Research
...
Steffen Staab
staab@uni-koblenz.de
4WeST
SEMANTIC WEB PROGRAMMING:
BIRD‘S EYES VIEW
Steffen Staab
staab@uni-koblenz.de
5WeST
Semantic Web Programming
Linked Data
SPARQL endpoint
RDF file
Hypothesis:
Semanti...
Steffen Staab
staab@uni-koblenz.de
6WeST
Semantic Web Programming
Linked Data
SPARQL endpoint
RDF file
„Inside“
Data
Mgmt
...
Steffen Staab
staab@uni-koblenz.de
7WeST
Semantic Web Impedance Mismatch
„Inside“
 http get
 Dereferencing
 Query execu...
Steffen Staab
staab@uni-koblenz.de
8WeST
Semantic Web
Linked Data
SPARQL endpoint
RDF file
„Inside“
Data
Mgmt
„Outside“
Da...
Steffen Staab
staab@uni-koblenz.de
9WeST
Semantic Web
„Inside“
Data
Mgmt
„Outside“
Data
Mgmt
Eclipse
Visual Studio
....
„O...
Steffen Staab
staab@uni-koblenz.de
10WeST
Programming with Data: What does it cost?
Ctotal = t*Ctool + d*t*Clearn + s*Cdeu...
Steffen Staab
staab@uni-koblenz.de
11WeST
SWOT of Semantic Web Programming
Ctotal = t*Ctool + d*t*Clearn + s*Cdeu + s*Cmap...
Steffen Staab
staab@uni-koblenz.de
12WeST
Target cost scenario 1: Automated setup
Ctotal
n (as in n*Ccode )
SemWeb coding ...
Steffen Staab
staab@uni-koblenz.de
13WeST
Target cost scenario 2: Manually perfected setup
Ctotal
n (as in n*Ccode )
SemWe...
Steffen Staab
staab@uni-koblenz.de
14WeST
Intermediate conclusion
Minimize costs for setup:
Clearn: Costs for learning how...
Steffen Staab
staab@uni-koblenz.de
15WeST
SEMANTIC WEB PROGRAMMING:
IDENTIFYING SOME PITFALLS
Steffen Staab
staab@uni-koblenz.de
16WeST
Example scenario: Jamendo
Data about license free music
 ~ 1 Million triples
 ...
Steffen Staab
staab@uni-koblenz.de
17WeST
Software Development Process Overview
data model
design
revised data
model desig...
Steffen Staab
staab@uni-koblenz.de
18WeST
Accessing Artists Using Apache Jena
Steffen Staab
staab@uni-koblenz.de
19WeST
From artists to songs
Observations
 SPARQL queries are strings
 Results are st...
Steffen Staab
staab@uni-koblenz.de
20WeST
Related Work on RDF Access
Static Typing
 Errors detected before
execution
 Mi...
Steffen Staab
staab@uni-koblenz.de
21WeST
SEMANTIC WEB PROGRAMMING:
LITEQ – OUR OUTSIDE APPROACH
Steffen Staab
staab@uni-koblenz.de
22WeST
Programming against Jamendo
c1
Steffen Staab
staab@uni-koblenz.de
23WeST
Node Path Query Language Using Autocompletion
Exploration of classes
Exploration...
Steffen Staab
staab@uni-koblenz.de
24WeST
Node Path Query Language Using Autocompletion
Exploration of classes
Exploration...
Steffen Staab
staab@uni-koblenz.de
25WeST
Node Path Query Language: Query Formulation
Exploration of classes
Exploration o...
Steffen Staab
staab@uni-koblenz.de
26WeST
Node Path Query Language for Code Development
Exploration of classes
Exploration...
Steffen Staab
staab@uni-koblenz.de
27WeST
Node Path Query Language for Code Development
Exploration of classes
Exploration...
Steffen Staab
staab@uni-koblenz.de
28WeST
NPQL
NPQL (Node Path Query Language)
 Intensional Queries
 Describing RDF clas...
Steffen Staab
staab@uni-koblenz.de
29WeST
LITEQ
NPQL (Node Path Query Language)
 Intensional Queries
 Extensional Querie...
Steffen Staab
staab@uni-koblenz.de
30WeST
Cost savings
Ctotal = t*Ctool + d*t*Clearn + s*Cdeu + s*Cmap + n*Ccode
Ctool : o...
Steffen Staab
staab@uni-koblenz.de
31WeST
Halstead metrics for different tasks:
Conventional Semantic Web programming appr...
Steffen Staab
staab@uni-koblenz.de
32WeST
Speculation 1
Ctotal
n (as in n*Ccode )
SemWeb coding efforts
RelDB/XML coding e...
Steffen Staab
staab@uni-koblenz.de
33WeST
Halstead metrics for different tasks:
If someone gives me a perfect RDF-to-OO ma...
Steffen Staab
staab@uni-koblenz.de
34WeST
Speculation 2
Ctotal
n (as in n*Ccode )
SemWeb coding efforts
RelDB/XML coding e...
Steffen Staab
staab@uni-koblenz.de
35WeST
Issues
 No schema
 many LOD sources do not have schema
Steffen Staab
staab@uni-koblenz.de
36WeST
Issues
 No schema
 many LOD sources do not have schema
 Useless schema
New ki...
Steffen Staab
staab@uni-koblenz.de
37WeST
Issues
 No schema
 many LOD sources do not have schema
 Useless schema
 Prop...
Steffen Staab
staab@uni-koblenz.de
38WeST
Outlook wrt LITEQ
 Integration of schema induction
 Programming the Semantic W...
Steffen Staab
staab@uni-koblenz.de
39WeST
CONCLUSION
Steffen Staab
staab@uni-koblenz.de
40WeST
Semantic Web: Make Developers More Productive
Linked Data
SPARQL endpoint
RDF fi...
Steffen Staab
staab@uni-koblenz.de
41WeST
Semantic
Web
Social Web &
Web Retrieval
Interactive Web &
Human Computing
Web &
...
Steffen Staab
staab@uni-koblenz.de
42WeST
References
 S. Scheglmann, A. Scherp, S. Staab.
Declarative Representation of P...
Nächste SlideShare
Wird geladen in …5
×

Programming the Semantic Web

3.592 Aufrufe

Veröffentlicht am

Keynote at ESWC 2014, Crete, May 27, 2014

Veröffentlicht in: Technologie, Bildung
0 Kommentare
9 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.592
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
166
Aktionen
Geteilt
0
Downloads
46
Kommentare
0
Gefällt mir
9
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Programming the Semantic Web

  1. 1. Steffen Staab staab@uni-koblenz.de 1WeST Web Science & Technologies University of Koblenz ▪ Landau, Germany Programming the Semantic Web Steffen Staab & Team@WeST
  2. 2. Steffen Staab staab@uni-koblenz.de 2WeST This presentation contains program code, engineering, speculation and worse. It may be viewed as offensive by some viewers.
  3. 3. Steffen Staab staab@uni-koblenz.de 3WeST Semantic Web: Great History, Still Long Way to Go! Big Systems Practice Research influence Wanted: mainstream adoption! Target: ProgrammingTarget: Programming
  4. 4. Steffen Staab staab@uni-koblenz.de 4WeST SEMANTIC WEB PROGRAMMING: BIRD‘S EYES VIEW
  5. 5. Steffen Staab staab@uni-koblenz.de 5WeST Semantic Web Programming Linked Data SPARQL endpoint RDF file Hypothesis: Semantic Web data is wonderful, but programming with Semantic Web has changed too little since 2000 and still is a mess. We promise flexibility, but code still hard to maintain. Ontology
  6. 6. Steffen Staab staab@uni-koblenz.de 6WeST Semantic Web Programming Linked Data SPARQL endpoint RDF file „Inside“ Data Mgmt Eclipse Visual Studio .... Ontology
  7. 7. Steffen Staab staab@uni-koblenz.de 7WeST Semantic Web Impedance Mismatch „Inside“  http get  Dereferencing  Query execution  Updating  Indexing  Triplification  Integration  Streaming „Inside“ Data Mgmt Eclipse Visual Studio .... Mind the Gap!
  8. 8. Steffen Staab staab@uni-koblenz.de 8WeST Semantic Web Linked Data SPARQL endpoint RDF file „Inside“ Data Mgmt „Outside“ Data Mgmt Eclipse Visual Studio .... Ontology
  9. 9. Steffen Staab staab@uni-koblenz.de 9WeST Semantic Web „Inside“ Data Mgmt „Outside“ Data Mgmt Eclipse Visual Studio .... „Outside“  Understanding by the developer  „Search + Code“  „Browse + Code“  Triple-object mapping  Code generation  Process of federation  LD vs endpoint  Models of federation Abstraction layers that facilitate a developer‘s life
  10. 10. Steffen Staab staab@uni-koblenz.de 10WeST Programming with Data: What does it cost? Ctotal = t*Ctool + d*t*Clearn + s*Cdeu + s*Cmap + n*Ccode Ctool : Costs for building t many tools, shared; almost free Clearn: Costs for learning how to use technology per developer d Cdeu: Costs for data engineering/understanding s sources Cmap : Costs for mapping data structure for s sources to objects Ccode : Actual costs for accessing/manipulating data n times „Inside“Both „Outside“
  11. 11. Steffen Staab staab@uni-koblenz.de 11WeST SWOT of Semantic Web Programming Ctotal = t*Ctool + d*t*Clearn + s*Cdeu + s*Cmap + n*Ccode threat opportunity opportunity weakness Not a strength, yet! strength/ weakness Strong in flexibility Somewhat weak in performance „Outside“ as good as RelDB is not good enough!
  12. 12. Steffen Staab staab@uni-koblenz.de 12WeST Target cost scenario 1: Automated setup Ctotal n (as in n*Ccode ) SemWeb coding efforts RelDB/XML coding efforts Applies to small n Diff.costsfor learning Setup cost 0
  13. 13. Steffen Staab staab@uni-koblenz.de 13WeST Target cost scenario 2: Manually perfected setup Ctotal n (as in n*Ccode ) SemWeb coding efforts RelDB/XML coding efforts „Perfect“ object model shields developer from database ideosyncracies Setupcosts 0
  14. 14. Steffen Staab staab@uni-koblenz.de 14WeST Intermediate conclusion Minimize costs for setup: Clearn: Costs for learning how to use technology per developer d Cde: Costs for data engineering/understanding s sources Cmap : Costs for mapping data structure for s sources to objects Minimize costs for core programming: Ccode : Actual costs for accessing/manipulating data n times Costs for learning and understanding constitute a threat! Need to be overcome!
  15. 15. Steffen Staab staab@uni-koblenz.de 15WeST SEMANTIC WEB PROGRAMMING: IDENTIFYING SOME PITFALLS
  16. 16. Steffen Staab staab@uni-koblenz.de 16WeST Example scenario: Jamendo Data about license free music  ~ 1 Million triples  classes and predicates from 18 different ontologies  FOAF, Tag ontology, music ontology, … Simple programming task:  List for every music artist, all the records they made
  17. 17. Steffen Staab staab@uni-koblenz.de 17WeST Software Development Process Overview data model design revised data model design data model prototype data queries final data model Creation of initial data model Exploration of the data source Creation of model in code Query design / implementation Mapping of query results
  18. 18. Steffen Staab staab@uni-koblenz.de 18WeST Accessing Artists Using Apache Jena
  19. 19. Steffen Staab staab@uni-koblenz.de 19WeST From artists to songs Observations  SPARQL queries are strings  Results are strings  Requires good understanding of the data source RDF Typing is lost
  20. 20. Steffen Staab staab@uni-koblenz.de 20WeST Related Work on RDF Access Static Typing  Errors detected before execution  Misspelling discovered by compiler!  Anectode: 2nd place because of misspelt var.  Static types are form of documentation  Less knowledge about data source required  Better IDE integration / autocompletion Code generation  Sommer  Winter  OntoMDE Dynamic Typing  E.g. ActiveRDF (Oren et al 2007))  “convention over configuration”  dynamic metaprogramming allows for slick code Criticism
  21. 21. Steffen Staab staab@uni-koblenz.de 21WeST SEMANTIC WEB PROGRAMMING: LITEQ – OUR OUTSIDE APPROACH
  22. 22. Steffen Staab staab@uni-koblenz.de 22WeST Programming against Jamendo c1
  23. 23. Steffen Staab staab@uni-koblenz.de 23WeST Node Path Query Language Using Autocompletion Exploration of classes Exploration of relations Querying for instances
  24. 24. Steffen Staab staab@uni-koblenz.de 24WeST Node Path Query Language Using Autocompletion Exploration of classes Exploration of relations
  25. 25. Steffen Staab staab@uni-koblenz.de 25WeST Node Path Query Language: Query Formulation Exploration of classes Exploration of relations Querying for instances Type set of mo:MusicArtist No definition or declaration needed
  26. 26. Steffen Staab staab@uni-koblenz.de 26WeST Node Path Query Language for Code Development Exploration of classes Exploration of relations Querying for instances Developing code with queries All translated into SPARQL queries at • Development time • Type inference at compile time (but also as part of IDE) • Querying again at run time One language to bind them all
  27. 27. Steffen Staab staab@uni-koblenz.de 27WeST Node Path Query Language for Code Development Exploration of classes Exploration of relations Querying for instances Developing code with queries Developing code with new classes All translated into SPARQL queries at • Development time • Run time update • Persistence!
  28. 28. Steffen Staab staab@uni-koblenz.de 28WeST NPQL NPQL (Node Path Query Language)  Intensional Queries  Describing RDF classes and properties for reuse in IDE and in host language metaprogramming  Extensional Queries  Class instances and property instances  Compilation to SPARQL for reuse of existing endpoints Ongoing discussion about details of NPQL
  29. 29. Steffen Staab staab@uni-koblenz.de 29WeST LITEQ NPQL (Node Path Query Language)  Intensional Queries  Extensional Queries  Compilation to SPARQL LITEQ (Language Integrated Types, Extensions and Queries)  Implementation of NPQL as F# Type Provider in Visual Studio  Autocompletion using NPQL queries  Automatic typing of extensional query results by intensional queries
  30. 30. Steffen Staab staab@uni-koblenz.de 30WeST Cost savings Ctotal = t*Ctool + d*t*Clearn + s*Cdeu + s*Cmap + n*Ccode Ctool : open source Clearn: not free – though autocompletion reduces cognitive load Cdeu: not free – understanding the RDF schema from your IDE Cmap : 0 Ccode : a lot less than for dotNet RDF (Apache Jena?!!) little bit more than for a fictitious perfect object model
  31. 31. Steffen Staab staab@uni-koblenz.de 31WeST Halstead metrics for different tasks: Conventional Semantic Web programming approaches waste up to 50% of your efforts!
  32. 32. Steffen Staab staab@uni-koblenz.de 32WeST Speculation 1 Ctotal n (as in n*Ccode ) SemWeb coding efforts RelDB/XML coding efforts Applies to small n Diff.costsfor learning Speculation 1: Using ontologies and RDF schemata, we can develop more efficiently using the right tools!
  33. 33. Steffen Staab staab@uni-koblenz.de 33WeST Halstead metrics for different tasks: If someone gives me a perfect RDF-to-OO mapping for free then I will not care about whether it is RDF or RelDB underneath!
  34. 34. Steffen Staab staab@uni-koblenz.de 34WeST Speculation 2 Ctotal n (as in n*Ccode ) SemWeb coding efforts RelDB/XML coding efforts „Perfect“ object model shields developer from database ideosyncracies Diff.costsfor setup Speculation 2: For large programmes, our tools need to offer better support to reduce setup costs!
  35. 35. Steffen Staab staab@uni-koblenz.de 35WeST Issues  No schema  many LOD sources do not have schema
  36. 36. Steffen Staab staab@uni-koblenz.de 36WeST Issues  No schema  many LOD sources do not have schema  Useless schema New kinds of (?) schema induction!
  37. 37. Steffen Staab staab@uni-koblenz.de 37WeST Issues  No schema  many LOD sources do not have schema  Useless schema  Property-based schemata  Cf. Homoceanu et al ISWC 2013 • ask for all movies – not possible by asking for class movie, but only for different property combinations
  38. 38. Steffen Staab staab@uni-koblenz.de 38WeST Outlook wrt LITEQ  Integration of schema induction  Programming the Semantic Web as a whole  Federated queries  link traversal-based queries  More expressive query language  Composed data types in tractable DL  More precise integrated type inference  (composed) types from RDF data source  type inference in host language
  39. 39. Steffen Staab staab@uni-koblenz.de 39WeST CONCLUSION
  40. 40. Steffen Staab staab@uni-koblenz.de 40WeST Semantic Web: Make Developers More Productive Linked Data SPARQL endpoint RDF file „Inside“ Data Mgmt „Outside“ Data Mgmt Eclipse Visual Studio .... Ontology
  41. 41. Steffen Staab staab@uni-koblenz.de 41WeST Semantic Web Social Web & Web Retrieval Interactive Web & Human Computing Web & Economy Software & Services Web Science & Technologies Team & Research Computational Social Science Thank You! Ralf Lämmel Evelyne Viegas
  42. 42. Steffen Staab staab@uni-koblenz.de 42WeST References  S. Scheglmann, A. Scherp, S. Staab. Declarative Representation of Programming Access to Ontologies. In: 9th Extended Semantic Web Conference (ESWC2012), Heraklion, Greece, May 27-31, 2012.  Daniel Oberle. How Ontologies Benefit Enterprise Applications. Semantic Web Journal. http://www.semantic-web- journal.net/content/how-ontologies-benefit- enterprise-applications-0  S. Homoceanu, P. Wille, W.-T. Balke. ProSWIP: Property-Based Data Access for Semantic Web Interactive Programming. In: ISWC-2013  C. Saathoff, S. Scheglmann, S. Schenk. Winter: Mapping RDF to POJOs revisited.  E. Oren, R. Delbru, S. Gerke, A. Haller, S. Decker: ActiveRDF: object-oriented semantic web programming. WWW 2007: 817-824  S. Scheglmann, S. Staab, M. Thimm, G. Gröner. Locking for Concurrent Transactions on Ontologies. In: 10th Extended Semantic Web Conference (ESWC2013), Montpellier, France, May 26-30, 2013.  M. Konrath, T. Gottron, S. Staab, A. Scherp. SchemEX – Efficient Construction of a Data Catalogue by Stream-based Indexing of Linked Data. In: Journal of Web Semantics. Special issue on Semantic Web Challenge Winners 2011. Elsevier, Volume 16, November 2012, pp. 52- 58.  W. Cook, A. Ibrahim. Integrating Programming Languages & Databases: What’s the Problem?? http://citeseerx.ist.psu.edu/viewdoc/do wnload?doi=10.1.1.66.7169&rep=rep1 &type=pdf

×