Skip to content

Jelly-RDF test cases

This page lists the conformance test cases defined for the Jelly-RDF format, along with instructions for running them.

Machine-readable definitions of the test cases are available in the jelly-protobuf repository.

See also instructions on reporting conformance and the page listing conformance reports of implementations page.

Test categories

Categories indicate supported features: rdf_star (RDF-star), generalized (generalized RDF), graphs (the GRAPHS physical type), quads (QUADS physical type), triples (TRIPLES physical type).

If your implementation does not support a given feature, you should skip the corresponding tests.

Running tests

  • Test cases beginning with pos_ are positive tests, and those beginning with neg_ are negative tests.
    • A positive test is expected to succeed. The test case is successful when the implementation returns the expected result specified in mf:result.
    • A negative test is expected to fail. The test case is successful when the implementation returns an error. Currently, the test cases do not specify the expected error code, but this will be added in the future.
  • There are two types of tests:
    • From Jelly (parse) tests – jellyt:TestRdfToJelly. The goal of the test is to convert the Jelly-RDF input specified in mf:action to an RDF file or a series of RDF files.
      • The input (mf:action) MUST be an RDF IRI pointing to a .jelly file.
      • If the test is positive, the output (mf:result) MUST be an rdf:List of RDF IRIs with the expected output files. The output files are either in N-Triples or N-Quads format.
      • This class MUST be combined with either jellyt:TestPositive or jellyt:TestNegative. When combined with jellyt:TestPositive, the test succeeds when the resulting RDF file is syntactically valid and is equivalent to the expected RDF file specified in mf:result, when compared using the ordered RDF dataset isomorphism algorithm. In case the test includes multiple frames (multiple output files), the equivalence must be checked for each frame separately.
    • To Jelly (serialize) tests – jellyt:TestJellyToRdf. The goal of the test is to convert the RDF input specified in mf:action to a Jelly-RDF file.
      • The input (mf:action) MUST be an rdf:List. The first element of the list is a Jelly-RDF file containing the stream options to be used by the producer. The subsequent elements are the RDF files to be converted to Jelly-RDF. The input files are either in N-Triples or N-Quads format.
      • If the test is positive, the output (mf:result) MUST be an RDF IRI pointing to a .jelly file with the expected Jelly-RDF file. If the test is negative, mf:result is not set.
      • This class MUST be combined with either jellyt:TestPositive or jellyt:TestNegative. When combined with jellyt:TestPositive, the test succeeds when the resulting Jelly-RDF file has the expected stream options, is syntactically valid, and is equivalent to the expected Jelly-RDF file specified in mf:result, when compared using the ordered RDF dataset isomorphism algorithm. In case the test includes multiple frames (multiple input files), the equivalence must be checked for each frame separately. This can be done with the jelly-cli tool: jelly-cli rdf validate --compare-to-rdf-file=<output> --compare-ordered=true --compare-frame-indices=<frame-index-to-compare> --options-file=<options-file> <implementation-output>
  • Generally, the test cases use the delimited form of Jelly-RDF. If non-delimited files are used, the test is marked with the jellyt:featureNonDelimited feature (mf:notable property).
  • Blank node identifiers in the input files should be considered to all come from the same blank node pool, i.e. blank nodes should be considered equal if they have the same identifier.

See also the test manifest vocabulary for details on how the test cases are defined in RDF.

Test summary

Manifests used to generate this page: from_jelly · to_jelly

  • All tests: 187
  • From Jelly: 110 (positive: 80, negative: 30)
  • To Jelly: 77 (positive: 75, negative: 2)

From Jelly (parse)

Jump to category

graphs_rdf_1_1

