Software

Create, manage and query Software.

Overview

Software entities describe software application, as defined by Schema.org. Software are specified by their name and URI.

Software are not unique by name, across the Graphlit project.

Operations

Create Software

The createSoftware mutation enables the creation of software by accepting the software name and optional uri. It returns essential details, including the ID and name of the newly generated software.

Mutation:

mutation CreateSoftware($software: SoftwareInput!) {
  createSoftware(software: $software) {
    id
    name
  }
}

Variables:

{
  "software": {
    "uri": "https://www.graphlit.com",
    "name": "Graphlit Platform"
  }
}

Response:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
  "name": "Graphlit Platform"
}
Update Software

The updateSoftware mutation enables the updating of software by accepting the software name and other optional fields like uri.

Mutation:

mutation UpdateSoftware($software: SoftwareUpdateInput!) {
  updateSoftware(software: $software) {
    id
    name
  }
}

Variables:

{
  "software": {
    "uri": "https://www.graphlit.com",
    "description": "Graphlit is an API-first developer platform for building applications with LLMs",
    "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
    "name": "Graphlit Platform"
  }
}

Response:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
  "name": "Graphlit Platform"
}
Delete Software

The deleteSoftware mutation allows the deletion of software by utilizing the id parameter, and it returns the ID and state of the deleted software.

Mutation:

mutation DeleteSoftware($id: ID!) {
  deleteSoftware(id: $id) {
    id
    state
  }
}

Variables:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df"
}

Response:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
  "state": "DELETED"
}
Delete Multiple Software

The deleteSoftwares mutation allows the deletion of multiple software, as specified by the ids array parameter, and it returns the ID and state of the deleted software.

Mutation:

mutation DeleteSoftwares($ids: [ID!]!) {
  deleteSoftwares(ids: $ids) {
    id
    state
  }
}

Variables:

{
  "ids": [
    "39fcf408p-15ca-4cc2-9476-622d64aa38f3",
    "93476a0c-d567-4624-9d5e-df43dfff92ea"
  ]
}

Response:

[
  {
    "id": "93476a0c-d567-4624-9d5e-df43dfff92ea",
    "state": "DELETED"
  },
  {
    "id": "39fcf408-15ca-4cc2-9476-622d64aa38f3",
    "state": "DELETED"
  }
]
Get Software

The software query allows you to retrieve specific details of software by providing the id parameter.

Query:

query GetSoftware($id: ID!) {
  software(id: $id) {
    id
    name
  }
}

Variables:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df"
}

Response:

{
  "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
  "name": "Graphlit Platform"
}
Query Software

Query Software

The softwares query allows you to retrieve all software. It returns a list of software results, including the ID and name for each software.

Query:

query QuerySoftware($filter: SoftwareFilter!) {
  softwares(filter: $filter) {
    results {
      id
      name
    }
  }
}

Variables:

{
  "filter": {
    "offset": 0,
    "limit": 100
  }
}

Response:

{
  "results": [
    {
      "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
      "name": "Graphlit Platform"
    }
  ]
}

Query Software By Name

The softwares query allows you to retrieve software based on a specific filter criteria, via the name parameter. In this example, the name is set to "Graphlit." It returns a list of software results containing the ID and name for each matching software.

Query:

query QuerySoftware($filter: SoftwareFilter!) {
  softwares(filter: $filter) {
    results {
      id
      name
    }
  }
}

Variables:

{
  "filter": {
    "name": "Graphlit",
    "offset": 0,
    "limit": 100
  }
}

Response:

{
  "results": [
    {
      "id": "c88a51fc-0cb1-4821-9b3c-2a3a5b7e72df",
      "name": "Graphlit Platform"
    }
  ]
}

Last updated