Source-linked AI summary
Translating RDF 1.2 Graphs to Property Graphs
Maxime Jakubowski, Dominik Tomaszuk, Daniel Fernández-Álvarez, Ruben Taelman, Ruben Dedecker, Jose-Emilio Labra-Gayo, Katja Hose
TL;DR
RDF 1.2 statement-level constructs create challenges for representing annotated statements, assertedness, and multiple reifiers in labeled property graphs. The paper compares three translations, finding that all scale approximately linearly and that folding descriptions can reduce edges on description-heavy data.
Problem
RDF 1.2 descriptions connect statements to graph objects, while LPG edge properties hold plain values, and RDF assertedness and many-to-many reifier relationships do not map directly to LPG edges.
Source: §1 · p. 2Method
The paper defines Structural, Direct, and Fold, which interpret progressively more reification vocabulary and differ in how they represent triple terms, reifiers, and descriptions.
Source: §3.2 · p. 6, §3.3 · p. 6, §3.4 · p. 8Results
All three variants grew approximately linearly, while Structural took 1.02–1.15 s at 2.5 MB and Fold produced one annotated edge per reifier on description-heavy data.
Source: §4 · p. 10, §5 · p. 12Takeaways & Limitations
Structural is the safest general-purpose choice, while Fold is suited to description-heavy data when a more concise representation is desired at the cost of reifier identity.
Source: §5 · p. 12The work leaves RDF datasets with named graphs, entailment, native blank-node handling, and vendor-specific graph-database features out of scope.
Source: §5 · p. 12
Abstract
from arXiv · showhide
RDF 1.2 introduces statement-level constructs, such as triple terms, reifiers, and descriptions, that pose new challenges for transforming RDF data into labeled property graphs (LPGs). This work presents and compares three algorithms for translating RDF 1.2 data into LPGs, each interpreting a different amount of the RDF 1.2 reification vocabulary. Algorithm Structural interprets no vocabulary and losslessly supports arbitrary RDF 1.2 graphs by representing triple terms explicitly as nodes; Direct interprets rdf:reifies to recover annotated edges while preserving reifiers as graph objects; and Fold additionally folds reifier descriptions into edge properties, resulting in a more concise, albeit lossy, LPG representation. We define the three translations, analyze which class of RDF 1.2 graphs each preserves, and experimentally evaluate their implementations. The experiments confirm the predicted trade-offs: all variants scale linearly on the tested workloads, the generality of Structural has no runtime penalty, and folding descriptions into edge records can significantly reduce the number of edges on description-heavy data.
1. Introduction
RDF and LPGs both model nodes and edges, but only LPGs natively attach metadata to edges. RDF 1.2’s flexible triple terms and reifiers therefore create translation choices around graph objects, assertedness, and multiplicity.
1. Introduction
- RDF 1.2 permits triple terms in positions and nesting patterns that LPG edges cannot represent, so translation must handle data beyond the annotated-edge pattern.A triple term may be the object of any predicate, nest another triple term, or represent a triple that is not asserted.Source: §1 · p. 2
- Descriptions connect statements to graph objects, whereas LPG edge properties hold values, so translation must bridge that representational gap.For example, :alice may be an endpoint of other edges and cannot simply be stored as a plain record value.Source: §1 · p. 2
- RDF 1.2 separates a triple’s assertedness from its reification, while an LPG edge is simply present; translation must encode or discard that distinction.The proposition reified by :r1 and :r3 is not asserted, unlike the statement reified by :r2.Source: §1 · p. 2, Figure 1 · p. 2
- Multiple reifiers may refer to one triple term, and one reifier may refer to several, so treating each reifier as a distinct LPG edge is a modeling assumption.RDF 1.2 permits a many-to-many correspondence between reifiers and triple terms.Source: §1 · p. 2
- The translations vary how much reification vocabulary they interpret: Structural preserves arbitrary graphs with explicit triple-term nodes, Direct retains reifiers, and Fold stores descriptions on edges at the cost of reifier identity.Fold uses the LPG-native edge-with-properties representation, but restricts inputs and may discard information that does not fit.Source: §1 · p. 2
- Earlier mappings address RDF 1.1 or RDF-star; this work targets RDF 1.2, whose reifiers, restricted triple-term position, and generic rdf:reifies meaning alter the translation problem.The cited prior work includes direct mappings, SHACL- and PG-Schema-aware translation, and RDF-star-to-property-graph transformations.Source: §1 · pp. 2–3
2. Preliminaries
The preliminaries define RDF 1.2 graphs and LPGs, including the recursive RDF terms needed for nested triples and the node-edge records used by LPGs.
RDF 1.2 Graphs
- An RDF graph is a finite set of triples, with subjects drawn from IRIs or blank nodes, predicates from IRIs, and objects from RDF terms.RDF terms include IRIs, blank nodes, literals, and triples, defined recursively to allow nesting.Source: §2 · p. 3
Triple Terms and Reification
- A triple occurring as another triple’s object is a triple term; reifying triples link a reifier to it, and description triples state further facts about that reifier.A triple term may also be asserted independently of its use as a nested term.Source: §2 · p. 3
Labeled Property Graphs
- An LPG consists of nodes and directed edges between nodes, with labels and finite key-value records assigned to both.Edges have ordered source and target nodes, and records supply properties.Source: §2 · p. 3
3. Translating RDF 1.2 to LPGs
The translations share a node-and-edge encoding for basic RDF terms, but differ in how they represent triple terms, reifiers, descriptions, and assertedness. They trade support for broader RDF 1.2 graphs against closer use of LPG edge properties.
3.1. Translation Structural
- Structural treats reifies as an ordinary predicate, materializes each triple term as a TripleTerm node, and marks its content edge with in to distinguish it from an assertion.An edge without in represents an asserted triple; the triple term’s triple is recovered through its in edge.Source: §3.1 · p. 4
3.2. Translation Direct
- Direct accepts only flat reification graphs, representing each reified triple as an edge linked to a Reifier node by reifiedBy.It records assertedness on that edge, flipping the value to true when the triple also occurs as a top-level statement.Source: §3.2 · pp. 5–6
3.3. Translation Fold
- Fold requires strict flat reification graphs and folds reifier descriptions into triple-term edge records instead of creating reifier nodes.Fixed folding uses reserved keys and one edge per description; open folding uses description predicates as keys and can store multiple descriptions on one edge, subject to distinct-predicate and key constraints.Source: §3.3 · pp. 6–7
- With open folding, descriptions do not become edges and reifiers do not become nodes, while description objects are materialized as nodes for record references.In the example, two reifiers of one unasserted triple produce two parallel edges; fixed folding would produce four triple-term edges rather than three.Source: §3.3 · p. 7
- Repeated predicates among descriptions are not formalized or implemented, although list-valued properties could handle them.A list-valued extension is identified as a way to fully preserve information.Source: §3.3 · p. 7
3.4. Trade-offs
- Structural is lossless for every RDF 1.2 graph, while Direct is lossless on flat reification graphs and Fold is lossy even on strict flat graphs.Fold loses reifier identity; fixed folding also loses which descriptions share a reifier.Source: §3.4 · p. 8
4. Experimental Evaluation
The evaluation measures conversion time, peak memory, and output size across translation and output-format variants, using description-heavy BKR data and a synthetic RDF 1.2 workload. Results show approximately linear growth, no discernible runtime penalty for Structural, and substantial output-size differences from folding strategy.
Datasets and measurements
- The main workload uses BKR samples from 0.5 MB to 2.5 MB, with 57–177 descriptions per reifier after migration, making them description-heavy.The evaluation measures conversion time, peak RSS, and generated-output size across translation, folding, output-format, and input-size combinations.Source: §4 · pp. 8, 10
Datasets
- The synthetic workload includes standalone and nested triple terms outside Direct and Fold's input restrictions, so successful conversion demonstrates robustness, not information preservation beyond their stated domains.Implementations skip such triples unless the predicate is rdf:reifies.Source: §4 · p. 10
Results
- Batched generation for Direct and Structural takes 4.5 s and 3.5 s at 2.5 MB versus roughly one second monolithically, but uses about 50 MiB rather than 124–134 MiB.Fold's batched generation remains 1.2–1.3 s, with correspondingly smaller memory savings.Source: §4 · p. 10
- At 2.5 MB, open folding produces 286 edges instead of 46,639, while fixed folding produces the largest files and open folding the smallest.Byte-size results require caution: BKR shares one provenance predicate per reifier, and the prototype retains one value per predicate key.Source: §4 · pp. 10–11, Table 3 · p. 11
- All measurements grow approximately linearly, while monolithic conversion takes 1.02–1.15 s at 2.5 MB across algorithms, with no discernible runtime penalty for Structural.Figure 5 reports conversion time, peak RSS, and output size on BKR.Source: §4 · p. 10, Figure 5 · p. 11
- In the one synthetic-workload setting measured in both modes, Neo4j loaded the batched script in 6.97 s on average versus 345.16 s for the monolithic script.The authors conclude that the experiments demonstrate feasibility of all three translations and support the predicted trade-offs.Source: §4 · p. 11
5. Conclusion
The paper compares three RDF 1.2-to-LPG translations that trade generality, reifier identity, and concise edge representation. Experiments support the predicted trade-offs, while query preservation, RDF datasets, and other features remain open directions.
5. Conclusion
- Structural is lossless for all RDF 1.2 graphs, Direct for flat reification graphs while retaining reifiers as nodes, and Fold trades reifier identity for descriptions folded into edge records.Structural interprets no reification vocabulary; Direct interprets rdf:reifies.Source: §5 · p. 12
- All three translations are practical, Structural shows no discernible runtime penalty for its generality, and Fold produces one annotated edge per reifier on description-heavy data.Other configurations produce one edge per description.Source: §5 · p. 12
- Open directions include query-losslessness evaluation, RDF datasets with named graphs, and revisiting entailment, native blank-node handling, and vendor-specific features.Literal-valued descriptions could also be inlined as record values to improve conciseness and performance.Source: §5 · p. 12
Declaration on Generative AI
The authors report using Claude Fable 5 for drafting, simulated peer review, content enhancement, and formatting assistance, and take responsibility for the publication.
Declaration on Generative AI
- The authors used Claude Fable 5 for drafting, peer review simulation, content enhancement, and formatting assistance, and assume full responsibility for the publication.They report extensively reviewing and editing the content as needed.Source: Declaration on Generative AI · p. 12