Skip to content

Commit f433566

Browse files
committed
fix(benchmark): normalize xsd:string literals to match QLever output
QLever normalizes "value"^^<xsd:string> to "value" per RDF 1.1, but provenance update queries retained the explicit datatype suffix. This caused _manage_update_queries to fail discarding quads during version reconstruction, producing duplicate results for affected entities.
1 parent 03ad09d commit f433566

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

benchmark/bear/convert_to_ocdm.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
_INTEGER_SUFFIX = f"^^<{XSD_NS}integer>"
1919
_INT_SUFFIX = f"^^<{XSD_NS}int>"
2020
_INTEGER_SUFFIX_LEN = len(_INTEGER_SUFFIX)
21+
_STRING_SUFFIX = f"^^<{XSD_NS}string>"
2122

2223
BASE_TIMESTAMP = datetime(2015, 8, 1, 0, 0, 0, tzinfo=timezone.utc)
2324

@@ -31,6 +32,8 @@
3132

3233

3334
def normalize_object(obj: str) -> str:
35+
if obj.endswith(_STRING_SUFFIX):
36+
return obj[:-len(_STRING_SUFFIX)]
3437
if obj.endswith(_INTEGER_SUFFIX):
3538
return obj[:-_INTEGER_SUFFIX_LEN] + _INT_SUFFIX
3639
return obj

0 commit comments

Comments
 (0)