Top Banner
Web Science & Technologies University of Koblenz ▪ Landau, Germany Property-based Typing for RDF-Access – A Vision – Stefan Scheglmann Gerd Gröner
29

Property-based Access of RDF Data

Jan 26, 2015

Download

Technology

Gerd Groener

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Property-based Access of RDF Data

Web Science & Technologies

University of Koblenz ▪ Landau, Germany

Property-based Typing for RDF-Access

– A Vision –

Stefan ScheglmannGerd Gröner

Page 2: Property-based Access of RDF Data

Gerd Grö[email protected] 2

WeST PSW 2012

Publishing Linked Data on the Web - Status

1. Huge collections of open and governmental data are published as Linked Data

2. Data enrichment Meta data Micro formats

for semantic search and exploration

representationformalism?

Page 3: Property-based Access of RDF Data

Gerd Grö[email protected] 3

WeST PSW 2012

… 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

Page 4: Property-based Access of RDF Data

Gerd Grö[email protected] 4

WeST PSW 2012

What is the problem?

➔ The flexible data model makes it difficult for applications to access the data

RDF • Missing type statements• Incomplete information• Changing data• Heterogeneous data

API• Type system• Fixed data schema

Class

- properties

data access

Page 5: Property-based Access of RDF Data

Gerd Grö[email protected] 5

WeST PSW 2012

Example - Scenario

e-participationplatform

Users:(Accounts, available user data)

Platformuser

Facebook

LinkedIn...

dataaccess

- read user data- send news- …

Page 6: Property-based Access of RDF Data

Gerd Grö[email protected] 6

WeST PSW 2012

Example

alice rdf:type ex:citizen.

bob rdf:type ex:citizen.

dave rdf:type ex:citizen.

eric rdf:type ex:citizen.

alice foaf:name "Alice".

alice foaf:mbox "[email protected]".

alice foaf:interest <http://wikipedia.org/Literature>.

bob foaf:name "Bob".

bob foaf:mbox "[email protected]".

bob foaf:interest <http://wikipedia.org/Cinema>.

candy foaf:name "Candy".

candy foaf:mbox "[email protected]".

dave foaf:name "Dave".

dave foaf:mbox "[email protected]".

Send mail to all citizenwith name and mbox!

→ Candy?

Modify/read interest of all citizen!

→ Dave?

API with methods:

Page 7: Property-based Access of RDF Data

Gerd Grö[email protected] 7

WeST PSW 2012

Example (2)

alice rdf:type ex:citizen.

bob rdf:type ex:citizen.

dave rdf:type ex:citizen.

eric rdf:type ex:citizen.

alice foaf:name "Alice".

alice foaf:mbox "[email protected]".

alice foaf:interest <http://wikipedia.org/Literature>.

eric foaf:name "Eric".

eric ex:member <http://cinemafriends.com>.

<http://cinemafriends.com> ex:interest

<http://wikipedia.org/Cinema>.

API with methods:

Find interest ofcitizen!→ Eric?

Page 8: Property-based Access of RDF Data

Gerd Grö[email protected] 8

WeST PSW 2012

How should a solution look like?

There might be missing type statements➔ access data based on properties

(e.g., to define methods)s

Send mail to all citizenwith name and mbox!

→ Candy?

Modify/read interest of all citizen!

→ Dave?

API with methods:

There might be missing properties➔ access data with

Required and optional properties

Find interest ofcitizen!→ Eric?

There might be implicit properties.➔ access data with properties that are

derived (by reasoning or navigation)

Page 9: Property-based Access of RDF Data

Gerd Grö[email protected] 9

WeST PSW 2012

Outline

1. Object Triple mapping

How to achieve a possible solution?

Page 10: Property-based Access of RDF Data

Gerd Grö[email protected] 10

WeST PSW 2012

Mapping Triples to Objects

Background: object relational mapping

Design patterns:RDB

DomainModel

mapper

Application development language data

RDB

Citizen

namembox

mapper

- class to table- table columns to attributes- foreign key to object relations- every tuple to an object

Example: Class to table

Page 11: Property-based Access of RDF Data

Gerd Grö[email protected] 11

WeST PSW 2012

Map Triples to Objects (2)

1. Define a class for each type

bobalice

Citizen

alice bob

2. Triples to objects - resources to objects - predicates to attributes or relations

Basic Idea

citizen

Topic

cinema

cinema

Page 12: Property-based Access of RDF Data

Gerd Grö[email protected] 12

WeST PSW 2012

Map Triples to Objects (3)

… but does this solve the problem?

1. We need types for classes.

bobalice

