Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lecture "Organising information: graphs", exercise 1 #31

Open
essepuntato opened this issue Dec 11, 2018 · 14 comments
Open

Lecture "Organising information: graphs", exercise 1 #31

essepuntato opened this issue Dec 11, 2018 · 14 comments
Labels
Exercise The exercises that are introduced in the lectures.

Comments

@essepuntato
Copy link
Contributor

Consider the list of co-authors of Tim Berners-Lee as illustrated in the write box at http://dblp.uni-trier.de/pers/hd/b/Berners=Lee:Tim. Build an undirected graph that contains Tim Berners Lee as the central node and that is linked to other five nodes representing his top-five co-authors. In addition, specify the weight of each edge as an attribute, where the value of the weight is the number of bibliographic resources (articles, proceedings, etc.) Tim Berners-Lee has co-authored with the person linked by that edge.

@essepuntato essepuntato added the Exercise The exercises that are introduced in the lectures. label Dec 11, 2018
@SeverinJB
Copy link

from networkx import MultiGraph

network_tim = MultiGraph()

network_tim.add_node("Tim Berners-Lee")
network_tim.add_node("Christian Bizer")
network_tim.add_node("Tom Heath")
network_tim.add_node("Sören Auer")
network_tim.add_node("Lalana Kagal")
network_tim.add_node("James A. Hendler")
network_tim.add_node("Daniel J. Weitzner")

network_tim.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
network_tim.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
network_tim.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
network_tim.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
network_tim.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)
network_tim.add_edge("Tim Berners-Lee", "Daniel J. Weitzner", weight=8)

print(network_tim.nodes(data=True))
print(network_tim.edges(data=True))

@EleonoraPeruch
Copy link

from networkx import Graph

# top five co-authors of Tim Berners-Lee
# Christian Bizer (17)
# Tom Heath (17)
# Sören Auer (10)
# Lalana Kagal (9)
# James A. Hendler (8)

# create a new graph
tim_berners_lee = Graph()

# create six nodes
tim_berners_lee.add_node("Tim Berners-Lee")
tim_berners_lee.add_node("Christian Bizer")
tim_berners_lee.add_node("Tom Heath")
tim_berners_lee.add_node("Sören Auer")
tim_berners_lee.add_node("Lalana Kagal")
tim_berners_lee.add_node("James A. Hendler")

# create five edges
tim_berners_lee.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
tim_berners_lee.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
tim_berners_lee.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
tim_berners_lee.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
tim_berners_lee.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)

print(tim_berners_lee.nodes(data=True))
print(tim_berners_lee.edges(data=True))

[('Tim Berners-Lee', {}), ('Christian Bizer', {}), ('Tom Heath', {}), ('Sören Auer', {}), ('Lalana Kagal', {}), ('James A. Hendler', {})]
[('Tim Berners-Lee', 'Christian Bizer', {'weight': 17}), ('Tim Berners-Lee', 'Tom Heath', {'weight': 17}), ('Tim Berners-Lee', 'Sören Auer', {'weight': 10}), ('Tim Berners-Lee', 'Lalana Kagal', {'weight': 9}), ('Tim Berners-Lee', 'James A. Hendler', {'weight': 8})]

@friendlynihilist
Copy link

from networkx import Graph
cs_bib = Graph()

#add nodes
cs_bib.add_node("Tim Berners-Lee")
cs_bib.add_node("Christian Bizer")
cs_bib.add_node("Tom Heath")
cs_bib.add_node("Sören Auer")
cs_bib.add_node("Lalana Kagal")
cs_bib.add_node("James A. Hendler")

#add edges with 'weight' attribute
cs_bib.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
cs_bib.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
cs_bib.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
cs_bib.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
cs_bib.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)

print(cs_bib.nodes(data=True))
print(cs_bib.edges(data=True))

#memo:
#tim berners-lee
#christian bizer 17
#tom heath 17
#sören auer 10
#lalana kagal 9
#james a. hendler 8

@andreamust
Copy link


from networkx import Graph

my_graph = Graph()

my_graph.add_node(1, name = "Tim", surname = "Berners-Lee")
my_graph.add_node(2, name = "Tom", surname = "Heat")
my_graph.add_node(3, name = "Christian", surname = "Bizer")
my_graph.add_node(4, name = "Soren", surname = "Auer")
my_graph.add_node(5, name = "Lalana", surname = "Kagal")
my_graph.add_node(6, name = "Daniel J.", surname = "Weitzner")


my_graph.add_edge(1, 2, weight = 17)
my_graph.add_edge(1, 3, weight = 17)
my_graph.add_edge(1, 4, weight = 10)
my_graph.add_edge(1, 5, weight = 9)
my_graph.add_edge(1, 6, weight = 8)


print(my_graph.nodes(data=True))
print(my_graph.edges(data=True))

@saraarmaroli
Copy link

saraarmaroli commented Dec 13, 2018

from networkx import Graph

