{
  "test": {
    "id": "tests/1.0/context/blank-node-metadata",
    "directory": "tests/1.0/context/blank-node-metadata",
    "manifestPath": "tests/1.0/context/blank-node-metadata/manifest.ttl",
    "scenarioPath": "tests/1.0/context/blank-node-metadata/scenario.yaml",
    "expectedPath": "tests/1.0/context/blank-node-metadata/expected/events.ndjson",
    "iri": "https://www.pieter.pm/ldes-client-conformance-test-suite/1.0#context-blank-node-metadata",
    "title": "Blank-node shapes, view descriptions and retention policies are extracted and communicated structurally",
    "description": "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.",
    "requirement": "LDES10-CTX-002",
    "requirements": [
      "LDES10-CTX-002",
      "LDES10-CTX-004",
      "LDES10-CTX-005",
      "LDES10-CTX-006",
      "LDES10-CTX-007",
      "LDES10-CTX-009",
      "LDES10-RET-003",
      "LDES10-RET-004"
    ],
    "requirementLevel": "Must",
    "group": "ContextInformation",
    "requiredCapabilities": []
  },
  "outcome": "failed",
  "events": [
    {
      "protocolVersion": 0,
      "type": "context",
      "runId": "run-1",
      "eventStream": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/context/blank-node-metadata/responses/root.ttl#stream",
      "timestampPath": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/context/blank-node-metadata/responses/root.ttl#vocab/created",
      "dataset": "",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:18:39.129Z"
    },
    {
      "protocolVersion": 0,
      "type": "member",
      "runId": "run-1",
      "id": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/context/blank-node-metadata/responses/root.ttl#member/1",
      "dataset": "<https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/context/blank-node-metadata/responses/root.ttl#member/1> <https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/context/blank-node-metadata/responses/root.ttl#vocab/created> \"2026-01-01T00:00:00Z\"^^<http://www.w3.org/2001/XMLSchema#dateTime> .\n",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:18:39.144Z"
    },
    {
      "protocolVersion": 0,
      "type": "statistics",
      "runId": "run-1",
      "membersEmitted": 1,
      "fragmentsFetched": 2,
      "lastRun": "2026-10-16T10:18:39.145Z",
      "receivedAt": "2026-10-16T10:18:39.145Z"
    },
    {
      "protocolVersion": 0,
      "type": "run-end",
      "runId": "run-1",
      "status": "completed",
      "receivedAt": "2026-10-16T10:18:39.145Z",
      "adapterStderr": "2026-10-16T10:18:39.145Z {ldes-client} [Client] \u001b[32minfo\u001b[39m: Client has been gracefully closed\n"
    }
  ],
  "requests": [
    {
      "sequence": 1,
      "method": "GET",
      "path": "/root",
      "headers": {
        "host": "127.0.0.1:40933",
        "connection": "keep-alive",
        "accept": "application/n-quads,application/trig;q=0.95,application/ld+json;q=0.9,application/n-triples;q=0.8,text/turtle;q=0.6,application/rdf+xml;q=0.5,text/n3;q=0.35,application/xml;q=0.3,image/svg+xml;q=0.3,text/xml;q=0.3,text/html;q=0.2,application/xhtml+xml;q=0.18,application/json;q=0.135,text/shaclc;q=0.1,text/shaclc-ext;q=0.05",
        "user-agent": "Comunica/5.0 (linux; x64) ActorHttpFetch/5.3.0 Node.js/22",
        "accept-encoding": "br,gzip,deflate",
        "accept-language": "*",
        "sec-fetch-mode": "cors"
      },
      "phase": "default",
      "status": 200,
      "timestamp": "2026-10-16T10:18:39.098Z",
      "completedAt": "2026-10-16T10:18:39.099Z"
    },
    {
      "sequence": 2,
      "method": "GET",
      "path": "/root",
      "headers": {
        "host": "127.0.0.1:40933",
        "connection": "keep-alive",
        "accept": "application/n-quads,application/trig;q=0.95,application/ld+json;q=0.9,application/n-triples;q=0.8,text/turtle;q=0.6,application/rdf+xml;q=0.5,text/n3;q=0.35,application/xml;q=0.3,image/svg+xml;q=0.3,text/xml;q=0.3,text/html;q=0.2,application/xhtml+xml;q=0.18,application/json;q=0.135,text/shaclc;q=0.1,text/shaclc-ext;q=0.05",
        "user-agent": "Comunica/5.0 (linux; x64) ActorHttpFetch/5.3.0 Node.js/22",
        "accept-encoding": "br,gzip,deflate",
        "accept-language": "*",
        "sec-fetch-mode": "cors"
      },
      "phase": "default",
      "status": 200,
      "timestamp": "2026-10-16T10:18:39.126Z",
      "completedAt": "2026-10-16T10:18:39.126Z"
    },
    {
      "sequence": 3,
      "method": "GET",
      "path": "/root",
      "headers": {
        "host": "127.0.0.1:40933",
        "connection": "keep-alive",
        "accept": "application/n-quads,application/trig;q=0.95,application/ld+json;q=0.9,application/n-triples;q=0.8,text/turtle;q=0.6,application/rdf+xml;q=0.5,text/n3;q=0.35,application/xml;q=0.3,image/svg+xml;q=0.3,text/xml;q=0.3,text/html;q=0.2,application/xhtml+xml;q=0.18,application/json;q=0.135,text/shaclc;q=0.1,text/shaclc-ext;q=0.05",
        "user-agent": "Comunica/5.0 (linux; x64) ActorHttpFetch/5.3.0 Node.js/22",
        "accept-encoding": "br,gzip,deflate",
        "accept-language": "*",
        "sec-fetch-mode": "cors"
      },
      "phase": "default",
      "status": 200,
      "timestamp": "2026-10-16T10:18:39.138Z",
      "completedAt": "2026-10-16T10:18:39.139Z"
    }
  ],
  "diagnostics": [
    "event 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"
  ]
}