Citizen

2. We can not state properties as optional

access

candy

?

Page 13: Property-based Access of RDF Data

Gerd Grö[email protected] 13

WeST PSW 2012

Outline

1. Object Triple mapping

2. Class definitions like in OWL

How to achieve a possible solution?

Page 14: Property-based Access of RDF Data

Gerd Grö[email protected] 14

WeST PSW 2012

Expressive Class Definitions

Constructs for property specifications of classes

… does this solve our problem?

➔ not possible in RDF➔ not realized in Linked Data

Page 15: Property-based Access of RDF Data

Gerd Grö[email protected] 15

WeST PSW 2012

Outline

1. Object Triple mapping

2. Class definitions like in OWL

3. Extract schema

How to achieve a possible solution?

Page 16: Property-based Access of RDF Data

Gerd Grö[email protected] 16

WeST PSW 2012

Schema Extraction and Type Provider

➔ 1. Step: Derive schema

Schema is based on property statements

RDF data

schema extraction

group instances that share some properties

Page 17: Property-based Access of RDF Data

Gerd Grö[email protected] 17

WeST PSW 2012

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

Page 18: Property-based Access of RDF Data

Gerd Grö[email protected] 18

WeST PSW 2012

Outline

1. Object Triple mapping

2. Class definitions like in OWL

3. Extract schema

How to achieve a possible solution?

How should a solution look like?

Page 19: Property-based Access of RDF Data

Gerd Grö[email protected] 19

WeST PSW 2012

Requirements for a solution

- name- mbox

- name- mbox- interest

- name- mbox- interest- member

- hierarchies- specialization

Property-based Types:

- name- mbox- phone

Page 20: Property-based Access of RDF Data

Gerd Grö[email protected] 20

WeST PSW 2012

Requirements for a solution (2)

Flexible Type System

➔ Extendable

- name- mbox

- name- mbox OR web- interest

- name- mbox- phone- skype

Page 21: Property-based Access of RDF Data

Gerd Grö[email protected] 21

WeST PSW 2012

Requirements for a solution (3)

- name- mbox- interest

- name- mbox

- interest

Inference:➔ Derive properties➔ Derive type

member

Group

Page 22: Property-based Access of RDF Data

Gerd Grö[email protected] 22

WeST PSW 2012

Current Status

Build on types and extracted schema

• Object Triple mapping • Class specifications (for incomplete data)• Schema extraction and type provider (e.g., F#)

Incomplete and flexible RDF data representation

• Missing type statements• Property-centric• Extendable

… or the trade-off between persistent data access and flexible representation

… how to bring these “worlds” together?

Page 23: Property-based Access of RDF Data

Gerd Grö[email protected] 23

WeST PSW 2012

Outline

1. Object Triple mapping

2. Class definitions like in OWL

3. Extract schema

How to achieve a possible solution?

How should a solution look like?

Our vision / statement

Page 24: Property-based Access of RDF Data

Gerd Grö[email protected] 24

WeST PSW 2012

Statement

New Programming Paradigm:

“Property-based typing for RDF data access”

Basic idea:

Data “Typing”

Types(incomplete)

+Traits:Set of

properties

API- specify operations

Page 25: Property-based Access of RDF Data

Gerd Grö[email protected] 25

WeST PSW 2012

Example (Property-based Access)

alice rdf:type ex:citizen.

bob rdf:type ex:citizen.

dave rdf:type ex:citizen.

alice foaf:name "Alice".

alice foaf:mbox "[email protected]".

alice foaf:interest <http://wikipedia.org/Literature>

bob foaf:name "Bob".

bob foaf:mbox "[email protected]".

bob foaf:interest <http://wikipedia.org/Cinema>

candy foaf:name "Candy".

candy foaf:mbox "[email protected]".

dave foaf:name "Dave".

dave foaf:mbox "[email protected]".

Traits:- foaf:mbox- foaf:name

Page 26: Property-based Access of RDF Data

Gerd Grö[email protected] 26

WeST PSW 2012

Conclusion … Discussion

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?

New Programming Paradigm: “Property-based typing for RDF data access”

Page 27: Property-based Access of RDF Data

Gerd Grö[email protected] 27

WeST PSW 2012

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)?

Page 28: Property-based Access of RDF Data

Gerd Grö[email protected] 28

WeST PSW 2012

Discussion: Challenges (2)

Incompleteness

1. How to interpret a missing property?➔ Missing or unknown?

2. How to achieve type inference (like in RDFS)?

Page 29: Property-based Access of RDF Data

Gerd Grö[email protected] 29

WeST PSW 2012

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?