SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
CONTEXT-AWARE 

ACCESS CONTROL AND
PRESENTATION OF LINKED DATA
PhD Thesis Defence 

Luca COSTABELLO

29 November 2013
Mobile Guide

“Is it optimized for my tablet?”

“Does it have a visuallyimpaired mode?”
“Does it provide practical
information when I am on my way?”

Museum triplestore

“Paintings metadata
accessible only to on-site
visitors.”
“Museum Data accessible
this week only”
“Metadata can be edited
by employers only”

2
How Does

Mobile Context Influence Linked Data Access?


Mobile Context
Model

Context-Aware
Linked Data
Presentation


Context-Aware
Linked Data
Access control

3
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
4
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
5
Mobile Context Model
• PRISSMA Ontology

6
Domain independence
Coverage
Variable Context
Granularity
Extensibility
Core ontology
approach
Lightweight Ontology
Reuse of Existing
Terms
Availability on the Web

✓
 ✓
 ✓
 ✓
✓
✓
 ✓
✓
✓
✓
 ✓
✓
 ✓
 ✓

✓

PRISSMA

DCO

Hervás

Korpipää

CoDaMoS

CONON

CoOL

SOUPA

Context Ontologies

✓
 ✓
 ✓
✓
✓
✓
✓
 ✓
 ✓
✓
✓
✓
 ✓
7
The PRISSMA vocabulary
http://ns.inria.fr/prissma

8
Example: at the museum


:atTheMuseum a prissma:Context ;!
prissma:environment :museumEnv .!
!
prissma:Context
:museumEnv a prissma:Environment ;!
:atTheMuseum
prissma:poi :museumGeo.!
!
prissma:environment
:museumGeo geo:lat "48.86034" ;!
geo:long "2.337599" ;!
prissma:Environment
prissma:radius ”200" .!
:museumEnv
!
prissma:poi
:museumGeo
geo:lat
48.86034

prissma:radius

geo:long
200
2.337599
9
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
10
Presentation Model
• Extending Fresnel with PRISSMA

11
✓

Linked Data
support
Context-awareness

✓ ✓

Standard Languages

✓

✓ ✓
✓

✓ ✓

✓

✓

✓

Runtime adaptation

✓

✓

✓
 ✓
 ✓
✓
 ✓
 ✓
✓

Multimodality

✓

Client-side only
Evaluation

PRISSMA

CSS Media
Queries

COIN

Adipat

CAMB

MIMOSA

Paternò

Butter

Chamaleon

Zhang

Chen

Laakko

NAC

Adaptive Presentation Frameworks for the Web

✓

✓



✓
 ✓
 ✓
 ✓
✓

✓
 ✓
12
Declarative
approach
Domain
Independence
Standard Languages
Context Awareness

PRISSMA

Fresnel

LDVM

Hide the
Stack

LESS

Tal4Rdf

Xenon

Surrogates

Noadster

Haystack

Presentation Frameworks for the Semantic Web

✓
✓
 ✓
 ✓
 ✓
 ✓
 ✓
 ✓
 ✓
✓
 ✓
 ✓
 ✓
 ✓
✓
 ✓
 ✓
✓
✓
 ✓
✓
 ✓
 ✓
 ✓
✓

Automatic
stylesheets

✓

Evaluation

✓

Distribution
Multimodality

✓

✓

✓
 ✓
13
Fresnel

[Pietriga et al. 2006]

Content selection
and ordering!



Content formatting
and additional
content!

Styling instructions
for fonts, colors, and
borders!

Retrieved from [Pietriga et al. 2006]

14
Fresnel Example
:paintingGroup a fresnel:Group ;!
fresnel:stylesheetLink <http://example.org/style.css> .!
!
!
:paintingLens a fresnel:Lens;!
fresnel:group :paintingGroup ;!
Lens
fresnel:classLensDomain art:Painting ;!
fresnel:showProperties (dc:title!
dc:creator) .!
!
!
:titleFormat a fresnel:Format ;!
!fresnel:group :paintingGroup ;!
Format
!fresnel:propertyFormatDomain dc:title ;!
!fresnel:valueStyle ”title"^^fresnel:styleClass .!
!
!
!
!
!
!
!
!
!
15
Extending Fresnel with PRISSMA
PRISSMA Context

Context

Context
Description

PRISSMA Prism

Prism

16
Extending Fresnel with PRISSMA
 [ISWC DC, 2011]
Prism

fresnel:group

fresnel:Group

Prism
owl:equivalentClass

fresnel:group

fresnel:purpose

fresnel:Lens
fresnel:Format

owl:equivalentClass

fresnel:Purpose

Context

17
Prism, Example
Prism

