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: