compactDatasetIris method
IriCompactionResult
compactDatasetIris(
- List<
RdfGraph> allGraphs, - RdfDataset dataset,
- String? baseUri
Implementation
IriCompactionResult compactDatasetIris(
List<RdfGraph> allGraphs, RdfDataset dataset, String? baseUri) {
final iriCompactionInputTriples = <Triple>[];
for (final graph in allGraphs) {
iriCompactionInputTriples.addAll(graph.triples);
}
// Include graph names in prefix compaction by adding them as synthetic triples
// This ensures graph name IRIs can also be compacted with appropriate prefixes
for (final namedGraph in dataset.namedGraphs) {
// Add a synthetic triple with the graph name as subject
// This allows the IRI compaction to analyze and generate prefixes for graph names
iriCompactionInputTriples.add(Triple(
namedGraph.name,
Rdf.type, // Use rdf:type as dummy predicate
namedGraph.name,
));
}
final iriCompactionInputGraph =
RdfGraph(triples: iriCompactionInputTriples);
return _iriCompaction.compactAllIris(
iriCompactionInputGraph, _options.customPrefixes,
baseUri: baseUri);
}