…
type: Manifest
comment: LD-Patch tests
include: manifest-syntax.ttl
include: manifest-ldpatch.ttl
entries: empty
entries: add-1triple
entries: add-abbr-1triple
entries: addnew-1triple
entries: addnew-abbr-1triple
entries: delete-1triple
entries: delete-abbr-1triple
entries: deleteexisting-1triple
entries: deleteexisting-abbr-1triple
entries: bind
entries: bind-abbr
entries: bind-overriden
entries: path-forward
entries: path-backward
entries: path-at
entries: path-unicity
entries: path-unicity-fail
entries: path-filter
entries: path-filter-equal
entries: path-starting-with-literal
entries: add-noop
entries: addnew-noop-fail
entries: delete-noop
entries: deleteexisting-noop-fail
entries: cut
entries: cut-abbr
entries: cut-fail
entries: updatelist
entries: updatelist-abbr
entries: updatelist-nil
entries: updatelist-ambiguous
entries: updatelist-not-a-list
entries: updatelist-malformed-2first
entries: updatelist-malformed-2rest
entries: updatelist-exceed-size
entries: updatelist-exceed-size-negative
entries: prefix-simple
entries: prefix-override
entries: bnode-fresh
entries: bnode-not-deleted
entries: bnode-same-id
entries: spec examples-1-2-3
entries: spec examples-4-5-6
entries: spec examples-4-7-8
entries: spec examples-4-9-10
entries: spec examples-4-11-12
entries: spec examples-4-13-14
entries: spec examples-4-15-16
entries: spec examples-4-17-18
entries: spec example24 positive
entries: spec example24 negative

empty
type: Positive Evaluation Test
name: empty
comment: Empty patch
action:
  data: 1triple.nt
  patch: s empty patch.ldpatch
result: 1triple.nt

add-1triple
type: Positive Evaluation Test
name: add-1triple
comment: Add statement with a single triple
action:
  data: 1triple.nt
  patch: add-1triple.ldpatch
result: 2triples.nt

add-abbr-1triple
type: Positive Evaluation Test
name: add-abbr-1triple
comment: Abbreviated Add statement with a single triple
action:
  data: 1triple.nt
  patch: add-abbr-1triple.ldpatch
result: 2triples.nt

addnew-1triple
type: Positive Evaluation Test
name: addnew-1triple
comment: AddNew statement with a single triple
action:
  data: 1triple.nt
  patch: addnew-1triple.ldpatch
result: 2triples.nt

addnew-abbr-1triple
type: Positive Evaluation Test
name: addnew-abbr-1triple
comment: Abbreviated AddNew statement with a single triple
action:
  data: 1triple.nt
  patch: addnew-abbr-1triple.ldpatch
result: 2triples.nt

delete-1triple
type: Positive Evaluation Test
name: delete-1triple
comment: Delete statement with a single triple
action:
  data: 2triples.nt
  patch: delete-1triple.ldpatch
result: 1triple.nt

delete-abbr-1triple
type: Positive Evaluation Test
name: delete-abbr-1triple
comment: Abbreviated Delete statement with a single triple
action:
  data: 2triples.nt
  patch: delete-abbr-1triple.ldpatch
result: 1triple.nt

deleteexisting-1triple
type: Positive Evaluation Test
name: deleteexisting-1triple
comment: DeleteExisting statement with a single triple
action:
  data: 2triples.nt
  patch: deleteexisting-1triple.ldpatch
result: 1triple.nt

deleteexisting-abbr-1triple
type: Positive Evaluation Test
name: deleteexisting-abbr-1triple
comment: Abbreviated DeleteExisting statement with a single triple
action:
  data: 2triples.nt
  patch: deleteexisting-abbr-1triple.ldpatch
result: 1triple.nt

bind
type: Positive Evaluation Test
name: bind
comment: Binding statement
action:
  data: 1triple.nt
  patch: bind.ldpatch
result: 2triples.nt

bind-abbr
type: Positive Evaluation Test
name: bind-abbr
comment: Abbreviated Bind statement
action:
  data: 1triple.nt
  patch: bind-abbr.ldpatch
result: 2triples.nt

bind-overriden
type: Positive Evaluation Test
name: bind-overriden
comment: Overridden Bind statement
action:
  data: 1triple.nt
  patch: bind-overriden.ldpatch
result: 2triples.nt

path-forward
type: Positive Evaluation Test
name: path-forward
comment: Path containing a StepForward
action:
  data: paths.ttl
  patch: path-forward.ldpatch
result: path-forward.ttl

path-backward
type: Positive Evaluation Test
name: path-backward
comment: Path containing a StepBackward
action:
  data: paths.ttl
  patch: path-backward.ldpatch
result: path-backward.ttl

path-at
type: Positive Evaluation Test
name: path-at
comment: Path containing a StepAt
action:
  data: paths.ttl
  patch: path-at.ldpatch
