rdflib
rdflib copied to clipboard
Next iteration of Namespace support
We need to plan for the next iteration of namespace support. The current namespace support is a bit hard to work with as it stands, and we should try and simplify it.
This description will serve as somewhat of a summary of the discussion below and will be continuously updated, so please quote any part of it you refer to.
Some issues that should be addressed:
- https://github.com/RDFLib/rdflib/issues/2077
- https://github.com/RDFLib/rdflib/issues/2004
- https://github.com/RDFLib/rdflib/discussions/1584
- https://github.com/RDFLib/rdflib/discussions/1586
- https://github.com/RDFLib/rdflib/discussions/1616
- https://github.com/RDFLib/rdflib/discussions/1618
Relevant issues should match these labels:
- https://github.com/RDFLib/rdflib/labels/concept%3A%20namespace
Relevant discussions should be discoverable with this query:
Some questions that need answering:
- What should the data model be for namespaces and prefixes? Should it be
Dict[Prefix,URI]
orSequence[Tuple[Prefix,URI]]
, or something else? - What should be the constraints on prefixes and URIs be?
- How should users be able to interact with the prefixes?
- How should ambiguity be resolved in various cases like parsing and serialization?
Some concerns:
- There is coupling between
NamespaceManager
, Graph and Store - we should try and eliminate the coupling, but it will break the store interface, and we should see how we manage this best.