Wimmics/corese

\/ syntax not fully supported in prefixed URIs

NicoRobertIn opened this issue · 0 comments

Issue Description:

Corese does not parse the prefixed URIs containing "\/" in the suffix

Bug Details:

The syntax of the turtle prefixed URIs is described there, in a form that are almost regex: https://www.w3.org/TR/turtle/#terminals

Wee see that the prefix is described by PNAME_LN, which describes the suffix as PN_LOCAL, which contains PLX which itself contains PN_LOCAL_ESC.

This last specification validates "\/" which therefore can be included in a suffix.

So given a prefix named my-prefix: that has the namespace https://www.example.org/, the URI my-prefix:a\/b is valid and should correspond to the URI https://www.example.org/a/b

Corese accepts this syntax but links it to the URI https://www.example.org/a\/b which is an error

It can be managed programmatically but it should be Corese responsibility to deal with it

Steps to Reproduce:

  1. Open Corese and add the following code to the turtle editor:
@prefix ex: <https://www.example.org/>

ex:a\/b a owl:Class .
  1. Execute the following SparQL request:
select * where {
  ?x ?p ?y
}

Expected Behavior:

The ex:a\/b node should be seen as URI https://www.example.org/a/b

Actual Behavior:

The ex:a\/b node is seen as URI https://www.example.org/a\/b