result: path-at.ttl

path-unicity
type: Positive Evaluation Test
name: path-unicity
comment: Path containing a succesful unicity constraint
action:
  data: paths.ttl
  patch: path-unicity.ldpatch
result: paths.ttl

path-unicity-fail
type: Negative Evaluation Test
name: path-unicity-fail
comment: Path containing a failed unicity constraint
action:
  data: paths.ttl
  patch: path-unicity-fail.ldpatch
status code: 422

path-filter
type: Positive Evaluation Test
name: path-filter
comment: Path containing a filter
action:
  data: paths.ttl
  patch: path-filter.ldpatch
result: path-filter.ttl

path-filter-equal
type: Positive Evaluation Test
name: path-filter-equal
comment: Path containing a filter with an equal sign
action:
  data: paths.ttl
  patch: path-filter-equal.ldpatch
result: path-filter-equal.ttl

path-starting-with-literal
type: Positive Evaluation Test
name: path-starting-with-literal
comment: Path starting with a literal
action:
  data: paths.ttl
  patch: path-starting-with-literal.ldpatch
result: path-starting-with-literal.ttl

add-noop
type: Positive Evaluation Test
name: add-noop
comment: Add statement with an existing triple
action:
  data: 2triples.nt
  patch: add-1triple.ldpatch
result: 2triples.nt

addnew-noop-fail
type: Negative Evaluation Test
name: addnew-noop-fail
comment: AddNew statement with an existing triple, failing
action:
  data: 2triples.nt
  patch: addnew-1triple.ldpatch
status code: 422

delete-noop
type: Positive Evaluation Test
name: delete-noop
comment: Delete statement with a non-existing triple
action:
  data: 1triple.nt
  patch: delete-1triple.ldpatch
result: 1triple.nt

deleteexisting-noop-fail
type: Negative Evaluation Test
name: deleteexisting-noop-fail
comment: DeleteExisting statement with a non-existing triple, failing
action:
  data: 1triple.nt
  patch: deleteexisting-1triple.ldpatch
status code: 422

cut
type: Positive Evaluation Test
name: cut
comment: Cut
action:
  data: paths.ttl
  patch: cut.ldpatch
result: cut.ttl

cut-abbr
type: Positive Evaluation Test
name: cut-abbr
comment: Cut abbreviated
action:
  data: paths.ttl
  patch: cut-abbr.ldpatch
result: cut.ttl

cut-fail
type: Negative Evaluation Test
name: cut-fail
comment: Cut fails if no triple is deleted.
action:
  data: 2triples blank.nt
  patch: cut-fail.ldpatch
status code: 422

updatelist
type: Positive Evaluation Test
name: updatelist
comment: UpdateList
action:
  data: spec example4.ttl
  patch: updatelist.ldpatch
result: updatelist.ttl

updatelist-abbr
type: Positive Evaluation Test
name: updatelist-abbr
comment: UpdateList abbreviated
action:
  data: spec example4.ttl
  patch: updatelist-abbr.ldpatch
result: updatelist.ttl

updatelist-nil
type: Positive Evaluation Test
name: updatelist-nil
comment: UpdateList used on an empty list (must not impact other empty lists)
action:
  data: updatelist-nil.ttl
  patch: updatelist-nil.ldpatch
result: updatelist-nil-result.ttl

updatelist-ambiguous
type: Negative Evaluation Test
name: updatelist-ambiguous
comment: UpdateList fails if its subject-predicate does not point to a single list.
action:
  data: updatelist-ambiguous.ttl
  patch: updatelist.ldpatch
status code: 422

updatelist-not-a-list
type: Negative Evaluation Test
name: updatelist-not-a-list
comment: UpdateList fails if its subject-predicate points to a non-list.
action:
  data: updatelist-not-a-list.ttl
  patch: updatelist.ldpatch
status code: 422

updatelist-malformed-2first
type: Negative Evaluation Test
name: updatelist-malformed-2first
comment: UpdateList fails if its subject-predicate points to malformed list (with two rdf:first).
action:
  data: updatelist-malformed-2first.ttl
  patch: updatelist.ldpatch
status code: 422

updatelist-malformed-2rest
type: Negative Evaluation Test
name: updatelist-malformed-2rest
comment: UpdateList fails if its subject-predicate points to malformed list (with two rdf:rest).
action:
  data: updatelist-malformed-2rest.ttl
  patch: updatelist.ldpatch
status code: 422

updatelist-exceed-size
type: Negative Evaluation Test
name: updatelist-exceed-size
comment: UpdateList with a slice exceeding the size of the list.
action:
  data: spec example4.ttl
  patch: updatelist-exceed-size.ldpatch
status code: 422

updatelist-exceed-size-negative
type: Negative Evaluation Test
name: updatelist-exceed-size-negative
comment: UpdateList with a slice (using a negative index) exceeding the size of the list.
action:
  data: spec example4.ttl
  patch: updatelist-exceed-size-negative.ldpatch
