-
Notifications
You must be signed in to change notification settings - Fork 5
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
Invalid Reference of Shapes-Graph(?) #61
Comments
Empty local names and empty prefixes are perfectly legal, just like you used an empty local name (
@HolgerKnublauch used this, which equates the ontology URL to its prefix. I also prefer this approach: @prefix sh: <http://www.w3.org/ns/shacl#> .
sh: a owl:Ontology Other people would be shy and omit the @prefix sh: <http://www.w3.org/ns/shacl#> .
sh: a owl:Ontology <http://www.w3.org/ns/shacl>. The only "enhancement" I would do is define a second prefix, and then state sh: sh:suggestedShapesGraph shsh: Now @hoijui let's turn to your concerns:
Which are they? They are non-conformant
Why? Allocating hierarchical URLs is a great practice, see https://patterns.dataincubator.org/book/hierarchical-uris.html. So:
Given that you seem to understand But here's a puzzle for your enjoyment: what is |
Thank you @VladimirAlexiev ! Use separator in ontology IRI?proOne argument could be, that if it is left out, one can not deduce from the ontology IRI alone, whether the terms will be available with contraWhen browsing, I get served HTML. A simple page is usually located at a URL like these:
Having a The I lean towards the contra argument. |
The The browser requests a resource with the URI up to but not including that delimiter. The delimiter and the fragment identifier that follows are used by the browser to locate the fragment within the resource representation delivered by the resource server. This is distinct from discussion of prefixes and prefixed names. A prefixed name is turned into a full URI before the browser makes a resource request. The server never knows anything about the prefix declaration nor the prefixed name. |
@hoijui There are well accepted "slash vs hash" guidelines, which stem from the fact that a client doesn't send the fragment to the server:
Please close the issue? |
shacl/shacl-core/shacl.ttl
Line 29 in 67459ed
shacl.ttl:
should rather be one of these (probably the former):
because
<http://www.w3.org/ns/shacl-shacl#>
can not be split into a prefix and an term-name unambiguously, and is thus not a valid RDF Term, or at least there are parsers that treat it this way.I think the first (by me preferred) solution would also require the
sh:
line to change to<>
, plus the inclusion of this line:and the same procedure in shacl-shacl.ttl.
Alternative solution
instead of
sh:
usesh:Ontology
, and do the same forshsh:
(->shsh:Ontology
).That makes things easier to understand, and does not rely on parsers implementing the edge-case of an empty "postfix".
There are parsers that fail because of this.
The text was updated successfully, but these errors were encountered: