# HG changeset patch # User casties # Date 1449767485 18000 # Node ID 1a1877812757819cd7406804f2f8b935fa9e6be7 # Parent a9bfd49355f8fba715998ce0f43d71599b558569 include normalized attributes in neo4j with prefix "_n_" diff -r a9bfd49355f8 -r 1a1877812757 importFromOpenMind/importer/ismi2model.py --- a/importFromOpenMind/importer/ismi2model.py Wed Nov 18 15:22:05 2015 +0100 +++ b/importFromOpenMind/importer/ismi2model.py Thu Dec 10 12:11:25 2015 -0500 @@ -96,6 +96,9 @@ # keep attribute attrs[key] = val + if 'nov' in att: + # add normalized value + attrs['_n_'+key] = att['nov'] elif ct == 'num': # number attribute @@ -143,7 +146,7 @@ oc = ent['oc'] if oc != etype: print("ERROR: entity type doesn't match!") - return null + return None # rename if type attr exists if 'type' in attrs: @@ -160,8 +163,10 @@ if ov is not None: # save ov as label attrs['label'] = ov + if 'nov' in ent: + # add normalized value + attrs['_n_label'] = ent.get('nov') - # create node with attributes nx_graph.add_node(ismi_id, **attrs) node = nx_graph.node[ismi_id] diff -r a9bfd49355f8 -r 1a1877812757 importFromOpenMind/importer/model2model.py --- a/importFromOpenMind/importer/model2model.py Wed Nov 18 15:22:05 2015 +0100 +++ b/importFromOpenMind/importer/model2model.py Thu Dec 10 12:11:25 2015 -0500 @@ -27,7 +27,7 @@ # add URLs to nodes using an attribute in a pattern #add_link_attributes = {'ismi_id': 'https://ismi-dev.mpiwg-berlin.mpg.de/drupal-ismi/entity/%s'} -add_link_attributes = {'ismi_id': 'https://ismi-dev.mpiwg-berlin.mpg.de/om4-ismi/public/publicWitness.jsp?eid=%s'} +add_link_attributes = {'ismi_id': 'https://ismi-dev.mpiwg-berlin.mpg.de/om4-ismi/public/entityDetails.xhtml?eid=%s'} def fixName(name, is_src_rel=False, is_tar_rel=False, att_from_rel=False): @@ -140,6 +140,9 @@ att_name = genAttName(src_attrs, att_name) # add target node's attribute src_attrs[att_name] = tar_attrs.get(transfer_att) + # also add normalized attribute + if '_n_'+transfer_att in tar_attrs: + src_attrs['_n_'+att_name] = tar_attrs.get('_n_'+transfer_att) # contract target relations src_type = src_attrs['type'] @@ -161,6 +164,9 @@ att_name = genAttName(tar_attrs, att_name) # add target node's attribute tar_attrs[att_name] = src_attrs.get(transfer_att) + # also add normalized attribute + if '_n_'+transfer_att in src_attrs: + tar_attrs['_n_'+att_name] = src_attrs.get('_n_'+transfer_att) cnt += 1 if cnt % 100 == 0: diff -r a9bfd49355f8 -r 1a1877812757 importFromOpenMind/importer/model2neo4j.py --- a/importFromOpenMind/importer/model2neo4j.py Wed Nov 18 15:22:05 2015 +0100 +++ b/importFromOpenMind/importer/model2neo4j.py Thu Dec 10 12:11:25 2015 -0500 @@ -1,5 +1,5 @@ import networkx as nx -from neo4jrestclient.client import GraphDatabase, Node +from neo4jrestclient.client import GraphDatabase import sys ## configure behaviour @@ -52,12 +52,12 @@ cnt = 0 for node_id in nx.nodes_iter(nx_graph): attrs = nx_graph.node[node_id] - type = attrs['type'] + ntype = attrs['type'] ismi_id = attrs['ismi_id'] # create node with attributes n4j_node = n4j_graph.nodes.create(**attrs) # add labels - n4j_node.labels.add([project_label, type]) + n4j_node.labels.add([project_label, ntype]) # save reference n4j_nodes[ismi_id] = n4j_node @@ -75,7 +75,7 @@ (nx_src, nx_tar) = nx_edge # get attributes of edge attrs = nx_graph.edge[nx_src][nx_tar][0] - type = attrs['type'] + ntype = attrs['type'] # get ismi_id of source and target nodes src_id = nx_graph.node[nx_src]['ismi_id'] tar_id = nx_graph.node[nx_tar]['ismi_id'] @@ -91,7 +91,7 @@ break # create Neo4J relation - n4j_rel = n4j_graph.relationships.create(src, type, tar) + n4j_rel = n4j_graph.relationships.create(src, ntype, tar) # add attributes n4j_rel.properties = attrs