<｜begin▁of▁sentence｜>### Instruction:
Given a graph whose edge set is [(0, 1), (1, 2), (2, 3), (3, 0), (0, 4)], can you determine if the graph is semi-Eulerian using NetworkX, meaning it has an Eulerian path but no Eulerian circuit?
### Response:
import networkx as nx

# Create a graph
G = nx.Graph()
G.add_edges_from([(0, 1), (1, 2), (2, 3), (3, 0), (0, 4)])

# Check if the graph is semi-Eulerian
semi_eulerian = nx.is_semieulerian(G)

print('Is the graph semi-Eulerian?', semi_eulerian)
<|EOT|>
