Mercurial > hg > drupalISMI
diff importFromOpenMind/importer/ismixml2model.py @ 47:378dcb66a27f
new compare_models comparing the existence of nodes and relations in two graphs.
fixed bugs in ismixml2model.
author | casties |
---|---|
date | Mon, 06 Feb 2017 18:44:43 +0100 |
parents | f3945ef1e6a4 |
children | 6625019a0c96 |
line wrap: on
line diff
--- a/importFromOpenMind/importer/ismixml2model.py Fri Feb 03 18:46:16 2017 +0100 +++ b/importFromOpenMind/importer/ismixml2model.py Mon Feb 06 18:44:43 2017 +0100 @@ -157,7 +157,7 @@ # set type attrs[node_type_attribute] = fixName(oc) - ismi_id = ent_elem.get('id') + ismi_id = int(ent_elem.get('id')) # rename id to ismi_id attrs['ismi_id'] = ismi_id @@ -169,7 +169,7 @@ # attrs['_n_label'] = ent.get('nov') # create node - #log('DEBUG', "new node(%s, %s)"%(ismi_id, attrs)) + log('DEBUG', "new node(%s, %s)"%(ismi_id, attrs)) nx_graph.add_node(ismi_id, **attrs) node = nx_graph.node[ismi_id] @@ -179,16 +179,16 @@ def relationFromRel(rel_elem): """Create graph relation from etree element. """ - rel_id = rel_elem.get('id') + rel_id = int(rel_elem.get('id')) rel_name = rel_elem.get('object-class') - src_id = rel_elem.get('source-id') - tar_id = rel_elem.get('target-id') + src_id = int(rel_elem.get('source-id')) + tar_id = int(rel_elem.get('target-id')) if not src_id in nx_nodes: - log("ERROR", "relation %s src node %s missing!"%(rel_id,src_id)) + log("WARNING", "relation %s src node %s missing!"%(rel_id,src_id)) return None if not tar_id in nx_nodes: - log("ERROR", "relation %s tar node %s missing!"%(rel_id,tar_id)) + log("WARNING", "relation %s tar node %s missing!"%(rel_id,tar_id)) return None ov = rel_elem.text or '' @@ -258,7 +258,7 @@ attrs[rel_type_attribute] = fixName(rel_name) attrs['ismi_id'] = rel_id - log('DEBUG', "new edge(%s, %s, %s)"%(src_id, tar_id, attrs)) + #log('DEBUG', "new edge(%s, %s, %s)"%(src_id, tar_id, attrs)) # create relation with type nx_rel = nx_graph.add_edge(src_id, tar_id, attr_dict=attrs) @@ -275,7 +275,13 @@ # iterate through entities element for ent_elem in ents_elem: cnt += 1 - ismi_id = ent_elem.get('id') + + oc = ent_elem.get('object-class') + if oc in exclude_objects_of_type: + # skip this entity + continue + + ismi_id = int(ent_elem.get('id')) log('DEBUG', "reading entity[%s]"%ismi_id) if ismi_id in nx_nodes: @@ -303,7 +309,8 @@ # iterate through entities element for rel_elem in rels_elem: cnt += 1 - ismi_id = rel_elem.get('id') + + ismi_id = int(rel_elem.get('id')) log('DEBUG', "reading relation[%s]"%ismi_id) if ismi_id in nx_relations: