Persons
Create, manage and query Persons.
Overview
Persons (people) entities describe a living, deceased or fictional person, as defined by Schema.org. Persons are specified by their name, or optionally their given (first) and family (last) names. They can optionally contain an email address, as well.
Persons are not unique by name, across the Graphlit project, but if an email address is specified, they are unique by email address.
Operations
Create Person
The createPerson
mutation enables the creation of a person by accepting the person name
. It returns essential details, including the ID and name of the newly generated person.
Mutation:
mutation CreatePerson($person: PersonInput!) {
createPerson(person: $person) {
id
name
}
}
Variables:
{
"person": {
"email": "kirk.marple@gmail.com",
"givenName": "Kirk",
"familyName": "Marple",
"name": "Kirk Marple"
}
}
Response:
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
Update Person
The updatePerson
mutation enables the updating of a person by accepting the person name
.
Mutation:
mutation UpdatePerson($person: PersonUpdateInput!) {
updatePerson(person: $person) {
id
name
}
}
Variables:
{
"person": {
"email": "kirk@unstruk.com",
"givenName": "Kirk",
"familyName": "Marple",
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
}
Response:
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
Delete Person
The deletePerson
mutation allows the deletion of a person by utilizing the id
parameter, and it returns the ID and state of the deleted person.
Mutation:
mutation DeletePerson($id: ID!) {
deletePerson(id: $id) {
id
state
}
}
Variables:
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573"
}
Response:
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"state": "DELETED"
}
Delete Persons
The deletePersons
mutation allows the deletion of multiple persons, as specified by the ids
array parameter, and it returns the ID and state of the deleted persons.
Mutation:
mutation DeletePersons($ids: [ID!]!) {
deletePersons(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 Person
The person
query allows you to retrieve specific details of a person by providing the id
parameter.
Query:
query GetPerson($id: ID!) {
person(id: $id) {
id
name
email
givenName
familyName
}
}
Variables:
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573"
}
Response:
{
"email": "kirk@unstruk.com",
"givenName": "Kirk",
"familyName": "Marple",
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
Query Persons
Query Persons
The persons
query allows you to retrieve all persons. It returns a list of person results, including the ID and name for each person.
Query:
query QueryPersons($filter: PersonFilter!) {
persons(filter: $filter) {
results {
id
name
}
}
}
Variables:
{
"filter": {
"offset": 0,
"limit": 100
}
}
Response:
{
"results": [
{
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
]
}
Query Persons By Name
The persons
query allows you to retrieve persons based on a specific filter criteria, via the name
parameter. In this example, the name
is set to "Kirk". It returns a list of person results containing the ID, names and email for each matching person.
Query:
query QueryPersons($filter: PersonFilter!) {
persons(filter: $filter) {
results {
id
name
email
givenName
familyName
}
}
}
Variables:
{
"filter": {
"name": "Kirk",
"offset": 0,
"limit": 100
}
}
Response:
{
"results": [
{
"email": "kirk@unstruk.com",
"givenName": "Kirk",
"familyName": "Marple",
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
]
}
Query Persons By Email
The persons
query allows you to retrieve persons based on a specific filter criteria, via the email
parameter. In this example, the email
is set to "unstruk.com", and will find any emails with that domain. It returns a list of person results containing the ID, names and email for each matching person.
Query:
query QueryPersons($filter: PersonFilter!) {
persons(filter: $filter) {
results {
id
name
email
givenName
familyName
}
}
}
Variables:
{
"filter": {
"email": "unstruk.com",
"offset": 0,
"limit": 100
}
}
Response:
{
"results": [
{
"email": "kirk@unstruk.com",
"givenName": "Kirk",
"familyName": "Marple",
"id": "d1fb910f-4902-44ce-95b9-1e23d85e7573",
"name": "Kirk Marple"
}
]
}
Last updated