Your SlideShare is downloading. ×
0
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Programming the Semantic Web
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Programming the Semantic Web

2,032

Published on

Keynote at ESWC 2014, Crete, May 27, 2014

Keynote at ESWC 2014, Crete, May 27, 2014

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

No Downloads
Views
Total Views
2,032
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
39
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. Steffen Staab staab@uni-koblenz.de 4WeST SEMANTIC WEB PROGRAMMING: BIRD‘S EYES VIEW
  • 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. Steffen Staab staab@uni-koblenz.de 6WeST Semantic Web Programming Linked Data SPARQL endpoint RDF file „Inside“ Data Mgmt Eclipse Visual Studio .... Ontology
  • 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. 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. 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. 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. 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. 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. 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. 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. Steffen Staab staab@uni-koblenz.de 15WeST SEMANTIC WEB PROGRAMMING: IDENTIFYING SOME PITFALLS
  • 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. 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. Steffen Staab staab@uni-koblenz.de 18WeST Accessing Artists Using Apache Jena
  • 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. 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. Steffen Staab staab@uni-koblenz.de 21WeST SEMANTIC WEB PROGRAMMING: LITEQ – OUR OUTSIDE APPROACH
  • 22. Steffen Staab staab@uni-koblenz.de 22WeST Programming against Jamendo c1
  • 23. Steffen Staab staab@uni-koblenz.de 23WeST Node Path Query Language Using Autocompletion Exploration of classes Exploration of relations Querying for instances
  • 24. Steffen Staab staab@uni-koblenz.de 24WeST Node Path Query Language Using Autocompletion Exploration of classes Exploration of relations
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Steffen Staab staab@uni-koblenz.de 35WeST Issues  No schema  many LOD sources do not have schema
  • 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. 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. 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. Steffen Staab staab@uni-koblenz.de 39WeST CONCLUSION
  • 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. 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. 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

×