SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

End of third period
End of third periodEnd of third period
End of third periodvacablo
 
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...Giuseppe La Torre
 
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 devicesshanofa sanu
 
Mappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in ItaliaMappa del rischio idrogeologico in Italia
Mappa del rischio idrogeologico in ItaliaSalvatore Infantino
 
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...Giacomo Uguccioni
 
Rischio idrogeologico
Rischio idrogeologicoRischio idrogeologico
Rischio idrogeologicoRita Dallolio
 
CNR DPC Imparare dagli eventi naturali
CNR DPC Imparare dagli eventi naturaliCNR DPC Imparare dagli eventi naturali
CNR DPC Imparare dagli eventi naturaliDimitri Dello Buono
 
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 sismicoProvincia Di Teramo
 
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...Consorzio LaMMA - Corso UdC
 
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 TERRITORIOWWF ITALIA
 
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-systemsSteph Cliche
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationMark Niebergall
 
Il dissesto idrogeologico
Il dissesto idrogeologicoIl dissesto idrogeologico
Il dissesto idrogeologicogeosarapat
 
Access control presentation
Access control presentationAccess control presentation
Access control presentationSaqib Raza
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and PracticeNabeel Yoosuf
 

Destacado (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
 

Similar a Context-Aware Access Control and 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...
Error-Tolerant RDF Subgraph Matching for Adaptive Presentation of Linked Data...Luca Costabello
 
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 presentationDr. Mirko Kämpf
 
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 presentationJan Kunigk
 
DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!dclsocialmedia
 
Hierarchical clustering in Python and beyond
Hierarchical clustering in Python and beyondHierarchical clustering in Python and beyond
Hierarchical clustering in Python and beyondFrank Kelly
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondDenise Jacobs
 
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
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017miso_uam
 
Scratchpads past,present,future
Scratchpads past,present,futureScratchpads past,present,future
Scratchpads past,present,futureEdward Baker
 
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 modelsAntonio García-Domínguez
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
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 documentsDrupalDay
 
Scratchpads: past, present and future
Scratchpads: past, present and futureScratchpads: past, present and future
Scratchpads: past, present and futureVince Smith
 
Scratchpads: past, present and future
Scratchpads: past, present and futureScratchpads: past, present and future
Scratchpads: past, present and futureVince Smith
 
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 EnvironmentsMattia Campana
 
Elasticsearch - basics and beyond
Elasticsearch - basics and beyondElasticsearch - basics and beyond
Elasticsearch - basics and beyondErnesto Reig
 
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.)Oleksii Prohonnyi
 
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
 

Similar a 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...
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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.pdfsudhanshuwaghmare1
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

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