Ejemplo n.º 1
0
    def getDistanceFromOtherPath(self, other):
        distance = 0
        for i in range(0, len(self.edges)):
            if not utils.getEdgeType(self.edges[i], self.graph) == utils.getEdgeType(other.edges[i], self.graph):
                distance += 1

        for i in range(0, len(self.nodes)):
            if not utils.getNodeType(self.nodes[i], self.graph) == utils.getNodeType(other.nodes[i], self.graph):
                distance += 1

        return distance
Ejemplo n.º 2
0
    def isSameType(self, other):
        if (not len(self.nodes) == len(other.nodes)) or (not len(self.edges) == len(other.edges)):
            return False

        for i in range(0, len(self.edges)):
            if not utils.getEdgeType(self.edges[i], self.graph) == utils.getEdgeType(other.edges[i], self.graph):
                return False

        for i in range(0, len(self.nodes)):
            if not utils.getNodeType(self.nodes[i], self.graph) == utils.getNodeType(other.nodes[i], self.graph):
                return False

        return True
Ejemplo n.º 3
0
 def toStringOfTypes(self):
     string = ""
     for i in range(0, len(self.edges)):
         string += utils.getNodeType(self.nodes[i], self.graph) + ", "
         string += utils.getEdgeType(self.edges[i], self.graph) + ", "
     string += utils.getNodeType(self.nodes[len(self.nodes) - 1], self.graph)
     return string
Ejemplo n.º 4
0
    def isSameSuperType(self, other):
        if (not len(self.nodes) == len(other.nodes)) or (not len(self.edges) == len(other.edges)):
            return False

        for i in range(0, len(self.edges)):
            if not utils.getEdgeType(self.edges[i], self.graph) == utils.getEdgeType(other.edges[i], self.graph):
                return False

        superTypeDictionary = tp.SuperTypeDictionary()

        for i in range(0, len(self.nodes)):
            if not superTypeDictionary.getSuperTypeFromType(
                utils.getNodeType(self.nodes[i], self.graph)
            ) == superTypeDictionary.getSuperTypeFromType(utils.getNodeType(other.nodes[i], self.graph)):
                return False

        return True
Ejemplo n.º 5
0
    def toStringOfSuperTypes(self):
        string = ""
        superTypeDictionary = tp.SuperTypeDictionary()

        for i in range(0, len(self.edges)):
            string += superTypeDictionary.getSuperTypeFromType(utils.getNodeType(self.nodes[i], self.graph)) + ", "
            string += utils.getEdgeType(self.edges[i], self.graph) + ", "
        string += superTypeDictionary.getSuperTypeFromType(
            utils.getNodeType(self.nodes[len(self.nodes) - 1], self.graph)
        )
        return string
Ejemplo n.º 6
0
    def isInRegexTypeConstraints(self, nodeConstraintsRegexes, edgeConstraintsRegexes):

        for i in range(0, len(self.edges)):
            edge = self.edges[i]
            edgeType = utils.getEdgeType(edge, self.graph)
            if not utils.isRegexExactMatch(edgeConstraintsRegexes[i], edgeType):
                return False

        for i in range(0, len(self.nodes)):
            node = self.nodes[i]
            nodeType = utils.getNodeType(node, self.graph)
            if not utils.isRegexExactMatch(nodeConstraintsRegexes[i], nodeType):
                return False

        return True
Ejemplo n.º 7
0
    def isInTypeConstraints(self, edgeConstraints, nodeConstraints):

        for i in range(0, len(self.edges)):
            edge = self.edges[i]
            edgeType = utils.getEdgeType(edge, self.graph)
            if edgeConstraints[i] != edgeType:
                return False

        for i in range(0, len(self.nodes)):
            node = self.nodes[i]
            nodeType = utils.getNodeType(node, self.graph)
            if nodeConstraints[i] != nodeType:
                return False

        return True
Ejemplo n.º 8
0
 def isSynapticPath(self):
     for edge in self.edges:
         edgeType = utils.getEdgeType(edge, self.graph)
         if edgeType in ["Adherens", "Touch"]:
             return False
     return True