<｜begin▁of▁sentence｜>### Instruction:
As an app developer, you have been tasked with creating a network visualization feature for a social media app that allows users to see connections between their friends. The app's backend provides you with a list of tuples representing the network edges, with optional labels and weights. Your task is to parse this data and create a graph using networkx to represent the connections between users. The graph should include vertices representing the users and edges representing the connections between them. If available, the third element in each tuple should be treated as the edge label, and the fourth element as the edge weight. Your solution should also include displaying the names of the vertices and the labels and weights of the edges in the graph, if available.
### Response:
from igraph import Graph

data_source = [(0, 1), (2, 3, 'A'), (3, 4, 'B', 1.5)]
g = Graph.TupleList(data_source, edge_attrs=['label', 'weight'])
print('Vertices:', g.vs['name'])
print('Edges:', g.es['label'], g.es['weight'])
<|EOT|>
