def test_remove_unlink(self):
        m = Metadata()
        b = rdflib.BNode()
        m.add(RDF_NAMESPACES.CTS.title, "Title")
        m.add(RDF_NAMESPACES.CTS.title, "Title", lang="eng")
        m.add(RDF_NAMESPACES.CTS.title, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="fre")
        m.graph.add((b, RDF_NAMESPACES.TEI.nobodycares, m.asNode()))

        self.assertCountEqual(m[RDF_NAMESPACES.CTS.title], [
            rdflib.term.Literal('Title'),
            rdflib.term.Literal('Title', lang="eng"),
            rdflib.term.Literal('SubTitle', lang="eng")
        ])
        m.remove(RDF_NAMESPACES.CTS.title)
        self.assertEqual(m[RDF_NAMESPACES.CTS.title], [])
        self.assertCountEqual(m[RDF_NAMESPACES.CTS.description], [
            rdflib.term.Literal('SubTitle', lang="fre"),
            rdflib.term.Literal('SubTitle', lang="eng")
        ])
        self.assertEqual(list(m.graph.subject_predicates(m.asNode())),
                         [(b, RDF_NAMESPACES.TEI.nobodycares)])
        m.unlink()
        self.assertEqual(list(m.graph.subject_predicates(m.asNode())), [])
    def test_export_exclude(self):
        m = Metadata()
        b = rdflib.BNode()
        m.add(RDF_NAMESPACES.CTS.title, "Title")
        m.add(RDF_NAMESPACES.CTS.title, "Title", lang="eng")
        m.add(RDF_NAMESPACES.CTS.title, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="fre")
        m.add(RDF_NAMESPACES.DTS.description, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.DTS.description, "SubTitle", lang="fre")
        m.graph.add((b, RDF_NAMESPACES.TEI.nobodycares, m.asNode()))

        self.assertEqual(
            m.export(Mimetypes.JSON.Std, exclude=[RDF_NAMESPACES.CTS.title]), {
                'https://w3id.org/dts/api#description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                },
                'http://chs.harvard.edu/xmlns/cts/description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                }
            })
        self.assertEqual(
            m.export(Mimetypes.JSON.Std, exclude=[RDF_NAMESPACES.CTS]), {
                'https://w3id.org/dts/api#description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                }
            })