-
Notifications
You must be signed in to change notification settings - Fork 29
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
SHACL Validation #767
SHACL Validation #767
Conversation
I think this also closes #548? |
If I understand this correctly, I should get a validated graph when I run e.g. |
Well it's WIP for a reason 😉 I actually haven't tested it at all, I pushed to save work before the weekend. I'm not sure if this works without #782 The way it's supposed to work is that you get an exception if the output doesn't validate. |
oh right I forgot about #782. Indeed, the name property does appear with that fix. |
Out of WIP, huzzah! |
…/renku-python into 755-kg-validation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great - thanks for the good work!
I'm just wondering - didn't we remove dependency for click exceptions from the core? Maybe we should create custom exceptions for those raises which don't strictly depend on the core.
7866113
to
cd13981
Compare
There are a few issues still. For imported datasets there are some issues with types - for example, because zenodo datasets use the schema.org context, their dates have type
but I'm not sure that's the best way (allowing two different types). Another problem is that it seems that translations in the |
I think ideally we'd migrate it on import to what we want?
Right now there is an explicit check that nothing of type |
You mean on import of the dataset? From Re: foaf:Project - I think the check is fine. The "on-the-fly" migration is exactly what |
I mean, ideally it'd be
I looked at the code quickly and don't see a reason why it shouldn't work, this looks like an issue that might take a bit more time to fix. |
Ok so I checked that the translation works as it should and it does. However, if the metadata on disk says |
An easy fix would be to change the SHACL check to a SPARQL query so that it only validates |
I've looked into this a bit further and it's definitely not a problem of this PR. The issue seems to be that since |
This LGTM otherwise - should we address the issue with nested contexts/compaction/translation separately? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!!
Previously, Old dataset files had invalid ids (not starting with |
I agree -- the id scheme for file entities in general needs an overhaul, see SwissDataScienceCenter/renku#696 |
* Adds SHACL validation to renku doctor * Adds renku log tests * Adds --strict option to renku log for shape validation
* SHACL Validation (#767) * Adds SHACL validation to renku doctor * Adds renku log tests * Adds --strict option to renku log for shape validation * Fix JSON-LD translation and related issues (#846) * Add default value converter and remove dataset property from DatasetFile * Removes type from Person context, fixes missing context in jsonld translation of project, fixes url encoding of dataset names * feat: added renku service with cache and datasets * fix: addressed review points * chore: added travis encrypted oauth token * fix: cleanup of user vs user_id * chore: method naming convention update * feat: set custom commit message * chore: remove defensive scoping of git options * chore: added IndexError exception sentinel * chore: added test for renku clone with custom config
Closes #755 Closes #547
Adds SHACL schema for all KG types.