Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New feature: validate --shacl #576

Open
matentzn opened this issue Oct 5, 2019 · 5 comments
Open

New feature: validate --shacl #576

matentzn opened this issue Oct 5, 2019 · 5 comments

Comments

@matentzn
Copy link
Contributor

matentzn commented Oct 5, 2019

I saw some cool uses of shacl as a constraint language for RDF graphs at the tutorial at Connected Data 2019; I think it would be v. cool if we could offer to do this with ROBOT.

Here is the library: https://github.com/TopQuadrant/shacl

The license seem to be apache 2, not sure what that means for us. Maybe @HolgerKnublauch could tell us whether this is at all allowed, and we can think whether it makes sense to support it given our relatively large user base. One possible way to phrase this command would be

robot validate -i ont.owl --type shacl --schema shapes.shacl 

or rely on file extension to disambiguate.

If this is overkill for ROBOT, it could also go straight into ODK (license permitted). @cmungall @jamesaoverton @balhoff @beckyjackson

@balhoff
Copy link
Contributor

balhoff commented Oct 5, 2019

I agree, this would be a handy extension to validate. I would also like to include ShEx, which is what we have been using recently in GO (https://github.com/geneontology/go-shapes). There is a Java library at (https://github.com/iovka/shex-java). @cmungall started on a general OBO validation ShEx schema, and I have some improvements to it that I need to commit. I wonder if this is getting too kitchen sink? Should there just be independent SHACL/ShEx tools? I lean toward including them though.

@HolgerKnublauch
Copy link

My understanding is that Apache license basically allows whatever you like.

@jamesaoverton
Copy link
Member

See also #387 where we're talking about a validate command with DL Query, mainly for tables.

I like the idea of adding SHACL and ShEx to ROBOT, as long as the dependencies are all on the JVM and not overwhelmingly large. ROBOT is already a kitchen sink. The value-added is a single JAR to install, OBO-focus, and the most coherent interface we can manage.

My only concern is that we're talking about a lot of different approaches to validation. Maybe these could all be called validate with command-line switches (at the risk of overloading), or maybe they get their own specialized commands, like our existing validate-profile (more verbose, maybe more confusing).

@matentzn
Copy link
Contributor Author

matentzn commented Oct 8, 2019

I am not concerned about naming here; you can go ahead as you see fit. Specific commands are fine by me..

@cmungall
Copy link
Contributor

cmungall commented Oct 14, 2019 via email

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

No branches or pull requests

5 participants