From 5feb8f51c1a6a5f6a6bac84874972218503540cd Mon Sep 17 00:00:00 2001 From: Ted Thibodeau Jr Date: Thu, 7 Mar 2024 13:13:29 -0500 Subject: [PATCH 1/3] fix SHACL-C, among other typos and grammar --- shacl-compact-syntax/scope.md | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/shacl-compact-syntax/scope.md b/shacl-compact-syntax/scope.md index 226fc3b..cc51ef8 100644 --- a/shacl-compact-syntax/scope.md +++ b/shacl-compact-syntax/scope.md @@ -2,7 +2,7 @@ As SHACL needs to be updated to support RDF 1.2, there is an opportunity to promote SHACL-C from a CG to WG specification, whilst: - Upgrading the SHACL-C spec to support RDF 1.2 features in alignment with upgrades to the other SHACL specs, and - - Adding support for additional SHACLC-C features + - Adding support for additional SHACL-C features This document outlines the scope of new features to be supported. @@ -10,44 +10,44 @@ This document outlines the scope of new features to be supported. Syntactic additions will be required for SHACL-C to support the following: - - [Support for datasets](https://github.com/w3c/shacl/issues/22) - - [Support for RDF 1.2 (in particular embedded triples)](https://github.com/w3c/shacl/issues/23) - - [Support for RDF 1.2 text direction](https://github.com/w3c/shacl/issues/24) + - [RDF datasets](https://github.com/w3c/shacl/issues/22) + - [RDF 1.2 (in particular embedded triples)](https://github.com/w3c/shacl/issues/23) + - [RDF 1.2 text direction](https://github.com/w3c/shacl/issues/24) Note that this should be done *after* these features have been supported by the core SHACL spec. ## New Features -### Support for additional SHACLC shorthands +### Support for additional SHACL-C shorthands - Support Rules - Support (SPARQL) Functions - - Support shorthand (`<`, `=`, `<=` etc.) for property pair constraints + - Support shorthand (`<`, `=`, `<=`, etc.) for property pair constraints - [Support `xone` and more `or` cases](https://github.com/w3c/shacl/issues/12) - Opting out of the production of the triple `?baseUri rdf:type owl:Ontology` - - Support for non-validating characteristics (e.g. generating `sh:order` triples by declaring `@order` at the top of a file/shape, allow grouping by `@group` at the top of a set of properties and allow an `@description` above properties). + - Support for non-validating characteristics (e.g., generating `sh:order` triples by declaring `@order` at the top of a file/shape, allow grouping by `@group` at the top of a set of properties, and allowing a `@description` above properties). The first 2 of these have been supported in [this xtext file](https://gitlab.com/allotrope-open-source/shape-editor/-/blob/master/src/com.osthus.shapes.shaclc.parent/com.osthus.shapes.shaclc/src/com/osthus/shapes/shaclc/SHACLC.xtext) by [allotrope](https://www.allotrope.org/). Some or all of these additions may be ignored in favour of keeping SHACL-C a simple syntax to implement and use. -### [Making SHACLC Lossless](https://github.com/w3c/shacl/issues/36) +### [Making SHACL-C Lossless](https://github.com/w3c/shacl/issues/36) -There are implementation attempts at lossless SHACL-C by allowing the use of a more turtle-like syntax in places. We should align on a way of doing this and write it up in spec form. Existing attepts are: - - [Extended Compact Syntax in shaclcjs](https://github.com/jeswr/shaclcjs?tab=readme-ov-file#extended-shacl-compact-syntax) - - [make shaclc->shacl nearly lossless TopQuadrant/shacl#98](https://github.com/TopQuadrant/shacl/issues/98) (escape into turtle, and some extra links and ideas) +There are attempts to implement lossless SHACL-C by allowing the use of a more Turtle-like syntax in places. We should align on a way of doing this and write it up in spec form. Existing attempts include: + - [Extended Compact Syntax in `shaclcjs`](https://github.com/jeswr/shaclcjs?tab=readme-ov-file#extended-shacl-compact-syntax) + - [make SHACL-C→SHACL nearly lossless TopQuadrant/shacl#98](https://github.com/TopQuadrant/shacl/issues/98) (escape into Turtle, and some extra links and ideas) ### Extending the test suite There is also work that can be done to make the test suite more robust such as: - - [shaclc: missing property shape TopQuadrant/shacl#142](https://github.com/TopQuadrant/shacl/issues/142) (test case) - - [shaclc->shacl outputs `;` instead of `.` TopQuadrant/shacl#91](https://github.com/TopQuadrant/shacl/issues/91) (test case) - - [shacl conversion: malformed lists TopQuadrant/shacl#92](https://github.com/TopQuadrant/shacl/issues/92) (test case) + - [SHACL-C: missing property shape TopQuadrant/shacl#142](https://github.com/TopQuadrant/shacl/issues/142) (test case) + - [SHACL-C→SHACL outputs `;` instead of `.` TopQuadrant/shacl#91](https://github.com/TopQuadrant/shacl/issues/91) (test case) + - [SHACL conversion: malformed lists TopQuadrant/shacl#92](https://github.com/TopQuadrant/shacl/issues/92) (test case) ## Implementations -The current SHACL-C implementations are +The current SHACL-C implementations include - https://jena.apache.org/documentation/shacl/#shacl-compact-syntax - - https://github.com/jeswr/shaclcjs & https://github.com/jeswr/shaclc-writer + - https://github.com/jeswr/shaclcjs and https://github.com/jeswr/shaclc-writer - https://gitlab.com/allotrope-open-source/shape-editor ## Related Issues - [SHACL-compact-syntax #7](https://github.com/w3c/shacl/issues/7) - - [shaclc grammar: nodeOr vs propertyOr #12](https://github.com/w3c/shacl/issues/12) - - [Extending SHACLC to enable the expression of any RDF statements #36](https://github.com/w3c/shacl/issues/36) + - [SHACL-C grammar: nodeOr vs propertyOr #12](https://github.com/w3c/shacl/issues/12) + - [Extending SHACL-C to enable the expression of any RDF statements #36](https://github.com/w3c/shacl/issues/36) From beabe53c3f9a75f2768946d797c0085ce503e02f Mon Sep 17 00:00:00 2001 From: Ted Thibodeau Jr Date: Thu, 7 Mar 2024 13:15:13 -0500 Subject: [PATCH 2/3] uppercase SHACL --- shacl-compact-syntax/scope.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shacl-compact-syntax/scope.md b/shacl-compact-syntax/scope.md index cc51ef8..01a06ac 100644 --- a/shacl-compact-syntax/scope.md +++ b/shacl-compact-syntax/scope.md @@ -1,4 +1,4 @@ -# Shacl Compact Syntax 1.2 Scope Document +# SHACL Compact (SHACL-C) Syntax 1.2 Scope Document As SHACL needs to be updated to support RDF 1.2, there is an opportunity to promote SHACL-C from a CG to WG specification, whilst: - Upgrading the SHACL-C spec to support RDF 1.2 features in alignment with upgrades to the other SHACL specs, and From ea62bc2f80fe41cd35cf0df4256e98254ee3acbd Mon Sep 17 00:00:00 2001 From: Ted Thibodeau Jr Date: Thu, 7 Mar 2024 16:27:12 -0500 Subject: [PATCH 3/3] Update shacl-compact-syntax/scope.md --- shacl-compact-syntax/scope.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shacl-compact-syntax/scope.md b/shacl-compact-syntax/scope.md index 01a06ac..0f5c96e 100644 --- a/shacl-compact-syntax/scope.md +++ b/shacl-compact-syntax/scope.md @@ -11,7 +11,7 @@ This document outlines the scope of new features to be supported. Syntactic additions will be required for SHACL-C to support the following: - [RDF datasets](https://github.com/w3c/shacl/issues/22) - - [RDF 1.2 (in particular embedded triples)](https://github.com/w3c/shacl/issues/23) + - [RDF 1.2 triple terms and occurrences](https://github.com/w3c/shacl/issues/23) - [RDF 1.2 text direction](https://github.com/w3c/shacl/issues/24) Note that this should be done *after* these features have been supported by the core SHACL spec.