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

# Entities and relationships

> Reference for the Knowledge Graph GraphQL schema (entity and relationship types) and examples of programmatic schema exploration using introspection.

export const GatedCallout = ({children}) => <div className="eyebrow-callout not-prose rounded-xl border border-gray-200/80 p-5 dark:border-white/10" style={{
  marginBottom: "1rem",
  borderRadius: "4px"
}}>
    <div className="mb-3">
      <Badge color="orange" size="md" icon="lock">
        Gated
      </Badge>
    </div>
    <div className="callout-body text-[15px] leading-relaxed text-gray-700 dark:text-gray-300">{children}</div>
    <style>{`.callout-body a { text-decoration: underline; text-decoration-color: #178251; }`}</style>
  </div>;

export const EarlyAccessCallout = ({children}) => <div className="eyebrow-callout not-prose rounded-xl border border-gray-200/80 p-5 dark:border-white/10" style={{
  marginBottom: "1rem",
  borderRadius: "4px"
}}>
    <div className="mb-3">
      <Badge color="green" size="md" icon="flask">
        Early access
      </Badge>
    </div>
    <div className="callout-body text-[15px] leading-relaxed text-gray-700 dark:text-gray-300">{children}</div>
    <style>{`.callout-body a { text-decoration: underline; text-decoration-color: #178251; }`}</style>
  </div>;

<GatedCallout>
  Access to this resource is restricted and requires prior approval. In some cases, a license may also be required. Contact [support@learningcommons.org ↗](mailto:support@learningcommons.org) for information about access and eligibility.
</GatedCallout>

The Knowledge Graph [API](/api-reference/) supports GraphQL introspection, so you can programmatically discover types, fields, and relationships at runtime.

## Explore the schema

Get all available types, explore a specific type (like `Lesson`), and more:

<CodeGroup>
  ```text GraphQL theme={null}
  <!-- Get all available types -->
  query {
    __schema {
      types {
        name
        kind
        description
      }
    }
  }

  <!-- Explore a specific type (e.g., Lesson)
  query {
    __type(name: "Lesson") {
      name
      fields {
        name
        type {
          name
          kind
        }
        description
      }
    }
  }

  <!-- Get all available queries -->
  query {
    __schema {
      queryType {
        fields {
          name
          args {
            name
            type {
              name
            }
          }
        }
      }
    }
  }

  <!-- Get all relationship fields on a type -->
  query {
    __type(name: "Lesson") {
      fields {
        name
        type {
          name
          ofType {
            name
          }
        }
      }
    }
  }
  ```

  ```shell cURL theme={null}
  # Get all available types
  curl -X POST \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: YOUR_API_KEY' \
    -d '{"query":"{ __schema { types { name kind } } }"}' \
    https://cumtxmqb68.execute-api.us-west-2.amazonaws.com/staging/v1.0.0/graphql

  # Explore a specific type (e.g., Lesson)
  curl -X POST \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: YOUR_API_KEY' \
    -d '{"query":"{ __type(name: \"Lesson\") { fields { name type { name } } } }"}' \
    https://cumtxmqb68.execute-api.us-west-2.amazonaws.com/staging/v1.0.0/graphql
  ```

  ```python Python theme={null}
  from gql import Client, gql

  # Get all available types
  schema_query = gql("""
      query {
        __schema {
          types {
            name
            kind
            fields {
              name
              type {
                name
              }
            }
          }
        }
      }
  """)

  result = client.execute(schema_query)
  for type_info in result["__schema"]["types"]:
      if not type_info["name"].startswith("__"):  # Skip introspection types
          print(f"Type: {type_info['name']} ({type_info['kind']})")
  ```
</CodeGroup>

## Entities