11 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, a set of quads with all possible graph labels: default graph, IRI, blank node. Prefix table disabled. in.jelly out_000.nq
pos_002 Single frame. A set of quads with a variety of terms and with the same graph label appearing twice in the frame with another graph in-between. Prefix table disabled. in.jelly out_000.nq
pos_003 Single frame. A set of quads, each quad repeats three (3) times in the respective graph. Prefix table disabled. in.jelly out_000.nq
pos_004 Three (3) frames. A mix of quads with repeated s/p/o/g terms. Prefix table disabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_005 Three (3) frames. A mix of quads with repeated s/p/o/g terms. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_006 Three (3) frames. Each frame corresponds to one (1) unique graph label. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_007 Three (3) frames. All frames correspond to one (1) unique graph label. Prefix table disabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_008 Three (3) frames. Four (4) graphs sequentially span three (3) frames. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_009 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_DATASETS. in.jelly out_000.nq
out_001.nq
pos_010 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_NAMED_GRAPHS. Prefix table disabled. in.jelly out_000.nq
out_001.nq
pos_011 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_TIMESTAMPED_NAMED_GRAPHS. Prefix table disabled. in.jelly out_000.nq
out_001.nq

graphs_rdf_star

7 positive, 3 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame with one simple quoted triple in the default graph. Prefix table disabled. in.jelly out_000.nq
pos_002 Single frame with a set of quads contatining quoted triples in s/o or both in one IRI-labeled graph. Prefix table disabled. in.jelly out_000.nq
pos_003 Single frame with a set of quads contatining quoted triples in s/o or both in the default and BN-/IRI-labeled graphs. Prefix table disabled. in.jelly out_000.nq
pos_004 Single frame with a set of quads contatining quoted triples in s/o or both mixed with the same quoted triples as assertions in the respective default and BN-/IRI-labeled graphs. Prefix table disabled. in.jelly out_000.nq
pos_005 Single frame with a set of quads with quoted triples in s/o or both mixed with the same quoted triples as assertions in the respective default and BN-/IRI-labeled graphs. Statements repeated in the same graph. Prefix table disabled. in.jelly out_000.nq
pos_006 Single frame with a set of quads with quoted triples nesting level 10 in s and o in the default and BN-/IRI-labeled graphs. Predicates repeat across nested levels. Prefix table disabled. in.jelly out_000.nq
pos_007 Three (3) frames with a set of quads with quoted triples. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq

Negative

Name Description Input(s) Expected output
neg_001 Single frame, o_triple_term is missing a s_iri. Repeated terms are prohibited in quoted triples. Prefix table disabled. in.jelly
neg_002 Single frame, s_triple_term is empty {}. Repeated terms are prohibited in quoted triples. Prefix table disabled. in.jelly
neg_003 Single frame, o_triple_term is missing a p_iri on level 5 and is repeated on the previous and next nesting levels. Repeated terms are prohibited in quoted triples. Prefix table disabled. in.jelly

quads_rdf_1_1

8 positive, 5 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, a few basic triples in the default graph. Prefix table enabled. in.jelly out_000.nq
pos_002 Single frame, a few quads with repeated s/p. One quad per default, named, and BN-labeled graph. Prefix table disabled. in.jelly out_000.nq
pos_003 Single frame, a mix of quads with repeated terms in s, p, o, g. Prefix table disabled. in.jelly out_000.nq
pos_004 Three (3) frames, a mix of quads with repeated terms across frames, including frame 2 starting from a fully repeated assertion. Prefix table disabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_005 Three (3) frames, a mix of quads with repeated terms across frames, including frame 2 starting from a fully repeated assertion. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_006 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_DATASETS. Prefix table disabled. in.jelly out_000.nq
out_001.nq
pos_007 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_NAMED_GRAPHS. Prefix table disabled. in.jelly out_000.nq
out_001.nq
pos_008 Two (2) frames, logical stream type set to LOGICAL_STREAM_TYPE_TIMESTAMPED_NAMED_GRAPHS. Prefix table disabled. in.jelly out_000.nq
out_001.nq

Negative

Name Description Input(s) Expected output
neg_001 Single frame, a 'quad' row is in the stream. PHYSICAL_STREAM_TYPE_GRAPHS stream MUST NOT contain rows with the quad fields set. in.jelly
neg_002 Single frame, no field in the graph oneof is set. Repeated terms are not allowed in graph_start message. in.jelly
neg_001 Single frame, a 'triple' row is in the stream. PHYSICAL_STREAM_TYPE_QUADS stream MUST NOT contain rows with the triple field set. in.jelly
neg_002 Single frame, a 'graph_start' row is in the stream. PHYSICAL_STREAM_TYPE_QUADS stream MUST NOT contain rows with the graph_start field set. in.jelly
neg_003 Single frame, a 'graph_end' row is in the stream. PHYSICAL_STREAM_TYPE_QUADS stream MUST NOT contain rows with the graph_end field set. in.jelly

quads_rdf_1_1_generalized

5 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, a set of generalized RDF quads that features all possible terms in any position. Prefix table disabled. in.jelly out_000.nq
pos_002 Single frame, a set of generalized RDF quads that features all possible terms in any position and repeated across one (1) frame. Prefix table disabled. in.jelly out_000.nq
pos_003 Three (3) frames. A set of generalized RDF quads that features all possible terms in any position and repeated across three (3) frames. Prefix table disabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_004 Three (3) frames. A set of generalized RDF quads that features all possible terms in any position and repeated across three (3) frames. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq
pos_005 Three (3) frames. A set of generalized RDF quads that features all possible terms in any position and repeated across three (3) frames, focusing on reusing all lookup tables. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq

quads_rdf_star

7 positive, 3 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame with one simple quoted triple. Prefix table disabled. in.jelly out_000.nq
pos_002 Single frame with quoted triples as s/o or both. Prefix table disabled. in.jelly out_000.nq
pos_003 Single frame with quoted triples of different formats and placements. Diverse graph labels. Prefix table disabled. in.jelly out_000.nq
pos_004 Single frame with quoted/asserted triples mix. Diverse graph labels. Prefix table disabled. in.jelly out_000.nq
pos_005 Single frame with quoted/asserted triples mix. Repeated statements inside/outside of quoted triples. Diverse graph labels. Prefix table disabled. in.jelly out_000.nq
pos_006 Single frame with quoted triples nested to level 10 in s and o. Diverse graph labels. Prefix table disabled. in.jelly out_000.nq
pos_007 Three (3) frames with quoted/asserted triples mix across frames. Diverse graph labels. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq

Negative

Name Description Input(s) Expected output
neg_001 Single frame, s_triple_term is missing a p_iri. Repeated terms are prohibited in quoted triples. in.jelly
neg_002 Single frame, o_triple_term is fully empty {}. Repeated terms are prohibited in quoted triples. in.jelly
neg_003 Single frame, o_triple_term is missing a s_bnode on the third nesting level, same s_bnode is repeated on the top nested levels. Repeated terms are prohibited in quoted triples. in.jelly

quads_rdf_star_generalized

6 positive, 3 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame. A variety of generalized RDF-star quads with graph labels being BN/IRI/Literal/Default graph. Prefix table disabled. in.jelly out_000.nq
pos_002 Single frame. A variety of generalized RDF-star quads with graph labels being one of BN/IRI/Literal/Default graph mixed with quads assertions repeating statements from quoted triples. Assertions appearing before or after quotation. Prefix table disabled. in.jelly out_000.nq
pos_003 Single frame. A set of generalized RDF-star quads with graph labels being one of BN/IRI/Literal/Default graph. Quoted triples appear in different places inside one quad, with nesting up to three (3) levels. Prefix table disabled. in.jelly out_000.nq
pos_004 Single frame. A set of generalized RDF-star quads with nesting up to six (6) levels. Prefix table disabled. in.jelly out_000.nq
pos_005 Single frame. A set of generalized RDF-star quads with graph labels being one of BN/IRI/Literal/Default graph. Assertions of similar statements appear along quoted triples, utilizing the same s/p/o/g terms. Prefix table disabled. in.jelly out_000.nq
pos_006 Three (3) frames. A variety of generalized RDF-star quads with graph labels being one of BN/IRI/Literal/Default graph. Assertions of similar statements appear along quoted triples, utilizing the same s/p/o/g terms. Prefix table enabled. in.jelly out_000.nq
out_001.nq
out_002.nq

Negative

