def CreateNodes():
    nodes = []

    # init - empty node
    mnode = node.Node('1', {})
    mnode.add_edge('5', 20)
    mnode.add_edge('6', 5)
    mnode.add_edge('7', 15)
    mnode.add_edge('2', 10)
    mnode.add_edge('4', 20)

    nodes.append(mnode)

    mnode = node.Node('2', {})
    mnode.add_edge('4', 10)
    mnode.add_edge('3', 20)

    nodes.append(mnode)

    mnode = node.Node('3', {})
    mnode.add_edge('4', 5)
    mnode.add_edge('2', 15)

    nodes.append(mnode)

    mnode = node.Node('4', {})
    mnode.add_edge('5', 10)

    nodes.append(mnode)

    mnode = node.Node('5', {})
    mnode.add_edge('6', 5)

    nodes.append(mnode)

    mnode = node.Node('6', {})
    nodes.append(mnode)

    mnode = node.Node('7', {})
    mnode.add_edge('6', 10)
    nodes.append(mnode)

    mnode = node.Node('8', {})
    mnode.add_edge('1', 5)
    mnode.add_edge('2', 20)
    mnode.add_edge('7', 5)
    nodes.append(mnode)

    mnode = node.Node('9', {})
    mnode.add_edge('8', 20)
    mnode.add_edge('2', 15)
    mnode.add_edge('10', 10)
    nodes.append(mnode)

    mnode = node.Node('10', {})
    mnode.add_edge('2', 5)
    mnode.add_edge('3', 15)
    nodes.append(mnode)

    return nodes
def CreateexistNodewithnewedge():

    # init - empty node
    mnode = node.Node('10', {})
    mnode.add_edge('12', 20)
    mnode.add_edge('15', 20)
    return mnode
def CreateNodes2():
    nodes = []
    mnode = node.Node('11', {})
    mnode.add_edge('11', 20)
    mnode.add_edge('12', 15)
    mnode.add_edge('13', 10)
    nodes.append(mnode)

    return nodes
Beispiel #4
0
    def add_node(self, _node):

        is_node_exist = False
        #check if a node with the same name already exists in the graph
        # then existing edges should not be overwritten, but new edges should be added
        for kk, vv in self.nodes.items():
            if kk == _node.name:
                is_node_exist = True
                #found item
                for k, v in _node.edges.items():
                    self.nodes[kk].add_edge(k, v)

        #No Node Found then add to Graph
        if is_node_exist == False:
            #cast to Node Model
            newnode = node.Node(_node.name, {})
            if len(_node.edges.items()) > 0:
                for k, v in _node.edges.items():
                    newnode.add_edge(k, v)
                    self.nodes[_node.name] = newnode
            else:
                self.nodes[_node.name] = newnode
from models import node, graph

# init - empty node
mynode= node.Node('A',{})

print ('\n Node name is {}' .format(mynode.name))

#check is isolated
if mynode.is_isolated():
    print('\n mynode.is_isolated()- result : Node is empty')
else:
    print('\n length of Node {}= {}'.format(mynode.name,len(mynode)))

#fill with information
mynode.add_edge('1',5)
mynode.add_edge('2',10)
mynode.add_edge('3',15)

print('\n mynode.add_edge(1,5) \n mynode.add_edge(2,10) \n mynode.add_edge(3,15) \n after filling with information :length of Node {} = {} \n'.format(mynode.name,len(mynode)))


#Add edge with simlar name to exist edge
print ('\n mynode.add_edge(1,5) , result:')
mynode.add_edge('1',5)

#Add edge with simlar name to node name
print ('\n add edge with name silimar to node: \n mynode.add_edge(A,5) , result:')
mynode.add_edge('A',5)

#remove edge
print ('\n Remove edge : \n mynode.remove_edge(1) , result:')
        for line in f:

            connection = line.split(' ')
            connections.append(connection)
            #Fill unique names dictionary
            namesdict[line.split(' ')[0]] = randint(0, 100)

    return connections, namesdict


soical, namesdict = proccessdata('social.txt')

#Create Nodes
for k, v in namesdict.items():
    #print (k,v)
    _node = node.Node(k, {})
    mygraph1.add_node(_node)

#add or remove edges between nodes
for line in soical:

    if line[3] == 'became':
        mygraph1.addedge(line[0], line[2])

    elif line[3] == 'cancelled':
        mygraph1.removeedge(line[0], line[2])

print(mygraph1)

#check id path exit
print(mygraph1.is_edge('Gad', 'Judah'))
from models import graph ,node, nondirectionalgraph


# init - empty node graph
mygraph1 = nondirectionalgraph.NonDirectionalGraph('x',{})


mynode= node.Node('1',{})
mygraph1.add_node(mynode)

mynode= node.Node('2',{})
mygraph1.add_node(mynode)

mygraph1.addedge('1','2')


print(mygraph1)


avgdict_we={}


# Build dict holds avg = time spent on path / number of users go throw this  path
for k,v in timedict_we.items():
    avgdict_we[k] = int(round(v/countdict_we[k]))

# Build dict holds avg = time spent on path / number of users go throw this  path
for kew,vew in timedict_ew.items():
    avgdict_ew[kew] = int(round(v/countdict_ew[kew]))

# Create first Graph
nodes=[]
# k exmple - north_east:1233
for k,v in avgdict_we.items():
     mnode = node.Node(k.split('_')[0], {})
     mnode.add_edge(k.split('_')[1], v)
     nodes.append(mnode)
graph1= graph.Graph('r1', nodes)
print(graph1)

# Create second Graph
nodes=[]
for k,v in avgdict_ew.items():
     mnode = node.Node(k.split('_')[0], {})
     mnode.add_edge(k.split('_')[1], v)
     nodes.append(mnode)
graph2= graph.Graph('r2', nodes)
print(graph2)

graph3 = graph1+graph2
Beispiel #9
0
def creatgraphs():
    nodes = []
    mnode = node.Node('1', {})
    mnode.add_edge('5', 20)
    mnode.add_edge('6', 5)
    mnode.add_edge('7', 15)
    mnode.add_edge('2', 10)
    mnode.add_edge('4', 20)

    nodes.append(mnode)

    mnode = node.Node('2', {})
    mnode.add_edge('4', 10)
    mnode.add_edge('3', 20)

    nodes.append(mnode)

    mnode = node.Node('3', {})
    mnode.add_edge('4', 5)
    mnode.add_edge('2', 15)

    nodes.append(mnode)

    mnode = node.Node('4', {})
    mnode.add_edge('5', 10)

    nodes.append(mnode)
    graph1 = graph.Graph('1', nodes)

    nodes = []
    mnode = node.Node('5', {})
    mnode.add_edge('6', 5)

    nodes.append(mnode)

    mnode = node.Node('6', {})
    nodes.append(mnode)

    mnode = node.Node('7', {})
    mnode.add_edge('6', 10)
    nodes.append(mnode)

    graph2 = graph.Graph('2', nodes)

    nodes = []
    mnode = node.Node('8', {})
    mnode.add_edge('1', 5)
    mnode.add_edge('2', 20)
    mnode.add_edge('7', 5)
    nodes.append(mnode)

    mnode = node.Node('9', {})
    mnode.add_edge('8', 20)
    mnode.add_edge('2', 15)
    mnode.add_edge('10', 10)
    nodes.append(mnode)

    mnode = node.Node('10', {})
    mnode.add_edge('2', 5)
    mnode.add_edge('3', 15)
    nodes.append(mnode)

    graph3 = graph.Graph('3', nodes)
    return graph1, graph2, graph3