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        
Example #3
0
    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
 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)