Name Description Input(s) Expected output
neg_001 Single frame, s_triple_term is missing a p_literal on the first nesting level, p_literal on the deeper levels repeats. Repeated terms are prohibited in quoted triples. in.jelly
neg_002 Single frame, a quad row only has an empty s_triple_term, quad before has three (3) proper s_triple_terms. Repeated terms are prohibited in quoted triples. in.jelly
neg_003 Single frame, o_triple_term is missing p_literal on the second nesting level, the same p_literal is used before and after in nested triples and in the quad row before. Repeated terms are prohibited in quoted triples. in.jelly

triples_rdf_1_1

17 positive, 10 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, a few basic triples. Prefix table enabled. in.jelly out_000.nt
pos_002 Single frame, a few basic triples. Prefix table disabled. in.jelly out_000.nt
pos_003 Single frame (non-delimited), a few basic triples. Prefix table enabled. in.jelly out_000.nt
pos_004 Single frame, a few basic triples. Prefix table enabled and updated to re-use prefix ids. in.jelly out_000.nt
pos_005 Single frame, a few basic triples. Prefix table disabled. Name table is updated to re-use name ids. in.jelly out_000.nt
pos_006 Single frame, a few basic triples. Same stream options rows occur three (3) times in the frame. Prefix table disabled. in.jelly out_000.nt
pos_007 Single frame, a few basic triples with repeated terms, including multiple subsequent usages of the same term. Prefix table disabled. in.jelly out_000.nt
pos_008 Two (2) frames, a few basic triples with repeated terms. Repeated terms (whole triple) occur as the first row in the second frame. Prefix table disabled. in.jelly out_000.nt
out_001.nt
pos_009 Three (3) frames. Datatypes and names defined in one frame and referenced in the subsequent frames, also requiring name table updates across frames. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
pos_011 Single frame, a triple with unusual but valid IRIs. Prefix table disabled. in.jelly out_000.nt
pos_012 Two (2) frames, logical type = LOGICAL_STREAM_TYPE_GRAPHS. Prefix table disabled. in.jelly out_000.nt
out_001.nt
pos_013 Two (2) frames, logical type = LOGICAL_STREAM_TYPE_SUBJECT_GRAPHS. Prefix table disabled. in.jelly out_000.nt
out_001.nt
pos_014 Four (4) frames, the second frame is empty. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt
pos_015 Four (4) frames, the first frame is empty. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt
pos_016 Four (4) frames, the last frame is empty. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt
pos_017 Six (6) frames, the first three (3) frames are empty. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt
out_004.nt
out_005.nt
pos_018 Ten (10) frames, the first two (2) frames are empty, frames number 4, 5, and 6 are empty. Frames number 9 and 10 are empty. Repeated triple is at the start of the seventh (7) frame. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt
out_004.nt
out_005.nt
out_006.nt
out_007.nt
out_008.nt
out_009.nt

Negative

Name Description Input(s) Expected output
neg_001 Single frame, max_name_table_size set to 10000000. For security reasons, consumers must always validate that the requested size of a prefix, name, or datatype lookup table is not overly large. The configurable max size of the name table in Jelly-JVM is up to 4096. in.jelly
neg_002 Single frame, max_prefix_table_size set to 10000000. For security reasons, consumers must always validate that the requested size of a prefix, name, or datatype lookup table is not overly large. The configurable max size of the prefix table in Jelly-JVM is up to 1024. in.jelly
neg_003 Single frame, max_datatype_table_size set to 10000000. For security reasons, consumers must always validate that the requested size of a prefix, name, or datatype lookup table is not overly large. The configurable max size of the datatype table in Jelly-JVM is up to 256. in.jelly
neg_005 Single frame, prefix row is in the stream, when prefix lookup table is disabled. Prefix table usage is prohibited if max_prefix_table_size is set to 0 (lookup disabled). in.jelly
neg_006 Single frame, prefix table entry with ID outside of max_prefix_table_size is in the stream. The producer of the stream MUST NOT exceed the maximum size of the lookup. in.jelly
neg_007 Single frame, invalid prefix table reference. Invalid prefix ID outside of bounds of the lookup table. The producer of the stream MUST NOT exceed the maximum size of the lookup. in.jelly
neg_008 Single frame, invalid name table reference (0). Invalid name ID outside of bounds of the lookup table due to misused 0. The producer of the stream MUST NOT exceed the maximum size of the lookup. in.jelly
neg_010 Single frame, a quad row present in the PHYSICAL_STREAM_TYPE_TRIPLES stream. PHYSICAL_STREAM_TYPE_TRIPLES MUST NOT contain rows with the quad field set. in.jelly
neg_012 Single frame, repeated term (s_iri and o_iri) appears in the first statement row. Repeated terms MUST NOT occur in the first statement row of the stream. in.jelly
neg_013 Single frame, Literal has datatype index set to 0. In contrast to prefix and name tables the value of 0 is invalid in datatype table. in.jelly