status code: 422

prefix-simple
type: Positive Evaluation Test
name: prefix-simple
comment: Simple prefix
action:
  data: 1triple.nt
  patch: prefix-simple.ldpatch
result: 2triples.nt

prefix-override
type: Positive Evaluation Test
name: prefix-override
comment: Overridden prefix
action:
  data: 1triple.nt
  patch: prefix-override.ldpatch
result: 2triples.nt

bnode-fresh
type: Positive Evaluation Test
name: bnode-fresh
comment: A bnode in the patch generates a fresh bnode in the graph, even if the bnode-id in the patch already exisists in the graph source.
action:
  data: 1triple blank.nt
  patch: bnode-fresh.ldpatch
result: 2triples blank.nt

bnode-not-deleted
type: Positive Evaluation Test
name: bnode-not-deleted
comment: A bnode in a Delete statement does not match anything.
action:
  data: 1triple blank.nt
  patch: bnode-no-delete.ldpatch
result: 1triple blank.nt

bnode-same-id
type: Positive Evaluation Test
name: bnode-same-id
comment: A bnode id in the patch always denotes the same bnode.
action:
  data: 1triple blank.nt
  patch: bnode-same-id.ldpatch
result: 3triples blank.nt

spec examples-1-2-3
type: Positive Evaluation Test
name: spec_examples-1-2-3
comment: Examples #1 to #3 from the LD-Patch specification
action:
  data: spec example1.ttl
  patch: spec example2.ldpatch
  base: http://example.com/timbl
result: spec example3.ttl

spec examples-4-5-6
type: Positive Evaluation Test
name: spec_examples-4-5-6
comment: Examples #4 to #6 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example5.ldpatch
  base: http://example.com/timbl
result: spec example6.ttl

spec examples-4-7-8
type: Positive Evaluation Test
name: spec_examples-4-7-8
comment: Examples #4, #7 and #8 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example7.ldpatch
  base: http://example.com/timbl
result: spec example8.ttl

spec examples-4-9-10
type: Positive Evaluation Test
name: spec_examples-4-9-10
comment: Examples #4, #9 and #10 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example9.ldpatch
  base: http://example.com/timbl
result: spec example10.ttl

spec examples-4-11-12
type: Positive Evaluation Test
name: spec_examples-4-11-12
comment: Examples #4, #11 and #12 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example11.ldpatch
  base: http://example.com/timbl
result: spec example12.ttl

spec examples-4-13-14
type: Positive Evaluation Test
name: spec_examples-4-13-14
comment: Examples #4, #13 and #14 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example13.ldpatch
  base: http://example.com/timbl
result: spec example14.ttl

spec examples-4-15-16
type: Positive Evaluation Test
name: spec_examples-4-15-16
comment: Examples #4, #15 and #16 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example15.ldpatch
  base: http://example.com/timbl
result: spec example16.ttl

spec examples-4-17-18
type: Positive Evaluation Test
name: spec_examples-4-17-18
comment: Examples #4, #17 and #18 from the LD-Patch specification
action:
  data: spec example4.ttl
  patch: spec example17.ldpatch
  base: http://example.com/timbl
result: spec example18.ttl

spec example24 positive
type: Positive Evaluation Test
name: spec_example24_positive
comment: Successful binding of unambiguous bnodes in a pathological graph.
action:
  data: spec example24.ttl
  patch: spec example24 positive.ldpatch
  base: http://example.com/pathological
result: spec example24 patched.ttl

spec example24 negative
type: Negative Evaluation Test
name: spec_example24_negative
comment: Unsuccessful binding in a pathological graph.
action:
  data: spec example24.ttl
  patch: spec example24 negative.ldpatch
status code: 422

Positive Syntax Test
type: Class
comment: A type of test specifically for syntax testing. Syntax tests are not required to have an associated result, only an action (an LD-Patch file).

Negative Syntax Test
type: Class
comment: A type of test specifically for syntax testing. Syntax tests are not required to have an associated result, only an action (an LD-Patch file). Negative syntax tests are tests of which the result should be a parser error.

Positive Evaluation Test
type: Class
comment: A type of test specifically for patch evaluation testing. Positive evaluation tests are required to have an action with :data and :patch properties, and an expected output (a Turtle file).

Negative Evaluation Test
type: Class
comment: A type of test specifically for patch evaluation testing. Negative evaluation tests are not required to have any associated result, only an action with :data and :patch properties. Negative evaluation tests are tests of which the result should be an execution error

data
type: Property
comment: Data file on which to perform action

patch
type: Property
comment: LD-Patch file with which to perform action

base
type: Property
comment: Base IRI for data and patch, if different from actual location
range: anyURI

statusCode
type: Property
comment: HTTP status code expected for a negative evaluation test
domain: Negative Evaluation Test
range: integer