:PaintingPrism a prissma:Prism, fresnel:Group ;!
fresnel:stylesheetLink <http://example.org/style.css> ;!
!fresnel:purpose :atTheMuseum .!
!
:foaflens a fresnel:Lens;!
fresnel:group :foafPrism;!
Lens
fresnel:classLensDomain art:Painting ;!
fresnel:showProperties (foaf:name!
dcn:author) .!
!
:depictionFormat a fresnel:Format ;!
!fresnel:group :foafPrism ;!
Format
!fresnel:propertyFormatDomain foaf:name ;!
!fresnel:valueStyle "depiction"^^fresnel:styleClass .!
!
:atTheMuseum a prissma:Context ;!
Context
prissma:environment :museumEnv .!
!
:museumEnv a prissma:Environment ;!
prissma:poi :museumGeo .!
!
:museumGeo geo:lat "48.86034" ;!
geo:long "2.337599" ;!
prissma:radius ”200" .!
18
Examples




PRISSMA Browser for Android

Smartphone, user walking
in museum town.


Tablet, user at home.


19
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph
Matching for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
20
Error-Tolerant RDF Matching
• Prism Selection Algorithm

21
Presentation Metadata Selection
Prism

Prism

:smartphoneMoving

:tabletAtHome

Prism

:maleVisitorAtTheMuseum

:actualContext

22
The Problem of Context Imprecision

Ambiguity


Incompleteness


:user1

:user1
prissma:nearbyEntity

foaf:interest
"computers"

:user1
foaf:interest
"computer science"

Sensor Noise

:poi

geo:lat

prissma:radius
geo:long

:John

:Anita

:Karl

10

48.843453
2.32434

:user1

geo:lat

prissma:nearbyEntity

:Karl

:Anita

:poi
prissma:radius
geo:long
5

48.86034
2.337599

23
RDF-specific

✓
 ✓
 ✓

PRISSMA

Messmer and
Bunke

Zou

Silk

iSPARQL

Error-tolerant matching for RDF Graphs

✓

Data Heterogeneity

✓

Client-side Execution

✓

Incremental index updates

✓

✓
 ✓

Selective matching cache

24
Adapting Messmer to RDF and Mobile Context
Optimal error-tolerant subgraph isomorphism algorithm
based on graph edit distance.



Extensions:

• Atomic element might be
a graph: Context Units

•  Core Classes
:poi
•  Entities
geo:lat
prissma:radius
•  Literals
geo:long
10
•  Geo
48.843453
2.32434
•  Time

• Customized Cost Functions


•  Strings (Monge-Elkan)
•  Geographic (Haversine distance + Decay)
•  Temporal (Interval Inclusion + Decay)
•  Missing nodes

25
Prism Selection: Decomposition
:museumGeo
prissma:Context
prissma:Context
:atTheMuseum

0

prissma:radius
geo:lat
geo:lon

200
48.86034
-2.337599
1

prissma:Environment
2

prissma:environment

:museumEnv

prissma:Environment

prissma:poi
:museumGeo
geo:lat
48.86034

{3,1,2,{prissma:poi}}
prissma:radius

geo:long
200
2.337599

:atTheMuseum
{4,0,3,{prissma:environment}}

Context Units


26
Prism Selection: Search Algorithm!
1. Compute context units
isomorphisms costs

prissma:environment
:ActualCtx

1 
2 
3 
4 
5 
6 
7 
8 
9 

foreach context unit S in D do!
compute_subgraph_isomorphisms(S,GI)!
!
C=0!
while C(fcheapest)< T { !
if S1 is Prism then!
prissma:Context
R.add(S1)!
0
!
foreach child of S1 do!
fchild= combine(fS1,fS2)!

10 
11 

prissma:poi
:actualPOI

:actualEnv

geo:lat
prissma:radius
geo:long
10

}!
return R!

48.843453
2.32434

C=0.34
!

C=0!

:museumGeo
prissma:radius
geo:lat
geo:lon

200
48.86034
-2.337599
1

prissma:Environment
2

{3,1,2,{prissma:poi}}

:atTheMuseum
{4,0,3,{prissma:environment}}
27
Prism Selection: Search Algorithm!
prissma:environment
:ActualCtx

1 
2 
3 
4 
5 
6 
7 
8 
9 

foreach context unit S in D do!
compute_subgraph_isomorphisms(S,GI)!
!
C=0!✓
while C(fcheapest)< T { !
if S1 is Prism then!
prissma:Context
R.add(S1)!
0
!
foreach child of S1 do!
fchild= combine(fS1,fS2)!

10 
11 

prissma:poi
:actualPOI

:actualEnv

geo:lat
prissma:radius
geo:long
10

}!
return R!

48.843453
2.32434

C=0.34
!

C=0!✓

✓

:museumGeo
prissma:radius
geo:lat
geo:lon

200
48.86034
-2.337599
1

prissma:Environment
2

C=0.17! ✓

{3,1,2,{prissma:poi}}

T=0.6!
C=0.09! ✓

2. Combine costs

:atTheMuseum
{4,0,3,{prissma:environment}}
28
Evaluation: Memory Consumption

250

20

Memory [KB]

25

Decomposition Items

300

