def test_ontology_alignment(self): from oke.oak.TaskContext import TaskContext from oke.oak.TaskContext import ContextEntity from oke.oak.TaskContext import EntityClass context_data = TaskContext( "http://www.ontologydesignpatterns.org/data/oke-challenge/task-2/sentence-1#char=0,150" ) entity = ContextEntity( "http://www.ontologydesignpatterns.org/data/oke-challenge/task-2/sentence-1#char=0,12" ) entity.taIdentRef = "http://dbpedia.org/resource/Brian_Banner" entityClass1 = EntityClass( "http://www.ontologydesignpatterns.org/data/oke-challenge/sentence-1#char=18,35" ) entityClass1.anchorOf = "fictional villain" entityClass2 = EntityClass( "http://www.ontologydesignpatterns.org/data/oke-challenge/sentence-1#char=28,35" ) entityClass2.anchorOf = "villain" entityClasses = set() entityClasses.add(entityClass1) entityClasses.add(entityClass2) entity.isInstOfEntityClasses = entityClasses context_data.entity = entity suggested_DUL_class_for_alignment = self.ontology_alignment( context_data) print("suggested alignment for \"fictional villain\":", suggested_DUL_class_for_alignment)
def aggregate_context_data(self, graph_in_memory, contextId="", context_sent=""): from oke.oak.TaskContext import TaskContext currentContext = TaskContext(contextId) #currentContext.contextURI=contextId currentContext.isString = context_sent entity_info = self.get_task_context_entity(graph_in_memory, contextId) from oke.oak.TaskContext import ContextEntity entity = ContextEntity(entity_info[0][0]) #entity.entityURI=entity_info[0][0] entity.anchorOf = entity_info[0][1] entity.beginIndex = entity_info[0][2] entity.endIndex = entity_info[0][3] entity.taIdentRef = entity_info[0][4] entity.referenceContext = contextId entity_labelled_types = self.get_entity_types(graph_in_memory, entity.taIdentRef, contextId) from oke.oak.TaskContext import EntityClass entityClasses = [] for entity_labelled_type in entity_labelled_types: entityClass = EntityClass(entity_labelled_type[1]) entityClass.anchorOf = entity_labelled_type[0] #entityClass.uri=entity_labelled_type[1] entityClass.subClassOf = entity_labelled_type[2] entityClass.beginIndex = entity_labelled_type[3] entityClass.endIndex = entity_labelled_type[4] entityClass.referenceContext = entity_labelled_type[5] entityClass.taIdentRef = entity_labelled_type[6] entityClasses.append(entityClass) entity.isInstOfEntityClasses = entityClasses currentContext.entity = entity return currentContext