Light
Dark
System
v4latest
v4latest
v3
v2
v1

Indexes

This section describes introspection of indexes.

Introspection of the schema::Index:

Copy
db> 
... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
with module schema
select ObjectType {
    name,
    links: {
        name,
    },
    properties: {
        name,
    }
}
filter .name = 'schema::Index';
{
    Object {
        name: 'schema::Index',
        links: {Object { name: '__type__' }},
        properties: {
            Object { name: 'expr' },
            Object { name: 'id' },
            Object { name: 'name' }
        }
    }
}

Consider the following schema:

Copy
abstract type Addressable {
    property address -> str;
}

type User extending Addressable {
    # define some properties and a link
    required property name -> str;

    multi link friends -> User;

    # define an index for User based on name
    index on (.name);
}

Introspection of User.name index:

Copy
db> 
... 
... 
... 
... 
with module schema
select Index {
    expr,
}
filter .expr like '%.name';
{
    Object {
        expr: '.name'
    }
}

For introspection of the index within the context of its host type see object type introspection.

Light
Dark
System

We use ChatGPT with additional context from our documentation to answer your questions. Not all answers will be accurate. Please join our Discord if you need more help.