200
150
100
50
0
0.1

0.3

0.5

0.7

0.9

Percentage of common context units
Total decomposition Items
Context Units (decomposition)
Context Units (raw prisms)

15
10
5
0
0.1

0.3

0.5

0.7

0.9

Percentage of common context units
PRISSMA decomposition 

Jena Models

29
Evaluation: Response Time

→

If prisms are completely different

if prisms are highly
similar

30
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
31
Access Control Model

32
SPARQL

✓

✓

Policies in RDF/
SPARQL

✓

✓

Context Awareness

✓
✓
✓

✓

✓
 ✓

Resource-level
Granularity

Shi3ld

ubiCosm

PPO

✓

✓

Attribute-Based AC
Model

Flouris

Abel

✓

✓

Finin

HTTP Operations

Proteus

WAC

Access Control Frameworks

✓

✓

✓
 ✓

✓

✓
✓

✓

✓

Conflict Verification

✓

✓

✓

Evaluation

✓
 ✓

✓

✓
 ✓
33
Context-Aware Access Control Model

[ECAI 2012]



s4ac:[Villata 2011]
DisjunctiveACS
subClassOf

hasAccessPrivilege

hasAccessConditionSet

subClassOf

ConjunctiveACS

appliesTo

AccessPolicy

AccessPrivilege

AccessConditionSet
hasAccessCondition

AccessCondition
hasQueryAsk

Device

device

hasContext

Context

User
user

environment

Environment

34
Sample Access Policy
:policy1 a s4ac:AccessPolicy; !
Protected resource
s4ac:appliesTo :resource; !
s4ac:hasAccessPrivilege s4ac:Read;!
s4ac:hasAccessConditionSet :acs1.!
!
Access Condition to be verified:
:acs1 a s4ac:AccessConditionSet; !
«User must be John and request must
s4ac:hasAccessCondition :ac1.!
come from a specific location»
!
:ac1 a s4ac:AccessCondition;!
! s4ac:hasQueryAsk !
!"""ASK !
!
!{?ctx a prissma:Context; !
!
!
prissma:environment ?env;!
!
!
prissma:user <http://example.org/john.rdf#me>. !
!
!?env prissma:currentPOI ?poi. !
!
!?poi prissma:based_near ?p.!
!
!?p geo:lat ?lat;geo:lon ?lon.!
!
!FILTER(((?lat-45.8483) > 0 && (?lat-45.8483) < 0.5!
!
!|| (?lat-45.8483) < 0 && (?lat-45.8483) > -0.5)!
!
!&& ((?lon-7.3263) > 0 && (?lon-7.3263) < 0.5 !
!
!|| (?lon-7.3263) < 0 && (?lon-7.3263) > -0.5 ))}""".!

35
Policy Manager
New Named Graph
creation

Access Privileges assignment

36
Policy Manager

Location-based access condition

Time-based access condition

37
Outline

1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control

38
Enforcing Access Control
• The Shi3ld Framework

39
Shi3ld Framework
SPARQL (Shi3ld-SPARQL)
 [ECAI 2012]

SELECT … !
WHERE {…}!
GET /data/resource HTTP/1.1!

HTTP Operations (Shi3ld-HTTP)

[ESWC 2013]

• SPARQL Graph Store Protocol (GSP)
• Linked Data Platform (SPARQL-less)
40
Authorization Procedure
1. Adding Client Attributes to the Query (SPARQL)

SELECT … !
WHERE {…}!

+

INSERT DATA { !
GRAPH :ctx1{…}
}!
:ctx_AC1
p:user p:environment

Context
user
device environment

Device
Environment

:env_AC1
<http://carl-johnson.org#me>
p:nearbyEntity
User
p:nearbyEntity
"male"
foaf:gender

<http://alice.org#me>

41
Authorization Procedure
1. Adding Client Attributes to the Query (HTTP)

GET /data/resource HTTP/1.1!
Host: example.org!
!
Authorization: Shi3ld <...>!
:ctx_AC1

Context

p:user p:environment

user
device environment

User

Device
Environment

:env_AC1
<http://carl-johnson.org#me>
p:nearbyEntity
p:nearbyEntity
"male"
foaf:gender

<http://alice.org#me>

42
Authorization Procedure
2. Access Conditions Execution

=

ASK {?context a prissma:Context; !
prissma:user ?u;!
prissma:environment ?e.!
?u rel:employedBy :Louvre_Museum.!
?e prissma:nearbyEntity :Director. !
} !
VALUES (?context) {(:client_attributes)}!

GET /data/resource HTTP/1.1!
Host: example.org!
Authorization: Shi3ld <...>!

"false"

INSERT DATA { !
GRAPH :ctx1{…}
}!

43
Authorization Procedure


3. Response Construction (SPARQL)
:ng1!
:ng3!

:ng2!

SELECT … !
WHERE {…}!
SELECT …!
FROM :ng2,:ng3!
WHERE {…}!

