Transcript
Page 1: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

Center for Open Middleware

RDF Validation in a Linked Data world A vision beyond structural and value range validation

Miguel Esteban Gutiérrez, Raúl García Castro,

Nandana Mihindukulasooriya

RDF Validation WorkshopSeptember 10th-11th, 2013

Page 2: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

2

Linked Data & the ALM iStack Project

• Objective: To foster the adoption of Linked Data technologies as the means for facilitating application integration in enterprise-grade environments in the ALM domain

• Challenge:Provide the means for ensuring that the data exchanged between the applications of the enterprise portfolio is consistent and valid whilst keeping the integrity of the data in each of these applications

Page 3: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

3

Use case

Defect reception Verification

Diagnosis and

solution

Solution integration

Fix assignmen

t

Fix certificatio

n

Simplified Corrective Maintenance Process

http://sites.google.com/a/centeropenmiddleware.com/alm-istack/deliverables/R1.3_ALM_iStack_Proof-of-Concept.pdf

Page 4: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

4

Use case scenario

ChangeManagement

Requirement Management

Configuration Management

Quality Management

Asset Management

OrganizationManagement

ALM Application

Data model

Remote APIUser

Interface

LDP

Page 5: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

5

Linked Data Application “Maturity Model”

• Linked Data Enabled Application• Expose all or part of its data following the Linked Data principles • The data exposed is “sound and complete” from the application

perspective

• Linked Data Capable Application• Consumes data published following the Linked Data principles

• Linked Data Aware Application• Linked Data Enabled and Linked Data Capable application• Capable of integrating its own data with other Linked Data

Require RDF validation process

Page 6: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

6

Designing the RDF validation process

• Data source factors• Behavioral aspects• Structural aspects

• Procedure factors• Data aspects• Temporal aspects

• Context factors• Operational aspects

Page 7: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

7

Data source factors (I)

• Dynamics

• Static data (i.e., periodic bug reports)One-time validation (i.e., validation caching)

• Variable data (i.e., live data)• Timely updated data (i.e., statistical bug reports)

Periodic validation (i.e., validation caching + validation triggering)

• Randomly updated data (i.e., a particular bug) Per-operation validation

Page 8: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

8

Data source factors (II)• Publication strategy

• Disallow inline resource definition• Allow inline resource definition

• Resource aggregation pattern• Resource composition pattern

products:prod3231 a ai:Product; dc:title "SEALS Platform"@en; ai:isInvolvedIn roles:role1002; ai:hasWorkingGroup wg:wg44.

products:prod3231 a ai:Product; dc:title "SEALS Platform"@en; ai:isInvolvedIn roles:role1002; ai:hasWorkingGroup wg:wg44.

wg:wg44 a foaf:Group; ai:belongsToWorkArea ai:workAreaDevelopment; ai:member person:pr82; ai:worksInProduct products:prod3231.

roles:role1002 a ai:ProductRole; ai:involves ai:roleMaintainer; ai:involves products:prod3231; ai:involves person:pr82.

products:prod3231 a ai:Product; dc:title "SEALS Platform"@en; ai:isInvolvedIn comp:mpr; ai:hasWorkingGroup comp:wg.

comp:wg a foaf:Group; ai:belongsToWorkArea ai:workAreaDevelopment; ai:member person:pr82; ai:worksInProduct products:prod3231.

comp:mpr a ai:ProductRole; ai:involves ai:roleMaintainer; ai:involves products:prod3231; ai:involves person:pr82.

@prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix products: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/products/> .@prefix comp: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/products/prod3231#> .@prefix roles: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/roles/> .@prefix wg: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/groups/> .@prefix persons: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/persons/> .

get http://www.example.org/oms/ldp/products/prod3231

Page 9: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

9

Data source factors (III)• Provision strategy

• Raw data

• Materialized data• Partial materialization

• Full materialization

versions:ver1244 a ai:Version; oslc_asset:version "1.0"^^xsd:string; ai:isVersionOf products:prod3231.

versions:ver1244 a ai:Version, oslc_asset:Asset; oslc_asset:version "1.0"^^xsd:string; ai:isVersionOf products:prod3231.

versions:ver1244 a ai:Version, oslc_asset:Asset; oslc_asset:version "1.0"^^xsd:string; ai:isVersionOf products:prod3231.

products:prod3231 a ai:Product; ai:hasVersion versions:ver1244.

@prefix oslc_asset: <http://open-services.net/ns/asset#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix products: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/products/> .@prefix versions: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/versions/> .

get http://www.example.org/oms/ldp/versions/ver1244

Page 10: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

10

Data source factors (IV)• Access control

• Granularity

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix dcterms: <http://purl.org/dc/terms/> . @prefix oslc_cm: <http://open-services.net/ns/cm#> .@prefix oslc_asset: <http://open-services.net/ns/asset#> .@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix bugs: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/bugs/> .@prefix versions: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/productversions/> .@prefix users: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/users/> .

bugs:b43245 a ai:ClientDefect; dcterms:title "Bugzilla adapter build is broken"^^xsd:string; dcterms:description "Bugzilla adapter build fails due to a test failure"^^xsd:string; dcterms:creator users:us09 ; oslc_asset:relatedAsset versions:ver1244 ; oslc_cm:status ai:statusNew ; dcterms:contributor users:us4331 ; ai:relatedIncident <http://example.org/incidents/1> .

Coarse-grained access

Fine-grained access(public)

Fine-grained access(logged)

Page 11: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

11

Data source factors (V)• Resource state management

• Unique state• Differentiated state (i.e., context aware)

@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix roles: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/roles/> .@prefix wg: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/groups/> .@prefix persons: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/persons/> .

get http://www.example.org/oms/ldp/persons/me

