RdfCore.withStandardCodecs constructor
- RdfNamespaceMappings? namespaceMappings,
- List<
RdfGraphCodec> additionalCodecs = const [], - IriTermFactory iriTermFactory = IriTerm.validated,
Creates a new RDF library instance with standard codecs registered
This convenience constructor sets up an RDF library with Turtle, JSON-LD, N-Triples, and N-Quads codecs ready to use. It's the recommended way to create an instance for most applications.
The namespaceMappings
parameter provides optional custom namespace mappings for all codecs.
The additionalCodecs
parameter is an optional list of additional graph codecs to register beyond
the standard ones.
The iriTermFactory
parameter specifies the factory function for creating IRI terms.
Defaults to IriTerm.validated which performs validation. If you need to minimize
memory footprint, you can pass a flyweight here that caches IRI instances.
Example:
final rdf = RdfCore.withStandardCodecs();
final graph = rdf.decode(turtleData, contentType: 'text/turtle');
Implementation
factory RdfCore.withStandardCodecs({
RdfNamespaceMappings? namespaceMappings,
List<RdfGraphCodec> additionalCodecs = const [],
IriTermFactory iriTermFactory = IriTerm.validated,
}) {
final _namespaceMappings =
namespaceMappings ?? const RdfNamespaceMappings();
final registry = RdfCodecRegistry([
// Register standard formats
TurtleCodec(
namespaceMappings: _namespaceMappings,
iriTermFactory: iriTermFactory),
JsonLdGraphCodec(
namespaceMappings: _namespaceMappings,
iriTermFactory: iriTermFactory),
NTriplesCodec(iriTermFactory: iriTermFactory),
// Register additional codecs
...additionalCodecs
]);
final datasetRegistry = RdfDatasetCodecRegistry([
// Register standard dataset formats
NQuadsCodec(iriTermFactory: iriTermFactory)
]);
return RdfCore(registry: registry, datasetRegistry: datasetRegistry);
}