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

replace "validation" with "inference" #21

Open
balhoff opened this issue Jul 11, 2019 · 5 comments
Open

replace "validation" with "inference" #21

balhoff opened this issue Jul 11, 2019 · 5 comments

Comments

@balhoff
Copy link

balhoff commented Jul 11, 2019

In Section 3.2 "Understanding the RDF Validation Problem", subsection "Inference", it says:

Validation workflows will likely perform validation both before and after validation.

Based on the context, I think this should be:

Validation workflows will likely perform validation both before and after inference.

@labra
Copy link
Contributor

labra commented Jul 12, 2019

You are right, thank's for spotting it. I keep the issue open until I repair it in the book.

@balhoff
Copy link
Author

balhoff commented Jul 12, 2019

This may not be the best place to discuss this, but we (Gene Ontology Consortium) are exploring applications for ShEx now and trying to figure out best practice for shape constraints that have some parts that should be asserted and some that can be inferred. So I was paying particular attention to this passage. One example is a transitive property, e.g. part_of. In some data we want only one part_of relationship asserted for a node. But in the inferred graph it's okay that it is transitively part_of many other nodes. So we will check this only on the asserted graph. But for the same shape, we may want to say that it has to be of type biological_process. But it is okay that the asserted type will be a more specific subclass. In this case we need to check the inferred graph.

So we're thinking about best ways to coordinate this. It's not very satisfying to duplicate the shapes into two files, one with how we want the assertions to look, and one with what must be inferrable. It would be nice to mark a particular constraint as only used when some flag ('inference') is present... not sure how that might work.

@labra
Copy link
Contributor

labra commented Jul 12, 2019

That's an interesting use case. It looks to me as some kind of directives that could be toggled off in some cases and on in other cases.

We currently don't support that in the core ShEx language, but it may be some feature to add.

One related feature that ShEx already has is machine readable annotations so some specialized ShEx processor could look at those annotations and ignore or use them . However, that behaviour would be out of the spec.

@labra
Copy link
Contributor

labra commented Jul 16, 2019

I raised this issue with some hint about a possible solution to keep a single shape to be used before and after validation.

@balhoff
Copy link
Author

balhoff commented Jul 16, 2019

Thanks very much!

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

2 participants