triples_rdf_1_1_generalized

5 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, a set of generalized RDF triples that features all possible terms in any position. Prefix table disabled. in.jelly out_000.nt
pos_002 Single frame, a set of generalized RDF triples that features all possible terms in any position and repeated across one (1) frame. Prefix table disabled. in.jelly out_000.nt
pos_003 Three (3) frames, a set of generalized RDF triples that features all possible terms in any position and repeated across three (3) frames. Prefix table disabled. in.jelly out_000.nt
out_001.nt
out_002.nt
pos_004 Three (3) frames, a set of generalized RDF triples that features all possible terms in any position and repeated across three (3) frames. Prefix table enabled. in.jelly out_000.nt
out_001.nt
out_002.nt
pos_005 Four (4) frames, a set of generalized RDF triples that features all possible terms in any position and repeated across four (4) frames, reusing all lookup tables. Prefix table enabled. in.jelly out_000.nt
out_001.nt
out_002.nt
out_003.nt

triples_rdf_star

8 positive, 3 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame, one triple with a quoted triple as a subject. Prefix table disabled. in.jelly out_000.nt
pos_002 Single frame, three triples showing a quoted triple as a subject/object/both. Prefix table disabled. in.jelly out_000.nt
pos_003 Single frame, three triples showcasing a quoted triple as a subject/object/both. Prefix table disabled. in.jelly out_000.nt
pos_004 Single frame, triples with nesting level 3 as subject/object. Prefix table disabled. in.jelly out_000.nt
pos_005 Single frame, triples with nesting level 10 as subject/object. Prefix table disabled. in.jelly out_000.nt
pos_006 Single frame, a triple with nesting level 3, subject is repeated in quoted triples. Prefix table disabled. in.jelly out_000.nt
pos_007 Two (2) frames, triples have quoted triples in s and/or o. Prefix table enabled. in.jelly out_000.nt
out_001.nt
pos_008 Single frame utilizing BNs/IRIs for subject and BNs/IRI/Literals for objects in quoted triples. Prefix table enabled. in.jelly out_000.nt

Negative

Name Description Input(s) Expected output
neg_001 Single frame, o_triple_term is missing an o_literal. Repeated terms are prohibited in quoted triples. in.jelly
neg_002 Single frame, o_triple_term is empty in a triple with repeated s/p. Repeated terms are prohibited in quoted triples. in.jelly
neg_003 Single frame, missing a p_iri on the 7th (out of 10) nesting level of a s_triple_term. Repeated terms are prohibited in quoted triples. in.jelly

triples_rdf_star_generalized

6 positive, 3 negative

Positive

Name Description Input(s) Expected output
pos_001 Single frame. A variety of generalized RDF-star statements. Prefix table disabled. in.jelly out_000.nt
pos_002 Single frame. A variety of generalized RDF-star statements along with triples assertions. Prefix table disabled. in.jelly out_000.nt
pos_003 Single frame. A set of generalized RDF-star triples with quoted triples appearing in different places inside one RDF-star statement. Prefix table disabled. in.jelly out_000.nt
pos_004 Single frame. A set of generalized RDF-star triples with nesting up to six (6) levels, with quoted triples repeatedly appearing in s/p/o. Prefix table disabled. in.jelly out_000.nt
pos_005 Single frame. A set of generalized RDF-star triples with repeating terms inside/outside of quoted triples. Prefix table disabled. in.jelly out_000.nt
pos_006 Three (3) frames. A set of generalized RDF-star triples with repeating terms inside/outside of quoted triples, re-using all lookup tables. Prefix table enabled. in.jelly out_000.nt
out_001.nt
out_002.nt

