Get startedGet started for free

Creating a hierarchical lexical graph

You may have noticed that the previous output contained more than just acts. Extracting a knowledge graph is often an iterative process. The output of a text splitter often needs additional examination and filtering before creating the nodes and relationships.

In this exercise, you'll filter out this additional information, then use it to create Act nodes that connect to a Play node.

The play_node variable, containing a Node object for the play, has been created for you along with a graph_document variable to hold the new nodes and relationships you'll create.

This exercise is part of the course

Graph RAG with LangChain and Neo4j

View Course

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

acts = act_splitter.split_text(romeo_and_juliet)

for i, act in enumerate(acts):
	lines = act.strip().split("\n")
	
	# Only include text relating to an act
	if lines[0].startswith(____):
		print(i, act.strip().split("\n")[0])
Edit and Run Code