- From: Jose Emilio Labra Gayo via GitHub <sysbot+gh@w3.org>
- Date: Wed, 16 Sep 2020 07:25:39 +0000
- To: public-shex-dev@w3.org
labra has just created a new issue for https://github.com/shexSpec/shex: == Round tripping node constraints between ShExJ and ShExC == The following ShExC fails in the grammar: ```Turtle prefix : <http://example.org> prefix xsd: <http://www.w3.org/2001/XMLSchema#> :S Literal xsd:string ``` while the equivalent ShExJ seems to be ok: ```JSON { "@context": "http://www.w3.org/ns/shex.jsonld", "type": "Schema", "shapes": [ { "type": "NodeConstraint", "id": "http://example.org/S", "nodeKind": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#string" } ] } ``` ShEx-simple allows to convert from the latter to the former, but not in the other direction. The ShExC grammar has this rule which allows only one component of a node constraint: ```EBNF [22] nodeConstraint ::= "LITERAL" xsFacet* | nonLiteralKind stringFacet* | datatype xsFacet* | valueSet xsFacet* | xsFacet+ ``` I think there are 3 possibilities: - Change the grammar to allow more components of node constraints - Forbid several components of node constraints in the ShExJ. - Leave it as is, which would limit round tripping between ShExJ and ShExC for this case Please view or discuss this issue at https://github.com/shexSpec/shex/issues/106 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 16 September 2020 07:25:41 UTC