for Geospatial Linked Data Alan Meehan 1 , Kaniz Fatema 2 , Rob - - PowerPoint PPT Presentation

for geospatial linked data
SMART_READER_LITE
LIVE PREVIEW

for Geospatial Linked Data Alan Meehan 1 , Kaniz Fatema 2 , Rob - - PowerPoint PPT Presentation

License and Template Access Control for Geospatial Linked Data Alan Meehan 1 , Kaniz Fatema 2 , Rob Brennan 1 , Eamonn Clinton 3 , Lorraine McNerney 3 and Declan OSullivan 1 1 ADAPT Research Centre, Trinity College Dublin, Ireland 2 Department


slide-1
SLIDE 1

License and Template Access Control for Geospatial Linked Data

Alan Meehan1, Kaniz Fatema2, Rob Brennan1, Eamonn Clinton3, Lorraine McNerney3 and Declan O’Sullivan1

1ADAPT Research Centre, Trinity College Dublin, Ireland 2Department of Computing, University of Derby, United Kingdom 3Ordnance Survey Ireland, Dublin, Ireland

The ADAPT Centre is funded under the SFI Research Centres Programme (Grant 13/RC/2106) and is co-funded under the European Regional Development Fund.

slide-2
SLIDE 2

www.adaptcentre.ie

Outline

  • Motivation
  • Requirements and Use Cases
  • Research Objective
  • Access Control Approach
  • Overview of proposed components and how it works
  • Case study
  • Conclusion

2

slide-3
SLIDE 3

www.adaptcentre.ie

Motivation

  • Geospatial Linked Data space expanding
  • Benefits:
  • Data enrichment through links
  • Serve fine grain data on the web
  • As time goes on - more institutions will utilize Linked Data to serve

users/customers

  • Institutions have proprietary (closed) data:
  • Geospatial data especially painstaking to collect
  • Need for an access control to ensure restricted data is not accessed by

users/customers

3

slide-4
SLIDE 4

www.adaptcentre.ie

Ordnance Survey Ireland (OSi)

  • OSi holds both open data and proprietary data
  • Building data particularly valuable that they serve to customers
  • Current process of serving data to customers inefficient
  • New process:
  • Convert building data to LD
  • Serve data on the web to customers via an access control approach
  • Irelands national mapping

agency

  • Authoritative geospatial

information

4

slide-5
SLIDE 5

www.adaptcentre.ie

Requirements and Use Cases

  • Requirements:
  • Customers wants modelled declaratively to facilitate easy management

(license)

  • A set of customer wants have limited use and duration
  • Allow customers to check status of their license(s)
  • Perform 5 specific use cases but flexible enough to accommodate

future data access use cases

  • Use Cases:

1. Retrieve the nearest X number of buildings around a point. 2. Retrieve the nearest X number of commercial buildings around a point 3. Retrieve the nearest X number of buildings around another building. 4. Retrieve all buildings of a certain type in a polygon. 5. Retrieve all buildings of a certain type in a county. 5

slide-6
SLIDE 6

www.adaptcentre.ie

Research Objective

How can we develop an access control approach that is fine grain enough to capture the details of what a customer is allowed to access and flexible enough to meet the (potential) different data retrieval use cases of each customer, in a geospatial data retrieval scenario?

6

slide-7
SLIDE 7

www.adaptcentre.ie

Access Control Approach

  • Propose five parts to the approach:
  • Access Control Model
  • Licenses
  • Templates
  • RESTful API
  • Template Selector
  • Template Analyser
  • Query Processor

7

slide-8
SLIDE 8

www.adaptcentre.ie

Access Control Model

Vocabulary used to model:

  • License:
  • Use to model what a user is allowed to access
  • Expiry date
  • Number of uses
  • Template:
  • Used to model how data can be accessed
  • Contains a SPARQL query with variable placeholders
  • Models what each variable can contain

8

slide-9
SLIDE 9

www.adaptcentre.ie

