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' } })