Skip to content
This repository has been archived by the owner on Nov 1, 2023. It is now read-only.

Use shape expression schema to validate ontology instance data #26

Open
dazza-codes opened this issue Apr 28, 2017 · 2 comments
Open

Use shape expression schema to validate ontology instance data #26

dazza-codes opened this issue Apr 28, 2017 · 2 comments
Labels

Comments

@dazza-codes
Copy link
Contributor

dazza-codes commented Apr 28, 2017

http://shexspec.github.io/primer/#quickStart

Often ontology entities are created or modified with a specific RDF graph pattern in mind for instance data expressed in the ontology. The shape expression schema is a formal way to specify these graph patterns. These graph patterns are often examples of instance data - the google docs for developing bibliotek-o often have such instance data examples to provide concrete RDF triples that express the desired use and utility of an ontology feature.

One way to use ShEx schema could be to combine sample data, the ontology and a converter to create instance data that could be validated against the ShEx schema. The idea here is to enable something like a test-driven development practice for ontology development. It's something like:

  • create the graph pattern desired and express it in ShEx
    • run a ShEx validation process
    • if the new ShEx changes an existing pattern, it should break the validation process
    • if the ShEx is a new pattern, it should break the validation process (usually)
    • this is the Red phase of a test-driven development process
  • modify the ontology to satisfy the ShEx validation
    • run a ShEx validation process
    • iterate on the ontology development/refactoring to get it to validate
    • this is the Green phase of a test-driven development process
@rjyounes rjyounes added the tools label Jul 19, 2017
@VladimirAlexiev
Copy link

Nice approach. You could also consider SHACL, which is W3C standardized, although more verbose and lacks some nice ShEx features (recursive shapes).
Ping me if you want a list of implementations.

@dazza-codes
Copy link
Contributor Author

FYI, I'm no longer watching this or working on LD4* projects.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants