diff --git a/rdflib/__init__.py b/rdflib/__init__.py index 386d14eb8..9b8daeb0e 100644 --- a/rdflib/__init__.py +++ b/rdflib/__init__.py @@ -167,6 +167,7 @@ CSVW, DC, DCAT, + DCMITYPE, DCTERMS, DOAP, FOAF, diff --git a/rdflib/namespace/__init__.py b/rdflib/namespace/__init__.py index 86dbdba4d..0487a55da 100644 --- a/rdflib/namespace/__init__.py +++ b/rdflib/namespace/__init__.py @@ -701,6 +701,7 @@ def get_longest_namespace(trie, value): from rdflib.namespace._CSVW import CSVW from rdflib.namespace._DC import DC from rdflib.namespace._DCAT import DCAT +from rdflib.namespace._DCMITYPE import DCMITYPE from rdflib.namespace._DCTERMS import DCTERMS from rdflib.namespace._DOAP import DOAP from rdflib.namespace._FOAF import FOAF diff --git a/rdflib/store.py b/rdflib/store.py index 915ca57ad..a7aa8d0b0 100644 --- a/rdflib/store.py +++ b/rdflib/store.py @@ -364,6 +364,11 @@ def namespace(self, prefix): def namespaces(self): """ """ + # This is here so that the function becomes an empty generator. + # See https://stackoverflow.com/q/13243766 and + # https://www.python.org/dev/peps/pep-0255/#why-a-new-keyword-for-yield-why-not-a-builtin-function-instead + if False: + yield None # type: ignore[unreachable] # Optional Transactional methods diff --git a/test/test_store.py b/test/test_store.py new file mode 100644 index 000000000..d4d8d0a8a --- /dev/null +++ b/test/test_store.py @@ -0,0 +1,25 @@ +import unittest +from rdflib import Graph +from rdflib.store import Store +from rdflib.namespace import NamespaceManager + + +class TestAbstractStore(unittest.TestCase): + def test_namespaces(self): + """ + This tests that Store.namespaces is an empty generator. + """ + store = Store() + self.assertEqual(list(store.namespaces()), []) + + def test_namespaces_via_manager(self): + """ + This tests that NamespaceManager.namespaces works correctly with an + abstract Store. + """ + namespace_manager = NamespaceManager(Graph(store=Store())) + self.assertEqual(list(namespace_manager.namespaces()), []) + + +if __name__ == "__main__": + unittest.main()