44
Authorization Procedure


3. Response Construction (HTTP)

401 Unauthorized!

45
Response Time Evaluation (Shi3ld-SPARQL)

Corese-KGRAM SPARQL Engine 3.0.14 with Berlin SPARQL Benchmark Dataset 3.1

Dataset size still predominant


Small fraction access granted → Faster

More context updates, more consumers → Slower

46
Response Time Evaluation (Shi3ld-HTTP)
Jena Fuseki 0.2.6 (Shi3ld-GSP), Corese-KGRAM 3.0.14 (Shi3ld-LDP)

•  Response time linear w/ AC number

•  Shi3ld-HTTP SPARQL-less: 25% faster


•  AC complexity does not affect
response time


47
Conclusions

48
How Does

Mobile Context Influence Linked Data Access?


1

Mobile Context Model

2


Presentation Model

3


Error-Tolerant Subgraph Matching
for Context Graphs

4


Access Control Model

5

Enforcing Access Control with
Web Standards
49
Limitations and Open Issues

1

Mobile Context Model

2


Presentation Model

3


Prisms Distribution: Linked
Presentation-level Metadata.
Machine learning to optimize cost
functions parameterization.

Error-Tolerant Subgraph Matching
for Context Graphs

User acceptability evaluation
campaign.

4

5

Access Control Model

Enforcing Access Control with
Web Standards

Explanation mechanism for
“access denied” responses. 
Trustworthiness of Client
Context
Deeper privacy-preserving
mechanism.
50
Perspectives

Context-based Linked Data Discovery

Enhanced Information Retrieval for mobile users

Web of Data interlinking

51
•  L. Costabello. PRISSMA, Towards Mobile Adaptive Presentation of the Web of Data.
Doctoral Consortium, ISWC 2011.
•  L. Costabello, S. Villata, N. Delaforge and F. Gandon. Linked Data Access Goes Mobile:
Context-Aware Authorization for Graph Stores, LDOW 2012.
•  L. Costabello, S. Villata and F. Gandon. Context-Aware Access Control for RDF Graph
Stores. ECAI 2012.
•  S. Villata, L. Costabello, N. Delaforge and F. Gandon. A Social Semantic Web Access
Control Model. Journal on Data Semantics, Springer, 2013.
•  L. Costabello, S. Villata. O. Rodriguez-Rocha and F. Gandon. Access Control for HTTP
Operations on Linked Data, ESWC 2013.

PRISSMA
 wimmics.inria.fr/projects/prissma
Shi3ld
 wimmics.inria.fr/projects/shi3ld
http://luca.costabello.info

Thanks 

52

Weitere ähnliche Inhalte

Andere mochten auch

End of third period
End of third periodEnd of third period
End of third period
vacablo
 
Mappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in ItaliaMappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in Italia
Salvatore Infantino
 
Progetto di ricerca rischio idrogeologico e sismico
Progetto di ricerca rischio idrogeologico e sismicoProgetto di ricerca rischio idrogeologico e sismico
Progetto di ricerca rischio idrogeologico e sismico
Provincia Di Teramo
 
Ieee project-2014-2015-context-based-access-control-systems
Ieee project-2014-2015-context-based-access-control-systemsIeee project-2014-2015-context-based-access-control-systems
Ieee project-2014-2015-context-based-access-control-systems
Steph Cliche
 
Il dissesto idrogeologico
Il dissesto idrogeologicoIl dissesto idrogeologico
Il dissesto idrogeologico
geosarapat
 
Access control presentation
Access control presentationAccess control presentation
Access control presentation
Saqib Raza
 

Andere mochten auch (19)

End of third period
End of third periodEnd of third period
End of third period
 
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
 
Context based access control systems for mobile devices
Context based access control systems for mobile devicesContext based access control systems for mobile devices
Context based access control systems for mobile devices
 
Mappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in ItaliaMappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in Italia
 
Tecniche di acquisizione dati mediante UAV (unmanned aerial vehicle) per il m...
Tecniche di acquisizione dati mediante UAV (unmanned aerial vehicle) per il m...Tecniche di acquisizione dati mediante UAV (unmanned aerial vehicle) per il m...
Tecniche di acquisizione dati mediante UAV (unmanned aerial vehicle) per il m...
 
Rischio idrogeologico
Rischio idrogeologicoRischio idrogeologico
Rischio idrogeologico
 
CNR DPC Imparare dagli eventi naturali
CNR DPC Imparare dagli eventi naturaliCNR DPC Imparare dagli eventi naturali
CNR DPC Imparare dagli eventi naturali
 
Progetto di ricerca rischio idrogeologico e sismico
Progetto di ricerca rischio idrogeologico e sismicoProgetto di ricerca rischio idrogeologico e sismico
Progetto di ricerca rischio idrogeologico e sismico
 
