This document discusses RDF validation in a Linked Data context. It outlines factors to consider in designing an RDF validation process, including data source dynamics, publication strategy, and access control. It also covers procedural factors like the number of data sources and validation scope. Context factors like the validation purpose and data provenance must also be taken into account. The conclusion is that RDF validation for Linked Data needs to accommodate the particularities of the data sources, processes, and context involved.
RDF Validation in a Linked Data World - A vision beyond structural and value range validation
1. 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 Workshop
September 10th-11th, 2013
2. Center for
Open
Middleware
Linked Data & the ALM iStack Project
2
• 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
3. Center for
Open
Middleware
Use case
3
Defect
reception
Verification
Diagnosis
and
solution
Solution
integration
Fix
assignment
Fix
certification
Simplified Corrective Maintenance Process
http://sites.google.com/a/centeropenmiddleware.com/alm-istack/deliverables/R1.3_ALM_iStack_Proof-of-Concept.pdf
CENTER FOR OPEN MIDDLEWARE
Asistente automático al desarrollo
Implementation and Design of the
ALM iStack Proof-of-concept
Miguel Esteban Gutiérrez,
Raúl García-Castro, Nandana Mihindukulasooriya
Document Identifier: ALM-iStack/2013/R1.3
Version: 1.00
Class deliverable: ALM iStack – COM 2013 – Area 4
Date: July 25
th
, 2013
State: Final
Distribution: Public
4. Center for
Open
Middleware
Use case scenario
4
Change
Management
Requirement
Management
Configuration
Management
Quality
Management
Asset
Management
Organization
Management
ALM
Application
Data
model
Remote API
User
Interface
LDP
5. Center for
Open
Middleware
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
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
6. Center for
Open
Middleware
Designing the RDF validation process
6
• Data source factors
• Behavioral aspects
• Structural aspects
• Procedure factors
• Data aspects
• Temporal aspects
• Context factors
• Operational aspects
7. Center for
Open
Middleware
Data source factors (I)
7
• 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
9. Center for
Open
Middleware
Data source factors (III)
9
• 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
10. Center for
Open
Middleware
Data source factors (IV)
10
• 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)
11. Center for
Open
Middleware
Data source factors (V)
11
• 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 "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 on
12. Center for
Open
Middleware
Procedure factors (I)
12
• 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
Product
Role
foaf:Group
Organization Management System
Entity Resource
Entity
Context Resource
Context
Identity Management Service
14. Center for
Open
Middleware
Procedure factors (III)
14
• 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 "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.
DB
15. Center for
Open
Middleware
Procedure factors (IV)
15
• 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)
16. Center for
Open
Middleware
Context factors
16
• 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 user
Application
managed
User
provided
Fixed on creation
Free update
17. Center for
Open
Middleware
Conclusions
17
• 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
18. 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 Workshop
September 10th-11th, 2013