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

Define the semantics of qualified names in shape maps #95

Open
labra opened this issue Jul 20, 2019 · 2 comments
Open

Define the semantics of qualified names in shape maps #95

labra opened this issue Jul 20, 2019 · 2 comments
Labels

Comments

@labra
Copy link
Contributor

labra commented Jul 20, 2019

At this moment shapemap implementations allow qualified names without prefix declarations and inherit the alias from the ShEx schemas or RDF data. For example, a shapemap like:

foo:Node@bar:Shape

is accepted whenever the RDF data contains a prefix declaration for foo and the ShEx schema contains a prefix declaration for bar.

This behaviour works well in practice and has been implemented by Shex.js and SHaclEX, but is hasn't been docomented yet in the shape map spec.

Apart from that, users may want to define their own prefix declarations in their shapemaps. So a shape map could be:

prefix foo: <http://example.org/foo/>
prefix bar: <http://example.org/bar/>

foo:Node@bar:Shape

and would try to check node <http://example.org/foo/Node> with the shape <http://example.org/bar/Shape>

@andrawaag
Copy link
Contributor

This isssue will be reviewed in the ShEx CG meeting on January 8th: https://github.com/shexSpec/shex/blob/master/meetings/2020/20200108-agenda.md

@ericprud
Copy link
Contributor

ericprud commented Jan 8, 2020

I think the easiest path forward is to have a normative behavior with regard to a pair of resolvers (prefixes+base) for the shape label and node/triplePattern respectively. We could then have a non-normative section that says the the resolvers are SHOULD come from the loaded schema and data, but exactly how is application-dependent (iirc, XPath does something similar, but I'm not finding evidence of that).

If we want to be normative throughout, we have to specify lots of details like what happens if you load two docs into your graph and they conflict on prefix or base. Or even if a single doc re-assigns a prefix or base after it has been used to resolve some terms (turtle allows that).

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

No branches or pull requests

3 participants