This page covers configuration and management of View graph repository objects.

Object Overview

Graph repositories define the properties by which relationship data and metadat are stored within View.

Endpoint, URL, and Supported Methods

Objects are managed via the configuration server API at [http|https]://[hostname]:[port]/v1.0/tenants/[tenant-guid]/graphrepositories

By default, the configuration server is accessible on port 8601.

Supported methods include: GET HEAD PUT DELETE

Structure

Objects have the following structure:

{
    "GUID": "example-graph-repository",
    "TenantGUID": "default",
    "Name": "My LiteGraph instance",
    "RepositoryType": "LiteGraph",
    "EndpointUrl": "http://litegraph:8701/",
    "Port": 0,
    "GraphIdentifier": "11111111-1111-1111-1111-111111111111",
    "CreatedUtc": "2024-07-10T05:09:32.000000Z"
}

Properties:

  • GUID string globally unique identifier for the object
  • TenantGUID string globally unique identifier for the tenant
  • Name string name of the object
  • RepositoryType string the type of vector repository (currently only LiteGraph
  • EndpointUrl string the URL on which the graph database is accessed
  • Port int unused, the port on which the graph database is accessed
  • GraphIdentifier string the identifier, typically a GUID, on which the graph is accessed
  • CreatedUtc datetime timestamp from creation, in UTC time

Create

To create, call PUT /v1.0/tenants/[tenant-guid]/graphrepositories with the following properties using the configuration server: Name RepositoryType EndpointUrl GraphIdentifier

{
    "Name": "Another graph repository",
    "RepositoryType": "LiteGraph",
    "EndpointUrl": "http://localhost:8701/",
    "GraphIdentifier": "11111111-1111-1111-1111-111111111112"
}

Enumerate

Refer to the Enumeration page in REST API for details about the use of enumeration APIs.

Enumerate objects by using GET /v2.0/tenants/[tenant-guid]/graphrepositories. The resultant object will appear as:

{
    "Success": true,
    "Timestamp": {
        "Start": "2024-10-21T02:36:37.677751Z",
        "TotalMs": 23.58,
        "Messages": {}
    },
    "MaxResults": 10,
    "IterationsRequired": 1,
    "EndOfResults": true,
    "RecordsRemaining": 16,
    "Objects": [
        {
            "GUID": "example-graphrepository",
            ... graphrepository details ...
        },
        { ... }
    ],
    "ContinuationToken": "[continuation-token]"
}

Read

To read an object by GUID, call GET /v1.0/tenants/[tenant-guid]/embeddingsrule/[embeddingsrule-guid]. If the object exists, it will be returned as a JSON object in the response body. If it does not exist, a 404 will be returned with a NotFound error response.

{
    "GUID": "example-graph-repository",
    "TenantGUID": "default",
    "Name": "My LiteGraph instance",
    "RepositoryType": "LiteGraph",
    "EndpointUrl": "http://litegraph:8701/",
    "Port": 0,
    "GraphIdentifier": "11111111-1111-1111-1111-111111111111",
    "CreatedUtc": "2024-07-10T05:09:32.000000Z"
}

Note: the HEAD method can be used as an alternative to get to simply check the existence of the object. HEAD requests return either a 200/OK in the event the object exists, or a 404/Not Found if not. No response body is returned with a HEAD request.

Update

To update an object by GUID, call PUT /v1.0/tenants/[tenant-guid]/graphrepositories/[graphrepository-guid] with a fully populated object in the request body. The updated object will be returned to you.

Note: certain fields cannot be modified and will be preserved across updates.

Request body:

{
    "Name": "Updated graph repository",
    "RepositoryType": "LiteGraph",
    "EndpointUrl": "http://localhost:8701/",
    "Port": 0,
    "GraphIdentifier": "11111111-1111-1111-1111-111111111112"
}

Response body:

{
    "GUID": "example-graph-repository",
    "TenantGUID": "default",
    "Name": "Updated graph repository",
    "RepositoryType": "LiteGraph",
    "EndpointUrl": "http://localhost:8701/",
    "Port": 0,
    "GraphIdentifier": "11111111-1111-1111-1111-111111111112",
    "CreatedUtc": "2024-07-10T05:09:32.000000Z"
}

Delete

To delete an object by GUID, call DELETE /v1.0/tenants/[tenant-guid]/graphrepositories/[graphrepository-guid].