def test_sparql_network_edge_label_string_invalid(self): sparql_network = SPARQLNetwork(edge_label_max_length=100, edge_display_property="foo") data = get_sparql_result('009_airroutes_edge_test.json') sparql_network.add_results(data) edge = sparql_network.graph.get_edge_data('http://kelvinlawrence.net/air-routes/resource/365', 'http://kelvinlawrence.net/air-routes/resource/31', 'http://kelvinlawrence.net/air-routes/objectProperty/route') self.assertEqual('objectProperty:route', edge['label'])
def test_sparql_network_edge_tooltip_map_invalid_value(self): sparql_network = SPARQLNetwork(edge_label_max_length=100, edge_tooltip_property='{"uri":"bar"}') data = get_sparql_result('009_airroutes_edge_test.json') sparql_network.add_results(data) edge = sparql_network.graph.get_edge_data('http://kelvinlawrence.net/air-routes/resource/365', 'http://kelvinlawrence.net/air-routes/resource/31', 'http://kelvinlawrence.net/air-routes/objectProperty/route') self.assertEqual('objectProperty:route', edge['title'])
def test_sparql_network_edge_tooltip_default(self): sparql_network = SPARQLNetwork() data = get_sparql_result('009_airroutes_edge_test.json') sparql_network.add_results(data) edge = sparql_network.graph.get_edge_data('http://kelvinlawrence.net/air-routes/resource/365', 'http://kelvinlawrence.net/air-routes/resource/31', 'http://kelvinlawrence.net/air-routes/objectProperty/route') self.assertEqual('objectProperty:route', edge['title'])
def test_sparql_network_edge_tooltip_default_with_custom_label(self): sparql_network = SPARQLNetwork(edge_label_max_length=100, edge_display_property="value") data = get_sparql_result('009_airroutes_edge_test.json') sparql_network.add_results(data) edge = sparql_network.graph.get_edge_data('http://kelvinlawrence.net/air-routes/resource/365', 'http://kelvinlawrence.net/air-routes/resource/31', 'http://kelvinlawrence.net/air-routes/objectProperty/route') self.assertEqual('http://kelvinlawrence.net/air-routes/objectProperty/route', edge['label']) self.assertEqual('http://kelvinlawrence.net/air-routes/objectProperty/route', edge['title'])
def test_node_and_edge_label_extraction(self): data = get_sparql_result("003_large_binding_set.json") sn = SPARQLNetwork() sn.add_results(data) self.assertEqual(443, len(sn.graph.nodes)) # pick out a few random nodes and ensure that they match the expected result from json file node_108 = sn.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/108') self.assertEqual('NCE', node_108['label']) node_1265 = sn.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/1265') self.assertEqual('resourc...', node_1265['label'])
def test_sparql_network_node_tooltip_map_invalid_json(self): sparql_network = SPARQLNetwork(label_max_length=100, tooltip_property='{"uri"type"}') data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual('resource:24', node['title'])
def test_sparql_network_node_tooltip_default(self): sparql_network = SPARQLNetwork() data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual('resource:24', node['title'])
def test_sparql_network_node_label_map_invalid_key(self): sparql_network = SPARQLNetwork(label_max_length=100, display_property='{"foo":"value"}') data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual('resource:24', node['label'])
def test_sparql_network_ignore_groups(self): sparql_network = SPARQLNetwork(group_by_property='{"uri":"value"}', ignore_groups=True) data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual('DEFAULT_GROUP', node['group'])
def test_sparql_network_group_by_raw_explicit_overrule_gbp(self): sparql_network = SPARQLNetwork(group_by_raw=True, group_by_property='value') data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual("{'type': 'uri', 'value': 'http://kelvinlawrence.net/air-routes/resource/24'}", node['group'])
def test_sparql_network_group_by_raw_json(self): sparql_network = SPARQLNetwork(group_by_raw='{"uri":"__RAW_RESULT__"}') data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual("{'type': 'uri', 'value': 'http://kelvinlawrence.net/air-routes/resource/24'}", node['group'])
def test_sparql_network_group_map_invalid_json(self): sparql_network = SPARQLNetwork(group_by_property='{"uri":bar"') data = get_sparql_result('008_duplicate_s_and_p_bindings.json') sparql_network.add_results(data) node = sparql_network.graph.nodes.get('http://kelvinlawrence.net/air-routes/resource/24') self.assertEqual('uri', node['group'])
def create_network_from_dataset(dataset: str, expand_all: bool = False) -> SPARQLNetwork: data = get_sparql_result(dataset) sparql_network = SPARQLNetwork(expand_all=expand_all) sparql_network.add_results(data) return sparql_network