eyeleng 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/browser/eyeleng.browser.js +2462 -1085
- package/examples/cat-koko.srl +52 -0
- package/examples/graph-term-emulation.srl +83 -0
- package/examples/output/cat-koko.trig +3 -0
- package/examples/output/collection-nesting.trig +1 -1
- package/examples/output/graph-term-emulation.trig +11 -0
- package/examples/output/rdf-messages.trig +3 -0
- package/examples/rdf-messages.srl +15 -0
- package/examples/rdf-messages.trig +12 -0
- package/eyeleng.js +2466 -1083
- package/package.json +7 -2
- package/playground.html +1 -1
- package/src/api.js +4 -0
- package/src/cli.js +6 -0
- package/src/parser.js +95 -1
- package/src/rdfEntailment.js +571 -0
- package/src/rdfManifest.js +724 -0
- package/src/rdfMessages.js +321 -0
- package/src/rdfSyntax.js +955 -0
- package/test/api.test.js +63 -0
- package/test/harness.js +38 -10
- package/test/run.js +6 -3
- package/test/shacl12-rules.test.js +14 -13
- package/test/w3c-rdf.test.js +202 -0
- package/tools/browser-bundle.js +0 -0
- package/tools/bundle.js +0 -0
- package/tools/w3c-rdf.js +36 -0
package/README.md
CHANGED
|
@@ -30,3 +30,46 @@ The examples live in [examples/](./examples/) at one level. Draft SRL examples a
|
|
|
30
30
|
Status: Eyeleng runs a growing implementation of the SHACL 1.2 Rules draft surface. It does not implement SHACL validation.
|
|
31
31
|
|
|
32
32
|
The official Eyeleng EARL 1.0 test report for the W3C SHACL 1.2 Rules manifest is in [reports/w3c-shacl12-rules-earl.ttl](./reports/w3c-shacl12-rules-earl.ttl). It records 88/88 passing tests for `https://w3c.github.io/data-shapes/shacl12-test-suite/tests/rules/manifest-rules.ttl`.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## W3C RDF syntax and semantics manifests
|
|
36
|
+
|
|
37
|
+
Eyeleng now integrates the grammar-hardened RDF syntax work into its normal `src/rdfSyntax.js` / `src/rdfManifest.js` structure, and adds a small RDF/RDFS entailment runner in `src/rdfEntailment.js`. The W3C RDF checks are therefore part of the same parser/reasoner discipline as the RDF Rules front-end.
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
npm run w3c:rules
|
|
41
|
+
npm run w3c:rdf
|
|
42
|
+
npm run w3c:all
|
|
43
|
+
npm run w3c:rdf:json
|
|
44
|
+
npm run w3c:rdf:earl
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`npm test` includes both W3C harnesses. When the W3C URLs are reachable, progress is printed test by test. In offline environments, the remote W3C checks are reported as unreachable unless `EYELENG_W3C_REQUIRED=1` is set.
|
|
48
|
+
|
|
49
|
+
The RDF harness covers N-Triples, N-Quads, Turtle, and TriG RDF 1.1/1.2 parser syntax/eval manifests, plus the RDF-MT and RDF 1.2 Semantics entailment manifests. Entailment tests are evaluated under their declared `mf:entailmentRegime` (`simple`, `RDF`, or `RDFS`) with their declared recognized datatypes.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## RDF Message Logs
|
|
53
|
+
|
|
54
|
+
Eyeleng can parse RDF Message Logs with Eyeling-compatible message delimiters and expose a replay view under the `eymsg:` vocabulary. A message log starts with `VERSION "1.2-messages"` and separates payloads with `MESSAGE` or `@message .`.
|
|
55
|
+
|
|
56
|
+
```trig
|
|
57
|
+
VERSION "1.2-messages"
|
|
58
|
+
PREFIX : <http://example/messages#>
|
|
59
|
+
|
|
60
|
+
_:reading :sensor :s1 .
|
|
61
|
+
MESSAGE
|
|
62
|
+
# empty heartbeat
|
|
63
|
+
MESSAGE
|
|
64
|
+
_:reading :sensor :s2 .
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use it directly, import it from SRL, or force message-log parsing from the CLI:
|
|
68
|
+
|
|
69
|
+
```sh
|
|
70
|
+
./eyeleng.js examples/rdf-messages.srl
|
|
71
|
+
./eyeleng.js --rdf-messages --all examples/rdf-messages.trig
|
|
72
|
+
./eyeleng.js --stream-messages --all examples/rdf-messages.trig
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The replay data includes `eymsg:RDFMessageStream`, `eymsg:MessageEnvelope`, offsets, next-envelope links, payload kind, payload graph, and `eymsg:payloadTriple` triple terms. Blank-node labels are scoped per message. For Eyeleng, each payload graph is represented as a closed list of RDF 1.2 triple terms via `log:nameOf`, plus direct `eymsg:payloadTriple` links for convenient SRL rules.
|