def test_is_blank(self): node = ChangeNode.from_jsonld({ '@id': 1234, '@type': 'person', }, disambiguate=False) assert node.is_blank is False
def test_mergeaction(self): node = ChangeNode.from_jsonld( { '@id': '_:1234', '@type': 'MergeAction', 'into': { '@type': 'Person', '@id': '1234' }, 'from': [{ '@type': 'Person', '@id': '5827' }, { '@type': 'Person', '@id': '0847' }] }, disambiguate=False) assert node.relations == {'into': {'@type': 'Person', '@id': '1234'}} assert node._reverse_relations == { 'from': ({ '@type': 'Person', '@id': '5827' }, { '@type': 'Person', '@id': '0847' }) }
def change_node(): return ChangeNode.from_jsonld({ '@id': '_:1234', '@type': 'person', 'given_name': 'No', 'family_name': 'Matter', }, disambiguate=False)
def test_peels_context(self): node = ChangeNode.from_jsonld({ '@id': '_:5678', '@type': 'contributor', '@context': {'schema': 'www.example.com'}, }, disambiguate=False) assert node.context == {'@context': {'schema': 'www.example.com'}}
def test_extras(self): node = ChangeNode.from_jsonld({ '@id': '_:1234', '@type': 'person', 'given_name': 'Doe', 'family_name': 'Jane', 'extra': {'likes': ['cats']} }, disambiguate=False) assert 'extra' not in node.attrs assert node.extra == {'likes': ['cats']}
def test_from_ld(self): node = ChangeNode.from_jsonld({ '@id': '_:1234', '@type': 'person', 'given_name': 'Doe', 'family_name': 'Jane', }, disambiguate=False) assert node.id == '_:1234' assert node.type == 'person' assert node.is_blank is True assert node.attrs == {'given_name': 'Doe', 'family_name': 'Jane'}
def test_relationships(self): node = ChangeNode.from_jsonld({ '@id': '_:5678', '@type': 'contributor', 'person': { '@id': '_:1234', '@type': 'person' } }, disambiguate=False) assert node.attrs == {} assert len(node.relations) == 1 assert node.relations['person'] == {'@id': '_:1234', '@type': 'person'}