The GraphQL API includes the following [entities](/knowledge-graph/understanding-knowledge-graph/core-concepts#entities):

| Dataset                                                                                                  | Entities                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| :------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Academic Standards](/knowledge-graph/graph-reference/academic-standards#entities)                       | [`StandardsFramework`](/knowledge-graph/graph-reference/academic-standards#standardsframework), [`StandardsFrameworkItem`](/knowledge-graph/graph-reference/academic-standards#standardsframeworkitem)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [Learning Components](/knowledge-graph/graph-reference/learning-components#entities)                     | [`LearningComponent`](/knowledge-graph/graph-reference/learning-components#learningcomponent)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [Curriculum](/knowledge-graph/graph-reference/curriculum#entities)                                       | [`Activity`](/knowledge-graph/graph-reference/curriculum#activity), [`Assessment`](/knowledge-graph/graph-reference/curriculum#assessment), [`ClassroomMaterial`](/knowledge-graph/graph-reference/curriculum#classroommaterial), [`Course`](/knowledge-graph/graph-reference/curriculum#course), [`GlossaryTerm`](/knowledge-graph/graph-reference/curriculum#glossaryterm), [`InstructionalRoutine`](/knowledge-graph/graph-reference/curriculum#instructionalroutine), [`Lesson`](/knowledge-graph/graph-reference/curriculum#lesson), [`LessonGrouping`](/knowledge-graph/graph-reference/curriculum#lessongrouping), [`Material`](/knowledge-graph/graph-reference/curriculum#material) |
| [Learner Variability Navigator](/knowledge-graph/graph-reference/learner-variability-navigator#entities) | [`Factor`](/knowledge-graph/graph-reference/learner-variability-navigator#factor), [`LearnerModel`](/knowledge-graph/graph-reference/learner-variability-navigator#learnermodel), [`Strategy`](/knowledge-graph/graph-reference/learner-variability-navigator#strategy)                                                                                                                                                                                                                                                                                                                                                                                                                      |

## Relationships

The GraphQL API includes the following [relationships](/knowledge-graph/understanding-knowledge-graph/core-concepts#relationships):

| Dataset                                                                                                       | Relationships                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Academic Standards](/knowledge-graph/graph-reference/academic-standards#relationships)                       | [`HasChildProperties`](/knowledge-graph/graph-reference/academic-standards#haschild), [`SupportsProperties`](/knowledge-graph/graph-reference/academic-standards#supports), [`HasEducationalAlignmentProperties`](/knowledge-graph/graph-reference/academic-standards#haseducationalalignment)                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [Learning Components](/knowledge-graph/graph-reference/learning-components#relationships)                     | [`SupportsProperties`](/knowledge-graph/graph-reference/learning-components#supports)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [Learning Progressions](/knowledge-graph/graph-reference/learning-progressions#relationships)                 | [`BuildsTowardsProperties`](/knowledge-graph/graph-reference/learning-progressions#buildtowards), [`RelatesToProperties`](/knowledge-graph/graph-reference/learning-progressions#relatesto)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [Standards Crosswalks](/knowledge-graph/graph-reference/standards-crosswalks#relationships)                   | [`HasStandardAlignmentProperties`](/knowledge-graph/graph-reference/standards-crosswalks#hasstandardalignment)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [Curriculum](/knowledge-graph/graph-reference/curriculum#relationships)                                       | [`HasPartProperties`](/knowledge-graph/graph-reference/curriculum#haspart), [`HasEducationalAlignmentProperties`](/knowledge-graph/graph-reference/curriculum#haseducationalalignment), [`UsesRoutineProperties`](/knowledge-graph/graph-reference/curriculum#usesroutine), [`UsesProperties`](/knowledge-graph/graph-reference/curriculum#uses), [`HasDependencyProperties`](/knowledge-graph/graph-reference/curriculum#hasdependency), [`ReferencesProperties`](/knowledge-graph/graph-reference/curriculum#references), [`MutuallyExclusiveWithProperties`](/knowledge-graph/graph-reference/curriculum#mutuallyexclusivewith), [`HasReferenceProperties`](/knowledge-graph/graph-reference/curriculum#relationships) |
| [Learner Variability Navigator](/knowledge-graph/graph-reference/learner-variability-navigator#relationships) | [`HasFactorProperties`](/knowledge-graph/graph-reference/learner-variability-navigator#hasfactor), [`HasStrategyProperties`](/knowledge-graph/graph-reference/learner-variability-navigator#hasstrategy), [`InteractsWithFactorProperties`](/knowledge-graph/graph-reference/learner-variability-navigator#interactswithfactor), [`TargetsFactorProperties`](/knowledge-graph/graph-reference/learner-variability-navigator#targetsfactor), [`RelevantToStandardProperties`](/knowledge-graph/graph-reference/learner-variability-navigator#relevanttostandard)                                                                                                                                                           |