License Example

ex:License1 a acon:License ; acon:hasLicenseField _:b1 ; acon:hasLicenseField _:b2 ; acon:hasLicenseField _:b3 ; acon:hasLicenseField _:b4 ; acon:licenseOwner ex:user1 ; acon:queryExecutionNumber "100"^^xsd:integer ; acon:licenseExpiryDate "2018-10-10"^^xsd:date . _:b1 a acon:FeaturesAllowed ; acon:licenseFieldValue geohiveb:Building . _:b2 a acon:GeographicalPoint ; acon:licenseFieldValue “POINT(-6.35 53.37)” . _:b3 a acon:Radius ; acon:licenseFieldValue “100” . _:b4 a acon:FeatureNumber ; acon:licenseFieldValue “10” .

9

slide-10
SLIDE 10

www.adaptcentre.ie

Template Example

ex:Template1 a acon:Template ; acon:hasVariable _:b1 ; acon:hasVariable _:b2 ; acon:hasVariable _:b3 ; acon:hasVariable _:b4 ; acon:templateDescription “This template will…” ; acon:query “”” PREFIX geo:<http://www.opengis.net/ont/geosparql#> PREFIX geof:<http://www.opengis.net/def/function/geosparql/> PREFIX units:<http://www.opengis.net/def/uom/OGC/1.0/> SELECT ?feature WHERE { ?feature a <$variable2> ; geo:hasGeometry ?g1. ?g1 geo:asWKT ?g1_wkt . BIND(geof:distance(“$variable4”^^geo:wktLiteral, ?g1_wkt, units:metre) as ?distance) FILTER( ?distance <= “$variable3”^^xsd:double) } LIMIT $variable1“””^^xsd:string . _:b1 a acon:TemplateVariable ; acon:variableOrder “1”^^xsd:integer ; acon:variableExpression acon:FeatureNumber . _:b2 a acon:TemplateVariable ; acon:variableOrder “2”^^xsd:integer ; acon:variableExpression geohiveb:Building . _:b3 a acon:TemplateVariable ; acon:variableOrder “3”^^xsd:integer ; acon:variableExpression acon:Radius . _:b4 a acon:TemplateVariable ; acon:variableOrder “4”^^xsd:integer ; acon:variableExpression acon:GeographicalPoint .

10

slide-11
SLIDE 11

www.adaptcentre.ie

Template Example

ex:Template1 a acon:Template ; acon:hasVariable _:b1 ; acon:hasVariable _:b2 ; acon:hasVariable _:b3 ; acon:hasVariable _:b4 ; acon:templateDescription “This template will…” ; acon:query “”” PREFIX geo:<http://www.opengis.net/ont/geosparql#> PREFIX geof:<http://www.opengis.net/def/function/geosparql/> PREFIX units:<http://www.opengis.net/def/uom/OGC/1.0/> SELECT ?feature WHERE { ?feature a <$variable2> ; geo:hasGeometry ?g1. ?g1 geo:asWKT ?g1_wkt . BIND(geof:distance(“$variable4”^^geo:wktLiteral, ?g1_wkt, units:metre) as ?distance) FILTER( ?distance <= “$variable3”^^xsd:double) } LIMIT $variable1“””^^xsd:string . _:b1 a acon:TemplateVariable ; acon:variableOrder “1”^^xsd:integer ; acon:variableExpression acon:FeatureNumber . _:b2 a acon:TemplateVariable ; acon:variableOrder “2”^^xsd:integer ; acon:variableExpression geohiveb:Building, geohive:Pylon . _:b3 a acon:TemplateVariable ; acon:variableOrder “3”^^xsd:integer ; acon:variableExpression acon:Radius . _:b4 a acon:TemplateVariable ; acon:variableOrder “4”^^xsd:integer ; acon:variableExpression acon:GeographicalPoint .

10

slide-12
SLIDE 12

www.adaptcentre.ie

RESTful API