tim_berners_graph = MultiGraph()
tim_berners_graph.add_node("Tim Berners Lee")
tim_berners_graph.add_node("Christian Bizer")
tim_berners_graph.add_node("Tom Heath")
tim_berners_graph.add_node("Sören Auer")
tim_berners_graph.add_node("Michael Hausenblas")
tim_berners_graph.add_node("Kingsley Idehen")

tim_berners_graph.add_edge("Tim Berners Lee", "Christian Bizer", weight=17)
tim_berners_graph.add_edge("Tim Berners Lee", "Tom Heath", weight=17)
tim_berners_graph.add_edge("Tim Berners Lee", "Sören Auer", weight=8)
tim_berners_graph.add_edge("Tim Berners Lee", "Michael Hausenblas", weight=5)
tim_berners_graph.add_edge("Tim Berners Lee", "Kingsley Idehen",  weight=4)

print(tim_berners_graph.nodes(data=True))
print(tim_berners_graph.edges(data=True))

@MilenaCorbellini
Copy link

from networkx import MultiGraph
lee_graph= MultiGraph()

lee_graph.add_node('Tim Berners-Lee')
lee_graph.add_node('Cristian Bizer')
lee_graph.add_node('Tom Heath')
lee_graph.add_node('Soren Auer')
lee_graph.add_node('Lalana Kagal')
lee_graph.add_node('James A. Hendler')
lee_graph.add_node('Daniel J. Weitzner')

lee_graph.add_edge('Tim Berners-Lee', 'Christian Bizer', weight=17)
lee_graph.add_edge('Tim Berners-Lee', 'Tom Heath', weight=17)
lee_graph.add_edge('Tim Berners-Lee', 'Soren Auer', weight=10)
lee_graph.add_edge('Tim Berners-Lee', 'Lalana Kagal', weight=9)
lee_graph.add_edge('Tim Berners-Lee', 'James A. Hendler', weight=8)
lee_graph.add_edge('Tim Berners-Lee', 'Daniel J. Weitzner', weight=8)

print(lee_graph.nodes(data= True))
`print(lee_graph.edges(data=True))
```

@lisasiurina
Copy link

lisasiurina commented Dec 13, 2018

from networkx import Graph

authors = Graph()

authors.add_node("Tim Berners-Lee")
authors.add_node("Christian Bizer")
authors.add_node("Tom Heath")
authors.add_node("Sören Auer")
authors.add_node("Lalana Kagal")
authors.add_node("James A. Hendler")

authors.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
authors.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
authors.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
authors.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
authors.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)

