> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing knowledge graphs

export const admin = "Admin";

export const super_admin = "Super Admin";

export const AIAgents = () => <>the <strong>AI Agents</strong> icon <span style={{
  whiteSpace: "nowrap"
}}><img src="/images/global-nav/ai-agents.png" width="20" height="20" style={{
  verticalAlign: "text-bottom",
  display: "inline",
  margin: "0 1px"
}} /></span></>;

export const mission_control = "Mission Control";

export const maia_team = "Maia Team";

export const context_engine = "Context Engine";

export const maia = "Maia";

After a knowledge graph has been created, all users who have an [account role](/docs/administration/account-roles) with the **Create knowledge graph** permission, and any other users who have been added to the knowledge graph as contributors can edit its configuration. Users who aren't able to edit a knowledge graph can [request access](#request-or-grant-access-to-a-knowledge-graph) to the knowledge graph.

Each knowledge graph is configured in the following tabs, where you can perform these actions:

* **[Crawlers](#crawlers):** Add and edit crawlers to ingest data, and monitor the status and run history of all crawlers in this knowledge graph.
* **[Projects](#projects):** Manage the projects that have access to this knowledge graph.
* **[Access](#access):** Manage the users who can contribute to this knowledge graph.

To access these tabs:

1. In the left navigation, click <AIAgents />, then **{context_engine}**.
2. Click the knowledge graph you want to access.
3. In the top right, click **Set up**.

You'll be taken to the **Crawlers** tab of the selected knowledge graph—from here, you can manage crawlers or select a different tab on the left to edit other aspects of the knowledge graph's configuration.

***

## Request or grant access to a knowledge graph

If you don't have an account role with the **Create knowledge graph** permission, follow these steps to request access to a knowledge graph:

1. Click the name of the knowledge graph on the {context_engine} dashboard.
2. In the **Viewer access only** box at the top of the visualization, click **Request contributor access**. This sends an email to all contributors on the knowledge graph notifying them that you have requested access.

If you're a contributor on a knowledge graph and you receive an email requesting access to the knowledge graph, follow these steps:

1. Click the name of the knowledge graph on the {context_engine} dashboard.
2. Click the [Access](#access) tab on the left.
3. In the **Pending access requests** section above the list of users, click **Approve** or **Reject** to answer the request.

***

## Crawlers

A crawler is a continuous process that connects, discovers, and maps data structures to populate the knowledge graph and keep them updated. In the **Crawlers** tab, you can view and manage the crawlers that populate the knowledge graph with data from your warehouse and pipelines. You can add any number of crawlers to a knowledge graph.

There are two types of crawler, each with their own prerequisites:

* **Warehouse data** crawlers harvest your warehouse and structured sources supported via connectors to populate the graphs. This helps keep an accurate view of the data landscape. To run a **Warehouse data** crawler, your {maia} project must contain a schema that is populated with data.
* **Pipeline execution** crawlers harvest your pipeline executions for your chosen project and environment to build an operational understanding of how data flows through your organization and workflow. To run a **Pipeline execution** crawler, your {maia} project must contain at least one pipeline.

<Note>
  For warehouse data, after the first crawl is completed, subsequent crawls of the data you selected in your warehouse (for example, the selected datasets in your Google BigQuery warehouse) only crawl new data added since the last crawl.
</Note>

The **Crawlers** tab lists all crawlers in the knowledge graph, the source from which they crawl data, the date of their last run, and the [status](#crawl-statuses) of their last run.

### Add a crawler

1. In the **Crawlers** tab of a knowledge graph, click **Add crawler**.

2. In the **Add crawler** step:
   1. In **Name**, enter a name.
   2. In **Type**, select **Warehouse data** or **Pipeline execution**, then follow the steps in the corresponding tab below.

      <Tabs>
        <Tab title="Warehouse data">
          1. In **Project**, select a project that is connected to the warehouse you want to harvest data from.
          2. In **Environment**, select the environment you want to use to harvest data.
          3. Click **Continue**.
          4. In the **Select data** step, select the data to crawl:
             * If you're crawling a Snowflake warehouse, select the database and schemas to crawl.
             * If you're crawling a Databricks warehouse, select the catalog and schemas to crawl.
             * If you're crawling an Amazon Redshift warehouse, select the schemas to crawl.
             * If you're crawling a Google BigQuery warehouse, select the datasets to crawl.
          5. Click **Continue**.
        </Tab>

        <Tab title="Pipeline execution">
          1. In **Project**, select the project to crawl.
          2. In **Environment**, select the environment to crawl.
          3. Click **Continue**.
        </Tab>
      </Tabs>

3. In the **Schedule crawl** step, choose how often this crawl should run. The crawl will run immediately after you create this knowledge graph, then follow this schedule.
   1. Select **Standard** or **Advanced** schedule settings.
   2. In **Timezone**, select the timezone for the crawl schedule.
   3. If you selected **Standard** settings, use the repeat drop-downs to set how often the crawler runs.
   4. If you selected **Advanced** settings, enter a cron expression to set how often the crawler runs.

4. Click **Add crawler**.

### Manage crawlers

To edit, reschedule, or monitor a crawler, in the **Crawlers** tab of a knowledge graph, click the name of the crawler you want to manage. Each crawler is configured in four tabs on the left, where you can perform the following actions.

Click the **Set up** tab to:

* **View the crawler's details** (the data it crawls, the user who created it, and the user who last edited it).
* **Edit the crawler's configuration:** Click **Edit** and make your changes to its name, project, environment, and/or the data it crawls. Then, click **Save**.
* **Delete the crawler:** Click **Delete**. Then, in the confirmation dialog, click **Yes, delete**.

Click the **Schedule** tab to:

* **View and change the crawler's schedule:** Click **Edit**, make your changes, and then click **Save**.
* **Pause a scheduled crawler:** Click **Pause** in the top right. This crawler will not run until you resume it.
* **Resume a paused crawler:** Click **Resume** in the top right. This crawler will run at its next scheduled time.

Click the **Last crawl** tab to:

* View the status, start and end time, and duration of the crawler's most recent crawl.
* **View a detailed crawl log:** Click **View logs** to see a detailed log of the entities that the most recent crawl linked and added to your knowledge graph. You can filter the log to only show warnings and errors.

Click the **Crawl history** tab to:

* View a list of all crawls performed by this crawler, including their status, start and end time, and duration.
* **View detailed crawl logs:** Click **View logs** for a specific crawl to learn more about the entities that this crawl linked and added to your knowledge graph. You can filter the log to only show warnings and errors.

### Crawl statuses

The table below lists the possible crawl statuses you might see in the **Crawlers** tab or when viewing the **Crawl history** for a specific crawler.

| Status | Explanation |
| - | - |
| Successful | The crawl was successful. The date of the last crawl is displayed next to the status. |
| Initializing | The crawl has just started. |
| Extracting | The crawl is currently in progress. |
| Pending | The crawler has been scheduled but hasn't run for the first time yet. The date of the crawler's next scheduled run is displayed next to this status. |
| Paused | The crawler is paused. |
| Failed | The crawl was unsuccessful. The date of the failed crawl is displayed next to this status. |

***

## Projects

The **Projects** tab shows whether the knowledge graph is restricted, or available to all projects. If the knowledge graph is restricted, this tab lists the projects that can use this knowledge graph.

If the knowledge graph is restricted:

* To add a project to the allow list, click **Add project**, select one or more projects, then click **Add**.
* To remove a project from the allow list, click the three dots in the project's row, then click **Yes, remove**.
* To make the knowledge graph available to all projects, click **Restricted** in the top right, then click **Yes, allow all projects**.

<Warning>
  Making a restricted knowledge graph available to all projects may expose sensitive or restricted data to unintended users. Make sure your knowledge graph doesn't contain any sensitive or restricted data before making it available to all projects.
</Warning>

If the knowledge graph is available to all projects:

* To restrict access to the knowledge graph, click **Restrict access**. You will then need to add projects to the allow list as described above.

***

## Access

The **Access** tab lists the users who can contribute to this knowledge graph. By default, the user who added a knowledge graph and all users with an account role with the **Create knowledge graph** permission can contribute to knowledge graphs.

Users added to a knowledge graph can perform all available actions on the knowledge graph and its crawlers.

To add a contributor to a knowledge graph, click **Add contributor**, search for and select one or more users, then click **Add**.

To remove a contributor from a knowledge graph, click the trash can icon in their row. This immediately removes the contributor.

***

## Delete a knowledge graph

To delete a knowledge graph:

1. Click the name of the knowledge graph on the {context_engine} dashboard.
2. Click **Delete graph** in the top right.
3. In the confirmation dialog, click **Yes, delete**.

<Warning>
  Deleted knowledge graphs cannot be recovered. This action will permanently delete the knowledge graph, including all its crawlers, schedules, and run history.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.