Access through a RESTful API – Two calls:

  • Status Call:
  • Used to check the status of license(s)

/acon/status/{userID}

  • Query Call:
  • Used to get data

/acon/query/{userID}/{LicenseID}/{TemplateID}?variable1={variable _1_value}&variable2={variable_2_value}&variableN={variable_N_v alue}

11

slide-13
SLIDE 13

www.adaptcentre.ie

RESTful API

/acon/query/{userID}/{LicenseID}/{TemplateID}?variable1={variable _1_value}&variable2={variable_2_value}&variableN={variable_N_v alue} /acon/query/user1/License1/Template1?variable1=10&variable2= http://ontologies.geohive.ie/osi/building#Building&variable3=100&v ariable4=POINT(-6.35 53.37)

12

slide-14
SLIDE 14

www.adaptcentre.ie

Template Selector

  • Invoked by a Status Call:
  • Purpose to discover which templates allowable by user based on their

license(s)

  • Return that information to user

Checks made by Template Selector:

  • FOR each user license:
  • Check expiry date and execution number
  • FOR each template:
  • FOR each template variable:
  • Check template variable values against license field values
  • RETURN description of templates usable with each license

13

slide-15
SLIDE 15

www.adaptcentre.ie

Template Analyzer

  • Invoked by a Query Call:
  • Purpose to validate a query call

Checks made by Template Analyser:

  • Check license belongs to customer
  • Check expiry date and execution number
  • FOR each template variable:
  • Check template variable values against license field values
  • Check license field values against variables (from query call)
  • RETURN template and variables which is prepared for execution by Query

Processor 14

slide-16
SLIDE 16

www.adaptcentre.ie

Query Processor

  • Invoked by Template Analyser:
  • Purpose to substitute variables from call into SPARQL query from

template

  • Execute query and return result

/acon/query/user1/License1/Template1?variable1=10&variable2= http://ontologies.geohive.ie/osi/building#Building&variable3=100&variable4=PO INT(-6.35 53.37) SELECT ?feature WHERE { ?feature a <$variable2> ; geo:hasGeometry ?g1. ?g1 geo:asWKT ?g1_wkt . BIND(geof:distance(“$variable4”^^geo:wktLiteral, ?g1_wkt, units:metre) as ?distance) FILTER( ?distance <= “$variable3”^^xsd:double) } LIMIT $variable1 15

slide-17
SLIDE 17

www.adaptcentre.ie

How It Is Used

16 Specify what they want (i.e. Nearest 50 buildings around a point) User/customer Administrator Create license specifying what is allowed to be accessed Submit license into database. Create template to perform what customer wants (if necessary) Make call to the approach (RESTful):

  • Check status
  • Retrieve Data

Submit template into database.

slide-18
SLIDE 18

www.adaptcentre.ie

Case Study

Created:

  • Implemented of our access control approach:
  • Implemented in Python – hosted on Apache Web server
  • Using Parliament triple store

Performed:

  • Previous OSi customer wants modelled as licenses
  • Templates created for data access use cases
  • Made multiple calls using the approach against OSi building data

Checked:

  • Could model the customer wants and the use cases
  • Reject a query call when non-valid values specified
  • Allowed a query call with valid values specified
  • Check returned results

Observed:

  • No problems

17

slide-19
SLIDE 19

www.adaptcentre.ie

Conclusion

  • Research objective:

How can we develop an access control approach that is fine grain enough to capture the details of what a customer is allowed to access and flexible enough to meet the (potential) different data retrieval use cases of each customer, in a geospatial data retrieval scenario?

  • Access control approach for Geospatial Linked Data
  • Proposed implementation of our approach
  • Access Control Model: Flexible approach for modelling

user/customer wants and data retrieval use cases.

  • Case study showed usefulness in OSi data publication scenario

18

slide-20
SLIDE 20

www.adaptcentre.ie

Many Thanks

Questions?

Contact Email: alan.meehan@adaptcentre.ie