shacl 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -2
- data/VERSION +1 -1
- data/lib/rdf/vocab/shacl.rb +1096 -1096
- data/lib/shacl/algebra/and.rb +3 -2
- data/lib/shacl/algebra/constraint_component.rb +9 -0
- data/lib/shacl/algebra/node_shape.rb +10 -16
- data/lib/shacl/algebra/not.rb +3 -2
- data/lib/shacl/algebra/operator.rb +276 -44
- data/lib/shacl/algebra/or.rb +3 -2
- data/lib/shacl/algebra/pattern.rb +43 -0
- data/lib/shacl/algebra/property_shape.rb +11 -16
- data/lib/shacl/algebra/{qualified_value_shape.rb → qualified_value.rb} +19 -5
- data/lib/shacl/algebra/shape.rb +12 -41
- data/lib/shacl/algebra/sparql_constraint.rb +160 -0
- data/lib/shacl/algebra/xone.rb +3 -2
- data/lib/shacl/algebra.rb +20 -12
- data/lib/shacl/context.rb +5 -0
- data/lib/shacl/shapes.rb +40 -11
- data/lib/shacl/validation_result.rb +22 -19
- data/lib/shacl.rb +10 -5
- metadata +32 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c633e6028fd1289d59a32deaa5fa21392fef42e19775c5360176764573c59d55
|
4
|
+
data.tar.gz: 1b531864030beee9032a51f47c06a4151fb41b5500d6fbf639d14261bdb14377
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69660f8f352892612c02d2e487d2e01a0eec8f477024f175c58e30a07ab857aa271494f19b90955cc4b63c9889ed31ebdbcdae04ab0dd188d2949108798bf6f9
|
7
|
+
data.tar.gz: 2e9f9e64e9ba01b171b06e35b6fc47427e3b5f6ba075d5aecb14497a9c84873a6716a029aceae925d85349b68609a8ec7987aceaa5d26e0ca77866fb385d1e4d
|
data/README.md
CHANGED
@@ -10,7 +10,8 @@ This is a pure-Ruby library for working with the [Shape Constraint Language][SHA
|
|
10
10
|
## Features
|
11
11
|
|
12
12
|
* 100% pure Ruby with minimal dependencies and no bloat.
|
13
|
-
* Fully compatible with [SHACL][SHACL Spec]
|
13
|
+
* Fully compatible with SHACL Core [SHACL][SHACL Spec].
|
14
|
+
* Partially compatible with SHACL-SPARQL [SHACL][SHACL Spec].
|
14
15
|
* 100% free and unencumbered [public domain](https://unlicense.org/) software.
|
15
16
|
|
16
17
|
[Implementation Report](https://ruby-rdf.github.io/shacl/etc/earl.html)
|
@@ -60,6 +61,8 @@ Evaluating the shapes against a graph results in a {SHACL::ValidationReport} ind
|
|
60
61
|
|
61
62
|
The resulting validation report can be compared with other validation reports, used as native Ruby objects, serialized to s-expressions, or used as an RDF::Enumerable to retrieve the RDF representation of the report, as defined in [SHACL Spec][].
|
62
63
|
|
64
|
+
SHACL-SPARQL variable bindings pass a solution to the query composed of the necessary bindings rather than rewrite the query. Supports [SHACL-based Constraints](https://www.w3.org/TR/shacl/#sparql-constraints).
|
65
|
+
|
63
66
|
### Matching Entailed Triples
|
64
67
|
Many tests check for entailed triples, such as entailed super-classes of explicit `rdf:type` values. If this is required for a given application, the [RDF::Reasoner][] gem can be used to create such entailed triples.
|
65
68
|
|
@@ -75,10 +78,12 @@ Many tests check for entailed triples, such as entailed super-classes of explici
|
|
75
78
|
### Future work
|
76
79
|
This implementation is certainly not performant. Some things that can be be considered in future versions:
|
77
80
|
|
78
|
-
* Support for SHACL-SPARQL
|
79
81
|
* Index shapes on `targetNode` and `targetClass` and other targets to allow a more efficient query to find relevant resources in the data graph and not simply iterrate through each top-level shape.
|
80
82
|
* Cache target nodes as JSON-LD to reduce the need to separately query for each constraint.
|
81
83
|
* Reasoner should support limited RDFS/OWL entailment from the data graph, not just pre-defined vocabularies.
|
84
|
+
* [SHACL-based Constraint Components](https://www.w3.org/TR/shacl/#sparql-constraint-components).
|
85
|
+
* More [SHACL Advanced Features](https://w3c.github.io/shacl/shacl-af/).
|
86
|
+
* Support the [SHACL Compact Syntax](https://w3c.github.io/shacl/shacl-compact-syntax/).
|
82
87
|
|
83
88
|
## Dependencies
|
84
89
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|