Negative

Name Description Input(s) Expected output
neg_001 Single frame, o_triple_term is missing an o_literal on the third nesting level. Repeated terms are prohibited in quoted triples. in.jelly
neg_002 Single frame, s_triple_term is empty {}. Repeated terms are prohibited in quoted triples. in.jelly
neg_003 Single frame, p_triple_term is missing a s_literal used in quoted triples befoere and after and in the basic triple before quoted. Repeated terms are prohibited in quoted triples. in.jelly

To Jelly (serialize)

Jump to category

graphs_rdf_1_1

9 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of quads, one quad per graph. Graph labels are default graph/IRI/BN. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_002 A set of quads with a variety of terms and with the same graph label appearing twice in the frame with another graph in-between. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_003 A set of quads, each quad repeats three (3) times in the respective graph. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_004 A mix of quads with repeated s/p/o/g terms spanning three (3) frames. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_005 A mix of quads with repeated s/p/o/g terms spanning three (3) frames. Prefix table enabled. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_006 A mix of quads across three (3) frames. Each frame corresponds to one (1) unique graph label. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_007 A mix of quads across three (3) frames. All frames correspond to one (1) graph. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_008 A mix of quads across three (3) frames. Four (4) graphs spanning three (3) frames in sequence and re-using all lookup tables. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=2. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_009 A set of quads spanning two (2) frames. Each frame has two (2)+ graphs. Stream options request the base logical type = LOGICAL_STREAM_TYPE_DATASETS. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
out.jelly

graphs_rdf_star

7 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 One quad with subject as quoted triple in a default graph. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nq
out.jelly
pos_002 Three quads with s/o or both featuring quoted triples in a IRI-labeled graph. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nq
out.jelly
pos_003 A set of quads with s/o or both featuring quoted triples in a default, BN-/IRI-labeled graphs. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_004 A set of quads with s/o or both featuring quoted triples in a default, BN-/IRI-labeled graphs with assertions of the same statements inside the same graph. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_005 A set of quads with s/o or both featuring quoted triples in a default, BN-/IRI-labeled graphs with assertions of the same statements inside the same graph. Both assertions and statements with quoted triples are repeated inside respectve graphs. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_006 A set of quads that use quoted triples with nesting level 10 as subject/object, and repeated predicates in the nested triples. One RDF-star statement per graph. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=32, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_007 A set of quads with quoted triples and assertions with a variety of repeating terms. Three (3) frames with one (1) graph per frame. Focuses on reusing all lookup tables. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=24, max-prefix-table-size=8, max-datatype-table-size=2. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly

quads_rdf_1_1

6 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of quads with all possible graph label terms: default graph, IRI, blank node (BN). Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_002 A set of quads with a variety of terms according to RDF 1.1. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_003 A set of quads with fully repeated assertions in the default graph, a named graph, and a blank-node-labeled graph. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_004 A set of quads across three input files with repeated terms and graph labels spanning multiple frames. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_005 A set of quads across three input files with repeated terms, and all three tables (re-)used. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_006 A set of quads spanning two (2) frames. Each frame has three (3) graphs. Stream options request the base logical type = LOGICAL_STREAM_TYPE_DATASETS. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
out.jelly

quads_rdf_1_1_generalized

5 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of generalized RDF quads, utilizing Literals/BNs/IRIs at any place in s/p/o/g. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_002 A set of generalized RDF quads, utilizing Literals/BNs/IRIs at any place in s/p/o/g and repeated across one frame. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_003 A set of generalized RDF quads, utilizing Literals/BNs/IRIs at any place in s/p/o/g and repeated across three (3) frames. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_004 A set of generalized RDF quads, utilizing Literals/BNs/IRIs at any place in s/p/o/g and repeated across three (3) frames. Prefix table enabled. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=4. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly
pos_005 A set of generalized RDF quads, utilizing Literals/BNs/IRIs at any place in s/p/o/g and repeated across three (3) frames, re-using all lookup tables. Prefix table enabled. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=2. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly

