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

Use SPARQL production rules for prefixed and unprefixed identifiers #150

Open
althonos opened this issue Feb 29, 2024 · 3 comments
Open
Labels
1.6 spec proposals concrete proposals for changes in 1.6

Comments

@althonos
Copy link
Member

This is a proposal for 1.6 to use the production rules from SPARQL 1.1 to define prefixed identifiers.

Proposed rules:

Prefixed-ID ::= PN_PREFIX ':' PN_LOCAL

The advantage is that SPARQL prefixed identifiers still use backslashes to escape special characters, so I think this will introduce less breakage than requiring CURIE which would mean switching to percent-escaping for special characters.

Then prefix expansion from OBO ID-space can be done the same way as SPARQL expansion, with an added rule to use http://purl.obolibrary.org/obo/<prefix>_<local> for any OBO ID-space not defined in the header.

@althonos althonos added the 1.6 spec proposals concrete proposals for changes in 1.6 label Feb 29, 2024
@cmungall
Copy link
Member

cmungall commented Mar 4, 2024

@balhoff
Copy link
Member

balhoff commented Mar 4, 2024

One problem with the exact SPARQL definition of a prefixed identifier is that this is not valid due to the slash: doi:10.1016/j.ijms.2006.01.054.

@althonos
Copy link
Member Author

althonos commented Mar 4, 2024

In my opinion none of these is a problem, since SPARQL supports escaping for special characters; the advantage over the current spec of OBO is that the escaping is made normative and consistent (whereas OBO has some context-specific escape here and there).

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

No branches or pull requests

3 participants