Validata: A tool for testing profile conformance
-
Upload
alasdair-gray -
Category
Technology
-
view
722 -
download
5
Transcript of Validata: A tool for testing profile conformance
![Page 1: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/1.jpg)
Validata: A tool for testing
profile conformance
Alasdair J G GrayHeriot-Watt University www.macs.hw.ac.uk/~ajg33
[email protected]@gray_alasdair
Andrew BeveridgeJacob Baungard HansenJohnny ValLeif GehrmannRoisin FarmerSunil KhutanTomas Robertson
![Page 2: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/2.jpg)
HCLS Dataset Descriptions
https://www.w3.org/TR/hcls-dataset/Dumontier M, Gray AJG, Marshall MS, et al. (2016) The health care
and life sciences community profile for dataset descriptions.
PeerJ 4:e2331 https://doi.org/10.7717/peerj.2331
1 December 2016@gray_alasdair www.macs.hw.ac.uk/~ajg33
2
![Page 3: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/3.jpg)
Requirements
• Online tool
– Deployable on W3C server
– GUI
– API
• Support multiple constraints
–Properties
–Data values
–…
• Requirement levels
– Different levels of user messages: Error, Warning, Information
• Configurable
– HCLS (Required)
– DCAT, Open PHACTS, etc(Optional)
1 December 2016@gray_alasdair
www.macs.hw.ac.uk/~ajg333
![Page 4: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/4.jpg)
Example Constraint
1 December 2016 4
• Shape
• A Dataset
– MUST be declared to be of type dctype:Dataset
– MUST have a dcterms:title as a language typed string
– MUST NOT have dcterms:created date
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
Dates are associated with versions in HCLS
![Page 5: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/5.jpg)
Example Validation
1 December 2016 5
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
• Shape
• Data
![Page 6: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/6.jpg)
Example Validation
• Shape
• Data
1 December 2016 6
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
![Page 7: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/7.jpg)
Example Validation
1 December 2016 7
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
• Shape
• Data
![Page 8: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/8.jpg)
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
Shape
1 December 2016 8
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
Shape Expressions (ShEx)
![Page 9: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/9.jpg)
1 December 2016 9@gray_alasdair
www.macs.hw.ac.uk/~ajg33
ShEx: Validation
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
<Dataset> {
rdf:type (dctypes:Dataset),
dct:title rdf:langString,
dct:alternative rdf:langString+,
!dct:created .
}
Validator can’t warn of missing property
Example data
![Page 10: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/10.jpg)
<Dataset> {
`MUST` rdf:type (dctypes:Dataset),
`MUST` dct:title rdf:langString,
`MAY` dct:alternative rdf:langString+,
`MUST` !dct:created .
}
Shape
1 December 2016 10
<Dataset> rdf:langString
.✗
@gray_alasdair
www.macs.hw.ac.uk/~ajg33
Requirement Levels
Validator can warn of missing property
![Page 11: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/11.jpg)
Implementation
Validata
• Web app front end
• Javascript + HTML
• Relies on ShEx-validator
– Validates documents
– Returns report
https://github.com/HW-
SWeL/Validata
ShEx-validator
• Validation system
• Validation API
• Javascript
– nodejs engine
• Reuses
– n3: RDF Library
– ShExParser
https://github.com/HW-
SWeL/ShEx-validator
1 December 2016@gray_alasdair www.macs.hw.ac.uk/~ajg33
11
![Page 13: Validata: A tool for testing profile conformance](https://reader034.fdocuments.us/reader034/viewer/2022051521/58ecb72f1a28abb10f8b4593/html5/thumbnails/13.jpg)
Validata
https://github.com/HW-SWeL/Validata
• RDF constraint validation tool
– Configurable to any profile
• Shape Expression (ShEx) constraints
• Open source javascript implementation
www.macs.hw.ac.uk/~ajg33/
@gray_alasdair