quads_rdf_star

7 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 One quad with subject as quoted triple. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nq
out.jelly
pos_002 A set of quads with quoted triples as s/o or both. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nq
out.jelly
pos_003 A set of quads with all possible graph labels and a variety of quoted triples form. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_004 A set of quads with all possible graph labels and a variety of quoted triples form. With same quads assertions before/after statements with quoted triples. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_005 A set of quads with all possible graph labels and a variety of quoted triples form, statements repeated 1-3 times inside/outside of quoted triples. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_006 A set of quads that use quoted triples with nesting level 10 as subject/object. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=32, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nq
out.jelly
pos_007 A set of quads to re-use all lookups, featuring quoted triples as s/o to nested level <= 2. Three frames. Altered input from pos_004. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=24, max-prefix-table-size=8, max-datatype-table-size=2. 25 rows per frame. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly

quads_rdf_star_generalized

6 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A variety of generalized RDF-star quads with graph labels being BN/IRI/Literal/Default graph, featuring quoted triples of different shapes in different places. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_002 A variety of generalized RDF-star quads with graph labels being BN/IRI/Literal/Default graph, featuring quoted triples of different shapes in different places. A set of assertions of the same statements in the same/different graph is added before/after quads with corresponding quoted triples. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_003 A variety of generalized RDF-star quads, featuring quoted triples of different shapes in different places inside one quad, with overall max nesting level 3. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_004 A variety of generalized RDF-star quads, featuring quoted triples in s/p/o with max nesting level 6. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_005 A variety of generalized RDF-star quads, featuring quoted triples and assertions of the same statements nearby. Features the same s/p/o/g terms in subsequent quads and inside/outside quoted triples. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nq
out.jelly
pos_006 Combined input from pos_002 and pos_005, used across three (3) frames. A variety of generalized RDF-star quads, featuring quoted triples and assertions of the same statements nearby. Features the same s/p/o/g terms in subsequent quads and inside/outside quoted triples. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=20, max-prefix-table-size=6, max-datatype-table-size=4, rows-per-frame=50. stream_options.jelly
in_000.nq
in_001.nq
in_002.nq
out.jelly

triples_rdf_1_1

16 positive, 2 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of three triples with only IRIs as terms. Repeated predicate. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_002 A triple with a simple literal as the object. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_003 A triple with a typed literal as the object. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_004 A triple with a literal with a langtag (en) as the object. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_005 A triple with a blank node (BN) as the subject. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_006 A triple with a blank node (BN) as the object. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_007 A triple with object being the lexical integer “009” explicitly encoded as an http://www.w3.org/2001/XMLSchema#string literal. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_008 A set of triples with objects featuring simple string literals containing UTF-8 characters spanning 2-, 3-, and 4-byte sequences. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_009 A set of triples with numeric-typed literals, featuring http://www.w3.org/2001/XMLSchema#float values both with and without fractional digits alongside an http://www.w3.org/2001/XMLSchema#integer literal. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_010 Try explicitly setting physical-type to TRIPLES and logical-type to FLAT_TRIPLES. Stream options are: opt.physical-type=TRIPLES, opt.logical-type=FLAT_TRIPLES, generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_011 A set of triples across three (3) input files, that re-use terms across frames. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
in_001.nt
in_002.nt
out.jelly
pos_012 A set of triples with repeating s/p/o featuring IRIs, BNs, Literals (with and without datatype). Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_013 A set of fully repeated triples. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_014 A triple with BNs utilizing various allowed characters and symbols (e.g., combining characters and extenders). Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_015 A triple with IRIs utilizing various allowed characters and symbols (e.g., different alphabets, emoji, percented encoding). Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_016 A set of triples spanning two (2) frames. Stream options request the base logical type = LOGICAL_STREAM_TYPE_GRAPHS. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
in_001.nt
out.jelly

Negative

