# Ask questions with Natural Language (GraphRAG)

## What is GraphRAG?

**GraphRAG (Graph-Retrieval Augmented Generation)** is a system that lets you ask natural-language questions about your data — and get accurate answers directly from your custom knowledge graph.

Instead of manually writing query language or browsing complex graph structures, GraphRAG uses an AI agent to:

1. **Understand your question** — It interprets what you’re asking in plain English (e.g., *“Which genes are upregulated in ALS?”*).
2. **Translate it into a graph query** — The AI automatically generates the correct Cypher query based on BioBox’s custom ontology and data model.
3. **Retrieve and summarize results** — The query runs against your knowledge graph, and GraphRAG summarizes the findings into clear, readable text alongside the supporting evidence.

This approach combines the **reasoning ability of large language models** with the **accuracy and structure of a knowledge graph**, allowing scientists to explore complex biological relationships without needing to know query syntax.

## Asking Questions with Natural Language

Ensure that your knowledge engine is toggled to "Natural Language".  Type your question into the search bar and hit enter.&#x20;

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F58V5gIKqqiaGKIL0OodX%2Fuploads%2Fi0ShOv5cgoG3Z6zhxsvk%2FSearchResultsOverview2.mp4?alt=media&token=f62d2a97-526e-4a17-8459-b2774b0d0409>" %}

When you submit a question, the **question** and the **agent’s interpretation** are pinned to the top of the page for easy reference.

The agent then begins transforming your natural-language question into a **graph query**, which you can observe in real time under the **Prompts** tab. Once the answer has been generated, the interface automatically switches to the **Results** tab.

The results section is composed of several specialized agents, each providing a different perspective on the retrieved data (e.g., Biological Concept Agent, Graph Paths Agent, Text-Based Agent).

For example, the question **“Which genes are upregulated in ALS?”** is converted into the following graph query:

{% code overflow="wrap" %}

```
(d:Disease {displayName = "familial amyotrophic lateral sclerosis"})<- studies condition<- (d2:DiffExpDataset)-> upregulates-> (g:Gene)
```

{% endcode %}

#### Results Summary Agent

The agent provides a text-based summary of all of the data returned in the search. Select "View More" next to each agent summary to view a longer, comprehensive summary.&#x20;

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F58V5gIKqqiaGKIL0OodX%2Fuploads%2FJfqY0BcsOFBZjrhOdKP7%2FSearch_Multi-AgentSummary.mp4?alt=media&token=540e54d6-7a81-4357-8c9c-691593d78011>" %}

#### Text-Based  Agent&#x20;

The **Text-Based Agent** retrieves relevant **electronic laboratory notebooks (ELNs)** that contain information related to your question.

If ELNs are integrated into your knowledge graph, this agent will automatically display all notebooks containing supporting data. A **summary** of the findings appears above the list of ELNs, and selecting a specific notebook opens a **side panel** where you can view its detailed content.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F58V5gIKqqiaGKIL0OodX%2Fuploads%2FiSs9W4JrT8y0dMIkcahx%2FSearch_textBasedAgent2.mp4?alt=media&token=a8a23538-d1c1-4dcd-87cb-26925bdfca6e>" %}

#### Biological Concept Agent&#x20;

The **Biological Concept Agent** retrieves all biological concepts and their related data objects that help answer your question. The concepts and data returned are specific to your **custom knowledge graph**.

For example, the question **“What genes are upregulated in ALS?”** is automatically transformed into a graph query involving the biological concepts **Genes**, **Disease**, and **Differential Expression Datasets**.

You can explore the results by selecting specific concepts from the **left-hand panel**. The corresponding data objects for each concept will appear in the **table view** on the right.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F58V5gIKqqiaGKIL0OodX%2Fuploads%2FJjrddtmBaXv0bxaCtudu%2FSearch_BiologicalConceptAgent.mp4?alt=media&token=54af4b3c-46f1-4f11-b1d1-14e87fd9ea1e>" %}

#### Graph Paths Agent

The **Graph Paths Agent** retrieves the **individual graph paths** that connect concepts and provide evidence for your question. This view offers additional flexibility by allowing you to **customize which data properties are displayed** and **how they are ordered**.

Use **Edit columns** to choose which data properties to show, and **Reorder columns** to drag and arrange them in your preferred order.

For instance, in the question **“Which genes are upregulated in ALS?”**, a graph path may include the specific dataset, gene symbol, log₂ fold change, and adjusted p-value associated with each result.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F58V5gIKqqiaGKIL0OodX%2Fuploads%2FU8RfwLzVgXNTamp2IER0%2FSearch_GraphPathsAgent.mp4?alt=media&token=2f28b908-640c-4ccc-9b92-f69b47200599>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.biobox.io/guide/how-to/ask-multi-modal-questions/ask-questions-with-natural-language-graphrag.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
