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

From SHACL: profile and "base ontology" #799

Closed
kcoyle opened this issue Mar 6, 2019 · 3 comments
Closed

From SHACL: profile and "base ontology" #799

kcoyle opened this issue Mar 6, 2019 · 3 comments
Labels
feedback Issues stemming from external feedback to the WG prof-due-for-closing profile-guidance profiles-vocabulary For discussion of profile description vocabulary

Comments

@kcoyle
Copy link
Contributor

kcoyle commented Mar 6, 2019

Comment in public comments list from Irene Polikoff:

Presumably, a profile should not contradict the “base ontology” - it could only further constrain it.

kcoyle: Is this correct? If so, is there any thought of testing whether a profile is a valid profile? Meaning that it does not contradict the base. How would this be accomplished? If profiles we expressed in SHACL and the base ontology was also expressed in SHACL, one could think of ways SHACL could be used to check for validity of a profile.

https://lists.w3.org/Archives/Public/public-dxwg-comments/2019Jan/0001.html

@kcoyle kcoyle added profile-guidance feedback Issues stemming from external feedback to the WG labels Mar 6, 2019
@nicholascar
Copy link
Contributor

@kcoyle

Is this correct?

Yes

If so, is there any thought of testing whether a profile is a valid profile? Meaning that it does not contradict the base.

Yes, this is the nature of a profile.

How would this be accomplished? If profiles we expressed in SHACL and the base ontology was also expressed in SHACL, one could think of ways SHACL could be used to check for validity of a profile.

Yes. This is one of the purposes of creating PROF with semantics that allow for the creation of profile hierarchies (isProfileOf) and ways of indicating resources within those profiles that serve certain purposes (hasRole + ResourceRole vocabulary) so that mechanics (code) can be written to do such testing against a profile and all the things it profiles.

This is the express purpose of Issue #698. My pseudo code there is written do do what you ask: for a profile, find its validators and the validators of the things it profiles, join them and apply them all to a data graph to validate it.

Does this answer all points in this issue?

@nicholascar nicholascar added the profiles-vocabulary For discussion of profile description vocabulary label Mar 6, 2019
@kcoyle
Copy link
Contributor Author

kcoyle commented Mar 7, 2019

The person you need to be asking is the one who sent the comment, Irene from TopBraid. You need to ask if she is satisfied by the answers.

@nicholascar
Copy link
Contributor

nicholascar commented Sep 3, 2019

Further to my comments above on the question of "Is there any thought of testing whether a profile is a valid profile? Meaning that it does not contradict the base.":

Testing the profile itself - any schemas it declares for instance - is possible in a system-specific way (e.g. using inference on an ontology) but more useful and easy is to test to see if instance data created conforming to the profile conforms to the base. This could be done by applying any of the base's validators to instance data. If the base is described using the Profiles Vocabulary, finding its validating resources would be straightforward.

Discussion of some related issues continues in #698.

This comment, and a summary of the discussion further above have been forwarded to the Issue raiser, Irene Polikoff, via the DXWG public mailing list: https://lists.w3.org/Archives/Public/public-dxwg-comments/2019Sep/0000.html.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback Issues stemming from external feedback to the WG prof-due-for-closing profile-guidance profiles-vocabulary For discussion of profile description vocabulary
Projects
None yet
Development

No branches or pull requests

2 participants