Exemplo n.º 1
0
 def __call__(self, tNode, inferredTriple, token, binding, debug):
     bnodeEncountered = {}
     bnodeCounter = 0
     for headTriple in tNode.consequent:
         for inferredTriple, binding in _mulPatternWithSubstitutions(
                 token, headTriple, tNode):
             skolemInput = u''.join(
                 map(
                     lambda item: binding[item],
                     sorted([
                         key for key in binding
                         if isinstance(binding[key], URIRef)
                         and binding[key] not in self.skolemTerms
                     ])))
             if skolemInput:
                 skolemInput = createDigest(
                     skolemInput.encode('utf-8')).hexdigest()
                 for term in inferredTriple:
                     if isinstance(term,
                                   BNode) and term not in bnodeEncountered:
                         bnodeCounter += 1
                         bnodeEncountered[term] = str(bnodeCounter)
                 inferredTriple = tuple(
                     map(
                         lambda item: SKOLEMIZED_CLASS_NS[
                             skolemInput + '_' + bnodeEncountered[item]]
                         if item in bnodeEncountered else item,
                         inferredTriple))
                 self.skolemTerms.update([
                     term for term in inferredTriple
                     if term.find(SKOLEMIZED_CLASS_NS) + 1
                 ])
                 tNode.network.handleInferredTriple(inferredTriple, token,
                                                    tNode, binding, debug)
Exemplo n.º 2
0
 def __call__(self, tNode, inferredTriple, token, binding, debug):
     bnodeEncountered = {}
     bnodeCounter     = 0
     for headTriple in tNode.consequent:
         for inferredTriple,binding in _mulPatternWithSubstitutions(
             token,
             headTriple,
             tNode):
             skolemInput = u''.join(map(lambda item: binding[item],
                 sorted([key for key in binding
                         if isinstance(binding[key],URIRef) and
                            binding[key] not in self.skolemTerms])))
             if skolemInput:
                 skolemInput = createDigest(skolemInput.encode('utf-8')
                 ).hexdigest()
                 for term in inferredTriple:
                     if isinstance(term,BNode) and term not in bnodeEncountered:
                         bnodeCounter += 1
                         bnodeEncountered[term] = str(bnodeCounter)
                 inferredTriple = tuple(
                     map(lambda item: SKOLEMIZED_CLASS_NS[
                                      skolemInput+'_'+bnodeEncountered[item]]
                     if item in bnodeEncountered else item,
                         inferredTriple))
                 self.skolemTerms.update([term for term in inferredTriple
                                          if term.find(SKOLEMIZED_CLASS_NS)+1])
                 tNode.network.handleInferredTriple(
                     inferredTriple,
                     token,
                     tNode,
                     binding,
                     debug)
Exemplo n.º 3
0
def makeMD5Digest(value):
    return createDigest(
        isinstance(value, unicode) and value.encode('utf-8')
        or value).hexdigest()
Exemplo n.º 4
0
def makeMD5Digest(value):
    return createDigest(
            isinstance(value, unicode) and value.encode('utf-8')
            or value).hexdigest()