1. Web Science & Technologies
University of Koblenz ▪ Landau, Germany
Property-based Typing for
RDF-Access
– A Vision –
Stefan Scheglmann
Gerd Gröner
2. Publishing Linked Data on the Web - Status
1. Huge collections of open
and governmental data are
published as Linked Data
representation
formalism?
2. Data enrichment
Meta data
Micro formats
for semantic search and
exploration
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 2
3. … the Technology: RDF and Linked Data
RDF
Data model with formal semantics
Flexible data representation
Extendable
Deal with incomplete data
Linked Data
Best practice to publish structured data on the web
Observation: successful publishing and
exploration of data on the Web
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 3
4. What is the problem?
➔
The flexible data model makes it difficult for applications to
access the data
API
• Type system
Class
• Fixed data schema
- properties
data access
RDF • Missing type statements
• Incomplete information
• Changing data
• Heterogeneous data
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 4
5. Example - Scenario
Users:
(Accounts, available
user data)
Platform
user
data e-participation
access platform
Facebook
LinkedIn
... - read user data
- send news
-…
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 5
6. Example
alice rdf:type ex:citizen. API with methods:
bob rdf:type ex:citizen.
dave rdf:type ex:citizen.
eric rdf:type ex:citizen.
Send mail to all citizen
with name and mbox!
alice foaf:name "Alice". → Candy?
alice foaf:mbox "alice@home.com".
alice foaf:interest
<http://wikipedia.org/Literature>.
Modify/read interest of all
bob foaf:name "Bob". citizen!
bob foaf:mbox "bob@mail.com". → Dave?
bob foaf:interest
<http://wikipedia.org/Cinema>.
candy foaf:name "Candy".
candy foaf:mbox "candy@coldmail.com".
dave foaf:name "Dave".
dave foaf:mbox "dave@online.com".
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 6
7. Example (2)
alice rdf:type ex:citizen. API with methods:
bob rdf:type ex:citizen.
dave rdf:type ex:citizen.
eric rdf:type ex:citizen.
alice foaf:name "Alice".
alice foaf:mbox "alice@home.com".
alice foaf:interest
<http://wikipedia.org/Literature>.
eric foaf:name "Eric". Find interest of
eric ex:member citizen!
<http://cinemafriends.com>. → Eric?
<http://cinemafriends.com> ex:interest
<http://wikipedia.org/Cinema>.
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 7
8. How should a solution look like?
API with methods:
There might be missing type statements
Send mail to all citizen ➔
access data based on properties
with name and mbox!
→ Candy? (e.g., to define methods)s
There might be missing properties
Modify/read interest of all
citizen! ➔
access data with
→ Dave?
Required and
optional properties
There might be implicit properties.
Find interest of
citizen!
➔
access data with properties that are
→ Eric? derived (by reasoning or navigation)
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 8
9. Outline
How to achieve a possible solution?
1. Object Triple mapping
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 9
10. Mapping Triples to Objects
Background: object relational mapping
Design patterns: Domain mapper
RDB
Model
Application development language data
Example: Class to table
Citizen
name mapper
RDB
mbox
- class to table
- table columns to attributes
- foreign key to object relations
- every tuple to an object
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 10
11. Map Triples to Objects (2)
Basic Idea
1. Define a class for each type
Citizen Topic
2. Triples to objects
alice
- resources to objects bob cinema
- predicates to attributes or
relations
citizen
alice bob cinema
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 11
12. Map Triples to Objects (3)
… but does this solve the problem?
access
1. We need types for classes. ? Citizen
candy alice bob
2. We can not state properties as optional
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 12
13. Outline
How to achieve a possible solution?
1. Object Triple mapping
2. Class definitions like in OWL
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 13
14. Expressive Class Definitions
Constructs for property specifications of classes
… does this solve our problem?
➔
not possible in RDF
➔
not realized in Linked Data
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 14
15. Outline
How to achieve a possible solution?
1. Object Triple mapping
2. Class definitions like in OWL
3. Extract schema
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 15
16. Schema Extraction and Type Provider
➔
1. Step: Derive schema
Schema is based on property statements
group instances that share some properties
schema
extraction
RDF data
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 16
17. Schema Extraction and Type Provider
2. Step: Use Type Provider
component that provides types, properties, and methods in
programs
• i.e., programmers get type information of entities (like databases)
they work with
F# offers built-in type providers and allows user defined providers
… does this solve our problem?
➔
Schema is a snapshot
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 17
18. Outline
How to achieve a possible solution?
1. Object Triple mapping
2. Class definitions like in OWL
3. Extract schema
How should a solution look like?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 18
19. Requirements for a solution
Property-based Types:
- name
- mbox
- hierarchies
- specialization - name - name
- mbox - mbox
- interest - phone
- name
- mbox
- interest
- member
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 19
20. Requirements for a solution (2)
Flexible Type System
- name
- mbox
➔
Extendable
- name - name
- mbox OR - mbox
web - phone
- interest - skype
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 20
21. Requirements for a solution (3)
Inference:
➔
Derive properties
➔
Derive type
- name
- mbox
- interest
Group
- name member - interest
- mbox
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 21
22. Current Status
… or the trade-off between persistent data access and flexible
representation
Build on types and Incomplete and flexible
extracted schema RDF data representation
• Object Triple mapping • Missing type statements
• Class specifications (for • Property-centric
incomplete data) • Extendable
• Schema extraction and type
provider (e.g., F#)
… how to bring these “worlds” together?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 22
23. Outline
How to achieve a possible solution?
1. Object Triple mapping
2. Class definitions like in OWL
3. Extract schema
How should a solution look like?
Our vision / statement
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 23
24. Statement
New Programming Paradigm:
“Property-based typing for RDF data access”
Basic idea:
API
- specify operations
Data “Typing”
Traits:
Types
(incomplete)
+ Set of
properties
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 24
25. Example (Property-based Access)
alice rdf:type ex:citizen.
bob rdf:type ex:citizen.
dave rdf:type ex:citizen. Traits:
- foaf:mbox
alice foaf:name "Alice". - foaf:name
alice foaf:mbox "alice@home.com".
alice foaf:interest <http://wikipedia.org/Literature>
bob foaf:name "Bob".
bob foaf:mbox "bob@mail.com".
bob foaf:interest <http://wikipedia.org/Cinema>
candy foaf:name "Candy".
candy foaf:mbox "candy@coldmail.com".
dave foaf:name "Dave".
dave foaf:mbox "dave@online.com".
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 25
26. Conclusion … Discussion
New Programming Paradigm:
“Property-based typing for RDF data access”
What are the challenges in a property-based approach for
programming the semantic Web?
Which are the implications that solutions of these
challenges could have?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 26
27. Discussion: Challenges
Type hierarchies (property-based):
1. How to build a reliable type hierarchy based on property sets?
i. Schema extraction
ii. Formal concept analysis
(for occurring property combinations)
2. How to combine property-based types and type statements
(rdf:type)?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 27
28. Discussion: Challenges (2)
Incompleteness
1. How to interpret a missing property?
➔
Missing or unknown?
2. How to achieve type inference (like in RDFS)?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 28
29. Discussion: Challenges (3)
Contracts
➔
Method and type contracts (based on property sets)
1. How to declare optional and required properties?
2. Can we support global and local contracts?
WeST Gerd Gröner PSW 2012
groener@uni-koblenz.de 29