VEDO E PREVEDO: CAPIRE IL FUTURO PER CAMBIARE IL PRESENTE - IL DISSESTO IDROG...
VEDO E PREVEDO: CAPIRE IL FUTURO PER CAMBIARE IL PRESENTE - IL DISSESTO IDROG...VEDO E PREVEDO: CAPIRE IL FUTURO PER CAMBIARE IL PRESENTE - IL DISSESTO IDROG...
VEDO E PREVEDO: CAPIRE IL FUTURO PER CAMBIARE IL PRESENTE - IL DISSESTO IDROG...
 
WWF: SI RIPARTA DAL VAJONT PER RIPENSARE IL TERRITORIO
WWF: SI RIPARTA DAL VAJONT  PER RIPENSARE IL TERRITORIOWWF: SI RIPARTA DAL VAJONT  PER RIPENSARE IL TERRITORIO
WWF: SI RIPARTA DAL VAJONT PER RIPENSARE IL TERRITORIO
 
Ieee project-2014-2015-context-based-access-control-systems
Ieee project-2014-2015-context-based-access-control-systemsIeee project-2014-2015-context-based-access-control-systems
Ieee project-2014-2015-context-based-access-control-systems
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource Authorization
 
Access control
Access controlAccess control
Access control
 
Il dissesto idrogeologico
Il dissesto idrogeologicoIl dissesto idrogeologico
Il dissesto idrogeologico
 
Access control presentation
Access control presentationAccess control presentation
Access control presentation
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and Practice
 
8 Access Control
8 Access Control8 Access Control
8 Access Control
 
Android security
Android securityAndroid security
Android security
 
CCNA Access Lists
CCNA Access ListsCCNA Access Lists
CCNA Access Lists
 

Ähnlich wie Context-Aware Access Control and Presentation of Linked Data

How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
4Science
 
Scratchpads past,present,future
Scratchpads past,present,futureScratchpads past,present,future
Scratchpads past,present,future
Edward Baker
 
The Matrix: connecting and re-using digital records of archaeological investi...
The Matrix: connecting and re-using digital records of archaeological investi...The Matrix: connecting and re-using digital records of archaeological investi...
The Matrix: connecting and re-using digital records of archaeological investi...
Keith.May
 

Ähnlich wie Context-Aware Access Control and Presentation of Linked Data (20)

Error-Tolerant RDF Subgraph Matching for Adaptive Presentation of Linked Data...
Error-Tolerant RDF Subgraph Matching for Adaptive Presentation of Linked Data...Error-Tolerant RDF Subgraph Matching for Adaptive Presentation of Linked Data...
Error-Tolerant RDF Subgraph Matching for Adaptive Presentation of Linked Data...
 
Improving computer vision models at scale presentation
Improving computer vision models at scale presentationImproving computer vision models at scale presentation
Improving computer vision models at scale presentation
 
Improving computer vision models at scale presentation
Improving computer vision models at scale presentationImproving computer vision models at scale presentation
Improving computer vision models at scale presentation
 
DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!
 
Hierarchical clustering in Python and beyond
Hierarchical clustering in Python and beyondHierarchical clustering in Python and beyond
Hierarchical clustering in Python and beyond
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to Respond
 
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
 
Scratchpads past,present,future
Scratchpads past,present,futureScratchpads past,present,future
Scratchpads past,present,future
 
MRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph modelsMRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph models
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
Drupal Day 2011 - Drupal and the rise of the documents
Drupal Day 2011 - Drupal and the rise of the documentsDrupal Day 2011 - Drupal and the rise of the documents
Drupal Day 2011 - Drupal and the rise of the documents
 
Scratchpads: past, present and future
Scratchpads: past, present and futureScratchpads: past, present and future
Scratchpads: past, present and future
 
Scratchpads: past, present and future
Scratchpads: past, present and futureScratchpads: past, present and future
Scratchpads: past, present and future
 
Context-aware Recommender Systems for Opportunistic Environments
Context-aware Recommender Systems for Opportunistic EnvironmentsContext-aware Recommender Systems for Opportunistic Environments
Context-aware Recommender Systems for Opportunistic Environments
 
Elasticsearch - basics and beyond
Elasticsearch - basics and beyondElasticsearch - basics and beyond
Elasticsearch - basics and beyond
 
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
 
Knowing it all
Knowing it allKnowing it all
Knowing it all
 
Ux for data exploration
Ux for data explorationUx for data exploration
Ux for data exploration
 