print(authors.nodes(data=True))
print(authors.edges(data=True))```

[('Tim Berners-Lee', {}), ('Christian Bizer', {}), ('Tom Heath', {}), ('Sören Auer', {}), ('Lalana Kagal', {}), ('James A. Hendler', {})]
[('Tim Berners-Lee', 'Christian Bizer', {'weight': 17}), ('Tim Berners-Lee', 'Tom Heath', {'weight': 17}), ('Tim Berners-Lee', 'Sören Auer', {'weight': 10}), ('Tim Berners-Lee', 'Lalana Kagal', {'weight': 9}), ('Tim Berners-Lee', 'James A. Hendler', {'weight': 8})]

@delfimpandiani
Copy link

from networkx import MultiGraph

network = MultiGraph()
# no need to add the notes separately, they are created on-the-go as the edges are created themselves

network.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
network.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
network.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
network.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
network.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)
network.add_edge("Tim Berners-Lee", "Daniel J. Weitzner", weight=8)

print(network.nodes(data=True))
print(network.edges(data=True))

[('Tim Berners-Lee', {}), ('Christian Bizer', {}), ('Tom Heath', {}), ('Sören Auer', {}), ('Lalana Kagal', {}), ('James A. Hendler', {}), ('Daniel J. Weitzner', {})]
[('Tim Berners-Lee', 'Christian Bizer', {'weight': 17}), ('Tim Berners-Lee', 'Tom Heath', {'weight': 17}), ('Tim Berners-Lee', 'Sören Auer', {'weight': 10}), ('Tim Berners-Lee', 'Lalana Kagal', {'weight': 9}), ('Tim Berners-Lee', 'James A. Hendler', {'weight': 8}), ('Tim Berners-Lee', 'Daniel J. Weitzner', {'weight': 8})]

@mangiafrangette
Copy link

from networkx import Graph

tim_graph = Graph()

tim_graph.add_node("Tim Berners-Lee")
tim_graph.add_node("Christian Bizer")
tim_graph.add_node("Tom Heath")
tim_graph.add_node("Sören Auer")
tim_graph.add_node("Lalana Kagal")
tim_graph.add_node("James A. Hendler")

tim_graph.add_edge("Tim Berners-Lee", "Christian Bizer", weight=17)
tim_graph.add_edge("Tim Berners-Lee", "Tom Heath", weight=17)
tim_graph.add_edge("Tim Berners-Lee", "Sören Auer", weight=10)
tim_graph.add_edge("Tim Berners-Lee", "Lalana Kagal", weight=9)
tim_graph.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)

print(tim_graph.adj["Tim Berners-Lee"])

@bluebell94
Copy link

from networkx import MultiGraph

team_coworkers=MultiGraph()
team_coworkers.add_node("Tim Berners-Lee")
team_coworkers.add_node("Christian Brizer")
team_coworkers.add_node("Tom Heath")
team_coworkers.add_node("Sören Auer")
team_coworkers.add_node("Lalann Kagul")
team_coworkers.add_node("James A. Hendler")

team_coworkers.add_edge("Tim Berners-Lee", "Christian Brizer", weight=17)
team_coworkers.add_edge("Tim Berners-Lee","Tom Heath", weight=17)
team_coworkers.add_edge("Tim Berners-Lee", "Sören Auer",weight=10)
team_coworkers.add_edge("Tim Berners-Lee", "Lalann Kagul", weight=9)
team_coworkers.add_edge("Tim Berners-Lee", "James A. Hendler", weight=8)

print(team_coworkers.nodes(data=True))
print(team_coworkers.edges(data=True))

print(team_coworkers.adj)

[('Tim Berners-Lee', {}), ('Christian Brizer', {}), ('Tom Heath', {}), ('Sören Auer', {}), ('Lalann Kagul', {}), ('James A. Hendler', {})]
[('Tim Berners-Lee', 'Christian Brizer', {'weight': 17}), ('Tim Berners-Lee', 'Tom Heath', {'weight': 17}), ('Tim Berners-Lee', 'Sören Auer', {'weight': 10}), ('Tim Berners-Lee', 'Lalann Kagul', {'weight': 9}), ('Tim Berners-Lee', 'James A. Hendler', {'weight': 8})]

{'Tim Berners-Lee': {'Christian Brizer': {0: {'weight': 17}}, 'Tom Heath': {0: {'weight': 17}}, 'Sören Auer': {0: {'weight': 10}}, 'Lalann Kagul': {0: {'weight': 9}}, 'James A. Hendler': {0: {'weight': 8}}}, 'Christian Brizer': {'Tim Berners-Lee': {0: {'weight': 17}}}, 'Tom Heath': {'Tim Berners-Lee': {0: {'weight': 17}}}, 'Sören Auer': {'Tim Berners-Lee': {0: {'weight': 10}}}, 'Lalann Kagul': {'Tim Berners-Lee': {0: {'weight': 9}}}, 'James A. Hendler': {'Tim Berners-Lee': {0: {'weight': 8}}}}

@beccadelbens
Copy link

from networkx import Graph

first_graph = Graph()

first_graph.add_node("Tim Berners Lee")
first_graph.add_node("Christian Bizer")
first_graph.add_node("Tom Heath")
first_graph.add_node("Soren Auer")
first_graph.add_node("Lalana Kagal")
first_graph.add_node("James A. Hendler")

first_graph.add_edge("Tim Berners Lee", "Christian Bizer", weight=17)
first_graph.add_edge("Tim Berners Lee", "Tom Heath", weight=17)
first_graph.add_edge("Tim Berners Lee", "Soren Auer", weight=10)
first_graph.add_edge("Tim Berners Lee", "Lalana Kagal", weight=9)
first_graph.add_edge("Tim Berners Lee", "James A. Hendler", weight=8)

print(first_graph.edges(data=True))
#[('Tim Berners Lee', 'Christian Bizer', {'weight': 17}), ('Tim Berners Lee', 'Tom Heath', {'weight': 17}),
#('Tim Berners Lee', 'Soren Auer', {'weight': 10}), ('Tim Berners Lee', 'Lalana Kagal', {'weight': 9}),
#('Tim Berners Lee', 'James A. Hendler', {'weight': 8})]

@dafnikitsiki
Copy link

dafnikitsiki commented Dec 15, 2018

from networkx import MultiGraph

#create a new graph
tim_graph = MultiGraph()

#create five edges
tim_graph.add_edge("Tim Berners Lee", "Tom Heath", weight=17)
tim_graph.add_edge("Tim Berners Lee", "Cristian Bizer", wight=17)
tim_graph.add_edge("Tim Berners Lee", "Soren Auer", weight=10)
tim_graph.add_edge("Tim Berners Lee", "Lalana Kagal", weight=9)
tim_graph.add_edge("Tim Berners Lee", "James A. Hendler", weight=8)

print(tim_graph.edges(data=True))
@essepuntato is it correct not to create the nodes alone before creating the edges?

@essepuntato
Copy link
Contributor Author

Hi @dafnikitsiki

@essepuntato is it correct not to create the nodes alone before creating the edges?

Yep, this is a totally feasible approach indeed.

@dafnikitsiki
Copy link

dafnikitsiki commented Dec 22, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Exercise The exercises that are introduced in the lectures.
Projects
None yet
Development

No branches or pull requests