persons:me a foaf:Person; foaf:name "John Doe"@en; foaf:mbox "[email protected]"^^xsd:string; ai:isMemberOf wg:wg44; ai:hasCredentials [ a ai:Credentials; ai:hasUsername "john"^^xsd:string; ai:hasPassword "J0hn"^^xsd:string ]; ai:isInvolvedIn roles:role1002.

persons:me a foaf:Person; foaf:name "Jane Doe"@en; foaf:mbox "[email protected]"^^xsd:string; ai:isMemberOf wg:wg173; ai:hasCredentials [ a ai:Credentials; ai:hasUsername "jane"^^xsd:string; ai:hasPassword "J@n3"^^xsd:string ]; ai:isInvolvedIn roles:role310.

John Doe logged on Jane Doe logged on

Page 12: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

12

Procedure factors (I)• Number of data sources

Product Resource

Product

Version Resource

Version

User Resource

foaf:Person

Bug Resource

Defect

Issue Tracker Adapter

Version Resource

Version

Person Resource

foaf:Person

Product Resource

Product

ProductRole

foaf:Group

Organization Management System

Entity Resource

Entity

Context Resource

Context

Identity Management Service

Page 13: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

13

Procedure factors (II)

• Data completeness• Complete

• Closed world reasoning

• Local-closed world reasoning

• Incomplete

• Open world reasoning

Page 14: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

14

Procedure factors (III)• Validation scope

bugs:b43245 a ai:ClientDefect; dcterms:title "Bugzilla adapter build is broken"^^xsd:string; dcterms:description "Bugzilla adapter build fails due to a test failure"^^xsd:string; dcterms:creator users:us09; oslc_asset:relatedAsset versions:ver1244 ; oslc_cm:status ai:statusNew ; dcterms:contributor users:us4331 ; ai:relatedIncident <http://example.org/incidents/1> .

@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix dcterms: <http://purl.org/dc/terms/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix oslc_asset: <http://open-services.net/ns/asset#> .@prefix oslc_cm: <http://open-services.net/ns/cm#> .@prefix bugs: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/bugs/> .@prefix users: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/users/> .@prefix persons: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/persons/> .@prefix products: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/products/> .@prefix roles: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/roles/> .@prefix versions: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/versions/> .@prefix wg: <http://aranjuez.dia.fi.upm.es/oms/ldp/resources/groups/> .

products:prod3231 a ai:Product; dc:title "SEALS Platform"@en; ai:isInvolvedIn roles:role1002; ai:hasWorkingGroup wg:wg44. roles:role1002 a ai:ProductRole;

ai:involves ai:roleMaintainer; ai:involves products:prod3231; ai:involves users:us4331.

wg:wg44 a foaf:Group; ai:belongsToWorkArea ai:workAreaDevelopment; ai:member users:us4331; ai:worksInProduct products:prod3231.

users:us4331 a foaf:Person; foaf:name "John Doe"@en; foaf:mbox "[email protected]"^^xsd:string; ai:isMemberOf wg:wg44; ai:hasCredentials [ a ai:Credentials; ai:hasUsername "jhon"^^xsd:string; ai:hasPassword "Jh0n"^^xsd:string ]; ai:isInvolvedIn roles:role1002.

versions:ver1244 a ai:Version; oslc_asset:version "1.0"^^xsd:string; ai:isVersionOf products:prod3231.

DB

Page 15: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

15

Procedure factors (IV)• Temporal aspects

• Estimated duration• Short-lived validation process

• Validation process is simple enough to be carried out in a short period of time• Long-lived validation process

• Validation process requires complex and/or lengthy operations which span a wide period of time (i.e., estatistical calculations for reports)

• Immediateness• On-the-fly / up-front

• Validation happens as soon as the data is available (i.e., user input validation)• Just-in-time / deferred

• Validation happens when the data is to be consumed (i.e., batch and/or async operations)

Page 16: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

16

Context factors• Validation as part of a write operation

• Data provenance• Application managed vs user provided properties• Write once-read many vs read-write properties

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix dcterms: <http://purl.org/dc/terms/> . @prefix oslc_cm: <http://open-services.net/ns/cm#> .@prefix oslc_asset: <http://open-services.net/ns/asset#> .@prefix ai: <http://delicias.dia.fi.upm.es/ontologies/alm-istack#> .@prefix bugs: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/bugs/> .@prefix versions: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/productversions/> .@prefix users: <http://aranjuez.dia.fi.upm.es/ita/ldp/resources/users/> .

bugs:b43245 a ai:ClientDefect;

dcterms:title "Bugzilla adapter build is broken"^^xsd:string;

dcterms:description "Bugzilla adapter build fails due to a test failure"^^xsd:string;

dcterms:creator users:us09 ;

oslc_asset:relatedAsset versions:ver1244 ;

oslc_cm:status ai:statusNew ;

dcterms:contributor users:us4331 ;

ai:relatedIncident <http://example.org/incidents/1> .

Must be an ITA userApplication managed

User provided

Fixed on creation

Free update

Page 17: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

17

Conclusions

• RDF validation in a Linked Data scenario has other concerns beyond traditional structural and data range validation issues

• Procedures for validating Linked Data need to be customized to accommodate the particularities of the scenario in terms of the • the data sources to be consumed,• the processes to be carried out, and • the context in which they are to be applied

Page 18: RDF Validation in a Linked Data world A vision beyond structural and value range validation

Center for Open Middleware

Center for Open Middleware

RDF Validation in a Linked Data world A vision beyond structural and value range validation

Miguel Esteban Gutiérrez, Raúl García Castro,

Nandana Mihindukulasooriya

RDF Validation WorkshopSeptember 10th-11th, 2013


Top Related