The Matrix: connecting and re-using digital records of archaeological investi...
The Matrix: connecting and re-using digital records of archaeological investi...The Matrix: connecting and re-using digital records of archaeological investi...
The Matrix: connecting and re-using digital records of archaeological investi...
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Context-Aware Access Control and Presentation of Linked Data

  • 1. CONTEXT-AWARE 
 ACCESS CONTROL AND PRESENTATION OF LINKED DATA PhD Thesis Defence Luca COSTABELLO 29 November 2013
  • 2. Mobile Guide “Is it optimized for my tablet?” “Does it have a visuallyimpaired mode?” “Does it provide practical information when I am on my way?” Museum triplestore “Paintings metadata accessible only to on-site visitors.” “Museum Data accessible this week only” “Metadata can be edited by employers only” 2
  • 3. How Does Mobile Context Influence Linked Data Access? Mobile Context Model Context-Aware Linked Data Presentation Context-Aware Linked Data Access control 3
  • 4. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 4
  • 5. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 5
  • 7. Domain independence Coverage Variable Context Granularity Extensibility Core ontology approach Lightweight Ontology Reuse of Existing Terms Availability on the Web ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ PRISSMA DCO Hervás Korpipää CoDaMoS CONON CoOL SOUPA Context Ontologies ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ 7
  • 9. Example: at the museum
 :atTheMuseum a prissma:Context ;! prissma:environment :museumEnv .! ! prissma:Context :museumEnv a prissma:Environment ;! :atTheMuseum prissma:poi :museumGeo.! ! prissma:environment :museumGeo geo:lat "48.86034" ;! geo:long "2.337599" ;! prissma:Environment prissma:radius ”200" .! :museumEnv ! prissma:poi :museumGeo geo:lat 48.86034 prissma:radius geo:long 200 2.337599 9
  • 10. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 10
  • 12. ✓ Linked Data support Context-awareness ✓ ✓ Standard Languages ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Runtime adaptation ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Multimodality ✓ Client-side only Evaluation PRISSMA CSS Media Queries COIN Adipat CAMB MIMOSA Paternò Butter Chamaleon Zhang Chen Laakko NAC Adaptive Presentation Frameworks for the Web ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ 12
  • 13. Declarative approach Domain Independence Standard Languages Context Awareness PRISSMA Fresnel LDVM Hide the Stack LESS Tal4Rdf Xenon Surrogates Noadster Haystack Presentation Frameworks for the Semantic Web ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Automatic stylesheets ✓ Evaluation ✓ Distribution Multimodality ✓ ✓ ✓ ✓ 13
  • 14. Fresnel [Pietriga et al. 2006] Content selection and ordering! Content formatting and additional content! Styling instructions for fonts, colors, and borders! Retrieved from [Pietriga et al. 2006] 14
  • 15. Fresnel Example :paintingGroup a fresnel:Group ;! fresnel:stylesheetLink <http://example.org/style.css> .! ! ! :paintingLens a fresnel:Lens;! fresnel:group :paintingGroup ;! Lens fresnel:classLensDomain art:Painting ;! fresnel:showProperties (dc:title! dc:creator) .! ! ! :titleFormat a fresnel:Format ;! !fresnel:group :paintingGroup ;! Format !fresnel:propertyFormatDomain dc:title ;! !fresnel:valueStyle ”title"^^fresnel:styleClass .! ! ! ! ! ! ! ! ! ! 15
  • 16. Extending Fresnel with PRISSMA PRISSMA Context Context Context Description PRISSMA Prism Prism 16
  • 17. Extending Fresnel with PRISSMA [ISWC DC, 2011] Prism fresnel:group fresnel:Group Prism owl:equivalentClass fresnel:group fresnel:purpose fresnel:Lens fresnel:Format owl:equivalentClass fresnel:Purpose Context 17
  • 18. Prism, Example Prism :PaintingPrism a prissma:Prism, fresnel:Group ;! fresnel:stylesheetLink <http://example.org/style.css> ;! !fresnel:purpose :atTheMuseum .! ! :foaflens a fresnel:Lens;! fresnel:group :foafPrism;! Lens fresnel:classLensDomain art:Painting ;! fresnel:showProperties (foaf:name! dcn:author) .! ! :depictionFormat a fresnel:Format ;! !fresnel:group :foafPrism ;! Format !fresnel:propertyFormatDomain foaf:name ;! !fresnel:valueStyle "depiction"^^fresnel:styleClass .! ! :atTheMuseum a prissma:Context ;! Context prissma:environment :museumEnv .! ! :museumEnv a prissma:Environment ;! prissma:poi :museumGeo .! ! :museumGeo geo:lat "48.86034" ;! geo:long "2.337599" ;! prissma:radius ”200" .! 18
  • 19. Examples
 PRISSMA Browser for Android Smartphone, user walking in museum town. Tablet, user at home. 19
  • 20. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 20
  • 21. Error-Tolerant RDF Matching • Prism Selection Algorithm 21
  • 23. The Problem of Context Imprecision Ambiguity Incompleteness :user1 :user1 prissma:nearbyEntity foaf:interest "computers" :user1 foaf:interest "computer science" Sensor Noise :poi geo:lat prissma:radius geo:long :John :Anita :Karl 10 48.843453 2.32434 :user1 geo:lat prissma:nearbyEntity :Karl :Anita :poi prissma:radius geo:long 5 48.86034 2.337599 23
  • 24. RDF-specific ✓ ✓ ✓ PRISSMA Messmer and Bunke Zou Silk iSPARQL Error-tolerant matching for RDF Graphs ✓ Data Heterogeneity ✓ Client-side Execution ✓ Incremental index updates ✓ ✓ ✓ Selective matching cache 24
  • 25. Adapting Messmer to RDF and Mobile Context Optimal error-tolerant subgraph isomorphism algorithm based on graph edit distance. Extensions: • Atomic element might be a graph: Context Units •  Core Classes :poi •  Entities geo:lat prissma:radius •  Literals geo:long 10 •  Geo 48.843453 2.32434 •  Time • Customized Cost Functions •  Strings (Monge-Elkan) •  Geographic (Haversine distance + Decay) •  Temporal (Interval Inclusion + Decay) •  Missing nodes 25
  • 27. Prism Selection: Search Algorithm! 1. Compute context units isomorphisms costs prissma:environment :ActualCtx 1  2  3  4  5  6  7  8  9  foreach context unit S in D do! compute_subgraph_isomorphisms(S,GI)! ! C=0! while C(fcheapest)< T { ! if S1 is Prism then! prissma:Context R.add(S1)! 0 ! foreach child of S1 do! fchild= combine(fS1,fS2)! 10  11  prissma:poi :actualPOI :actualEnv geo:lat prissma:radius geo:long 10 }! return R! 48.843453 2.32434 C=0.34 ! C=0! :museumGeo prissma:radius geo:lat geo:lon 200 48.86034 -2.337599 1 prissma:Environment 2 {3,1,2,{prissma:poi}} :atTheMuseum {4,0,3,{prissma:environment}} 27
  • 28. Prism Selection: Search Algorithm! prissma:environment :ActualCtx 1  2  3  4  5  6  7  8  9  foreach context unit S in D do! compute_subgraph_isomorphisms(S,GI)! ! C=0!✓ while C(fcheapest)< T { ! if S1 is Prism then! prissma:Context R.add(S1)! 0 ! foreach child of S1 do! fchild= combine(fS1,fS2)! 10  11  prissma:poi :actualPOI :actualEnv geo:lat prissma:radius geo:long 10 }! return R! 48.843453 2.32434 C=0.34 ! C=0!✓ ✓ :museumGeo prissma:radius geo:lat geo:lon 200 48.86034 -2.337599 1 prissma:Environment 2 C=0.17! ✓ {3,1,2,{prissma:poi}} T=0.6! C=0.09! ✓ 2. Combine costs :atTheMuseum {4,0,3,{prissma:environment}} 28
  • 29. Evaluation: Memory Consumption 250 20 Memory [KB] 25 Decomposition Items 300 200 150 100 50 0 0.1 0.3 0.5 0.7 0.9 Percentage of common context units Total decomposition Items Context Units (decomposition) Context Units (raw prisms) 15 10 5 0 0.1 0.3 0.5 0.7 0.9 Percentage of common context units PRISSMA decomposition Jena Models 29
  • 30. Evaluation: Response Time → If prisms are completely different if prisms are highly similar 30
  • 31. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 31
  • 33. SPARQL ✓ ✓ Policies in RDF/ SPARQL ✓ ✓ Context Awareness ✓ ✓ ✓ ✓ ✓ ✓ Resource-level Granularity Shi3ld ubiCosm PPO ✓ ✓ Attribute-Based AC Model Flouris Abel ✓ ✓ Finin HTTP Operations Proteus WAC Access Control Frameworks ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Conflict Verification ✓ ✓ ✓ Evaluation ✓ ✓ ✓ ✓ ✓ 33
  • 34. Context-Aware Access Control Model [ECAI 2012] s4ac:[Villata 2011] DisjunctiveACS subClassOf hasAccessPrivilege hasAccessConditionSet subClassOf ConjunctiveACS appliesTo AccessPolicy AccessPrivilege AccessConditionSet hasAccessCondition AccessCondition hasQueryAsk Device device hasContext Context User user environment Environment 34
  • 35. Sample Access Policy :policy1 a s4ac:AccessPolicy; ! Protected resource s4ac:appliesTo :resource; ! s4ac:hasAccessPrivilege s4ac:Read;! s4ac:hasAccessConditionSet :acs1.! ! Access Condition to be verified: :acs1 a s4ac:AccessConditionSet; ! «User must be John and request must s4ac:hasAccessCondition :ac1.! come from a specific location» ! :ac1 a s4ac:AccessCondition;! ! s4ac:hasQueryAsk ! !"""ASK ! ! !{?ctx a prissma:Context; ! ! ! prissma:environment ?env;! ! ! prissma:user <http://example.org/john.rdf#me>. ! ! !?env prissma:currentPOI ?poi. ! ! !?poi prissma:based_near ?p.! ! !?p geo:lat ?lat;geo:lon ?lon.! ! !FILTER(((?lat-45.8483) > 0 && (?lat-45.8483) < 0.5! ! !|| (?lat-45.8483) < 0 && (?lat-45.8483) > -0.5)! ! !&& ((?lon-7.3263) > 0 && (?lon-7.3263) < 0.5 ! ! !|| (?lon-7.3263) < 0 && (?lon-7.3263) > -0.5 ))}""".! 35
  • 36. Policy Manager New Named Graph creation Access Privileges assignment 36
  • 37. Policy Manager Location-based access condition Time-based access condition 37
  • 38. Outline 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control 38
  • 39. Enforcing Access Control • The Shi3ld Framework 39
  • 40. Shi3ld Framework SPARQL (Shi3ld-SPARQL) [ECAI 2012] SELECT … ! WHERE {…}! GET /data/resource HTTP/1.1! HTTP Operations (Shi3ld-HTTP) [ESWC 2013] • SPARQL Graph Store Protocol (GSP) • Linked Data Platform (SPARQL-less) 40
  • 41. Authorization Procedure 1. Adding Client Attributes to the Query (SPARQL) SELECT … ! WHERE {…}! + INSERT DATA { ! GRAPH :ctx1{…} }! :ctx_AC1 p:user p:environment Context user device environment Device Environment :env_AC1 <http://carl-johnson.org#me> p:nearbyEntity User p:nearbyEntity "male" foaf:gender <http://alice.org#me> 41
  • 42. Authorization Procedure 1. Adding Client Attributes to the Query (HTTP) GET /data/resource HTTP/1.1! Host: example.org! ! Authorization: Shi3ld <...>! :ctx_AC1 Context p:user p:environment user device environment User Device Environment :env_AC1 <http://carl-johnson.org#me> p:nearbyEntity p:nearbyEntity "male" foaf:gender <http://alice.org#me> 42
  • 43. Authorization Procedure 2. Access Conditions Execution = ASK {?context a prissma:Context; ! prissma:user ?u;! prissma:environment ?e.! ?u rel:employedBy :Louvre_Museum.! ?e prissma:nearbyEntity :Director. ! } ! VALUES (?context) {(:client_attributes)}! GET /data/resource HTTP/1.1! Host: example.org! Authorization: Shi3ld <...>! "false" INSERT DATA { ! GRAPH :ctx1{…} }! 43
  • 44. Authorization Procedure
 3. Response Construction (SPARQL) :ng1! :ng3! :ng2! SELECT … ! WHERE {…}! SELECT …! FROM :ng2,:ng3! WHERE {…}! 44
  • 45. Authorization Procedure
 3. Response Construction (HTTP) 401 Unauthorized! 45
  • 46. Response Time Evaluation (Shi3ld-SPARQL) Corese-KGRAM SPARQL Engine 3.0.14 with Berlin SPARQL Benchmark Dataset 3.1 Dataset size still predominant Small fraction access granted → Faster More context updates, more consumers → Slower 46
  • 47. Response Time Evaluation (Shi3ld-HTTP) Jena Fuseki 0.2.6 (Shi3ld-GSP), Corese-KGRAM 3.0.14 (Shi3ld-LDP) •  Response time linear w/ AC number •  Shi3ld-HTTP SPARQL-less: 25% faster •  AC complexity does not affect response time 47
  • 49. How Does Mobile Context Influence Linked Data Access? 1 Mobile Context Model 2 Presentation Model 3 Error-Tolerant Subgraph Matching for Context Graphs 4 Access Control Model 5 Enforcing Access Control with Web Standards 49
  • 50. Limitations and Open Issues 1 Mobile Context Model 2 Presentation Model 3 Prisms Distribution: Linked Presentation-level Metadata. Machine learning to optimize cost functions parameterization. Error-Tolerant Subgraph Matching for Context Graphs User acceptability evaluation campaign. 4 5 Access Control Model Enforcing Access Control with Web Standards Explanation mechanism for “access denied” responses. Trustworthiness of Client Context Deeper privacy-preserving mechanism. 50
  • 51. Perspectives Context-based Linked Data Discovery Enhanced Information Retrieval for mobile users Web of Data interlinking 51
  • 52. •  L. Costabello. PRISSMA, Towards Mobile Adaptive Presentation of the Web of Data. Doctoral Consortium, ISWC 2011. •  L. Costabello, S. Villata, N. Delaforge and F. Gandon. Linked Data Access Goes Mobile: Context-Aware Authorization for Graph Stores, LDOW 2012. •  L. Costabello, S. Villata and F. Gandon. Context-Aware Access Control for RDF Graph Stores. ECAI 2012. •  S. Villata, L. Costabello, N. Delaforge and F. Gandon. A Social Semantic Web Access Control Model. Journal on Data Semantics, Springer, 2013. •  L. Costabello, S. Villata. O. Rodriguez-Rocha and F. Gandon. Access Control for HTTP Operations on Linked Data, ESWC 2013. PRISSMA wimmics.inria.fr/projects/prissma Shi3ld wimmics.inria.fr/projects/shi3ld http://luca.costabello.info Thanks 52