Name Description Input(s) Expected output
neg_001 Datatype table disabled (max size 0) but input data has a typed literal. If datatable size is 0, the datatype lookup MUST NOT be used in the stream (no type literal in input data allowed). Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
neg_002 Requested name table size is smaller than the minimum. Name table size MUST be set to a value greater than or equal to 8. Stream options are: generalized-statements=false, rdf-star=false, max-name-table-size=7, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt

triples_rdf_1_1_generalized

5 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of generalized RDF triples, utilizing Literals/BNs/IRIs at any place in s/p/o. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_002 A set of generalized RDF triples, utilizing Literals/BNs/IRIs at any place in s/p/o and repeated inside one frame. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_003 A set of generalized RDF triples, utilizing Literals/BNs/IRIs at any place in s/p/o and repeated across three (3) frames. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
in_001.nt
in_002.nt
out.jelly
pos_004 A set of generalized RDF triples, utilizing Literals/BNs/IRIs at any place in s/p/o and repeated across three (3) frames. Prefix table enabled. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=4. stream_options.jelly
in_000.nt
in_001.nt
in_002.nt
out.jelly
pos_005 A set of generalized RDF triples, utilizing Literals/BNs/IRIs at any place in s/p/o and repeated across four (4) frames, focusing on reusing all lookup tables. Stream options are: generalized-statements=true, rdf-star=false, max-name-table-size=8, max-prefix-table-size=4, max-datatype-table-size=2. stream_options.jelly
in_000.nt
in_001.nt
in_002.nt
in_003.nt
out.jelly

triples_rdf_star

8 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 One triple with a quoted triple as a subject. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_002 A set of triples with quoted s/o and both s and o quoted. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_003 A set of triples with the same triples being asserted and quoted. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_004 A set of triples with nested level 3 as subjects or as objects. Only IRIs as terms. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=8, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_005 A set of triples with nested level 10 as subjects or as objects. Only IRIs as terms. Quoted triples have the same predicate. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_006 A set of triples with nested level 3 as objects. Only IRIs as terms. Quoted triples have the same subject. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=0. stream_options.jelly
in_000.nt
out.jelly
pos_007 A set of triples that spans two (2) frames, re-using all lookup tables. BNs, IRIs, and Literals used. Quoted triples appear in subject/objects. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=10, max-prefix-table-size=8, max-datatype-table-size=2. 30 rows per frame. stream_options.jelly
in_000.nt
in_001.nt
out.jelly
pos_008 A set of triples, each has a quoted triple either as a subject or an object and features IRI/BN as subject and IRI/Literal/BN as object. Stream options are: generalized-statements=false, rdf-star=true, max-name-table-size=10, max-prefix-table-size=8, max-datatype-table-size=2. 30 rows per frame. stream_options.jelly
in_000.nt
out.jelly

triples_rdf_star_generalized

6 positive, 0 negative

Positive

Name Description Input(s) Expected output
pos_001 A set of generalized RDF-star statements, featuring variety of quoted generalized triples as s/p/o or combinations of such (nested up to 2 levels). Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_002 A set of generalized RDF-star statements, featuring variety of quoted generalized triples as s/p/o or combinations of such (nested up to 2 levels). Quoted triples are also asserted before/after the quoted triple. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_003 A set of generalized RDF-star statements, with nesting up to three (3) levels, with quoted triples appearing in different places inside one RDF-star statement. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_004 A set of generalized RDF-star statements, with nesting up to six (6) levels, with quoted triples repeatedly appearing in s/p/o. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_005 A set of generalized RDF-star statements, with repeated s/p/o inside/outside of quoted triples and in asserted triples before/after RDF-star statements. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=0, max-datatype-table-size=4. stream_options.jelly
in_000.nt
out.jelly
pos_006 A set of generalized RDF-star statements across three (3) frames, with repeated s/p/o inside/outside of quoted triples and in asserted triples before/after RDF-star statements, focusing on reusing all lookup tables across frames. Stream options are: generalized-statements=true, rdf-star=true, max-name-table-size=16, max-prefix-table-size=6, max-datatype-table-size=3. 25 rows per frame. stream_options.jelly
in_000.nt
in_001.nt
in_002.nt
out.jelly