Requirement coverage
78 of 100 reviewed requirements have executable mappings; the remaining 21 have explicit scope or deferral rationales.
Tested software
The table lists each tested client, the capabilities declared by its adapter probe, the report timestamp, and the machine-readable EARL assertions. Select a software row to open its detailed test results.
| Software | Implemented | Last tested | Spec compliance |
|---|---|---|---|
| europeana/rd-ldes-client | ordered and unordered traversal, member extraction, context information, persistent state | Yes, for declared features EARL report | |
| OpenLDES Linked Data Interactions client | unordered traversal, member extraction, persistent state | No EARL report | |
| rdf-connect/ldes-client | unordered and ordered traversal, member extraction, context information, persistent state, polling | No EARL report |
europeana/rd-ldes-client
Tested through the LDES conformance adapter for Europeana · revision 9cc345a8a7da089d08732f40abba0dd05db853a4 · version 0.1-SNAPSHOT
Yes, for declared features
94/94required determined tests passed
europeana/rd-ldes-client
Tested through the LDES conformance adapter for Europeana · revision 9cc345a8a7da089d08732f40abba0dd05db853a4 · version 0.1-SNAPSHOT
Adapter available
| Compliance group | Claim | Mandatory tests passed | Notes |
|---|---|---|---|
| Unordered Traversal | Passed | 25 of 25 | — |
| Member Extraction | Passed | 13 of 13 | — |
| Ordered Traversal | Passed | 44 of 44 | — |
| Context Information | Passed | 12 of 12 | — |
EARL Turtle Summary JSON Coverage JSON
Results by compliance group
Unordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
Multiple fallback tree:view targets are rejected
tests/1.0/discovery/ambiguous-overview
|
LDES10-UNORD-015SHOULD | — | JSON |
| Passed |
Multiple current-page tree:view matches are rejected
tests/1.0/discovery/ambiguous-view
|
LDES10-UNORD-012MUST | — | JSON |
| Passed |
The current-page tree:view match takes precedence over fallback metadata
tests/1.0/discovery/current-page-precedence
|
LDES10-UNORD-011, LDES10-UNORD-013, LDES10-UNORD-036MUST | — | JSON |
| Passed |
An entry point without exactly one discoverable view is rejected
tests/1.0/discovery/missing-view
|
LDES10-UNORD-015SHOULD | — | JSON |
| Passed |
An overview document identifies exactly one root node
tests/1.0/discovery/overview-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-013, LDES10-UNORD-014, LDES10-UNORD-034, LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | — | JSON |
| Passed |
Root discovery uses the post-redirect IRI
tests/1.0/discovery/redirect-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-011, LDES10-UNORD-036MUST | — | JSON |
| Passed |
A root-node IRI is accepted as the entry point
tests/1.0/discovery/root-entrypoint
|
LDES10-UNORD-002, LDES10-UNORD-006, LDES10-UNORD-007, LDES10-UNORD-008, LDES10-UNORD-009, LDES10-UNORD-010, LDES10-UNORD-011, LDES10-UNORD-017, LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
A 410 Gone relation target is treated as an empty node
tests/1.0/http/gone-node
|
LDES10-UNORD-046MUST | — | JSON |
| Passed |
408 Request Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-408
|
LDES10-UNORD-038MUST | — | JSON |
| Passed |
425 Too Early is retried with back-off in unordered mode
tests/1.0/http/retry-425
|
LDES10-UNORD-039MUST | — | JSON |
| Passed |
429 Too Many Requests is retried with back-off in unordered mode
tests/1.0/http/retry-429
|
LDES10-UNORD-040MUST | — | JSON |
| Passed |
500 Internal Server Error is retried with back-off in unordered mode
tests/1.0/http/retry-500
|
LDES10-UNORD-041MUST | — | JSON |
| Passed |
502 Bad Gateway is retried with back-off in unordered mode
tests/1.0/http/retry-502
|
LDES10-UNORD-042MUST | — | JSON |
| Passed |
503 Service Unavailable is retried with back-off in unordered mode
tests/1.0/http/retry-503
|
LDES10-UNORD-043MUST | — | JSON |
| Passed |
504 Gateway Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-504
|
LDES10-UNORD-044MUST | — | JSON |
| Passed |
Every required transient HTTP status is retried
tests/1.0/http/retryable-statuses
|
LDES10-UNORD-038, LDES10-UNORD-039, LDES10-UNORD-040, LDES10-UNORD-041, LDES10-UNORD-042, LDES10-UNORD-043, LDES10-UNORD-044MAY | — | JSON |
| Passed |
The five required RDF response media types are parsed
tests/1.0/http/serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | — | JSON |
| Passed |
terminal 404 child
tests/1.0/http/terminal-404-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 404 entry
tests/1.0/http/terminal-404-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 child
tests/1.0/http/terminal-501-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 entry
tests/1.0/http/terminal-501-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 child
tests/1.0/http/terminal-505-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 entry
tests/1.0/http/terminal-505-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
A non-special 4xx response aborts the run
tests/1.0/http/terminal-error
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
Immutable nodes are skipped and mutable ETags are revalidated
tests/1.0/unordered/cache-state
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-022, LDES10-UNORD-023, LDES10-UNORD-027, LDES10-UNORD-035, LDES10-UNORD-037SHOULD | — | JSON |
| Passed |
A member discovered concurrently on multiple pages is emitted once
tests/1.0/unordered/duplicate-member-pages
|
LDES10-UNORD-019MUST | — | JSON |
| Passed |
A changed ETag replaces the stored validator, and a 304 preserves the node frontier
tests/1.0/unordered/etag-update
|
LDES10-UNORD-027, LDES10-UNORD-037SHOULD | — | JSON |
| Passed |
immediate emission
tests/1.0/unordered/immediate-emission
|
LDES10-UNORD-048SHOULD | — | JSON |
| Passed |
immutable parent mutable child
tests/1.0/unordered/immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | — | JSON |
| Passed |
An immutable root is reused when resuming
tests/1.0/unordered/immutable-root-restart
|
LDES10-CTX-001, LDES10-UNORD-018, LDES10-UNORD-023, LDES10-UNORD-024SHOULD | — | JSON |
| Passed |
jsonld context cache
tests/1.0/unordered/jsonld-context-cache
|
LDES10-UNORD-033SHOULD | — | JSON |
| Passed |
A later synchronization run emits only newly discovered members
tests/1.0/unordered/mutable-sync
|
LDES10-UNORD-018, LDES10-UNORD-019, LDES10-UNORD-024, LDES10-UNORD-025MUST | — | JSON |
| Inapplicable |
Advertised polling interval controls synchronization
tests/1.0/unordered/polling-interval-scheduling
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 1 diagnosticadapter does not declare autonomous polling |
JSON |
| Inapplicable |
The advertised ldes:pollingInterval drives the interval between runs, and a changed value is picked up
tests/1.0/unordered/polling-interval-update
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 1 diagnosticadapter does not declare autonomous polling |
JSON |
| Passed |
RDF ldes:immutable prevents a second node fetch
tests/1.0/unordered/rdf-immutable
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-023SHOULD | — | JSON |
| Passed |
Redirected and gone pages do not cause loss or duplicate emission during rebalancing
tests/1.0/unordered/rebalancing
|
LDES10-UNORD-019, LDES10-UNORD-036, LDES10-UNORD-046MUST | — | JSON |
| Passed |
relation targets and scope
tests/1.0/unordered/relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | — | JSON |
| Passed |
root 304 resume
tests/1.0/unordered/root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | — | JSON |
Member Extraction
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
Recursive blank-node member extraction
tests/1.0/extraction/blank-node-chain
|
LDES10-EXTRACT-005, LDES10-EXTRACT-007MUST | — | JSON |
| Passed |
Blank-node extraction terminates on cycles
tests/1.0/extraction/blank-node-cycle
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Passed |
blank node named graph
tests/1.0/extraction/blank-node-named-graph
|
LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Passed |
Default graph subject-star member extraction
tests/1.0/extraction/default-graph-star-minimal
|
LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
Default and member-named graph payloads are merged
tests/1.0/extraction/default-plus-named-graph-merge
|
LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | — | JSON |
| Passed |
Generic extraction isolates member datasets across default and named graphs
tests/1.0/extraction/generic-dataset
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Passed |
late description
tests/1.0/extraction/late-description
|
LDES10-EXTRACT-003, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
Member extraction is scoped to the discovered event stream
tests/1.0/extraction/multiple-streams
|
LDES10-EXTRACT-004MUST | — | JSON |
| Passed |
Member-named graph extraction without default graph data
tests/1.0/extraction/named-graph-only
|
LDES10-EXTRACT-006MUST | — | JSON |
| Passed |
Shape metadata does not frame generic member extraction
tests/1.0/extraction/shape-neutral-generic
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
shared blank node
tests/1.0/extraction/shared-blank-node
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Inapplicable |
TREE Profile extraction basic advisory case
tests/1.0/extraction/tree-profile-basic
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction on a mixed page
tests/1.0/extraction/tree-profile-mixed-page
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction with shape metadata
tests/1.0/extraction/tree-profile-shape-targets
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Passed |
Generic extraction excludes unrelated named graphs
tests/1.0/extraction/unrelated-named-graph
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | — | JSON |
| Passed |
Generic member extraction in ordered mode
tests/1.0/ordered/common-generic-extraction
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
Ordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
immutable parent mutable child
tests/1.0/ordered/common-immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | — | JSON |
| Passed |
relation targets and scope
tests/1.0/ordered/common-relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | — | JSON |
| Passed |
408 Request Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-408
|
LDES10-UNORD-038MUST | — | JSON |
| Passed |
425 Too Early is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-425
|
LDES10-UNORD-039MUST | — | JSON |
| Passed |
429 Too Many Requests is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-429
|
LDES10-UNORD-040MUST | — | JSON |
| Passed |
500 Internal Server Error is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-500
|
LDES10-UNORD-041MUST | — | JSON |
| Passed |
502 Bad Gateway is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-502
|
LDES10-UNORD-042MUST | — | JSON |
| Passed |
503 Service Unavailable is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-503
|
LDES10-UNORD-043MUST | — | JSON |
| Passed |
504 Gateway Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-504
|
LDES10-UNORD-044MUST | — | JSON |
| Passed |
root 304 resume
tests/1.0/ordered/common-root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | — | JSON |
| Passed |
The five required RDF response media types are parsed
tests/1.0/ordered/common-serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | — | JSON |
| Passed |
terminal 404 child
tests/1.0/ordered/common-terminal-404-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 404 entry
tests/1.0/ordered/common-terminal-404-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 child
tests/1.0/ordered/common-terminal-501-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 entry
tests/1.0/ordered/common-terminal-501-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 child
tests/1.0/ordered/common-terminal-505-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 entry
tests/1.0/ordered/common-terminal-505-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
Transaction-finalizing member is emitted last for equal order values
tests/1.0/ordered/equal-values-finalizer
|
LDES10-ORD-016MUST | — | JSON |
| Passed |
finalizer across pages
tests/1.0/ordered/finalizer-across-pages
|
LDES10-ORD-016MUST | — | JSON |
| Passed |
Ordered traversal emits a global ascending sequence and finalizes equal-value transactions last
tests/1.0/ordered/global-order
|
LDES10-ORD-001, LDES10-ORD-004, LDES10-ORD-005, LDES10-ORD-006, LDES10-ORD-008, LDES10-ORD-016MUST | — | JSON |
| Passed |
Ordered traversal treats mismatched relation paths conservatively
tests/1.0/ordered/mismatched-relation-path
|
LDES10-ORD-014MUST | — | JSON |
| Passed |
Ordered traversal rejects an event stream without ordering metadata
tests/1.0/ordered/missing-path
|
LDES10-ORD-008, LDES10-ORD-009MUST | — | JSON |
| Passed |
Ordered traversal handles multiple relation constraints
tests/1.0/ordered/multiple-relations-and
|
LDES10-ORD-013MUST | — | JSON |
| Passed |
Ordered traversal handles tree:GreaterThanRelation
tests/1.0/ordered/relation-greater-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | — | JSON |
| Passed |
Ordered traversal handles tree:GreaterThanOrEqualToRelation
tests/1.0/ordered/relation-greater-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | — | JSON |
| Passed |
Ordered traversal handles tree:LessThanRelation
tests/1.0/ordered/relation-less-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | — | JSON |
| Passed |
Ordered traversal handles tree:LessThanOrEqualToRelation
tests/1.0/ordered/relation-less-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | — | JSON |
| Passed |
Ordered traversal restart does not duplicate emitted members
tests/1.0/ordered/restart-bookmark
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | — | JSON |
| Passed |
restart equal key
tests/1.0/ordered/restart-equal-key
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | — | JSON |
| Passed |
Ordered traversal evaluates sh:alternativePath
tests/1.0/ordered/shacl-alternative-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates an inverse SHACL path
tests/1.0/ordered/shacl-inverse-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates nested SHACL paths
tests/1.0/ordered/shacl-nested-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates a one-or-more SHACL path
tests/1.0/ordered/shacl-one-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates a SHACL sequence path
tests/1.0/ordered/shacl-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
shacl zero length and cycle
tests/1.0/ordered/shacl-zero-length-and-cycle
|
LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates a zero-or-more SHACL path
tests/1.0/ordered/shacl-zero-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal evaluates a zero-or-one SHACL path
tests/1.0/ordered/shacl-zero-or-one-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | — | JSON |
| Passed |
Ordered traversal supports ldes:timestampPath without ldes:sequencePath
tests/1.0/ordered/timestamp-only
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Passed |
Ordered traversal uses ldes:sequencePath as timestamp tie-breaker
tests/1.0/ordered/timestamp-sequence-tie-break
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Passed |
Ordered traversal evaluates a SHACL sequence timestamp path
tests/1.0/ordered/timestamp-shacl-sequence-path
|
LDES10-ORD-006, LDES10-ORD-007, LDES10-CTX-010MUST | — | JSON |
| Passed |
Ordered traversal honors ldes:transactionFinalizedObject
tests/1.0/ordered/transaction-finalized-object
|
LDES10-ORD-016MUST | — | JSON |
| Passed |
Ordered traversal compares one ordering path across numeric datatypes
tests/1.0/ordered/typed-mixed-datatypes
|
LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Passed |
exact integer and decimal order
tests/1.0/ordered/typed-numeric-order
|
LDES10-ORD-006MUST | — | JSON |
| Passed |
Ordered traversal compares xsd:dateTime values as instants
tests/1.0/ordered/typed-timestamp-timezones
|
LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Passed |
Unknown TREE relation types are handled conservatively
tests/1.0/ordered/unsupported-relation
|
LDES10-ORD-004, LDES10-UNORD-051MUST | — | JSON |
| Passed |
Sequence literals use XPath comparison semantics
tests/1.0/ordered/xpath-string-order
|
LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
Context Information
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
Blank-node shapes, view descriptions and retention policies are extracted and communicated structurally
tests/1.0/context/blank-node-metadata
|
LDES10-CTX-002, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | — | JSON |
| Passed |
An empty retention-policy resource is still communicated
tests/1.0/context/empty-retention
|
LDES10-RET-005MUST | — | JSON |
| Passed |
Polling interval is communicated as advisory context
tests/1.0/context/polling-interval
|
LDES10-CTX-003SHOULD | — | JSON |
| Passed |
Direct publishing-service context is preserved
tests/1.0/context/publishing-service-direct
|
LDES10-CTX-008MUST | — | JSON |
| Passed |
Publishing-service context through view description is communicated
tests/1.0/context/publishing-service-view-description
|
LDES10-CTX-009MUST | — | JSON |
| Passed |
Direct retention policy is extracted as context
tests/1.0/context/retention-policy-direct
|
LDES10-RET-003MUST | — | JSON |
| Passed |
View-description retention policy is extracted as context
tests/1.0/context/retention-policy-view-description
|
LDES10-RET-004MUST | — | JSON |
| Passed |
Root and event stream IRIs are communicated
tests/1.0/context/root-and-eventstream-iri
|
LDES10-CTX-001MUST | — | JSON |
| Passed |
Root, event-stream, view-description, version, and retention context is communicated
tests/1.0/context/root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | — | JSON |
| Passed |
Multiple advertised shapes are communicated
tests/1.0/context/shape-multiple
|
LDES10-CTX-002MUST | — | JSON |
| Passed |
statistics
tests/1.0/context/statistics
|
LDES10-UNORD-026SHOULD | — | JSON |
| Passed |
Timestamp and version paths are communicated
tests/1.0/context/timestamp-version-paths
|
LDES10-CTX-003MUST | — | JSON |
| Passed |
version transaction metadata
tests/1.0/context/version-transaction-metadata
|
LDES10-CTX-006MUST | — | JSON |
| Passed |
Root context is communicated in ordered mode
tests/1.0/ordered/common-root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | — | JSON |
OpenLDES Linked Data Interactions client
Tested through the LDES conformance adapter for OpenLDES LDI · revision 52b1feb8ac8f0da77e9e353d4b1dac664857d612 · version 3.1.1
No
17/37required determined tests passed
OpenLDES Linked Data Interactions client
Tested through the LDES conformance adapter for OpenLDES LDI · revision 52b1feb8ac8f0da77e9e353d4b1dac664857d612 · version 3.1.1
Adapter available
| Compliance group | Claim | Mandatory tests passed | Notes |
|---|---|---|---|
| Unordered Traversal | Failed | 11 of 25 | — |
| Member Extraction | Failed | 6 of 12 applicable (13 total) | 1 of 13 mandatory tests were inapplicable to this client and are excluded from the claim |
| Ordered Traversal | Inapplicable | 0 of 0 applicable (44 total) | 44 of 44 mandatory tests were inapplicable to this client and are excluded from the claim |
| Context Information | Inapplicable | 0 of 0 applicable (12 total) | 12 of 12 mandatory tests were inapplicable to this client and are excluded from the claim |
EARL Turtle Summary JSON Coverage JSON
Results by compliance group
Unordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Advisory failed |
Multiple fallback tree:view targets are rejected
tests/1.0/discovery/ambiguous-overview
|
LDES10-UNORD-015SHOULD | 2 diagnosticsevent 0: expected type error, got run-end request /root-b: expected count 0, got 1 |
JSON |
| Failed |
Multiple current-page tree:view matches are rejected
tests/1.0/discovery/ambiguous-view
|
LDES10-UNORD-012MUST | 1 diagnosticevent 0: expected type error, got run-end |
JSON |
| Passed |
The current-page tree:view match takes precedence over fallback metadata
tests/1.0/discovery/current-page-precedence
|
LDES10-UNORD-011, LDES10-UNORD-013, LDES10-UNORD-036MUST | — | JSON |
| Passed |
An entry point without exactly one discoverable view is rejected
tests/1.0/discovery/missing-view
|
LDES10-UNORD-015SHOULD | — | JSON |
| Passed |
An overview document identifies exactly one root node
tests/1.0/discovery/overview-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-013, LDES10-UNORD-014, LDES10-UNORD-034, LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | — | JSON |
| Failed |
Root discovery uses the post-redirect IRI
tests/1.0/discovery/redirect-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-011, LDES10-UNORD-036MUST | 2 diagnosticsrequest /entry: expected count 1, got 2 request /root: expected count 1, got 2 |
JSON |
| Passed |
A root-node IRI is accepted as the entry point
tests/1.0/discovery/root-entrypoint
|
LDES10-UNORD-002, LDES10-UNORD-006, LDES10-UNORD-007, LDES10-UNORD-008, LDES10-UNORD-009, LDES10-UNORD-010, LDES10-UNORD-011, LDES10-UNORD-017, LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005MUST | — | JSON |
| Failed |
A 410 Gone relation target is treated as an empty node
tests/1.0/http/gone-node
|
LDES10-UNORD-046MUST | 1 diagnosticevent 1: expected type run-end, got error |
JSON |
| Failed |
408 Request Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-408
|
LDES10-UNORD-038MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
425 Too Early is retried with back-off in unordered mode
tests/1.0/http/retry-425
|
LDES10-UNORD-039MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
429 Too Many Requests is retried with back-off in unordered mode
tests/1.0/http/retry-429
|
LDES10-UNORD-040MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
500 Internal Server Error is retried with back-off in unordered mode
tests/1.0/http/retry-500
|
LDES10-UNORD-041MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
502 Bad Gateway is retried with back-off in unordered mode
tests/1.0/http/retry-502
|
LDES10-UNORD-042MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
503 Service Unavailable is retried with back-off in unordered mode
tests/1.0/http/retry-503
|
LDES10-UNORD-043MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
504 Gateway Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-504
|
LDES10-UNORD-044MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
Every required transient HTTP status is retried
tests/1.0/http/retryable-statuses
|
LDES10-UNORD-038, LDES10-UNORD-039, LDES10-UNORD-040, LDES10-UNORD-041, LDES10-UNORD-042, LDES10-UNORD-043, LDES10-UNORD-044MAY | 9 diagnosticsevent 0: expected type run-end, got error request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
The five required RDF response media types are parsed
tests/1.0/http/serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | 2 diagnosticsexpected 10 observable events, got 9 event 8: missing matching member in permitted member block |
JSON |
| Passed |
terminal 404 child
tests/1.0/http/terminal-404-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 404 entry
tests/1.0/http/terminal-404-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 child
tests/1.0/http/terminal-501-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 entry
tests/1.0/http/terminal-501-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 child
tests/1.0/http/terminal-505-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 entry
tests/1.0/http/terminal-505-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
A non-special 4xx response aborts the run
tests/1.0/http/terminal-error
|
LDES10-UNORD-047MUST | — | JSON |
| Advisory failed |
Immutable nodes are skipped and mutable ETags are revalidated
tests/1.0/unordered/cache-state
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-022, LDES10-UNORD-023, LDES10-UNORD-027, LDES10-UNORD-035, LDES10-UNORD-037SHOULD | 3 diagnosticsevent 4: expected type run-end, got error request repeat:/rdf-immutable: expected count 0, got 1 request repeat:/mutable: expected if-none-match: "mutable-v1", got <absent> |
JSON |
| Failed |
A member discovered concurrently on multiple pages is emitted once
tests/1.0/unordered/duplicate-member-pages
|
LDES10-UNORD-019MUST | 2 diagnosticsexpected 2 observable events, got 3 event 1: expected type run-end, got member |
JSON |
| Advisory failed |
A changed ETag replaces the stored validator, and a 304 preserves the node frontier
tests/1.0/unordered/etag-update
|
LDES10-UNORD-027, LDES10-UNORD-037SHOULD | 2 diagnosticsrequest second:/mid: expected count at least 1, got 0 request third:/root: expected count at least 1, got 0 |
JSON |
| Passed |
immediate emission
tests/1.0/unordered/immediate-emission
|
LDES10-UNORD-048SHOULD | — | JSON |
| Advisory failed |
immutable parent mutable child
tests/1.0/unordered/immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | 4 diagnosticsexpected 4 observable events, got 3 event 2: missing matching member in permitted member block request second:/root: expected count 0, got 1 request second:/child: expected count at least 1, got 0 |
JSON |
| Advisory failed |
An immutable root is reused when resuming
tests/1.0/unordered/immutable-root-restart
|
LDES10-CTX-001, LDES10-UNORD-018, LDES10-UNORD-023, LDES10-UNORD-024SHOULD | 6 diagnosticsexpected 5 observable events, got 3 event 0: expected type context, got member event 1: missing matching member in permitted member block event 2: expected type run-end, got error request initial:/root: expected count 1, got 2 request repeat:/root: expected count 0, got 1 |
JSON |
| Advisory failed |
jsonld context cache
tests/1.0/unordered/jsonld-context-cache
|
LDES10-UNORD-033SHOULD | 4 diagnosticsexpected 3 observable events, got 1 event 0: missing matching member in permitted member block event 1: missing matching member in permitted member block request /context: expected count 1, got 0 |
JSON |
| Passed |
A later synchronization run emits only newly discovered members
tests/1.0/unordered/mutable-sync
|
LDES10-UNORD-018, LDES10-UNORD-019, LDES10-UNORD-024, LDES10-UNORD-025MUST | — | JSON |
| Inapplicable |
Advertised polling interval controls synchronization
tests/1.0/unordered/polling-interval-scheduling
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 1 diagnosticadapter does not declare autonomous polling |
JSON |
| Inapplicable |
The advertised ldes:pollingInterval drives the interval between runs, and a changed value is picked up
tests/1.0/unordered/polling-interval-update
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 1 diagnosticadapter does not declare autonomous polling |
JSON |
| Advisory failed |
RDF ldes:immutable prevents a second node fetch
tests/1.0/unordered/rdf-immutable
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-023SHOULD | 2 diagnosticsevent 2: expected type run-end, got error request repeat:/immutable: expected count 0, got 1 |
JSON |
| Failed |
Redirected and gone pages do not cause loss or duplicate emission during rebalancing
tests/1.0/unordered/rebalancing
|
LDES10-UNORD-019, LDES10-UNORD-036, LDES10-UNORD-046MUST | 3 diagnosticsexpected 5 observable events, got 6 event 3: expected type run-end, got member event 4: expected runId run-3, got run-2 |
JSON |
| Failed |
relation targets and scope
tests/1.0/unordered/relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | 6 diagnosticsexpected 3 observable events, got 1 event 0: missing matching member in permitted member block event 1: missing matching member in permitted member block request /sentinel: expected count 0, got 1 request /a: expected count at least 1, got 0 request /b: expected count at least 1, got 0 |
JSON |
| Advisory failed |
root 304 resume
tests/1.0/unordered/root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | 1 diagnosticrequest second:/root: expected if-none-match: "root", got <absent> |
JSON |
Member Extraction
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
Recursive blank-node member extraction
tests/1.0/extraction/blank-node-chain
|
LDES10-EXTRACT-005, LDES10-EXTRACT-007MUST | — | JSON |
| Passed |
Blank-node extraction terminates on cycles
tests/1.0/extraction/blank-node-cycle
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Failed |
blank node named graph
tests/1.0/extraction/blank-node-named-graph
|
LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Passed |
Default graph subject-star member extraction
tests/1.0/extraction/default-graph-star-minimal
|
LDES10-EXTRACT-005MUST | — | JSON |
| Failed |
Default and member-named graph payloads are merged
tests/1.0/extraction/default-plus-named-graph-merge
|
LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Failed |
Generic extraction isolates member datasets across default and named graphs
tests/1.0/extraction/generic-dataset
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Passed |
late description
tests/1.0/extraction/late-description
|
LDES10-EXTRACT-003, LDES10-EXTRACT-005MUST | — | JSON |
| Failed |
Member extraction is scoped to the discovered event stream
tests/1.0/extraction/multiple-streams
|
LDES10-EXTRACT-004MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Failed |
Member-named graph extraction without default graph data
tests/1.0/extraction/named-graph-only
|
LDES10-EXTRACT-006MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Passed |
Shape metadata does not frame generic member extraction
tests/1.0/extraction/shape-neutral-generic
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
shared blank node
tests/1.0/extraction/shared-blank-node
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Inapplicable |
TREE Profile extraction basic advisory case
tests/1.0/extraction/tree-profile-basic
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction on a mixed page
tests/1.0/extraction/tree-profile-mixed-page
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction with shape metadata
tests/1.0/extraction/tree-profile-shape-targets
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Failed |
Generic extraction excludes unrelated named graphs
tests/1.0/extraction/unrelated-named-graph
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | 2 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block |
JSON |
| Inapplicable |
Generic member extraction in ordered mode
tests/1.0/ordered/common-generic-extraction
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
Ordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Inapplicable |
immutable parent mutable child
tests/1.0/ordered/common-immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
relation targets and scope
tests/1.0/ordered/common-relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
408 Request Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-408
|
LDES10-UNORD-038MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
425 Too Early is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-425
|
LDES10-UNORD-039MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
429 Too Many Requests is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-429
|
LDES10-UNORD-040MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
500 Internal Server Error is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-500
|
LDES10-UNORD-041MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
502 Bad Gateway is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-502
|
LDES10-UNORD-042MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
503 Service Unavailable is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-503
|
LDES10-UNORD-043MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
504 Gateway Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-504
|
LDES10-UNORD-044MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
root 304 resume
tests/1.0/ordered/common-root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
The five required RDF response media types are parsed
tests/1.0/ordered/common-serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 404 child
tests/1.0/ordered/common-terminal-404-child
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 404 entry
tests/1.0/ordered/common-terminal-404-entry
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 501 child
tests/1.0/ordered/common-terminal-501-child
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 501 entry
tests/1.0/ordered/common-terminal-501-entry
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 505 child
tests/1.0/ordered/common-terminal-505-child
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
terminal 505 entry
tests/1.0/ordered/common-terminal-505-entry
|
LDES10-UNORD-047MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Transaction-finalizing member is emitted last for equal order values
tests/1.0/ordered/equal-values-finalizer
|
LDES10-ORD-016MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
finalizer across pages
tests/1.0/ordered/finalizer-across-pages
|
LDES10-ORD-016MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal emits a global ascending sequence and finalizes equal-value transactions last
tests/1.0/ordered/global-order
|
LDES10-ORD-001, LDES10-ORD-004, LDES10-ORD-005, LDES10-ORD-006, LDES10-ORD-008, LDES10-ORD-016MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal treats mismatched relation paths conservatively
tests/1.0/ordered/mismatched-relation-path
|
LDES10-ORD-014MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal rejects an event stream without ordering metadata
tests/1.0/ordered/missing-path
|
LDES10-ORD-008, LDES10-ORD-009MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal handles multiple relation constraints
tests/1.0/ordered/multiple-relations-and
|
LDES10-ORD-013MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal handles tree:GreaterThanRelation
tests/1.0/ordered/relation-greater-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal handles tree:GreaterThanOrEqualToRelation
tests/1.0/ordered/relation-greater-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal handles tree:LessThanRelation
tests/1.0/ordered/relation-less-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal handles tree:LessThanOrEqualToRelation
tests/1.0/ordered/relation-less-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal restart does not duplicate emitted members
tests/1.0/ordered/restart-bookmark
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
restart equal key
tests/1.0/ordered/restart-equal-key
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates sh:alternativePath
tests/1.0/ordered/shacl-alternative-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates an inverse SHACL path
tests/1.0/ordered/shacl-inverse-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates nested SHACL paths
tests/1.0/ordered/shacl-nested-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates a one-or-more SHACL path
tests/1.0/ordered/shacl-one-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates a SHACL sequence path
tests/1.0/ordered/shacl-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
shacl zero length and cycle
tests/1.0/ordered/shacl-zero-length-and-cycle
|
LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates a zero-or-more SHACL path
tests/1.0/ordered/shacl-zero-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates a zero-or-one SHACL path
tests/1.0/ordered/shacl-zero-or-one-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal supports ldes:timestampPath without ldes:sequencePath
tests/1.0/ordered/timestamp-only
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal uses ldes:sequencePath as timestamp tie-breaker
tests/1.0/ordered/timestamp-sequence-tie-break
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal evaluates a SHACL sequence timestamp path
tests/1.0/ordered/timestamp-shacl-sequence-path
|
LDES10-ORD-006, LDES10-ORD-007, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal honors ldes:transactionFinalizedObject
tests/1.0/ordered/transaction-finalized-object
|
LDES10-ORD-016MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal compares one ordering path across numeric datatypes
tests/1.0/ordered/typed-mixed-datatypes
|
LDES10-ORD-006, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
exact integer and decimal order
tests/1.0/ordered/typed-numeric-order
|
LDES10-ORD-006MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Ordered traversal compares xsd:dateTime values as instants
tests/1.0/ordered/typed-timestamp-timezones
|
LDES10-ORD-006, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Unknown TREE relation types are handled conservatively
tests/1.0/ordered/unsupported-relation
|
LDES10-ORD-004, LDES10-UNORD-051MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
| Inapplicable |
Sequence literals use XPath comparison semantics
tests/1.0/ordered/xpath-string-order
|
LDES10-ORD-006, LDES10-CTX-010MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
Context Information
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Inapplicable |
Blank-node shapes, view descriptions and retention policies are extracted and communicated structurally
tests/1.0/context/blank-node-metadata
|
LDES10-CTX-002, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
An empty retention-policy resource is still communicated
tests/1.0/context/empty-retention
|
LDES10-RET-005MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Polling interval is communicated as advisory context
tests/1.0/context/polling-interval
|
LDES10-CTX-003SHOULD | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Direct publishing-service context is preserved
tests/1.0/context/publishing-service-direct
|
LDES10-CTX-008MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Publishing-service context through view description is communicated
tests/1.0/context/publishing-service-view-description
|
LDES10-CTX-009MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Direct retention policy is extracted as context
tests/1.0/context/retention-policy-direct
|
LDES10-RET-003MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
View-description retention policy is extracted as context
tests/1.0/context/retention-policy-view-description
|
LDES10-RET-004MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Root and event stream IRIs are communicated
tests/1.0/context/root-and-eventstream-iri
|
LDES10-CTX-001MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Root, event-stream, view-description, version, and retention context is communicated
tests/1.0/context/root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Multiple advertised shapes are communicated
tests/1.0/context/shape-multiple
|
LDES10-CTX-002MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
statistics
tests/1.0/context/statistics
|
LDES10-UNORD-026SHOULD | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Timestamp and version paths are communicated
tests/1.0/context/timestamp-version-paths
|
LDES10-CTX-003MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
version transaction metadata
tests/1.0/context/version-transaction-metadata
|
LDES10-CTX-006MUST | 1 diagnosticadapter does not expose context information through the adapter contract |
JSON |
| Inapplicable |
Root context is communicated in ordered mode
tests/1.0/ordered/common-root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 1 diagnosticscenario runs require ordered mode; adapter declares unordered |
JSON |
rdf-connect/ldes-client
Tested through the LDES conformance adapter for rdf-connect · revision 4ae7fe24571352668cf71b9253011614e37e9c94 · version 0.3.3
No
32/94required determined tests passed
rdf-connect/ldes-client
Tested through the LDES conformance adapter for rdf-connect · revision 4ae7fe24571352668cf71b9253011614e37e9c94 · version 0.3.3
Adapter available
| Compliance group | Claim | Mandatory tests passed | Notes |
|---|---|---|---|
| Unordered Traversal | Failed | 13 of 25 | — |
| Member Extraction | Failed | 10 of 13 | — |
| Ordered Traversal | Failed | 9 of 44 | — |
| Context Information | Failed | 0 of 12 | — |
EARL Turtle Summary JSON Coverage JSON
Results by compliance group
Unordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Advisory failed |
Multiple fallback tree:view targets are rejected
tests/1.0/discovery/ambiguous-overview
|
LDES10-UNORD-015SHOULD | 2 diagnosticsevent 0: expected type error, got run-end request /root-a: expected count 0, got 2 |
JSON |
| Failed |
Multiple current-page tree:view matches are rejected
tests/1.0/discovery/ambiguous-view
|
LDES10-UNORD-012MUST | 1 diagnosticevent 0: expected type error, got run-end |
JSON |
| Passed |
The current-page tree:view match takes precedence over fallback metadata
tests/1.0/discovery/current-page-precedence
|
LDES10-UNORD-011, LDES10-UNORD-013, LDES10-UNORD-036MUST | — | JSON |
| Passed |
An entry point without exactly one discoverable view is rejected
tests/1.0/discovery/missing-view
|
LDES10-UNORD-015SHOULD | — | JSON |
| Passed |
An overview document identifies exactly one root node
tests/1.0/discovery/overview-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-013, LDES10-UNORD-014, LDES10-UNORD-034, LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | — | JSON |
| Failed |
Root discovery uses the post-redirect IRI
tests/1.0/discovery/redirect-entrypoint
|
LDES10-UNORD-008, LDES10-UNORD-011, LDES10-UNORD-036MUST | 1 diagnosticrequest /root: expected count 1, got 3 |
JSON |
| Passed |
A root-node IRI is accepted as the entry point
tests/1.0/discovery/root-entrypoint
|
LDES10-UNORD-002, LDES10-UNORD-006, LDES10-UNORD-007, LDES10-UNORD-008, LDES10-UNORD-009, LDES10-UNORD-010, LDES10-UNORD-011, LDES10-UNORD-017, LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005MUST | — | JSON |
| Failed |
A 410 Gone relation target is treated as an empty node
tests/1.0/http/gone-node
|
LDES10-UNORD-046MUST | 1 diagnosticevent 1: expected type run-end, got error |
JSON |
| Failed |
408 Request Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-408
|
LDES10-UNORD-038MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
425 Too Early is retried with back-off in unordered mode
tests/1.0/http/retry-425
|
LDES10-UNORD-039MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
429 Too Many Requests is retried with back-off in unordered mode
tests/1.0/http/retry-429
|
LDES10-UNORD-040MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
500 Internal Server Error is retried with back-off in unordered mode
tests/1.0/http/retry-500
|
LDES10-UNORD-041MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
502 Bad Gateway is retried with back-off in unordered mode
tests/1.0/http/retry-502
|
LDES10-UNORD-042MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
503 Service Unavailable is retried with back-off in unordered mode
tests/1.0/http/retry-503
|
LDES10-UNORD-043MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
504 Gateway Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-504
|
LDES10-UNORD-044MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: missing matching member in permitted member block request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
Every required transient HTTP status is retried
tests/1.0/http/retryable-statuses
|
LDES10-UNORD-038, LDES10-UNORD-039, LDES10-UNORD-040, LDES10-UNORD-041, LDES10-UNORD-042, LDES10-UNORD-043, LDES10-UNORD-044MAY | 9 diagnosticsevent 0: expected type run-end, got error request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request /root: expected count 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Passed |
The five required RDF response media types are parsed
tests/1.0/http/serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | — | JSON |
| Passed |
terminal 404 child
tests/1.0/http/terminal-404-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 404 entry
tests/1.0/http/terminal-404-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 child
tests/1.0/http/terminal-501-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 entry
tests/1.0/http/terminal-501-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 child
tests/1.0/http/terminal-505-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 entry
tests/1.0/http/terminal-505-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
A non-special 4xx response aborts the run
tests/1.0/http/terminal-error
|
LDES10-UNORD-047MUST | — | JSON |
| Advisory failed |
Immutable nodes are skipped and mutable ETags are revalidated
tests/1.0/unordered/cache-state
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-022, LDES10-UNORD-023, LDES10-UNORD-027, LDES10-UNORD-035, LDES10-UNORD-037SHOULD | 2 diagnosticsevent 4: expected type run-end, got error request repeat:/mutable: expected if-none-match: "mutable-v1", got <absent> |
JSON |
| Passed |
A member discovered concurrently on multiple pages is emitted once
tests/1.0/unordered/duplicate-member-pages
|
LDES10-UNORD-019MUST | — | JSON |
| Advisory failed |
A changed ETag replaces the stored validator, and a 304 preserves the node frontier
tests/1.0/unordered/etag-update
|
LDES10-UNORD-027, LDES10-UNORD-037SHOULD | 2 diagnosticsrequest second:/mid: expected count at least 1, got 0 request third:/root: expected count at least 1, got 0 |
JSON |
| Passed |
immediate emission
tests/1.0/unordered/immediate-emission
|
LDES10-UNORD-048SHOULD | — | JSON |
| Advisory failed |
immutable parent mutable child
tests/1.0/unordered/immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | 4 diagnosticsexpected 4 observable events, got 3 event 2: missing matching member in permitted member block request second:/root: expected count 0, got 1 request second:/child: expected count at least 1, got 0 |
JSON |
| Advisory failed |
An immutable root is reused when resuming
tests/1.0/unordered/immutable-root-restart
|
LDES10-CTX-001, LDES10-UNORD-018, LDES10-UNORD-023, LDES10-UNORD-024SHOULD | 5 diagnosticsexpected 5 observable events, got 4
event 0: expected rootNode="{{origin}}/root", got undefined
event 3: expected type context, got error
request initial:/root: expected count 1, got 3
request repeat:/root: expected count 0, got 1 |
JSON |
| Passed |
jsonld context cache
tests/1.0/unordered/jsonld-context-cache
|
LDES10-UNORD-033SHOULD | — | JSON |
| Passed |
A later synchronization run emits only newly discovered members
tests/1.0/unordered/mutable-sync
|
LDES10-UNORD-018, LDES10-UNORD-019, LDES10-UNORD-024, LDES10-UNORD-025MUST | — | JSON |
| Advisory failed |
Advertised polling interval controls synchronization
tests/1.0/unordered/polling-interval-scheduling
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 1 diagnosticrequest /root: expected count 2, got 10 |
JSON |
| Advisory failed |
The advertised ldes:pollingInterval drives the interval between runs, and a changed value is picked up
tests/1.0/unordered/polling-interval-update
|
LDES10-UNORD-004, LDES10-UNORD-005SHOULD | 27 diagnosticsrequest slow:/root: expected count 2, got 14 request timing fast:/root: request 2 followed request 1 after 18ms, expected at least 800ms between consecutive requests request timing fast:/root: request 3 followed request 2 after 15ms, expected at least 800ms between consecutive requests request timing fast:/root: request 4 followed request 3 after 208ms, expected at least 800ms between consecutive requests request timing fast:/root: request 5 followed request 4 after 204ms, expected at least 800ms between consecutive requests request timing fast:/root: request 6 followed request 5 after 204ms, expected at least 800ms between consecutive requests request timing fast:/root: request 7 followed request 6 after 203ms, expected at least 800ms between consecutive requests request timing fast:/root: request 8 followed request 7 after 204ms, expected at least 800ms between consecutive requests request timing fast:/root: request 9 followed request 8 after 204ms, expected at least 800ms between consecutive requests request timing fast:/root: request 10 followed request 9 after 207ms, expected at least 800ms between consecutive requests request timing fast:/root: request 11 followed request 10 after 204ms, expected at least 800ms between consecutive requests request timing fast:/root: request 12 followed request 11 after 203ms, expected at least 800ms between consecutive requests request timing fast:/root: request 13 followed request 12 after 203ms, expected at least 800ms between consecutive requests request timing fast:/root: request 14 followed request 13 after 204ms, expected at least 800ms between consecutive requests request timing slow:/root: request 2 followed request 1 after 18ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 3 followed request 2 after 16ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 4 followed request 3 after 208ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 5 followed request 4 after 204ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 6 followed request 5 after 204ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 7 followed request 6 after 203ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 8 followed request 7 after 204ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 9 followed request 8 after 204ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 10 followed request 9 after 205ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 11 followed request 10 after 204ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 12 followed request 11 after 206ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 13 followed request 12 after 202ms, expected at least 1700ms between consecutive requests request timing slow:/root: request 14 followed request 13 after 204ms, expected at least 1700ms between consecutive requests |
JSON |
| Advisory failed |
RDF ldes:immutable prevents a second node fetch
tests/1.0/unordered/rdf-immutable
|
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-023SHOULD | 2 diagnosticsevent 2: expected type run-end, got error request repeat:/immutable: expected count 0, got 1 |
JSON |
| Failed |
Redirected and gone pages do not cause loss or duplicate emission during rebalancing
tests/1.0/unordered/rebalancing
|
LDES10-UNORD-019, LDES10-UNORD-036, LDES10-UNORD-046MUST | 1 diagnosticevent 4: expected type run-end, got error |
JSON |
| Failed |
relation targets and scope
tests/1.0/unordered/relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | 3 diagnosticsexpected 3 observable events, got 2 event 1: missing matching member in permitted member block request /b: expected count at least 1, got 0 |
JSON |
| Advisory failed |
root 304 resume
tests/1.0/unordered/root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | 3 diagnosticsrequest second:/root: expected if-none-match: "root", got <absent> request second:/root: expected if-none-match: "root", got <absent> request second:/root: expected if-none-match: "root", got <absent> |
JSON |
Member Extraction
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Passed |
Recursive blank-node member extraction
tests/1.0/extraction/blank-node-chain
|
LDES10-EXTRACT-005, LDES10-EXTRACT-007MUST | — | JSON |
| Passed |
Blank-node extraction terminates on cycles
tests/1.0/extraction/blank-node-cycle
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Failed |
blank node named graph
tests/1.0/extraction/blank-node-named-graph
|
LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | 1 diagnosticevent 0: missing matching member in permitted member block |
JSON |
| Passed |
Default graph subject-star member extraction
tests/1.0/extraction/default-graph-star-minimal
|
LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
Default and member-named graph payloads are merged
tests/1.0/extraction/default-plus-named-graph-merge
|
LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | — | JSON |
| Passed |
Generic extraction isolates member datasets across default and named graphs
tests/1.0/extraction/generic-dataset
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Passed |
late description
tests/1.0/extraction/late-description
|
LDES10-EXTRACT-003, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
Member extraction is scoped to the discovered event stream
tests/1.0/extraction/multiple-streams
|
LDES10-EXTRACT-004MUST | — | JSON |
| Passed |
Member-named graph extraction without default graph data
tests/1.0/extraction/named-graph-only
|
LDES10-EXTRACT-006MUST | — | JSON |
| Passed |
Shape metadata does not frame generic member extraction
tests/1.0/extraction/shape-neutral-generic
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005MUST | — | JSON |
| Passed |
shared blank node
tests/1.0/extraction/shared-blank-node
|
LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | — | JSON |
| Inapplicable |
TREE Profile extraction basic advisory case
tests/1.0/extraction/tree-profile-basic
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction on a mixed page
tests/1.0/extraction/tree-profile-mixed-page
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Inapplicable |
TREE Profile extraction with shape metadata
tests/1.0/extraction/tree-profile-shape-targets
|
LDES10-EXTRACT-001MAY | 1 diagnosticadapter does not declare TREE Profile extraction |
JSON |
| Failed |
Generic extraction excludes unrelated named graphs
tests/1.0/extraction/unrelated-named-graph
|
LDES10-EXTRACT-002, LDES10-EXTRACT-005, LDES10-EXTRACT-006MUST | 1 diagnosticevent 0: missing matching member in permitted member block |
JSON |
| Failed |
Generic member extraction in ordered mode
tests/1.0/ordered/common-generic-extraction
|
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
Ordered Traversal
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Advisory failed |
immutable parent mutable child
tests/1.0/ordered/common-immutable-parent-mutable-child
|
LDES10-UNORD-024, LDES10-UNORD-023SHOULD | 5 diagnosticsexpected 4 observable events, got 2 event 0: expected type member, got error event 1: expected type run-end, got error request second:/root: expected count 0, got 1 request second:/child: expected count at least 1, got 0 |
JSON |
| Failed |
relation targets and scope
tests/1.0/ordered/common-relation-targets-and-scope
|
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051MUST | 4 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error request /a: expected count at least 1, got 0 request /b: expected count at least 1, got 0 |
JSON |
| Failed |
408 Request Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-408
|
LDES10-UNORD-038MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
425 Too Early is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-425
|
LDES10-UNORD-039MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
429 Too Many Requests is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-429
|
LDES10-UNORD-040MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
500 Internal Server Error is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-500
|
LDES10-UNORD-041MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
502 Bad Gateway is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-502
|
LDES10-UNORD-042MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
503 Service Unavailable is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-503
|
LDES10-UNORD-043MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Failed |
504 Gateway Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-504
|
LDES10-UNORD-044MUST | 5 diagnosticsexpected 2 observable events, got 1 event 0: expected type member, got error request /root: expected count at least 2, got 1 request /root: expected count at least 1, got 0 request timing /root: expected at least 2 requests, got 1 |
JSON |
| Advisory failed |
root 304 resume
tests/1.0/ordered/common-root-304-resume
|
LDES10-UNORD-024, LDES10-UNORD-037SHOULD | 6 diagnosticsexpected 4 observable events, got 2 event 0: expected type member, got error event 1: expected type run-end, got error request second:/root: expected if-none-match: "root", got <absent> request second:/root: expected if-none-match: "root", got <absent> request second:/child: expected count at least 1, got 0 |
JSON |
| Failed |
The five required RDF response media types are parsed
tests/1.0/ordered/common-serializations
|
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032MUST | 6 diagnosticsexpected 10 observable events, got 5 event 0: expected type member, got error event 1: expected type run-end, got error event 2: expected type member, got error event 3: expected type run-end, got error event 4: expected type member, got error |
JSON |
| Passed |
terminal 404 child
tests/1.0/ordered/common-terminal-404-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 404 entry
tests/1.0/ordered/common-terminal-404-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 child
tests/1.0/ordered/common-terminal-501-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 501 entry
tests/1.0/ordered/common-terminal-501-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 child
tests/1.0/ordered/common-terminal-505-child
|
LDES10-UNORD-047MUST | — | JSON |
| Passed |
terminal 505 entry
tests/1.0/ordered/common-terminal-505-entry
|
LDES10-UNORD-047MUST | — | JSON |
| Failed |
Transaction-finalizing member is emitted last for equal order values
tests/1.0/ordered/equal-values-finalizer
|
LDES10-ORD-016MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
finalizer across pages
tests/1.0/ordered/finalizer-across-pages
|
LDES10-ORD-016MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal emits a global ascending sequence and finalizes equal-value transactions last
tests/1.0/ordered/global-order
|
LDES10-ORD-001, LDES10-ORD-004, LDES10-ORD-005, LDES10-ORD-006, LDES10-ORD-008, LDES10-ORD-016MUST | 2 diagnosticsexpected 5 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal treats mismatched relation paths conservatively
tests/1.0/ordered/mismatched-relation-path
|
LDES10-ORD-014MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Passed |
Ordered traversal rejects an event stream without ordering metadata
tests/1.0/ordered/missing-path
|
LDES10-ORD-008, LDES10-ORD-009MUST | — | JSON |
| Failed |
Ordered traversal handles multiple relation constraints
tests/1.0/ordered/multiple-relations-and
|
LDES10-ORD-013MUST | 2 diagnosticsexpected 4 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal handles tree:GreaterThanRelation
tests/1.0/ordered/relation-greater-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal handles tree:GreaterThanOrEqualToRelation
tests/1.0/ordered/relation-greater-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | 3 diagnosticsexpected 3 observable events, got 1 event 0: missing matching member in permitted member block event 1: missing matching member in permitted member block |
JSON |
| Failed |
Ordered traversal handles tree:LessThanRelation
tests/1.0/ordered/relation-less-than
|
LDES10-ORD-004, LDES10-ORD-006MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal handles tree:LessThanOrEqualToRelation
tests/1.0/ordered/relation-less-than-or-equal
|
LDES10-ORD-004, LDES10-ORD-006MUST | 3 diagnosticsexpected 3 observable events, got 1 event 0: missing matching member in permitted member block event 1: missing matching member in permitted member block |
JSON |
| Failed |
Ordered traversal restart does not duplicate emitted members
tests/1.0/ordered/restart-bookmark
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | 3 diagnosticsexpected 4 observable events, got 2 event 0: expected type member, got error event 1: expected type run-end, got error |
JSON |
| Failed |
restart equal key
tests/1.0/ordered/restart-equal-key
|
LDES10-UNORD-019, LDES10-UNORD-024MUST | 3 diagnosticsexpected 5 observable events, got 2 event 0: expected type member, got error event 1: expected type run-end, got error |
JSON |
| Failed |
Ordered traversal evaluates sh:alternativePath
tests/1.0/ordered/shacl-alternative-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates an inverse SHACL path
tests/1.0/ordered/shacl-inverse-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates nested SHACL paths
tests/1.0/ordered/shacl-nested-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates a one-or-more SHACL path
tests/1.0/ordered/shacl-one-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates a SHACL sequence path
tests/1.0/ordered/shacl-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
shacl zero length and cycle
tests/1.0/ordered/shacl-zero-length-and-cycle
|
LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates a zero-or-more SHACL path
tests/1.0/ordered/shacl-zero-or-more-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal evaluates a zero-or-one SHACL path
tests/1.0/ordered/shacl-zero-or-one-path
|
LDES10-ORD-006, LDES10-ORD-007MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Passed |
Ordered traversal supports ldes:timestampPath without ldes:sequencePath
tests/1.0/ordered/timestamp-only
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Failed |
Ordered traversal uses ldes:sequencePath as timestamp tie-breaker
tests/1.0/ordered/timestamp-sequence-tie-break
|
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010MUST | 4 diagnosticsevent 0: expected member {{raw}}responses/root.ttl#member/z-early-one, got https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/ordered/timestamp-sequence-tie-break/responses/root.ttl#member/a-early-two
event 0: member dataset did not match early-one.nq
event 1: expected member {{raw}}responses/root.ttl#member/a-early-two, got https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/ordered/timestamp-sequence-tie-break/responses/root.ttl#member/z-early-one
event 1: member dataset did not match early-two.nq |
JSON |
| Failed |
Ordered traversal evaluates a SHACL sequence timestamp path
tests/1.0/ordered/timestamp-shacl-sequence-path
|
LDES10-ORD-006, LDES10-ORD-007, LDES10-CTX-010MUST | 4 diagnosticsevent 0: expected member {{raw}}responses/root.ttl#member/z-early, got https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/ordered/timestamp-shacl-sequence-path/responses/root.ttl#member/a-late
event 0: member dataset did not match early.nq
event 1: expected member {{raw}}responses/root.ttl#member/a-late, got https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/ordered/timestamp-shacl-sequence-path/responses/root.ttl#member/z-early
event 1: member dataset did not match late.nq |
JSON |
| Failed |
Ordered traversal honors ldes:transactionFinalizedObject
tests/1.0/ordered/transaction-finalized-object
|
LDES10-ORD-016MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Ordered traversal compares one ordering path across numeric datatypes
tests/1.0/ordered/typed-mixed-datatypes
|
LDES10-ORD-006, LDES10-CTX-010MUST | 2 diagnosticsexpected 5 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
exact integer and decimal order
tests/1.0/ordered/typed-numeric-order
|
LDES10-ORD-006MUST | 2 diagnosticsexpected 7 observable events, got 1 event 0: expected type member, got error |
JSON |
| Passed |
Ordered traversal compares xsd:dateTime values as instants
tests/1.0/ordered/typed-timestamp-timezones
|
LDES10-ORD-006, LDES10-CTX-010MUST | — | JSON |
| Failed |
Unknown TREE relation types are handled conservatively
tests/1.0/ordered/unsupported-relation
|
LDES10-ORD-004, LDES10-UNORD-051MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
| Failed |
Sequence literals use XPath comparison semantics
tests/1.0/ordered/xpath-string-order
|
LDES10-ORD-006, LDES10-CTX-010MUST | 2 diagnosticsexpected 3 observable events, got 1 event 0: expected type member, got error |
JSON |
Context Information
| Outcome | Test | Requirement | Details | Evidence |
|---|---|---|---|---|
| Failed |
Blank-node shapes, view descriptions and retention policies are extracted and communicated structurally
tests/1.0/context/blank-node-metadata
|
LDES10-CTX-002, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 3 diagnosticsevent 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/direct-policy","{{raw}}responses/root.ttl#vocab/service-policy"], got undefined
event 0: expected emptyRetentionPolicies=[], got undefined
event 0: expected dataset, got none |
JSON |
| Failed |
An empty retention-policy resource is still communicated
tests/1.0/context/empty-retention
|
LDES10-RET-005MUST | 2 diagnosticsevent 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/empty-policy"], got undefined
event 0: expected emptyRetentionPolicies=["{{raw}}responses/root.ttl#vocab/empty-policy"], got undefined |
JSON |
| Advisory failed |
Polling interval is communicated as advisory context
tests/1.0/context/polling-interval
|
LDES10-CTX-003SHOULD | 1 diagnosticevent 0: expected pollingInterval=45, got undefined |
JSON |
| Failed |
Direct publishing-service context is preserved
tests/1.0/context/publishing-service-direct
|
LDES10-CTX-008MUST | 1 diagnosticevent 0: expected dataset, got none |
JSON |
| Failed |
Publishing-service context through view description is communicated
tests/1.0/context/publishing-service-view-description
|
LDES10-CTX-009MUST | 2 diagnosticsevent 0: expected viewDescriptions=["{{raw}}responses/root.ttl#vocab/service"], got undefined
event 0: expected dataset, got none |
JSON |
| Failed |
Direct retention policy is extracted as context
tests/1.0/context/retention-policy-direct
|
LDES10-RET-003MUST | 1 diagnosticevent 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/direct-policy"], got undefined |
JSON |
| Failed |
View-description retention policy is extracted as context
tests/1.0/context/retention-policy-view-description
|
LDES10-RET-004MUST | 2 diagnosticsevent 0: expected viewDescriptions=["{{raw}}responses/root.ttl#vocab/service"], got undefined
event 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/view-policy"], got undefined |
JSON |
| Failed |
Root and event stream IRIs are communicated
tests/1.0/context/root-and-eventstream-iri
|
LDES10-CTX-001MUST | 1 diagnosticevent 0: expected rootNode="{{origin}}/root", got undefined |
JSON |
| Failed |
Root, event-stream, view-description, version, and retention context is communicated
tests/1.0/context/root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 6 diagnosticsevent 0: expected shapes=["{{raw}}responses/root.ttl#vocab/ShapeA","{{raw}}responses/root.ttl#vocab/ShapeB"], got undefined
event 0: expected viewDescriptions=["{{raw}}responses/root.ttl#vocab/service"], got undefined
event 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/direct-policy","{{raw}}responses/root.ttl#vocab/service-policy"], got undefined
event 0: expected versionTimestampPath="{{raw}}responses/root.ttl#vocab/modified", got undefined
event 0: expected versionSequencePath="{{raw}}responses/root.ttl#vocab/version", got undefined
event 0: expected dataset, got none |
JSON |
| Failed |
Multiple advertised shapes are communicated
tests/1.0/context/shape-multiple
|
LDES10-CTX-002MUST | 1 diagnosticevent 0: expected shapes=["{{raw}}responses/root.ttl#vocab/ShapeA","{{raw}}responses/root.ttl#vocab/ShapeB","{{raw}}responses/root.ttl#vocab/ShapeC"], got undefined |
JSON |
| Passed |
statistics
tests/1.0/context/statistics
|
LDES10-UNORD-026SHOULD | — | JSON |
| Failed |
Timestamp and version paths are communicated
tests/1.0/context/timestamp-version-paths
|
LDES10-CTX-003MUST | 2 diagnosticsevent 0: expected versionTimestampPath="{{raw}}responses/root.ttl#vocab/modified", got undefined
event 0: expected versionSequencePath="{{raw}}responses/root.ttl#vocab/version", got undefined |
JSON |
| Failed |
version transaction metadata
tests/1.0/context/version-transaction-metadata
|
LDES10-CTX-006MUST | 1 diagnosticevent 0: expected dataset, got none |
JSON |
| Failed |
Root context is communicated in ordered mode
tests/1.0/ordered/common-root-context
|
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004MUST | 6 diagnosticsevent 0: expected shapes=["{{raw}}responses/root.ttl#vocab/ShapeA","{{raw}}responses/root.ttl#vocab/ShapeB"], got undefined
event 0: expected viewDescriptions=["{{raw}}responses/root.ttl#vocab/service"], got undefined
event 0: expected retentionPolicies=["{{raw}}responses/root.ttl#vocab/direct-policy","{{raw}}responses/root.ttl#vocab/service-policy"], got undefined
event 0: expected versionTimestampPath="{{raw}}responses/root.ttl#vocab/modified", got undefined
event 0: expected versionSequencePath="{{raw}}responses/root.ttl#vocab/version", got undefined
event 0: expected dataset, got none |
JSON |
Conformance test cases
Every test has a stable hash IRI under https://www.pieter.pm/ldes-client-conformance-test-suite/1.0#, and EARL assertions use those IRIs directly. Test detail is collapsed by default: open a group below, show the whole catalogue, or follow a test IRI to jump straight to it.
Unordered Traversal
| Test | Requirements | Level |
|---|---|---|
Multiple fallback tree:view targets are rejected
tests/1.0/discovery/ambiguous-overview
When no current-page match exists, the supplied IRI has two tree:view targets and neither may be selected silently. #discovery-ambiguous-overview |
LDES10-UNORD-015 | SHOULD |
Multiple current-page tree:view matches are rejected
tests/1.0/discovery/ambiguous-view
The entry representation contains more than one current-page tree:view match, which the initialization algorithm requires the client to report as an error. #discovery-ambiguous-view |
LDES10-UNORD-012 | MUST |
The current-page tree:view match takes precedence over fallback metadata
tests/1.0/discovery/current-page-precedence
The entry point redirects, and the target page carries both a current-page tree:view pattern and a tree:view statement about the originally supplied IRI that points at a decoy root. The client must resolve the relative view and relation IRIs against the post-redirect base, select the current-page match, and never dereference the decoy. The fallback lookup is only consulted when the current-page pattern is absent. #discovery-current-page-precedence |
LDES10-UNORD-011, LDES10-UNORD-013, LDES10-UNORD-036 | MUST |
An entry point without exactly one discoverable view is rejected
tests/1.0/discovery/missing-view
The entry representation has no usable current-page tree:view relation, so the client should stop with an entry-point error instead of traversing arbitrary data. #discovery-missing-view |
LDES10-UNORD-015 | SHOULD |
An overview document identifies exactly one root node
tests/1.0/discovery/overview-entrypoint
The supplied IRI is an overview document with one tree:view target; the client must dereference that target as the root node and emit the member found there. #discovery-overview-entrypoint |
LDES10-UNORD-008, LDES10-UNORD-013, LDES10-UNORD-014, LDES10-UNORD-034, LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051 | MUST |
Root discovery uses the post-redirect IRI
tests/1.0/discovery/redirect-entrypoint
The supplied entry point redirects to a root whose current-page tree:view statement resolves against the final response IRI. #discovery-redirect-entrypoint |
LDES10-UNORD-008, LDES10-UNORD-011, LDES10-UNORD-036 | MUST |
A root-node IRI is accepted as the entry point
tests/1.0/discovery/root-entrypoint
The supplied IRI is both the fetched document and the sole tree:view target; the root member must be emitted. #discovery-root-entrypoint |
LDES10-UNORD-002, LDES10-UNORD-006, LDES10-UNORD-007, LDES10-UNORD-008, LDES10-UNORD-009, LDES10-UNORD-010, LDES10-UNORD-011, LDES10-UNORD-017, LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005 | MUST |
A 410 Gone relation target is treated as an empty node
tests/1.0/http/gone-node
A relation target returns HTTP 410 Gone during traversal; the client must treat that node as empty and complete without turning the response into a fatal error. #http-gone-node |
LDES10-UNORD-046 | MUST |
408 Request Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-408
The root node returns 408 Request Timeout twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-408 |
LDES10-UNORD-038 | MUST |
425 Too Early is retried with back-off in unordered mode
tests/1.0/http/retry-425
The root node returns 425 Too Early twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-425 |
LDES10-UNORD-039 | MUST |
429 Too Many Requests is retried with back-off in unordered mode
tests/1.0/http/retry-429
The root node returns 429 Too Many Requests twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-429 |
LDES10-UNORD-040 | MUST |
500 Internal Server Error is retried with back-off in unordered mode
tests/1.0/http/retry-500
The root node returns 500 Internal Server Error twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-500 |
LDES10-UNORD-041 | MUST |
502 Bad Gateway is retried with back-off in unordered mode
tests/1.0/http/retry-502
The root node returns 502 Bad Gateway twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-502 |
LDES10-UNORD-042 | MUST |
503 Service Unavailable is retried with back-off in unordered mode
tests/1.0/http/retry-503
The root node returns 503 Service Unavailable twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-503 |
LDES10-UNORD-043 | MUST |
504 Gateway Timeout is retried with back-off in unordered mode
tests/1.0/http/retry-504
The root node returns 504 Gateway Timeout twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. #http-retry-504 |
LDES10-UNORD-044 | MUST |
Every required transient HTTP status is retried
tests/1.0/http/retryable-statuses
The server returns each retryable status once before a valid root representation, and the request timeline verifies that retries are not immediate. #http-retryable-statuses |
LDES10-UNORD-038, LDES10-UNORD-039, LDES10-UNORD-040, LDES10-UNORD-041, LDES10-UNORD-042, LDES10-UNORD-043, LDES10-UNORD-044 | MAY |
The five required RDF response media types are parsed
tests/1.0/http/serializations
The same logical root page is served as Turtle, N-Triples, N-Quads, TriG, and JSON-LD across runs; the client must parse each required media type and emit the corresponding member. #http-serializations |
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032 | MUST |
terminal 404 child
tests/1.0/http/terminal-404-child
No manifest description is available for this test. #http-terminal-404-child |
LDES10-UNORD-047 | MUST |
terminal 404 entry
tests/1.0/http/terminal-404-entry
No manifest description is available for this test. #http-terminal-404-entry |
LDES10-UNORD-047 | MUST |
terminal 501 child
tests/1.0/http/terminal-501-child
No manifest description is available for this test. #http-terminal-501-child |
LDES10-UNORD-047 | MUST |
terminal 501 entry
tests/1.0/http/terminal-501-entry
No manifest description is available for this test. #http-terminal-501-entry |
LDES10-UNORD-047 | MUST |
terminal 505 child
tests/1.0/http/terminal-505-child
No manifest description is available for this test. #http-terminal-505-child |
LDES10-UNORD-047 | MUST |
terminal 505 entry
tests/1.0/http/terminal-505-entry
No manifest description is available for this test. #http-terminal-505-entry |
LDES10-UNORD-047 | MUST |
A non-special 4xx response aborts the run
tests/1.0/http/terminal-error
The entry point returns a terminal client error that is not one of the retryable or empty-node cases; the client must surface an error and stop the run. #http-terminal-error |
LDES10-UNORD-047 | MUST |
Immutable nodes are skipped and mutable ETags are revalidated
tests/1.0/unordered/cache-state
Across repeated synchronization runs, RDF-immutable and Cache-Control immutable nodes must not be refetched, while the mutable node must be revalidated with its ETag. #unordered-cache-state |
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-022, LDES10-UNORD-023, LDES10-UNORD-027, LDES10-UNORD-035, LDES10-UNORD-037 | SHOULD |
A member discovered concurrently on multiple pages is emitted once
tests/1.0/unordered/duplicate-member-pages
Two delayed sibling nodes contain the same member IRI and dataset and are fetched concurrently when the adapter supports it; the client must emit exactly one member event for that IRI. #unordered-duplicate-member-pages |
LDES10-UNORD-019 | MUST |
A changed ETag replaces the stored validator, and a 304 preserves the node frontier
tests/1.0/unordered/etag-update
The root node's ETag changes from "v1" to "v2" on a revalidated response. A later run receives 304 only when it presents the updated validator, so a client that replays the stale ETag is observable in the request log. In the same run an intermediate node answers 304, and the client must still follow that node's saved outgoing relation to reach a member added on its child rather than discarding the frontier with the unchanged node. #unordered-etag-update |
LDES10-UNORD-027, LDES10-UNORD-037 | SHOULD |
immediate emission
tests/1.0/unordered/immediate-emission
No manifest description is available for this test. #unordered-immediate-emission |
LDES10-UNORD-048 | SHOULD |
immutable parent mutable child
tests/1.0/unordered/immutable-parent-mutable-child
No manifest description is available for this test. #unordered-immutable-parent-mutable-child |
LDES10-UNORD-024, LDES10-UNORD-023 | SHOULD |
An immutable root is reused when resuming
tests/1.0/unordered/immutable-root-restart
After the initial run persists root context and state, a later synchronization run must communicate the same context and continue without fetching the RDF-immutable root again. #unordered-immutable-root-restart |
LDES10-CTX-001, LDES10-UNORD-018, LDES10-UNORD-023, LDES10-UNORD-024 | SHOULD |
jsonld context cache
tests/1.0/unordered/jsonld-context-cache
No manifest description is available for this test. #unordered-jsonld-context-cache |
LDES10-UNORD-033 | SHOULD |
A later synchronization run emits only newly discovered members
tests/1.0/unordered/mutable-sync
The same client state is reused for a second synchronization run after the server adds a frontier member; the client must not re-emit the old member and must emit the new one. #unordered-mutable-sync |
LDES10-UNORD-018, LDES10-UNORD-019, LDES10-UNORD-024, LDES10-UNORD-025 | MUST |
Advertised polling interval controls synchronization
tests/1.0/unordered/polling-interval-scheduling
A follow-mode client observes ldes:pollingInterval in seconds instead of using a faster implementation default. #unordered-polling-interval-scheduling |
LDES10-UNORD-004, LDES10-UNORD-005 | SHOULD |
The advertised ldes:pollingInterval drives the interval between runs, and a changed value is picked up
tests/1.0/unordered/polling-interval-update
The same view is served over two equal-length follow windows advertising ldes:pollingInterval 1 and then 2. Both the request count and the gap between consecutive polls are checked per phase with tolerance, so a client that ignores the advertised value and polls on a hard-coded interval fails at least one phase whichever interval it hard-codes. The oracle constrains the gap from below and the count from above rather than pinning exact timestamps. #unordered-polling-interval-update |
LDES10-UNORD-004, LDES10-UNORD-005 | SHOULD |
RDF ldes:immutable prevents a second node fetch
tests/1.0/unordered/rdf-immutable
The node is immutable only through RDF metadata, without a Cache-Control immutable directive. #unordered-rdf-immutable |
LDES10-UNORD-020, LDES10-UNORD-021, LDES10-UNORD-023 | SHOULD |
Redirected and gone pages do not cause loss or duplicate emission during rebalancing
tests/1.0/unordered/rebalancing
The server first publishes one member, then rebalances the page through redirect and 410 Gone responses; the client must retain state, avoid duplicate emission, and still discover the new member. #unordered-rebalancing |
LDES10-UNORD-019, LDES10-UNORD-036, LDES10-UNORD-046 | MUST |
relation targets and scope
tests/1.0/unordered/relation-targets-and-scope
No manifest description is available for this test. #unordered-relation-targets-and-scope |
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051 | MUST |
root 304 resume
tests/1.0/unordered/root-304-resume
No manifest description is available for this test. #unordered-root-304-resume |
LDES10-UNORD-024, LDES10-UNORD-037 | SHOULD |
Member Extraction
| Test | Requirements | Level |
|---|---|---|
Recursive blank-node member extraction
tests/1.0/extraction/blank-node-chain
Blank nodes reachable from the member payload are included recursively. #extraction-blank-node-chain |
LDES10-EXTRACT-005, LDES10-EXTRACT-007 | MUST |
Blank-node extraction terminates on cycles
tests/1.0/extraction/blank-node-cycle
The member payload contains a cyclic blank-node structure and must still produce finite output. #extraction-blank-node-cycle |
LDES10-EXTRACT-007, LDES10-EXTRACT-008 | MUST |
blank node named graph
tests/1.0/extraction/blank-node-named-graph
No manifest description is available for this test. #extraction-blank-node-named-graph |
LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008 | MUST |
Default graph subject-star member extraction
tests/1.0/extraction/default-graph-star-minimal
The member is described only by default-graph triples with the member IRI as subject. #extraction-default-graph-star-minimal |
LDES10-EXTRACT-005 | MUST |
Default and member-named graph payloads are merged
tests/1.0/extraction/default-plus-named-graph-merge
The member dataset is split between the default graph and graph named by the member IRI. #extraction-default-plus-named-graph-merge |
LDES10-EXTRACT-005, LDES10-EXTRACT-006 | MUST |
Generic extraction isolates member datasets across default and named graphs
tests/1.0/extraction/generic-dataset
The fixture includes a named-graph payload, recursive cyclic blank nodes, unrelated page data, and another event stream. #extraction-generic-dataset |
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008 | MUST |
late description
tests/1.0/extraction/late-description
No manifest description is available for this test. #extraction-late-description |
LDES10-EXTRACT-003, LDES10-EXTRACT-005 | MUST |
Member extraction is scoped to the discovered event stream
tests/1.0/extraction/multiple-streams
A page contains members for two streams; only the selected stream may be emitted. #extraction-multiple-streams |
LDES10-EXTRACT-004 | MUST |
Member-named graph extraction without default graph data
tests/1.0/extraction/named-graph-only
The member payload exists only in the graph named by the member IRI. #extraction-named-graph-only |
LDES10-EXTRACT-006 | MUST |
Shape metadata does not frame generic member extraction
tests/1.0/extraction/shape-neutral-generic
On an ordinary Turtle response, tree:shape communicates validation context but does not suppress member triples outside that shape. #extraction-shape-neutral-generic |
LDES10-EXTRACT-002, LDES10-EXTRACT-005 | MUST |
shared blank node
tests/1.0/extraction/shared-blank-node
No manifest description is available for this test. #extraction-shared-blank-node |
LDES10-EXTRACT-007, LDES10-EXTRACT-008 | MUST |
TREE Profile extraction basic advisory case
tests/1.0/extraction/tree-profile-basic
A client that claims TREE Profile extraction emits the described resource from the page. #extraction-tree-profile-basic |
LDES10-EXTRACT-001 | MAY |
TREE Profile extraction on a mixed page
tests/1.0/extraction/tree-profile-mixed-page
A TREE Profile-capable client emits the selected profile member and does not emit unrelated page resources. #extraction-tree-profile-mixed-page |
LDES10-EXTRACT-001 | MAY |
TREE Profile extraction with shape metadata
tests/1.0/extraction/tree-profile-shape-targets
A TREE Profile-capable client preserves member data while shape metadata is present on the stream. #extraction-tree-profile-shape-targets |
LDES10-EXTRACT-001 | MAY |
Generic extraction excludes unrelated named graphs
tests/1.0/extraction/unrelated-named-graph
A foreign named graph contains a triple whose subject is the member IRI; only the default-graph subject star and the member-named graph belong to the member dataset. #extraction-unrelated-named-graph |
LDES10-EXTRACT-002, LDES10-EXTRACT-005, LDES10-EXTRACT-006 | MUST |
Generic member extraction in ordered mode
tests/1.0/ordered/common-generic-extraction
The member extraction algorithm is not mode-specific, so the comprehensive generic-extraction case is also exercised in ordered mode: focus-node discovery scoped to the event stream, the default-graph subject star, all quads in the graph named by the member IRI, recursive blank nodes with cycle protection, and no emission of unrelated subjects or other streams' members. LDES 1.0 permits a client that implements ordered mode only, and this fixture lets such a client demonstrate the mandatory extraction obligations. The stream carries ordering metadata and the second member's IRI sorts before the first, so an ID fallback cannot satisfy the oracle. #ordered-common-generic-extraction |
LDES10-EXTRACT-002, LDES10-EXTRACT-003, LDES10-EXTRACT-004, LDES10-EXTRACT-005, LDES10-EXTRACT-006, LDES10-EXTRACT-007, LDES10-EXTRACT-008 | MUST |
Ordered Traversal
| Test | Requirements | Level |
|---|---|---|
immutable parent mutable child
tests/1.0/ordered/common-immutable-parent-mutable-child
No manifest description is available for this test. #ordered-common-immutable-parent-mutable-child |
LDES10-UNORD-024, LDES10-UNORD-023 | SHOULD |
relation targets and scope
tests/1.0/ordered/common-relation-targets-and-scope
No manifest description is available for this test. #ordered-common-relation-targets-and-scope |
LDES10-UNORD-049, LDES10-UNORD-050, LDES10-UNORD-051 | MUST |
408 Request Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-408
The root node returns 408 Request Timeout twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-408 |
LDES10-UNORD-038 | MUST |
425 Too Early is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-425
The root node returns 425 Too Early twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-425 |
LDES10-UNORD-039 | MUST |
429 Too Many Requests is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-429
The root node returns 429 Too Many Requests twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-429 |
LDES10-UNORD-040 | MUST |
500 Internal Server Error is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-500
The root node returns 500 Internal Server Error twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-500 |
LDES10-UNORD-041 | MUST |
502 Bad Gateway is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-502
The root node returns 502 Bad Gateway twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-502 |
LDES10-UNORD-042 | MUST |
503 Service Unavailable is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-503
The root node returns 503 Service Unavailable twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-503 |
LDES10-UNORD-043 | MUST |
504 Gateway Timeout is retried with back-off in ordered mode
tests/1.0/ordered/common-retry-504
The root node returns 504 Gateway Timeout twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it. Exercised in ordered mode so a client that declares only ordered traversal can demonstrate this shared HTTP obligation. #ordered-common-retry-504 |
LDES10-UNORD-044 | MUST |
root 304 resume
tests/1.0/ordered/common-root-304-resume
No manifest description is available for this test. #ordered-common-root-304-resume |
LDES10-UNORD-024, LDES10-UNORD-037 | SHOULD |
The five required RDF response media types are parsed
tests/1.0/ordered/common-serializations
The same logical root page is served as Turtle, N-Triples, N-Quads, TriG, and JSON-LD across runs; the client must parse each required media type and emit the corresponding member. #ordered-common-serializations |
LDES10-UNORD-028, LDES10-UNORD-029, LDES10-UNORD-030, LDES10-UNORD-031, LDES10-UNORD-032 | MUST |
terminal 404 child
tests/1.0/ordered/common-terminal-404-child
No manifest description is available for this test. #ordered-common-terminal-404-child |
LDES10-UNORD-047 | MUST |
terminal 404 entry
tests/1.0/ordered/common-terminal-404-entry
No manifest description is available for this test. #ordered-common-terminal-404-entry |
LDES10-UNORD-047 | MUST |
terminal 501 child
tests/1.0/ordered/common-terminal-501-child
No manifest description is available for this test. #ordered-common-terminal-501-child |
LDES10-UNORD-047 | MUST |
terminal 501 entry
tests/1.0/ordered/common-terminal-501-entry
No manifest description is available for this test. #ordered-common-terminal-501-entry |
LDES10-UNORD-047 | MUST |
terminal 505 child
tests/1.0/ordered/common-terminal-505-child
No manifest description is available for this test. #ordered-common-terminal-505-child |
LDES10-UNORD-047 | MUST |
terminal 505 entry
tests/1.0/ordered/common-terminal-505-entry
No manifest description is available for this test. #ordered-common-terminal-505-entry |
LDES10-UNORD-047 | MUST |
Transaction-finalizing member is emitted last for equal order values
tests/1.0/ordered/equal-values-finalizer
Members with the same ordering value are emitted with the finalizing member last. #ordered-equal-values-finalizer |
LDES10-ORD-016 | MUST |
finalizer across pages
tests/1.0/ordered/finalizer-across-pages
No manifest description is available for this test. #ordered-finalizer-across-pages |
LDES10-ORD-016 | MUST |
Ordered traversal emits a global ascending sequence and finalizes equal-value transactions last
tests/1.0/ordered/global-order
Fetch order is deliberately different from member order and relation targets contain competing bounds. #ordered-global-order |
LDES10-ORD-001, LDES10-ORD-004, LDES10-ORD-005, LDES10-ORD-006, LDES10-ORD-008, LDES10-ORD-016 | MUST |
Ordered traversal treats mismatched relation paths conservatively
tests/1.0/ordered/mismatched-relation-path
A relation uses a path that differs from ldes:sequencePath; the client must not use it to skip reachable members. #ordered-mismatched-relation-path |
LDES10-ORD-014 | MUST |
Ordered traversal rejects an event stream without ordering metadata
tests/1.0/ordered/missing-path
The fixture requests ordered traversal but omits timestamp and sequence path metadata; the client must not claim ordered output without a usable ordering path. #ordered-missing-path |
LDES10-ORD-008, LDES10-ORD-009 | MUST |
Ordered traversal handles multiple relation constraints
tests/1.0/ordered/multiple-relations-and
Multiple relations from one node are traversed without losing members covered by any reachable target. #ordered-multiple-relations-and |
LDES10-ORD-013 | MUST |
Ordered traversal handles tree:GreaterThanRelation
tests/1.0/ordered/relation-greater-than
A lower-bound relation points to a fragment with a later ordering value. #ordered-relation-greater-than |
LDES10-ORD-004, LDES10-ORD-006 | MUST |
Ordered traversal handles tree:GreaterThanOrEqualToRelation
tests/1.0/ordered/relation-greater-than-or-equal
An inclusive lower-bound relation points to a fragment with an equal ordering value. #ordered-relation-greater-than-or-equal |
LDES10-ORD-004, LDES10-ORD-006 | MUST |
Ordered traversal handles tree:LessThanRelation
tests/1.0/ordered/relation-less-than
A less-than relation points to a fragment with an earlier ordering value. #ordered-relation-less-than |
LDES10-ORD-004, LDES10-ORD-006 | MUST |
Ordered traversal handles tree:LessThanOrEqualToRelation
tests/1.0/ordered/relation-less-than-or-equal
An inclusive upper-bound relation points to a fragment with an equal ordering value. #ordered-relation-less-than-or-equal |
LDES10-ORD-004, LDES10-ORD-006 | MUST |
Ordered traversal restart does not duplicate emitted members
tests/1.0/ordered/restart-bookmark
A second ordered run with persistent state emits only newly discovered members. #ordered-restart-bookmark |
LDES10-UNORD-019, LDES10-UNORD-024 | MUST |
restart equal key
tests/1.0/ordered/restart-equal-key
No manifest description is available for this test. #ordered-restart-equal-key |
LDES10-UNORD-019, LDES10-UNORD-024 | MUST |
Ordered traversal evaluates sh:alternativePath
tests/1.0/ordered/shacl-alternative-path
The LDES ordering path may be a SHACL alternative path rather than a direct predicate or sequence path. #ordered-shacl-alternative-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal evaluates an inverse SHACL path
tests/1.0/ordered/shacl-inverse-path
The ordering value is reached through sh:inversePath; member IRIs are adversarial to expose fallback ordering. #ordered-shacl-inverse-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal evaluates nested SHACL paths
tests/1.0/ordered/shacl-nested-path
A sequence path contains an inverse path before the final ordering predicate. #ordered-shacl-nested-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal evaluates a one-or-more SHACL path
tests/1.0/ordered/shacl-one-or-more-path
A sequence path uses sh:oneOrMorePath to reach the ordering literal. #ordered-shacl-one-or-more-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal evaluates a SHACL sequence path
tests/1.0/ordered/shacl-path
Members carry ordering values through a SHACL property path rather than a direct predicate; ordered traversal must evaluate the path and emit members by ascending sequence value. #ordered-shacl-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
shacl zero length and cycle
tests/1.0/ordered/shacl-zero-length-and-cycle
No manifest description is available for this test. #ordered-shacl-zero-length-and-cycle |
LDES10-ORD-007 | MUST |
Ordered traversal evaluates a zero-or-more SHACL path
tests/1.0/ordered/shacl-zero-or-more-path
A sequence path uses sh:zeroOrMorePath to reach the ordering literal. #ordered-shacl-zero-or-more-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal evaluates a zero-or-one SHACL path
tests/1.0/ordered/shacl-zero-or-one-path
One ordering value uses the zero-length branch and another uses the one-step branch. #ordered-shacl-zero-or-one-path |
LDES10-ORD-006, LDES10-ORD-007 | MUST |
Ordered traversal supports ldes:timestampPath without ldes:sequencePath
tests/1.0/ordered/timestamp-only
Ordered mode is valid when only ldes:timestampPath is present; members must be emitted chronologically. #ordered-timestamp-only |
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010 | MUST |
Ordered traversal uses ldes:sequencePath as timestamp tie-breaker
tests/1.0/ordered/timestamp-sequence-tie-break
When both timestamp and sequence paths are present, timestamp determines chronological order and sequence orders equal-timestamp members. #ordered-timestamp-sequence-tie-break |
LDES10-ORD-001, LDES10-ORD-006, LDES10-CTX-010 | MUST |
Ordered traversal evaluates a SHACL sequence timestamp path
tests/1.0/ordered/timestamp-shacl-sequence-path
The timestamp is reached through a multi-step SHACL property path, and member IRIs are deliberately ordered opposite to chronology. #ordered-timestamp-shacl-sequence-path |
LDES10-ORD-006, LDES10-ORD-007, LDES10-CTX-010 | MUST |
Ordered traversal honors ldes:transactionFinalizedObject
tests/1.0/ordered/transaction-finalized-object
A finalizing member with a custom finalized object must be emitted last among equal-order transaction members. #ordered-transaction-finalized-object |
LDES10-ORD-016 | MUST |
Ordered traversal compares one ordering path across numeric datatypes
tests/1.0/ordered/typed-mixed-datatypes
A single ldes:sequencePath carries xsd:integer, xsd:decimal, xsd:long and xsd:double values. Members are ordered by numeric value, not by the representation of the parsed value, and member IDs run opposite to the value order so an ID fallback cannot satisfy the oracle. #ordered-typed-mixed-datatypes |
LDES10-ORD-006, LDES10-CTX-010 | MUST |
exact integer and decimal order
tests/1.0/ordered/typed-numeric-order
No manifest description is available for this test. #ordered-typed-numeric-order |
LDES10-ORD-006 | MUST |
Ordered traversal compares xsd:dateTime values as instants
tests/1.0/ordered/typed-timestamp-timezones
Timestamps written with different UTC offsets are compared as instants rather than as strings. Two members carrying the same instant in different offsets form a declared ordering tie whose internal order is unconstrained, while a member whose lexical form sorts early but whose instant is latest must be emitted last. #ordered-typed-timestamp-timezones |
LDES10-ORD-006, LDES10-CTX-010 | MUST |
Unknown TREE relation types are handled conservatively
tests/1.0/ordered/unsupported-relation
An unknown relation type must not cause silent member loss. #ordered-unsupported-relation |
LDES10-ORD-004, LDES10-UNORD-051 | MUST |
Sequence literals use XPath comparison semantics
tests/1.0/ordered/xpath-string-order
The xsd:string values '10' and '2' must be compared as strings, not coerced to numbers; member IRIs are adversarial to the required order. #ordered-xpath-string-order |
LDES10-ORD-006, LDES10-CTX-010 | MUST |
Context Information
| Test | Requirements | Level |
|---|---|---|
Blank-node shapes, view descriptions and retention policies are extracted and communicated structurally
tests/1.0/context/blank-node-metadata
The root node describes its shape, publishing service and two retention policies entirely with blank nodes carrying nested structure, so none of them can be addressed by IRI. The client must extract and communicate that context, including the policy reached through tree:viewDescription. The oracle compares the communicated context as an RDF dataset with blank-node isomorphism and deliberately does not assert the parser-local blank-node labels or the order of the context lists. #context-blank-node-metadata |
LDES10-CTX-002, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004 | MUST |
An empty retention-policy resource is still communicated
tests/1.0/context/empty-retention
The event stream links to a retention policy resource without extra policy details; a context-capable client must still expose that policy IRI rather than dropping it as empty metadata. #context-empty-retention |
LDES10-RET-005 | MUST |
Polling interval is communicated as advisory context
tests/1.0/context/polling-interval
The client reports ldes:pollingInterval when the adapter exposes context information. #context-polling-interval |
LDES10-CTX-003 | SHOULD |
Direct publishing-service context is preserved
tests/1.0/context/publishing-service-direct
Publishing-service triples present on the root representation remain available in the context dataset. #context-publishing-service-direct |
LDES10-CTX-008 | MUST |
Publishing-service context through view description is communicated
tests/1.0/context/publishing-service-view-description
The root links to a view description containing service metadata. #context-publishing-service-view-description |
LDES10-CTX-009 | MUST |
Direct retention policy is extracted as context
tests/1.0/context/retention-policy-direct
A direct ldes:retentionPolicy link is communicated without requiring interpretation. #context-retention-policy-direct |
LDES10-RET-003 | MUST |
View-description retention policy is extracted as context
tests/1.0/context/retention-policy-view-description
A retention policy linked from tree:viewDescription is communicated without requiring interpretation. #context-retention-policy-view-description |
LDES10-RET-004 | MUST |
Root and event stream IRIs are communicated
tests/1.0/context/root-and-eventstream-iri
The context event identifies both the discovered event stream and root node. #context-root-and-eventstream-iri |
LDES10-CTX-001 | MUST |
Root, event-stream, view-description, version, and retention context is communicated
tests/1.0/context/root-context
The root document includes the event stream identity, root view, view description, version paths, and retention policy links; the adapter must expose this context dataset for downstream consumers. #context-root-context |
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004 | MUST |
Multiple advertised shapes are communicated
tests/1.0/context/shape-multiple
The client reports all shapes attached to the event stream. #context-shape-multiple |
LDES10-CTX-002 | MUST |
statistics
tests/1.0/context/statistics
No manifest description is available for this test. #context-statistics |
LDES10-UNORD-026 | SHOULD |
Timestamp and version paths are communicated
tests/1.0/context/timestamp-version-paths
The client reports timestamp and version path metadata from the event stream. #context-timestamp-version-paths |
LDES10-CTX-003 | MUST |
version transaction metadata
tests/1.0/context/version-transaction-metadata
No manifest description is available for this test. #context-version-transaction-metadata |
LDES10-CTX-006 | MUST |
Root context is communicated in ordered mode
tests/1.0/ordered/common-root-context
Root-node context extraction and communication is not mode-specific, so the comprehensive root-context case is also exercised in ordered mode. LDES 1.0 permits a client that implements ordered mode only, and this fixture lets such a client demonstrate the mandatory context obligations rather than reporting them as inapplicable. #ordered-common-root-context |
LDES10-UNORD-004, LDES10-CTX-001, LDES10-CTX-002, LDES10-CTX-003, LDES10-CTX-004, LDES10-CTX-005, LDES10-CTX-006, LDES10-CTX-007, LDES10-CTX-008, LDES10-CTX-009, LDES10-RET-003, LDES10-RET-004 | MUST |
How to read this report
Failed means the client’s observable output did not match a required normative test oracle. Advisory failed means a SHOULD-level expectation was not met; it is reported as evidence but does not fail the main compliance group. Could not determine means the adapter or required runtime could not complete the observation, so it is not a client failure and provides no evidence of conformance. Inapplicable is also not a pass. This report does not award a single “fully conformant” badge; group claims and advisory failures must be read together. EARL and JSON evidence are retained for independent processing.