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
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!
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!
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
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
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
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!
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!
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
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