A vision beyond structural and value range validation Miguel Esteban Gutiérrez Raúl García Castro Nandana Mihindukulasooriya RDF Validation Workshop September 10 th 11 th 2013 ID: 689113
Download Presentation The PPT/PDF document "RDF Validation in a Linked Data world" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
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 Workshop
September 10
th
-11
th
, 2013Slide2
Linked Data & the ALM iStack Project
2Objective: 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 applicationsSlide3
Use case3
Simplified Corrective Maintenance Process
http://
sites.google.com
/a/
centeropenmiddleware.com/alm-istack/
deliverables/R1.3_ALM_iStack_Proof-of-Concept.pdfSlide4
Use case
scenario4
Change
Management
Requirement
Management
Configuration Management
Quality
Management
Asset
Management
OrganizationManagement
ALM
Application
Data
model
Remote
API
User
Interface
LDPSlide5
Linked Data Application “Maturity
Model”5
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 perspectiveLinked Data Capable ApplicationConsumes data published following the Linked Data principles
Linked Data Aware ApplicationLinked Data Enabled and Linked Data Capable application
Capable of integrating its own data with other Linked Data
Require
RDF
validation
processSlide6
Designing the RDF validation process
6Data source
factors
Behavioral
aspectsStructural aspectsProcedure factorsData aspects
Temporal aspectsContext
factors
Operational
aspectsSlide7
Data source factors (I)
7DynamicsStatic 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 validationSlide8
Data source factors (II)
8Publication strategyDisallow
inline
resource definitionAllow inline resource definitionResource
aggregation patternResource
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/prod3231Slide9
Data source factors (III)
9Provision strategyRaw
data
Materialized
data
Partial materializationFull 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/ver1244Slide10
Data source factors (IV)
10Access controlGranularity
@
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)Slide11
Data source factors (V)
11Resource 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 "john.doe@email.com"^^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 "jane.doe@email.com"^^
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
o
nSlide12
Procedure factors (I)
12Number 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
Product
Role
foaf:Group
Organization Management System
Entity Resource
Entity
Context Resource
Context
Identity Management ServiceSlide13
Procedure factors (II)
13Data completenessComplete
Closed
world
reasoningLocal-closed world reasoningIncompleteOpen
world reasoningSlide14
Procedure factors (III)
14Validation 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
"john.doe@email.com"^^
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.
DBSlide15
Procedure factors (IV)
15Temporal aspectsEstimated duration
Short-
lived
validation processValidation 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
)ImmediatenessOn-the-fly / up-front
Validation happens as soon as the
data is available (i.e., user input validation
)Just-in-time / deferredValidation happens when the data is to be
consumed (i.e., batch and/or async
operations)Slide16
Context factors16
Validation as part of a write operation
Data
provenance
Application
managed vs user provided propertiesWrite 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 user
Application managed
User
provided
Fixed
on creation
Free
updateSlide17
Conclusions17
RDF validation in a Linked Data scenario has other
concerns
beyond
traditional structural and data range validation issuesProcedures
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 appliedSlide18
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 Workshop
September 10
th
-11
th
, 2013