{
  "timestamp": 1784153428,
  "benchmark_type": "KROWN",
  "framework": "Knowledge Graph Inversion",
  "environment": "Docker",
  "sparql_engine": "pyoxigraph",
  "iterations": 1,
  "failed_scenarios": 31,
  "suites": [
    "raw",
    "mappings",
    "named-graphs",
    "joins"
  ],
  "series": [
    {
      "name": "raw_rows",
      "title": "Raw data: rows",
      "suite": "raw",
      "parameter_label": "Rows",
      "points": [
        {
          "scenario": "raw_10000_20_0",
          "value": 10000
        },
        {
          "scenario": "raw_100000_20_0",
          "value": 100000
        },
        {
          "scenario": "raw_1000000_20_0",
          "value": 1000000
        },
        {
          "scenario": "raw_10000000_20_0",
          "value": 10000000
        }
      ]
    },
    {
      "name": "raw_properties",
      "title": "Raw data: properties",
      "suite": "raw",
      "parameter_label": "Properties",
      "points": [
        {
          "scenario": "raw_100000_1_0",
          "value": 1
        },
        {
          "scenario": "raw_100000_10_0",
          "value": 10
        },
        {
          "scenario": "raw_100000_20_0",
          "value": 20
        },
        {
          "scenario": "raw_100000_30_0",
          "value": 30
        }
      ]
    },
    {
      "name": "raw_value_size",
      "title": "Raw data: value size",
      "suite": "raw",
      "parameter_label": "Value size (characters)",
      "points": [
        {
          "scenario": "raw_100000_20_500",
          "value": 500
        },
        {
          "scenario": "raw_100000_20_1000",
          "value": 1000
        },
        {
          "scenario": "raw_100000_20_5000",
          "value": 5000
        },
        {
          "scenario": "raw_100000_20_10000",
          "value": 10000
        }
      ]
    },
    {
      "name": "mappings_triples_maps",
      "title": "Mappings: Triples Maps",
      "suite": "mappings",
      "parameter_label": "Triples Maps",
      "points": [
        {
          "scenario": "mappings_1_5",
          "value": 1
        },
        {
          "scenario": "mappings_10_5",
          "value": 10
        },
        {
          "scenario": "mappings_20_5",
          "value": 20
        },
        {
          "scenario": "mappings_30_5",
          "value": 30
        }
      ]
    },
    {
      "name": "mappings_predicate_object_maps",
      "title": "Mappings: Predicate-Object Maps",
      "suite": "mappings",
      "parameter_label": "Predicate-Object Maps",
      "points": [
        {
          "scenario": "mappings_20_1",
          "value": 1
        },
        {
          "scenario": "mappings_20_3",
          "value": 3
        },
        {
          "scenario": "mappings_20_5",
          "value": 5
        },
        {
          "scenario": "mappings_20_10",
          "value": 10
        }
      ]
    },
    {
      "name": "named_graphs_subject_static",
      "title": "Named graphs in subject map (static)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs",
      "points": [
        {
          "scenario": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_True",
          "value": 1
        },
        {
          "scenario": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_True",
          "value": 5
        },
        {
          "scenario": "namedgraph_10SM-NG_0POM-NG_1TM_20POM_True",
          "value": 10
        },
        {
          "scenario": "namedgraph_15SM-NG_0POM-NG_1TM_20POM_True",
          "value": 15
        }
      ]
    },
    {
      "name": "named_graphs_subject_dynamic",
      "title": "Named graphs in subject map (dynamic)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs",
      "points": [
        {
          "scenario": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_False",
          "value": 1
        },
        {
          "scenario": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_False",
          "value": 5
        },
        {
          "scenario": "namedgraph_10SM-NG_0POM-NG_1TM_20POM_False",
          "value": 10
        },
        {
          "scenario": "namedgraph_15SM-NG_0POM-NG_1TM_20POM_False",
          "value": 15
        }
      ]
    },
    {
      "name": "named_graphs_pom_static",
      "title": "Named graphs in predicate-object map (static)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs",
      "points": [
        {
          "scenario": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_True",
          "value": 1
        },
        {
          "scenario": "namedgraph_0SM-NG_5POM-NG_1TM_1POM_True",
          "value": 5
        },
        {
          "scenario": "namedgraph_0SM-NG_10POM-NG_1TM_1POM_True",
          "value": 10
        },
        {
          "scenario": "namedgraph_0SM-NG_15POM-NG_1TM_1POM_True",
          "value": 15
        }
      ]
    },
    {
      "name": "named_graphs_pom_dynamic",
      "title": "Named graphs in predicate-object map (dynamic)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs",
      "points": [
        {
          "scenario": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_False",
          "value": 1
        },
        {
          "scenario": "namedgraph_0SM-NG_5POM-NG_1TM_1POM_False",
          "value": 5
        },
        {
          "scenario": "namedgraph_0SM-NG_10POM-NG_1TM_1POM_False",
          "value": 10
        },
        {
          "scenario": "namedgraph_0SM-NG_15POM-NG_1TM_1POM_False",
          "value": 15
        }
      ]
    },
    {
      "name": "named_graphs_both_static",
      "title": "Named graphs in subject and predicate-object maps (static)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs in each map",
      "points": [
        {
          "scenario": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_True",
          "value": 1
        },
        {
          "scenario": "namedgraph_5SM-NG_5POM-NG_1TM_10POM_True",
          "value": 5
        },
        {
          "scenario": "namedgraph_10SM-NG_10POM-NG_1TM_10POM_True",
          "value": 10
        },
        {
          "scenario": "namedgraph_15SM-NG_15POM-NG_1TM_10POM_True",
          "value": 15
        }
      ]
    },
    {
      "name": "named_graphs_both_dynamic",
      "title": "Named graphs in subject and predicate-object maps (dynamic)",
      "suite": "named-graphs",
      "parameter_label": "Named graphs in each map",
      "points": [
        {
          "scenario": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_False",
          "value": 1
        },
        {
          "scenario": "namedgraph_5SM-NG_5POM-NG_1TM_10POM_False",
          "value": 5
        },
        {
          "scenario": "namedgraph_10SM-NG_10POM-NG_1TM_10POM_False",
          "value": 10
        },
        {
          "scenario": "namedgraph_15SM-NG_15POM-NG_1TM_10POM_False",
          "value": 15
        }
      ]
    },
    {
      "name": "joins_one_to_many",
      "title": "Joins: 1-N relations",
      "suite": "joins",
      "parameter_label": "Relation",
      "points": [
        {
          "scenario": "joins_relations_1-1_50.0",
          "value": "1-1"
        },
        {
          "scenario": "joins_relations_1-5_50.0",
          "value": "1-5"
        },
        {
          "scenario": "joins_relations_1-10_50.0",
          "value": "1-10"
        },
        {
          "scenario": "joins_relations_1-15_50.0",
          "value": "1-15"
        }
      ]
    },
    {
      "name": "joins_many_to_one",
      "title": "Joins: N-1 relations",
      "suite": "joins",
      "parameter_label": "Relation",
      "points": [
        {
          "scenario": "joins_relations_1-1_50.0",
          "value": "1-1"
        },
        {
          "scenario": "joins_relations_5-1_50.0",
          "value": "5-1"
        },
        {
          "scenario": "joins_relations_10-1_50.0",
          "value": "10-1"
        },
        {
          "scenario": "joins_relations_15-1_50.0",
          "value": "15-1"
        }
      ]
    },
    {
      "name": "joins_many_to_many",
      "title": "Joins: N-M relations",
      "suite": "joins",
      "parameter_label": "Relation",
      "points": [
        {
          "scenario": "joins_relations_3-3_50.0",
          "value": "3-3"
        },
        {
          "scenario": "joins_relations_3-5_50.0",
          "value": "3-5"
        },
        {
          "scenario": "joins_relations_5-3_50.0",
          "value": "5-3"
        },
        {
          "scenario": "joins_relations_10-5_50.0",
          "value": "10-5"
        },
        {
          "scenario": "joins_relations_5-10_50.0",
          "value": "5-10"
        }
      ]
    },
    {
      "name": "joins_conditions",
      "title": "Joins: conditions",
      "suite": "joins",
      "parameter_label": "Join conditions",
      "points": [
        {
          "scenario": "joins_mutiple_1-1_1jc_50.0",
          "value": 1
        },
        {
          "scenario": "joins_mutiple_1-1_5jc_50.0",
          "value": 5
        },
        {
          "scenario": "joins_mutiple_1-1_10jc_50.0",
          "value": 10
        },
        {
          "scenario": "joins_mutiple_1-1_15jc_50.0",
          "value": 15
        }
      ]
    }
  ],
  "scenarios": {
    "raw_10000_20_0": [
      {
        "status": "completed",
        "scenario_name": "raw_10000_20_0",
        "display_name": "10K members, 20 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 10000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 5.636207519000003,
        "timing_breakdown": {
          "rmlmapper_time": 2.241300638999995,
          "inversion_time": 3.2829839509999985,
          "inversion_overhead_percentage": 146.47673292346775,
          "total_time": 5.636207519000003
        },
        "throughput": {
          "rows_per_second": 3046.0094076774258,
          "cells_per_second": 63966.19756122594
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_10000_20_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_10000_20_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4562,
        "data_size_bytes": 1936848,
        "rdf_statements": 200000,
        "source_rows": 10000,
        "source_cells": 210000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_10000_20_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 10000,
                "reconstructed_rows": 10000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_20_0": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_20_0",
        "display_name": "100K members, 20 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 35.024366908999994,
        "timing_breakdown": {
          "rmlmapper_time": 7.7067476989999975,
          "inversion_time": 26.92376976,
          "inversion_overhead_percentage": 349.3532007476194,
          "total_time": 35.024366908999994
        },
        "throughput": {
          "rows_per_second": 3714.1901335290577,
          "cells_per_second": 77997.99280411021
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4562,
        "data_size_bytes": 21466869,
        "rdf_statements": 2000000,
        "source_rows": 100000,
        "source_cells": 2100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_20_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_1000000_20_0": [
      {
        "status": "completed",
        "scenario_name": "raw_1000000_20_0",
        "display_name": "1M members, 20 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 357.22555951100003,
        "timing_breakdown": {
          "rmlmapper_time": 66.782059748,
          "inversion_time": 286.947115429,
          "inversion_overhead_percentage": 429.6769469402201,
          "total_time": 357.22555951100003
        },
        "throughput": {
          "rows_per_second": 3484.962720412613,
          "cells_per_second": 73184.21712866488
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_1000000_20_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_1000000_20_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4562,
        "data_size_bytes": 235666890,
        "rdf_statements": 20000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_1000000_20_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_10000000_20_0": [
      {
        "status": "failed",
        "scenario_name": "raw_10000000_20_0",
        "display_name": "10M members, 20 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 10000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 39.70849937500009,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Required array length 2147483639 + 109 is too large\n\tat java.base/jdk.internal.util.ArraysSupport.hugeLength(ArraysSupport.java:752)\n\tat java.base/jdk.internal.util.ArraysSupport.newLength(ArraysSupport.java:745)\n\tat java.base/java.lang.AbstractStringBuilder.newCapacity(AbstractStringBuilder.java:263)\n\tat java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:243)\n\tat java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:592)\n\tat java.base/java.lang.StringBuffer.append(StringBuffer.java:313)\n\tat java.base/java.io.StringWriter.write(StringWriter.java:106)\n\tat com.opencsv.CSVWriter.writeNext(CSVWriter.java:91)\n\tat com.opencsv.AbstractCSVWriter.writeNext(AbstractCSVWriter.java:77)\n\tat com.opencsv.ICSVWriter.writeNext(ICSVWriter.java:162)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getCSVInputStream(RDBAccess.java:222)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getInputStream(RDBAccess.java:158)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.bootstrap(CSVWSourceIterator.java:50)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.<init>(CSVWSourceIterator.java:39)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVSourceIterator.<init>(CSVSourceIterator.java:22)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecordsForCSV(TabularSourceFactory.java:79)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecords(TabularSourceFactory.java:33)\n\tat be.ugent.rml.records.RecordsFactory.getRecords(RecordsFactory.java:143)\n\tat be.ugent.rml.records.RecordsFactory.createRecords(RecordsFactory.java:74)\n\tat be.ugent.rml.Executor.getRecords(Executor.java:359)\n\tat be.ugent.rml.Executor.executeWithFunction(Executor.java:168)\n\tat be.ugent.rml.Executor.execute(Executor.java:155)\n\tat be.ugent.rml.cli.Main.run(Main.java:440)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "raw_100000_1_0": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_1_0",
        "display_name": "100K members, 1 property",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 1,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 4.344416341000056,
        "timing_breakdown": {
          "rmlmapper_time": 1.5626153330000534,
          "inversion_time": 2.373455697000054,
          "inversion_overhead_percentage": 151.8899531366606,
          "total_time": 4.344416341000056
        },
        "throughput": {
          "rows_per_second": 42132.65919662866,
          "cells_per_second": 84265.31839325732
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_1_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_1_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 512,
        "data_size_bytes": 1577796,
        "rdf_statements": 100000,
        "source_rows": 100000,
        "source_cells": 200000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_1_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_10_0": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_10_0",
        "display_name": "100K members, 10 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 10,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 18.754988475999994,
        "timing_breakdown": {
          "rmlmapper_time": 4.48966192599994,
          "inversion_time": 13.99817611200001,
          "inversion_overhead_percentage": 311.78686374881846,
          "total_time": 18.754988475999994
        },
        "throughput": {
          "rows_per_second": 7143.787819205566,
          "cells_per_second": 78581.66601126123
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_10_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_10_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 2422,
        "data_size_bytes": 10577879,
        "rdf_statements": 1000000,
        "source_rows": 100000,
        "source_cells": 1100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 10,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_10_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_30_0": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_30_0",
        "display_name": "100K members, 30 properties",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 52.60517000799996,
        "timing_breakdown": {
          "rmlmapper_time": 11.297648157000026,
          "inversion_time": 40.77243471300005,
          "inversion_overhead_percentage": 360.8931181640441,
          "total_time": 52.60517000799996
        },
        "throughput": {
          "rows_per_second": 2452.637442524755,
          "cells_per_second": 76031.76071826741
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_30_0/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_30_0/data/shared/data.csv"
        ],
        "mapping_size_bytes": 6702,
        "data_size_bytes": 32355859,
        "rdf_statements": 3000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 30,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_30_0",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20",
                  "p21",
                  "p22",
                  "p23",
                  "p24",
                  "p25",
                  "p26",
                  "p27",
                  "p28",
                  "p29",
                  "p30"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20",
                  "p21",
                  "p22",
                  "p23",
                  "p24",
                  "p25",
                  "p26",
                  "p27",
                  "p28",
                  "p29",
                  "p30"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_20_500": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_20_500",
        "display_name": "500 characters",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 500,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 87.18105534999995,
        "timing_breakdown": {
          "rmlmapper_time": 36.93098744500003,
          "inversion_time": 44.69941408700004,
          "inversion_overhead_percentage": 121.03498221803368,
          "total_time": 87.18105534999995
        },
        "throughput": {
          "rows_per_second": 2237.1657893628426,
          "cells_per_second": 46980.48157661969
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_500/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_500/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4562,
        "data_size_bytes": 1023466869,
        "rdf_statements": 2000000,
        "source_rows": 100000,
        "source_cells": 2100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_20_500",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_20_1000": [
      {
        "status": "completed",
        "scenario_name": "raw_100000_20_1000",
        "display_name": "1K characters",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 1000,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 130.467891559,
        "timing_breakdown": {
          "rmlmapper_time": 66.79216523699995,
          "inversion_time": 54.06591593400003,
          "inversion_overhead_percentage": 80.94649386220208,
          "total_time": 130.467891559
        },
        "throughput": {
          "rows_per_second": 1849.5941162279237,
          "cells_per_second": 38841.4764407864
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_1000/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/raw_100000_20_1000/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4562,
        "data_size_bytes": 2023466869,
        "rdf_statements": 2000000,
        "source_rows": 100000,
        "source_cells": 2100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "raw_100000_20_1000",
          "validation_passed": true,
          "expected_outcome": "FULL",
          "outcome": "FULL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": true,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": true,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "raw_100000_20_5000": [
      {
        "status": "failed",
        "scenario_name": "raw_100000_20_5000",
        "display_name": "5K characters",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 5000,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 53.356264823000174,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Required array length 2147483639 + 58873 is too large\n\tat java.base/jdk.internal.util.ArraysSupport.hugeLength(ArraysSupport.java:752)\n\tat java.base/jdk.internal.util.ArraysSupport.newLength(ArraysSupport.java:745)\n\tat java.base/java.lang.AbstractStringBuilder.newCapacity(AbstractStringBuilder.java:263)\n\tat java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:243)\n\tat java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:592)\n\tat java.base/java.lang.StringBuffer.append(StringBuffer.java:313)\n\tat java.base/java.io.StringWriter.write(StringWriter.java:106)\n\tat com.opencsv.CSVWriter.writeNext(CSVWriter.java:91)\n\tat com.opencsv.AbstractCSVWriter.writeNext(AbstractCSVWriter.java:77)\n\tat com.opencsv.ICSVWriter.writeNext(ICSVWriter.java:162)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getCSVInputStream(RDBAccess.java:222)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getInputStream(RDBAccess.java:158)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.bootstrap(CSVWSourceIterator.java:50)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.<init>(CSVWSourceIterator.java:39)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVSourceIterator.<init>(CSVSourceIterator.java:22)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecordsForCSV(TabularSourceFactory.java:79)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecords(TabularSourceFactory.java:33)\n\tat be.ugent.rml.records.RecordsFactory.getRecords(RecordsFactory.java:143)\n\tat be.ugent.rml.records.RecordsFactory.createRecords(RecordsFactory.java:74)\n\tat be.ugent.rml.Executor.getRecords(Executor.java:359)\n\tat be.ugent.rml.Executor.executeWithFunction(Executor.java:168)\n\tat be.ugent.rml.Executor.execute(Executor.java:155)\n\tat be.ugent.rml.cli.Main.run(Main.java:440)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "raw_100000_20_10000": [
      {
        "status": "failed",
        "scenario_name": "raw_100000_20_10000",
        "display_name": "10K characters",
        "suite": "raw",
        "generator": "RawData",
        "expected_outcome": "FULL",
        "parameters": {
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 10000,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 106.2728171870001,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Required array length 2147483639 + 75247 is too large\n\tat java.base/jdk.internal.util.ArraysSupport.hugeLength(ArraysSupport.java:752)\n\tat java.base/jdk.internal.util.ArraysSupport.newLength(ArraysSupport.java:745)\n\tat java.base/java.lang.AbstractStringBuilder.newCapacity(AbstractStringBuilder.java:263)\n\tat java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:243)\n\tat java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:592)\n\tat java.base/java.lang.StringBuffer.append(StringBuffer.java:313)\n\tat java.base/java.io.StringWriter.write(StringWriter.java:106)\n\tat com.opencsv.CSVWriter.writeNext(CSVWriter.java:91)\n\tat com.opencsv.AbstractCSVWriter.writeNext(AbstractCSVWriter.java:77)\n\tat com.opencsv.ICSVWriter.writeNext(ICSVWriter.java:162)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getCSVInputStream(RDBAccess.java:222)\n\tat be.ugent.idlab.knows.dataio.access.RDBAccess.getInputStream(RDBAccess.java:158)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.bootstrap(CSVWSourceIterator.java:50)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVWSourceIterator.<init>(CSVWSourceIterator.java:39)\n\tat be.ugent.idlab.knows.dataio.iterators.CSVSourceIterator.<init>(CSVSourceIterator.java:22)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecordsForCSV(TabularSourceFactory.java:79)\n\tat be.ugent.rml.records.TabularSourceFactory.getRecords(TabularSourceFactory.java:33)\n\tat be.ugent.rml.records.RecordsFactory.getRecords(RecordsFactory.java:143)\n\tat be.ugent.rml.records.RecordsFactory.createRecords(RecordsFactory.java:74)\n\tat be.ugent.rml.Executor.getRecords(Executor.java:359)\n\tat be.ugent.rml.Executor.executeWithFunction(Executor.java:168)\n\tat be.ugent.rml.Executor.execute(Executor.java:155)\n\tat be.ugent.rml.cli.Main.run(Main.java:440)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "mappings_1_5": [
      {
        "status": "completed",
        "scenario_name": "mappings_1_5",
        "display_name": "1 TM + 5 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_tms": 1,
          "number_of_poms": 5,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 11.198000369000056,
        "timing_breakdown": {
          "rmlmapper_time": 3.898008045000097,
          "inversion_time": 6.817186554000045,
          "inversion_overhead_percentage": 174.88898112317457,
          "total_time": 11.198000369000056
        },
        "throughput": {
          "rows_per_second": 14668.8079030673,
          "cells_per_second": 454733.0449950863
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_1_5/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_1_5/data/shared/data.csv"
        ],
        "mapping_size_bytes": 1360,
        "data_size_bytes": 32355859,
        "rdf_statements": 500000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 5,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "mappings_1_5",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20",
                  "p21",
                  "p22",
                  "p23",
                  "p24",
                  "p25",
                  "p26",
                  "p27",
                  "p28",
                  "p29",
                  "p30"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 100000,
                "reconstructed_rows": 100000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20",
                  "p21",
                  "p22",
                  "p23",
                  "p24",
                  "p25",
                  "p26",
                  "p27",
                  "p28",
                  "p29",
                  "p30"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "mappings_10_5": [
      {
        "status": "completed",
        "scenario_name": "mappings_10_5",
        "display_name": "10 TM + 5 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 10,
          "number_of_poms": 5,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 21.56366860800017,
        "timing_breakdown": {
          "rmlmapper_time": 20.217089019000014,
          "inversion_time": 0.6685914529998627,
          "inversion_overhead_percentage": 3.3070609342992983,
          "total_time": 21.56366860800017
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_10_5/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_10_5/data/shared/data.csv"
        ],
        "mapping_size_bytes": 12648,
        "data_size_bytes": 32355859,
        "rdf_statements": 5000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 10,
        "predicate_object_maps_count": 50,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_10_5",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p10, p6, p7, p8, p9"
        },
        "iteration": 1
      }
    ],
    "mappings_20_5": [
      {
        "status": "completed",
        "scenario_name": "mappings_20_5",
        "display_name": "20 TM + 5 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 20,
          "number_of_poms": 5,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 36.98008593899999,
        "timing_breakdown": {
          "rmlmapper_time": 33.93841522699995,
          "inversion_time": 0.9835333799999262,
          "inversion_overhead_percentage": 2.897994421429169,
          "total_time": 36.98008593899999
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_5/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_5/data/shared/data.csv"
        ],
        "mapping_size_bytes": 25208,
        "data_size_bytes": 32355859,
        "rdf_statements": 10000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 20,
        "predicate_object_maps_count": 100,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_20_5",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p6, p7, p8, p9"
        },
        "iteration": 1
      }
    ],
    "mappings_30_5": [
      {
        "status": "completed",
        "scenario_name": "mappings_30_5",
        "display_name": "30 TM + 5 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 30,
          "number_of_poms": 5,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 53.208797628000184,
        "timing_breakdown": {
          "rmlmapper_time": 50.46187172100008,
          "inversion_time": 1.3637438670000392,
          "inversion_overhead_percentage": 2.702523351769584,
          "total_time": 53.208797628000184
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_30_5/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_30_5/data/shared/data.csv"
        ],
        "mapping_size_bytes": 37768,
        "data_size_bytes": 32355859,
        "rdf_statements": 15000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 30,
        "predicate_object_maps_count": 150,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_30_5",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p6, p7, p8, p9"
        },
        "iteration": 1
      }
    ],
    "mappings_20_1": [
      {
        "status": "completed",
        "scenario_name": "mappings_20_1",
        "display_name": "20 TM + 1 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 20,
          "number_of_poms": 1,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 10.889353748999838,
        "timing_breakdown": {
          "rmlmapper_time": 9.916306208999913,
          "inversion_time": 0.4909777119999035,
          "inversion_overhead_percentage": 4.951215721377164,
          "total_time": 10.889353748999838
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_1/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_1/data/shared/data.csv"
        ],
        "mapping_size_bytes": 8248,
        "data_size_bytes": 32355859,
        "rdf_statements": 2000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 20,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_20_1",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p2, p20, p3, p4, p5, p6, p7, p8, p9"
        },
        "iteration": 1
      }
    ],
    "mappings_20_3": [
      {
        "status": "completed",
        "scenario_name": "mappings_20_3",
        "display_name": "20 TM + 3 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 20,
          "number_of_poms": 3,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 25.388798639000015,
        "timing_breakdown": {
          "rmlmapper_time": 23.62672941200003,
          "inversion_time": 0.9894609660000242,
          "inversion_overhead_percentage": 4.1878880006873755,
          "total_time": 25.388798639000015
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_3/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_3/data/shared/data.csv"
        ],
        "mapping_size_bytes": 16728,
        "data_size_bytes": 32355859,
        "rdf_statements": 6000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 20,
        "predicate_object_maps_count": 60,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_20_3",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p4, p5, p6, p7, p8, p9"
        },
        "iteration": 1
      }
    ],
    "mappings_20_10": [
      {
        "status": "completed",
        "scenario_name": "mappings_20_10",
        "display_name": "20 TM + 10 POM",
        "suite": "mappings",
        "generator": "Mappings",
        "expected_outcome": "NON_INVERTIBLE",
        "parameters": {
          "number_of_tms": 20,
          "number_of_poms": 10,
          "number_of_members": 100000,
          "number_of_properties": 30,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 64.2579447600001,
        "timing_breakdown": {
          "rmlmapper_time": 60.912204129999964,
          "inversion_time": 1.6305638579999595,
          "inversion_overhead_percentage": 2.6769083163038716,
          "total_time": 64.2579447600001
        },
        "throughput": null,
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_10/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/mappings_20_10/data/shared/data.csv"
        ],
        "mapping_size_bytes": 46448,
        "data_size_bytes": 32355859,
        "rdf_statements": 20000000,
        "source_rows": 100000,
        "source_cells": 3100000,
        "triples_maps_count": 20,
        "predicate_object_maps_count": 200,
        "join_conditions_count": 0,
        "graph_maps_count": 0,
        "inversion_count": 0,
        "validation_results": {
          "scenario": "mappings_20_10",
          "validation_passed": true,
          "expected_outcome": "NON_INVERTIBLE",
          "outcome": "NON_INVERTIBLE",
          "error": "Subject templates for table 'data' contain columns that are not observable outside indistinguishable subjects: p11, p12, p13, p14, p15, p16, p17, p18, p19, p20"
        },
        "iteration": 1
      }
    ],
    "namedgraph_1SM-NG_0POM-NG_1TM_20POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_True",
        "display_name": "1 static named graph in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 1,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 552.7838633889999,
        "timing_breakdown": {
          "rmlmapper_time": 83.93253012600007,
          "inversion_time": 465.3107378010002,
          "inversion_overhead_percentage": 554.3866449664661,
          "total_time": 552.7838633889999
        },
        "throughput": {
          "rows_per_second": 2149.101490169502,
          "cells_per_second": 45131.13129355955
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_0POM-NG_1TM_20POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_0POM-NG_1TM_20POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4613,
        "data_size_bytes": 235666890,
        "rdf_statements": 20000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 1,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_5SM-NG_0POM-NG_1TM_20POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_True",
        "display_name": "5 static named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 5,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2492.6118088499998,
        "timing_breakdown": {
          "rmlmapper_time": 369.7066036789997,
          "inversion_time": 2112.9590999979996,
          "inversion_overhead_percentage": 571.523223813603,
          "total_time": 2492.6118088499998
        },
        "throughput": {
          "rows_per_second": 473.2699274685188,
          "cells_per_second": 9938.668476838895
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_0POM-NG_1TM_20POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_0POM-NG_1TM_20POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4793,
        "data_size_bytes": 235666890,
        "rdf_statements": 100000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 5,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_10SM-NG_0POM-NG_1TM_20POM_True": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_10SM-NG_0POM-NG_1TM_20POM_True",
        "display_name": "10 static named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 10,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 656.1649888720003,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.lang.StringLatin1.newString(StringLatin1.java:756)\n\tat java.base/java.lang.String.substring(String.java:2828)\n\tat java.base/java.lang.String.subSequence(String.java:2861)\n\tat java.base/java.util.regex.Matcher.getSubSequence(Matcher.java:1819)\n\tat java.base/java.util.regex.Matcher.group(Matcher.java:691)\n\tat be.ugent.rml.store.RDF4JStore.convertStringToTerm(RDF4JStore.java:351)\n\tat be.ugent.rml.store.RDF4JStore.getQuads(RDF4JStore.java:101)\n\tat be.ugent.rml.cli.Main.writeOutputTargets(Main.java:519)\n\tat be.ugent.rml.cli.Main.run(Main.java:459)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_15SM-NG_0POM-NG_1TM_20POM_True": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_15SM-NG_0POM-NG_1TM_20POM_True",
        "display_name": "15 static named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 15,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 448.5451326100001,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.HashMap.values(HashMap.java:1042)\n\tat be.ugent.idlab.knows.functions.agent.functionIntantiation.Instantiator.close(Instantiator.java:488)\n\tat be.ugent.idlab.knows.functions.agent.AgentImpl.close(AgentImpl.java:262)\n\tat be.ugent.rml.cli.Main.run(Main.java:445)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_1SM-NG_0POM-NG_1TM_20POM_False": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_False",
        "display_name": "1 dynamic named graph in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 1,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 633.5974467790002,
        "timing_breakdown": {
          "rmlmapper_time": 86.98358815599931,
          "inversion_time": 542.9571870079999,
          "inversion_overhead_percentage": 624.2064721844333,
          "total_time": 633.5974467790002
        },
        "throughput": {
          "rows_per_second": 1841.7658407112422,
          "cells_per_second": 38677.082654936086
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_0POM-NG_1TM_20POM_False/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_0POM-NG_1TM_20POM_False/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4635,
        "data_size_bytes": 235666890,
        "rdf_statements": 20000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 1,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_1SM-NG_0POM-NG_1TM_20POM_False",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_5SM-NG_0POM-NG_1TM_20POM_False": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_False",
        "display_name": "5 dynamic named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 5,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2347.334741130001,
        "timing_breakdown": {
          "rmlmapper_time": 415.1219699180001,
          "inversion_time": 1921.972158001,
          "inversion_overhead_percentage": 462.9897469364609,
          "total_time": 2347.334741130001
        },
        "throughput": {
          "rows_per_second": 520.2989001880638,
          "cells_per_second": 10926.276903949341
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_0POM-NG_1TM_20POM_False/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_0POM-NG_1TM_20POM_False/data/shared/data.csv"
        ],
        "mapping_size_bytes": 4891,
        "data_size_bytes": 235666890,
        "rdf_statements": 100000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 20,
        "join_conditions_count": 0,
        "graph_maps_count": 5,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_5SM-NG_0POM-NG_1TM_20POM_False",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_10SM-NG_0POM-NG_1TM_20POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_10SM-NG_0POM-NG_1TM_20POM_False",
        "display_name": "10 dynamic named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 10,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 763.6059587299987,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.regex.Matcher.<init>(Matcher.java:251)\n\tat java.base/java.util.regex.Pattern.matcher(Pattern.java:1180)\n\tat be.ugent.rml.store.RDF4JStore.convertStringToTerm(RDF4JStore.java:343)\n\tat be.ugent.rml.store.RDF4JStore.getQuads(RDF4JStore.java:101)\n\tat be.ugent.rml.cli.Main.writeOutputTargets(Main.java:519)\n\tat be.ugent.rml.cli.Main.run(Main.java:459)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_15SM-NG_0POM-NG_1TM_20POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_15SM-NG_0POM-NG_1TM_20POM_False",
        "display_name": "15 dynamic named graphs in the subject map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 0,
          "number_of_ng_s": 15,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 20,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 498.9220206930004,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.HashMap.values(HashMap.java:1042)\n\tat be.ugent.idlab.knows.functions.agent.functionIntantiation.Instantiator.close(Instantiator.java:488)\n\tat be.ugent.idlab.knows.functions.agent.AgentImpl.close(AgentImpl.java:262)\n\tat be.ugent.rml.cli.Main.run(Main.java:445)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_1POM-NG_1TM_1POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_True",
        "display_name": "1 static named graph in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 1,
          "number_of_ng_s": 0,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 38.69518620499912,
        "timing_breakdown": {
          "rmlmapper_time": 11.784820373999537,
          "inversion_time": 24.8275097500009,
          "inversion_overhead_percentage": 210.67363745973609,
          "total_time": 38.69518620499912
        },
        "throughput": {
          "rows_per_second": 40277.90181413437,
          "cells_per_second": 845835.9380968218
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_1POM-NG_1TM_1POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_1POM-NG_1TM_1POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 563,
        "data_size_bytes": 235666890,
        "rdf_statements": 1000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 1,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_5POM-NG_1TM_1POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_0SM-NG_5POM-NG_1TM_1POM_True",
        "display_name": "5 static named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 5,
          "number_of_ng_s": 0,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 128.30975891600065,
        "timing_breakdown": {
          "rmlmapper_time": 27.311794822000593,
          "inversion_time": 97.49879947500085,
          "inversion_overhead_percentage": 356.98422645025954,
          "total_time": 128.30975891600065
        },
        "throughput": {
          "rows_per_second": 10256.53654593362,
          "cells_per_second": 215387.26746460603
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_5POM-NG_1TM_1POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_5POM-NG_1TM_1POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 743,
        "data_size_bytes": 235666890,
        "rdf_statements": 5000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 5,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_0SM-NG_5POM-NG_1TM_1POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_10POM-NG_1TM_1POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_0SM-NG_10POM-NG_1TM_1POM_True",
        "display_name": "10 static named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 10,
          "number_of_ng_s": 0,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 268.7654530839991,
        "timing_breakdown": {
          "rmlmapper_time": 48.78164638799899,
          "inversion_time": 216.93456098000024,
          "inversion_overhead_percentage": 444.7052878341748,
          "total_time": 268.7654530839991
        },
        "throughput": {
          "rows_per_second": 4609.68503811706,
          "cells_per_second": 96803.38580045826
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_10POM-NG_1TM_1POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_10POM-NG_1TM_1POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 969,
        "data_size_bytes": 235666890,
        "rdf_statements": 10000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 10,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_0SM-NG_10POM-NG_1TM_1POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_15POM-NG_1TM_1POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_0SM-NG_15POM-NG_1TM_1POM_True",
        "display_name": "15 static named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 15,
          "number_of_ng_s": 0,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 406.4832768289998,
        "timing_breakdown": {
          "rmlmapper_time": 62.74599092199969,
          "inversion_time": 340.56682708100016,
          "inversion_overhead_percentage": 542.7706568605521,
          "total_time": 406.4832768289998
        },
        "throughput": {
          "rows_per_second": 2936.2812830920866,
          "cells_per_second": 61661.90694493382
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_15POM-NG_1TM_1POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_15POM-NG_1TM_1POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 1199,
        "data_size_bytes": 235666890,
        "rdf_statements": 15000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 15,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_0SM-NG_15POM-NG_1TM_1POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_1POM-NG_1TM_1POM_False": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_False",
        "display_name": "1 dynamic named graph in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 1,
          "number_of_ng_s": 0,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 42.503175511001245,
        "timing_breakdown": {
          "rmlmapper_time": 13.193712966000021,
          "inversion_time": 26.214620267999635,
          "inversion_overhead_percentage": 198.69024235675187,
          "total_time": 42.503175511001245
        },
        "throughput": {
          "rows_per_second": 38146.65212681745,
          "cells_per_second": 801079.6946631664
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_1POM-NG_1TM_1POM_False/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_0SM-NG_1POM-NG_1TM_1POM_False/data/shared/data.csv"
        ],
        "mapping_size_bytes": 585,
        "data_size_bytes": 235666890,
        "rdf_statements": 1000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 1,
        "join_conditions_count": 0,
        "graph_maps_count": 1,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_0SM-NG_1POM-NG_1TM_1POM_False",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_5POM-NG_1TM_1POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_0SM-NG_5POM-NG_1TM_1POM_False",
        "display_name": "5 dynamic named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 5,
          "number_of_ng_s": 0,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 327.6286343209995,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for namedgraph_0SM-NG_5POM-NG_1TM_1POM_False: {'scenario': 'namedgraph_0SM-NG_5POM-NG_1TM_1POM_False', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['id', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 4000000, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 1000000, 'reconstructed_rows': 5000000, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['p1', 'p2', 'p3', 'p4', 'p5']}, 'exact': False, 'partial_valid': False}}, 'errors': ['rdf_round_trip', 'data.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_10POM-NG_1TM_1POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_0SM-NG_10POM-NG_1TM_1POM_False",
        "display_name": "10 dynamic named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 10,
          "number_of_ng_s": 0,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 887.119354982,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for namedgraph_0SM-NG_10POM-NG_1TM_1POM_False: {'scenario': 'namedgraph_0SM-NG_10POM-NG_1TM_1POM_False', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['id', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 9000000, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 1000000, 'reconstructed_rows': 10000000, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10']}, 'exact': False, 'partial_valid': False}}, 'errors': ['rdf_round_trip', 'data.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "namedgraph_0SM-NG_15POM-NG_1TM_1POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_0SM-NG_15POM-NG_1TM_1POM_False",
        "display_name": "15 dynamic named graphs in a predicate-object map",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 15,
          "number_of_ng_s": 0,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 1,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 1632.016376783,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for namedgraph_0SM-NG_15POM-NG_1TM_1POM_False: {'scenario': 'namedgraph_0SM-NG_15POM-NG_1TM_1POM_False', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['id', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 14000000, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 1000000, 'reconstructed_rows': 15000000, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15']}, 'exact': False, 'partial_valid': False}}, 'errors': ['rdf_round_trip', 'data.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "namedgraph_1SM-NG_1POM-NG_1TM_10POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_True",
        "display_name": "1 static named graph in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 1,
          "number_of_ng_s": 1,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 523.6155104569989,
        "timing_breakdown": {
          "rmlmapper_time": 82.19131612599995,
          "inversion_time": 437.6638266680002,
          "inversion_overhead_percentage": 532.493999727487,
          "total_time": 523.6155104569989
        },
        "throughput": {
          "rows_per_second": 2284.858695344207,
          "cells_per_second": 47982.03260222835
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_1POM-NG_1TM_10POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_1POM-NG_1TM_10POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 3023,
        "data_size_bytes": 235666890,
        "rdf_statements": 20000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 10,
        "join_conditions_count": 0,
        "graph_maps_count": 11,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_5SM-NG_5POM-NG_1TM_10POM_True": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_5SM-NG_5POM-NG_1TM_10POM_True",
        "display_name": "5 static named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 5,
          "number_of_ng_s": 5,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2652.172881889999,
        "timing_breakdown": {
          "rmlmapper_time": 537.899345242,
          "inversion_time": 2103.9623308949995,
          "inversion_overhead_percentage": 391.1442446445869,
          "total_time": 2652.172881889999
        },
        "throughput": {
          "rows_per_second": 475.2936805549234,
          "cells_per_second": 9981.167291653392
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_5POM-NG_1TM_10POM_True/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_5SM-NG_5POM-NG_1TM_10POM_True/data/shared/data.csv"
        ],
        "mapping_size_bytes": 5163,
        "data_size_bytes": 235666890,
        "rdf_statements": 100000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 10,
        "join_conditions_count": 0,
        "graph_maps_count": 55,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_5SM-NG_5POM-NG_1TM_10POM_True",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_10SM-NG_10POM-NG_1TM_10POM_True": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_10SM-NG_10POM-NG_1TM_10POM_True",
        "display_name": "10 static named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 10,
          "number_of_ng_s": 10,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 1276.0988382389987,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.regex.Matcher.<init>(Matcher.java:251)\n\tat java.base/java.util.regex.Pattern.matcher(Pattern.java:1180)\n\tat be.ugent.rml.store.RDF4JStore.convertStringToTerm(RDF4JStore.java:343)\n\tat be.ugent.rml.store.RDF4JStore.getQuads(RDF4JStore.java:101)\n\tat be.ugent.rml.cli.Main.writeOutputTargets(Main.java:519)\n\tat be.ugent.rml.cli.Main.run(Main.java:459)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_15SM-NG_15POM-NG_1TM_10POM_True": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_15SM-NG_15POM-NG_1TM_10POM_True",
        "display_name": "15 static named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 15,
          "number_of_ng_s": 15,
          "static": true,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3006.0533743660017,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" Exception in thread \"mysql-cj-abandoned-connection-cleanup\" java.lang.OutOfMemoryError: Java heap space\njava.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.HashMap.keySet(HashMap.java:914)\n\tat java.base/java.util.HashSet.iterator(HashSet.java:182)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.interruptWorkers(ThreadPoolExecutor.java:776)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.shutdownNow(ThreadPoolExecutor.java:1428)\n\tat java.base/java.util.concurrent.Executors$DelegatedExecutorService.shutdownNow(Executors.java:764)\n\tat java.base/java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService.shutdownNow(Executors.java:852)\n\tat com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.shutdown(AbandonedConnectionCleanupThread.java:155)\n\tat com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.uncheckedShutdown(AbandonedConnectionCleanupThread.java:171)\n\tat com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:119)\n\tat com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:83)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.runWith(Thread.java:1596)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_1SM-NG_1POM-NG_1TM_10POM_False": [
      {
        "status": "completed",
        "scenario_name": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_False",
        "display_name": "1 dynamic named graph in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 1,
          "number_of_ng_s": 1,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 517.9775103160027,
        "timing_breakdown": {
          "rmlmapper_time": 88.33114329900127,
          "inversion_time": 425.891722008997,
          "inversion_overhead_percentage": 482.15352604160444,
          "total_time": 517.9775103160027
        },
        "throughput": {
          "rows_per_second": 2348.0146439166406,
          "cells_per_second": 49308.30752224945
        },
        "mapping_file": "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_1POM-NG_1TM_10POM_False/data/shared/mapping.r2rml.ttl",
        "data_files": [
          "/app/benchmarks/krown/scenarios/RMLMapper/postgresql/namedgraph_1SM-NG_1POM-NG_1TM_10POM_False/data/shared/data.csv"
        ],
        "mapping_size_bytes": 3265,
        "data_size_bytes": 235666890,
        "rdf_statements": 20000000,
        "source_rows": 1000000,
        "source_cells": 21000000,
        "triples_maps_count": 1,
        "predicate_object_maps_count": 10,
        "join_conditions_count": 0,
        "graph_maps_count": 11,
        "inversion_count": 1,
        "validation_results": {
          "scenario": "namedgraph_1SM-NG_1POM-NG_1TM_10POM_False",
          "validation_passed": true,
          "expected_outcome": "PARTIAL",
          "outcome": "PARTIAL",
          "checks": {
            "tables": true,
            "rdf_round_trip": true
          },
          "tables": {
            "data": {
              "checks": {
                "column_subset": true,
                "no_foreign_values": true,
                "columns": false,
                "rows": true,
                "values": true,
                "multiplicities": true
              },
              "losses": {
                "columns": [
                  "id",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "rows": 0,
                "additional_rows": 0,
                "values": false,
                "multiplicities": false
              },
              "metrics": {
                "original_rows": 1000000,
                "reconstructed_rows": 1000000,
                "original_columns": [
                  "id",
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10",
                  "p11",
                  "p12",
                  "p13",
                  "p14",
                  "p15",
                  "p16",
                  "p17",
                  "p18",
                  "p19",
                  "p20"
                ],
                "reconstructed_columns": [
                  "p1",
                  "p2",
                  "p3",
                  "p4",
                  "p5",
                  "p6",
                  "p7",
                  "p8",
                  "p9",
                  "p10"
                ]
              },
              "exact": false,
              "partial_valid": true
            }
          },
          "errors": []
        },
        "iteration": 1
      }
    ],
    "namedgraph_5SM-NG_5POM-NG_1TM_10POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_5SM-NG_5POM-NG_1TM_10POM_False",
        "display_name": "5 dynamic named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 5,
          "number_of_ng_s": 5,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 626.6353853190012,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" java.lang.OutOfMemoryError: Java heap space\n\tat java.base/java.util.regex.Matcher.<init>(Matcher.java:251)\n\tat java.base/java.util.regex.Pattern.matcher(Pattern.java:1180)\n\tat be.ugent.rml.store.RDF4JStore.convertStringToTerm(RDF4JStore.java:343)\n\tat be.ugent.rml.store.RDF4JStore.getQuads(RDF4JStore.java:101)\n\tat be.ugent.rml.cli.Main.writeOutputTargets(Main.java:519)\n\tat be.ugent.rml.cli.Main.run(Main.java:459)\n\tat be.ugent.rml.cli.Main.main(Main.java:49)\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_10SM-NG_10POM-NG_1TM_10POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_10SM-NG_10POM-NG_1TM_10POM_False",
        "display_name": "10 dynamic named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 10,
          "number_of_ng_s": 10,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3607.1702238489997,
        "failure": {
          "stage": "forward_mapping",
          "kind": "out_of_memory",
          "outcome": "OUT_OF_MEMORY",
          "message": "RMLMapper failed with exit code 1",
          "diagnostic": "Exception in thread \"main\" Exception in thread \"mysql-cj-abandoned-connection-cleanup\" java.lang.OutOfMemoryError: Java heap space\njava.lang.OutOfMemoryError: Java heap space\n"
        },
        "iteration": 1
      }
    ],
    "namedgraph_15SM-NG_15POM-NG_1TM_10POM_False": [
      {
        "status": "failed",
        "scenario_name": "namedgraph_15SM-NG_15POM-NG_1TM_10POM_False",
        "display_name": "15 dynamic named graphs in subject and predicate-object maps",
        "suite": "named-graphs",
        "generator": "NamedGraph",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "number_of_ng_pom": 15,
          "number_of_ng_s": 15,
          "static": false,
          "number_of_tms": 1,
          "number_of_poms": 10,
          "number_of_members": 1000000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3000.988353230001,
        "failure": {
          "stage": "forward_mapping",
          "kind": "process_error",
          "outcome": "FAILED",
          "message": "RMLMapper failed with exit code -6",
          "diagnostic": "#\n# A fatal error has been detected by the Java Runtime Environment:\n#\n#  SIGSEGV (0xb) at pc=0x00007f261f4595b3, pid=16176, tid=16178\n#\n# JRE version: OpenJDK Runtime Environment (21.0.11+10) (build 21.0.11+10-1-deb13u2-Debian)\n# Java VM: OpenJDK 64-Bit Server VM (21.0.11+10-1-deb13u2-Debian, mixed mode, sharing, tiered, compressed class ptrs, g1 gc, linux-amd64)\n# Problematic frame:\n# V  [libjvm.so+0x81e5b3]  G1FullGCResetMetadataTask::G1ResetMetadataClosure::scrub_skip_compacting_region(HeapRegion*, bool)+0x173\n#\n# Core dump will be written. Default location: Core dumps may be processed with \"/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %d %F\" (or dumping to /app/core.16176)\n#\n# An error report file with more information is saved as:\n# /app/hs_err_pid16176.log\n#\n# If you would like to submit a bug report, please visit:\n#   https://bugs.debian.org/openjdk-21\n#\n"
        },
        "iteration": 1
      }
    ],
    "joins_relations_1-1_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_1-1_50.0",
        "display_name": "Join relation 1-1",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 1,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2860.0532077669995,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_1-1_50.0: {'scenario': 'joins_relations_1-1_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24869, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124869, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_1-5_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_1-5_50.0",
        "display_name": "Join relation 1-5",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 5,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2890.5841668529974,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_1-5_50.0: {'scenario': 'joins_relations_1-5_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24512, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124512, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_1-10_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_1-10_50.0",
        "display_name": "Join relation 1-10",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 10,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3006.338873306995,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_1-10_50.0: {'scenario': 'joins_relations_1-10_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 25057, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 125057, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_1-15_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_1-15_50.0",
        "display_name": "Join relation 1-15",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 15,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3200.522125260002,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_1-15_50.0: {'scenario': 'joins_relations_1-15_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24470, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124470, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_5-1_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_5-1_50.0",
        "display_name": "Join relation 5-1",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 5,
          "m": 1,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2700.1525751719964,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_5-1_50.0: {'scenario': 'joins_relations_5-1_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24703, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124703, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_10-1_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_10-1_50.0",
        "display_name": "Join relation 10-1",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 10,
          "m": 1,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3184.0012997609956,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_10-1_50.0: {'scenario': 'joins_relations_10-1_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24268, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124268, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_15-1_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_15-1_50.0",
        "display_name": "Join relation 15-1",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 15,
          "m": 1,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2697.079949877996,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_15-1_50.0: {'scenario': 'joins_relations_15-1_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 25028, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 125028, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_3-3_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_3-3_50.0",
        "display_name": "Join relation 3-3",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 3,
          "m": 3,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2719.1571591859974,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_3-3_50.0: {'scenario': 'joins_relations_3-3_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 125352, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 225352, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_3-5_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_3-5_50.0",
        "display_name": "Join relation 3-5",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 3,
          "m": 5,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2747.629284225004,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_3-5_50.0: {'scenario': 'joins_relations_3-5_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 125263, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 225263, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_5-3_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_5-3_50.0",
        "display_name": "Join relation 5-3",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 5,
          "m": 3,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 2755.8630279630015,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_5-3_50.0: {'scenario': 'joins_relations_5-3_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 125448, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 225448, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_10-5_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_10-5_50.0",
        "display_name": "Join relation 10-5",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 10,
          "m": 5,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3302.2769169230014,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_10-5_50.0: {'scenario': 'joins_relations_10-5_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 225204, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 325204, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_relations_5-10_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_relations_5-10_50.0",
        "display_name": "Join relation 5-10",
        "suite": "joins",
        "generator": "JoinsRelation",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 5,
          "m": 10,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3618.1843853919927,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_relations_5-10_50.0: {'scenario': 'joins_relations_5-10_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 225069, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 325069, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_mutiple_1-1_1jc_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_mutiple_1-1_1jc_50.0",
        "display_name": "Join with 1 condition",
        "suite": "joins",
        "generator": "JoinsMultiple",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 1,
          "jc": 1,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 3107.8450002129975,
        "failure": {
          "stage": "roundtrip_validation",
          "kind": "mismatch",
          "outcome": "FAILED",
          "message": "Unexpected inversion result for joins_mutiple_1-1_1jc_50.0: {'scenario': 'joins_mutiple_1-1_1jc_50.0', 'validation_passed': False, 'expected_outcome': 'PARTIAL', 'outcome': 'MISMATCH', 'checks': {'tables': True, 'rdf_round_trip': False}, 'tables': {'data1': {'checks': {'column_subset': True, 'no_foreign_values': False, 'columns': False, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': ['p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'rows': 0, 'additional_rows': 24869, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 124869, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1']}, 'exact': False, 'partial_valid': False}, 'data2': {'checks': {'column_subset': True, 'no_foreign_values': True, 'columns': True, 'rows': False, 'values': False, 'multiplicities': False}, 'losses': {'columns': [], 'rows': 100000, 'additional_rows': 0, 'values': True, 'multiplicities': True}, 'metrics': {'original_rows': 100000, 'reconstructed_rows': 0, 'original_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20'], 'reconstructed_columns': ['id', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14', 'p15', 'p16', 'p17', 'p18', 'p19', 'p20']}, 'exact': False, 'partial_valid': True}}, 'errors': ['rdf_round_trip', 'data1.values', 'outcome']}",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_mutiple_1-1_5jc_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_mutiple_1-1_5jc_50.0",
        "display_name": "Join with 5 conditions",
        "suite": "joins",
        "generator": "JoinsMultiple",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 1,
          "jc": 5,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 10800.674657345007,
        "failure": {
          "stage": "forward_mapping",
          "kind": "timeout",
          "outcome": "TIMEOUT",
          "message": "RMLMapper timed out after 10800 seconds",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_mutiple_1-1_10jc_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_mutiple_1-1_10jc_50.0",
        "display_name": "Join with 10 conditions",
        "suite": "joins",
        "generator": "JoinsMultiple",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 1,
          "jc": 10,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 10800.611958269,
        "failure": {
          "stage": "forward_mapping",
          "kind": "timeout",
          "outcome": "TIMEOUT",
          "message": "RMLMapper timed out after 10800 seconds",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ],
    "joins_mutiple_1-1_15jc_50.0": [
      {
        "status": "failed",
        "scenario_name": "joins_mutiple_1-1_15jc_50.0",
        "display_name": "Join with 15 conditions",
        "suite": "joins",
        "generator": "JoinsMultiple",
        "expected_outcome": "PARTIAL",
        "parameters": {
          "percentage": 50.0,
          "n": 1,
          "m": 1,
          "jc": 15,
          "number_of_members": 100000,
          "number_of_properties": 20,
          "value_size": 0,
          "data_format": "postgresql",
          "engine": "RMLMapper"
        },
        "execution_time": 10800.553129559994,
        "failure": {
          "stage": "forward_mapping",
          "kind": "timeout",
          "outcome": "TIMEOUT",
          "message": "RMLMapper timed out after 10800 seconds",
          "diagnostic": ""
        },
        "iteration": 1
      }
    ]
  }
}
