GraphQL leren gebruiken met AEM - Voorbeeldinhoud en query's learn-graphql-with-aem-sample-content-queries
Leer hoe u GraphQL met AEM kunt gebruiken om inhoud zonder problemen te bedienen door voorbeeldinhoud en query's te verkennen.
Om aan de slag te gaan met GraphQL query's en hoe ze werken met AEM Content Fragments, is het nuttig om enkele praktische voorbeelden te zien.
Zie voor hulp bij dit:
-
En sommige vragen van de steekproefGraphQL, die op de structuur van het het fragmentfragment van de steekproefinhoud (de Modellen van het Fragment van de Inhoud en verwante Fragments van de Inhoud) wordt gebaseerd.
GraphQL - Voorbeeldquery's met de structuur van het voorbeeldinhoudsfragment graphql-sample-queries-sample-content-fragment-structure
Zie deze steekproefvragen voor illustraties van creeer vragen, samen met steekproefresultaten.
http://localhost:4502/content/graphiql.html
Voorbeeldquery - Alle beschikbare schema's en datatypen sample-all-schemes-datatypes
Deze voorbeeldquery retourneert alle types
voor alle beschikbare schema's.
de Vraag van de Steekproef
{
__schema {
types {
name
description
}
}
}
Resultaat van de Steekproef
{
"data": {
"__schema": {
"types": [
{
"name": "AdventureModel",
"description": null
},
{
"name": "AdventureModelArrayFilter",
"description": null
},
{
"name": "AdventureModelFilter",
"description": null
},
{
"name": "AdventureModelResult",
"description": null
},
{
"name": "AdventureModelResults",
"description": null
},
{
"name": "AllFragmentModels",
"description": null
},
{
"name": "ArchiveRef",
"description": null
},
{
"name": "ArrayMode",
"description": null
},
{
"name": "ArticleModel",
"description": null
},
...more results...
{
"name": "__EnumValue",
"description": null
},
{
"name": "__Field",
"description": null
},
{
"name": "__InputValue",
"description": null
},
{
"name": "__Schema",
"description": "A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations."
},
{
"name": "__Type",
"description": null
},
{
"name": "__TypeKind",
"description": "An enum describing what kind of type a given __Type is"
}
]
}
}
}
Voorbeeldquery - Alle informatie over alle steden sample-all-information-all-cities
Om alle informatie over alle steden terug te winnen, kunt u de basisvraag gebruiken:
de Vraag van de Steekproef
{
cityList {
items
}
}
Bij uitvoering wordt de query automatisch uitgebreid met alle velden:
{
cityList {
items {
_path
name
country
population
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/basel",
"name": "Basel",
"country": "Switzerland",
"population": 172258
},
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491
},
{
"_path": "/content/dam/sample-content-fragments/cities/bucharest",
"name": "Bucharest",
"country": "Romania",
"population": 1821000
},
{
"_path": "/content/dam/sample-content-fragments/cities/san-francisco",
"name": "San Francisco",
"country": "USA",
"population": 883306
},
{
"_path": "/content/dam/sample-content-fragments/cities/san-jose",
"name": "San Jose",
"country": "USA",
"population": 1026350
},
{
"_path": "/content/dam/sample-content-fragments/cities/stuttgart",
"name": "Stuttgart",
"country": "Germany",
"population": 634830
},
{
"_path": "/content/dam/sample-content-fragments/cities/zurich",
"name": "Zurich",
"country": "Switzerland",
"population": 415367
}
]
}
}
}
Voorbeeldquery - Namen van alle steden sample-names-all-cities
Deze steekproefvraag is een ongecompliceerde vraag om name
van alle ingangen in het city
schema terug te keren.
de Vraag van de Steekproef
query {
cityList {
items {
name
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "Basel"
},
{
"name": "Berlin"
},
{
"name": "Bucharest"
},
{
"name": "San Francisco"
},
{
"name": "San Jose"
},
{
"name": "Stuttgart"
},
{
"name": "Zurich"
}
]
}
}
}
Voorbeeldquery - één specifiek stedenfragment sample-single-specific-city-fragment
Deze voorbeeldquery is een query om de details van één fragmentitem te retourneren op een specifieke locatie in de opslagplaats.
de Vraag van de Steekproef
{
cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
item {
_path
name
country
population
categories
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityByPath": {
"item": {
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
}
}
}
Voorbeeldquery - Alle steden met een benoemde variatie sample-cities-named-variation
Als u een variatie genoemd "Centrum van Berlijn"(berlin_centre
) creeert, voor city
Berlijn, kunt u een vraag gebruiken om details van de variatie terug te keren.
de Vraag van de Steekproef
{
cityList (variation: "berlin_center") {
items {
_path
name
country
population
categories
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
]
}
}
}
Voorbeeldquery - Namen van alle steden die zijn getagd als stadseinden sample-names-all-cities-tagged-city-breaks
Als u:
- verschillende tags maken met de naam
Tourism
:Business
,City Break
,Holiday
- en wijs deze tags toe aan de Master-variatie van verschillende
City
-varianten
Dan kunt u een vraag gebruiken om details van name
en tags
van alle ingangen terug te keren die als Onderbreking van de Stad in het city
schema worden geëtiketteerd.
de Vraag van de Steekproef
query {
cityList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "tourism:city-break", _operator: CONTAINS}]}}
){
items {
name,
_tags
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "Berlin",
"_tags": [
"tourism:city-break",
"tourism:business"
]
},
{
"name": "Zurich",
"_tags": [
"tourism:city-break",
"tourism:business"
]
}
]
}
}
}
Voorbeeldquery - Volledige details van de CEO en medewerkers van een bedrijf sample-full-details-company-ceos-employees
Gebruikend de structuur van de genestelde fragmenten, keert deze vraag de volledige details van CEO van een bedrijf en al zijn werknemers terug.
de Vraag van de Steekproef
query {
companyList {
items {
name
ceo {
_path
name
firstName
awards {
id
title
}
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Resultaten van de Steekproef
{
"data": {
"companyList": {
"items": [
{
"name": "Apple Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
"name": "Jobs",
"firstName": "Steve",
"awards": []
},
"employees": [
{
"name": "Marsh",
"firstName": "Duke",
"awards": []
},
{
"name": "Caulfield",
"firstName": "Max",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
}
]
}
]
},
{
"name": "Little Pony, Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/adam-smith",
"name": "Smith",
"firstName": "Adam",
"awards": []
},
"employees": [
{
"name": "Croft",
"firstName": "Lara",
"awards": [
{
"id": "GS",
"title": "Gamestar"
}
]
},
{
"name": "Slade",
"firstName": "Cutter",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
},
{
"id": "GS",
"title": "Gamestar"
}
]
}
]
},
{
"name": "NextStep Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
"name": "Jobs",
"firstName": "Steve",
"awards": []
},
"employees": [
{
"name": "Smith",
"firstName": "Joe",
"awards": []
},
{
"name": "Lincoln",
"firstName": "Abraham",
"awards": []
}
]
}
]
}
}
}
Voorbeeldquery - Alle personen met de naam "Jobs" of "Smith" sample-all-persons-jobs-smith
Deze voorbeeldquery filtert alle persons
voor alle bestanden met de naam Jobs
of Smith
.
de Vraag van de Steekproef
query {
personList(filter: {
name: {
_logOp: OR
_expressions: [
{
value: "Jobs"
},
{
value: "Smith"
}
]
}
}) {
items {
name
firstName
}
}
}
Resultaten van de Steekproef
{
"data": {
"personList": {
"items": [
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Jobs",
"firstName": "Steve"
}
]
}
}
}
Voorbeeldquery - Alle personen die geen naam hebben van "Taken" sample-all-persons-not-jobs
Deze voorbeeldquery filtert alle persons
voor alle bestanden met de naam Jobs
of Smith
.
de Vraag van de Steekproef
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
Resultaten van de Steekproef
{
"data": {
"personList": {
"items": [
{
"name": "Lincoln",
"firstName": "Abraham"
},
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Slade",
"firstName": "Cutter"
},
{
"name": "Marsh",
"firstName": "Duke"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Croft",
"firstName": "Lara"
},
{
"name": "Caulfield",
"firstName": "Max"
}
]
}
}
}
Voorbeeldquery - Alle avonturen waarvan _path
begint met een bepaald voorvoegsel sample-wknd-all-adventures-cycling-path-filter
Alle adventures
waarbij _path
begint met een specifiek voorvoegsel (/content/dam/wknd/en/adventures/cycling
).
de Vraag van de Steekproef
query {
adventureList(
filter: {
_path: {
_expressions: [
{
value: "/content/dam/wknd/en/adventures/cycling"
_operator: STARTS_WITH
}]
}
})
{
items {
_path
}
}
}
Resultaten van de Steekproef
{
"data": {
"adventureList": {
"items": [
{
"_path": "/content/dam/wknd/en/adventures/cycling-southern-utah/cycling-southern-utah"
},
{
"_path": "/content/dam/wknd/en/adventures/cycling-tuscany/cycling-tuscany"
}
]
}
}
}
Voorbeeldquery - Alle steden in Duitsland of Zwitserland met een bevolking van 400000 tot en met 999999 sample-all-cities-d-ch-population
Hier wordt een combinatie van velden gefilterd. AND
(impliciet) wordt gebruikt om de population
waaier te selecteren, terwijl OR
(uitdrukkelijk) wordt gebruikt om de vereiste steden te selecteren.
de Vraag van de Steekproef
query {
cityList(filter: {
population: {
_expressions: [
{
value: 400000
_operator: GREATER_EQUAL
}, {
value: 1000000
_operator: LOWER
}
]
},
country: {
_logOp: OR
_expressions: [
{
value: "Germany"
}, {
value: "Switzerland"
}
]
}
}) {
items {
name
population
country
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "Stuttgart",
"population": 634830,
"country": "Germany"
},
{
"name": "Zurich",
"population": 415367,
"country": "Switzerland"
}
]
}
}
}
Voorbeeldquery - Alle steden met SAN in naam, ongeacht het geval sample-all-cities-san-ignore-case
Deze zoekopdracht wordt uitgevoerd voor alle steden die SAN
in de naam hebben, ongeacht het geval.
de Vraag van de Steekproef
query {
cityList(filter: {
name: {
_expressions: [
{
value: "SAN"
_operator: CONTAINS
_ignoreCase: true
}
]
}
}) {
items {
name
population
country
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA"
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA"
}
]
}
}
}
Voorbeeldquery - Filter op een array met een item dat minstens één keer moet voorkomen sample-array-item-occur-at-least-once
Deze vraagfilters op een serie met een punt (city:na
) dat minstens eens moet voorkomen.
de Vraag van de Steekproef
query {
cityList(filter: {
categories: {
_expressions: [
{
value: "city:na"
_apply: AT_LEAST_ONCE
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA",
"categories": [
"city:na"
]
}
]
}
}
}
Voorbeeldquery - Filter op een exacte arraywaarde sample-array-exact-value
Deze query filtert op een exacte arraywaarde.
de Vraag van de Steekproef
query {
cityList(filter: {
categories: {
_expressions: [
{
values: [
"city:beach",
"city:na"
]
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Resultaten van de Steekproef
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
}
]
}
}
}
Voorbeeldquery voor geneste inhoudsfragmenten - Alle bedrijven met ten minste één werknemer met de naam "Smith" sample-companies-employee-smith
Deze query illustreert het filteren op een person
van name
"Smith", waarbij informatie wordt geretourneerd uit twee geneste fragmenten - company
en employee
.
de Vraag van de Steekproef
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Resultaten van de Steekproef
{
"data": {
"companyList": {
"items": [
{
"name": "NextStep Inc.",
"ceo": {
"name": "Jobs",
"firstName": "Steve"
},
"employees": [
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Lincoln",
"firstName": "Abraham"
}
]
}
]
}
}
}
Voorbeeldquery voor geneste inhoudsfragmenten - Alle bedrijven waar alle werknemers de "Gamestar"-prijs hebben gewonnen sample-all-companies-employee-gamestar-award
Deze query illustreert het filteren op drie geneste fragmenten - company
, employee
en award
.
de Vraag van de Steekproef
query {
companyList(filter: {
employees: {
_apply: ALL
_match: {
awards: {
_match: {
id: {
_expressions: [
{
value: "GS"
_operator:EQUALS
}
]
}
}
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Resultaten van de Steekproef
{
"data": {
"companyList": {
"items": [
{
"name": "Little Pony, Inc.",
"ceo": {
"name": "Smith",
"firstName": "Adam"
},
"employees": [
{
"name": "Croft",
"firstName": "Lara",
"awards": [
{
"id": "GS",
"title": "Gamestar"
}
]
},
{
"name": "Slade",
"firstName": "Cutter",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
},
{
"id": "GS",
"title": "Gamestar"
}
]
}
]
}
]
}
}
}
Voorbeeldquery voor metagegevens - Lijst met metagegevens voor onderscheidingen: GB sample-metadata-awards-gb
Deze query illustreert het filteren op drie geneste fragmenten - company
, employee
en award
.
de Vraag van de Steekproef
query {
awardList(filter: {
id: {
_expressions: [
{
value:"GB"
}
]
}
}) {
items {
_metadata {
stringMetadata {
name,
value
}
}
id
title
}
}
}
Resultaten van de Steekproef
{
"data": {
"awardList": {
"items": [
{
"_metadata": {
"stringMetadata": [
{
"name": "title",
"value": "Gameblitz Award"
},
{
"name": "description",
"value": ""
}
]
},
"id": "GB",
"title": "Gameblitz"
}
]
}
}
}
Voorbeeldquery's met het WKND-project sample-queries-using-wknd-project
Deze steekproefvragen zijn gebaseerd op het project WKND. Het heeft het volgende:
-
Modellen voor inhoudsfragmenten zijn beschikbaar onder:
http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd
-
Inhoudsfragmenten (en andere inhoud) beschikbaar onder:
http://<hostname>:<port>/assets.html/content/dam/wknd/en
Voorbeeldquery voor alle inhoudsfragmenten van een bepaald model met de opgegeven eigenschappen sample-wknd-all-model-properties
Met deze voorbeeldquery wordt het volgende gevraagd:
- voor alle inhoudsfragmenten van het type
article
- met de eigenschappen
path
enauthor
.
de Vraag van de Steekproef
{
articleList {
items {
_path
author
}
}
}
Voorbeeldquery voor metagegevens sample-wknd-metadata
Deze query vraagt om:
- voor alle inhoudsfragmenten van het type
adventure
- metagegevens
de Vraag van de Steekproef
{
adventureList {
items {
_path,
_metadata {
stringMetadata {
name,
value
}
stringArrayMetadata {
name,
value
}
intMetadata {
name,
value
}
intArrayMetadata {
name,
value
}
floatMetadata {
name,
value
}
floatArrayMetadata {
name,
value
}
booleanMetadata {
name,
value
}
booleanArrayMetadata {
name,
value
}
calendarMetadata {
name,
value
}
calendarArrayMetadata {
name,
value
}
}
}
}
}
Voorbeeldquery voor één inhoudsfragment van een bepaald model sample-wknd-single-content-fragment-of-given-model
Met deze voorbeeldquery wordt het volgende gevraagd:
-
voor één inhoudsfragment van tekst
article
op een specifiek pad-
in dat pad, alle indelingen van inhoud:
- HTML
- Markering
- Onbewerkte tekst
- JSON
-
de Vraag van de Steekproef
{
articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures") {
item {
_path
author
main {
html
markdown
plaintext
json
}
}
}
}
Voorbeeldquery voor een inhoudsfragmentmodel op basis van een model sample-wknd-content-fragment-model-from-model
Met deze voorbeeldquery wordt het volgende gevraagd:
- voor één inhoudsfragment
- details van het onderliggende inhoudsfragmentmodel
de Vraag van de Steekproef
{
adventureByPath(_path: "/content/dam/wknd/en/adventures/riverside-camping-australia/riverside-camping-australia") {
item {
_path
adventureTitle
_model {
_path
title
}
}
}
}
Voorbeeldquery voor een geneste inhoudsfragment - Type model sample-wknd-nested-fragment-single-model
Deze query vraagt om:
- voor één inhoudsfragment van tekst
article
op een specifiek pad- binnen dat pad, het pad en de auteur van het fragment waarnaar wordt verwezen (genest)
referencearticle
heeft het gegevenstype fragment-reference
.de Vraag van de Steekproef
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Voorbeeldquery voor een geneste inhoudsfragment - Meerdere modeltypen sample-wknd-nested-fragment-multiple-model
Type model waarnaar wordt verwezen
Deze query vraagt om:
- voor meerdere inhoudsfragmenten van het type
bookmark
- met fragmentverwijzingen naar andere fragmenten van het specifieke modeltype
Article
- met fragmentverwijzingen naar andere fragmenten van het specifieke modeltype
fragments
heeft het gegevenstype Data fragment-reference
en het model Article
is geselecteerd. Query levert fragments
als een array van [Article]
.{
bookmarkList {
items {
fragments {
_path
author
}
}
}
}
Meerdere modeltypen waarnaar wordt verwezen
Deze query vraagt om:
- voor meerdere inhoudsfragmenten van het type
bookmark
- met fragmentverwijzingen naar andere fragmenten van de specifieke modeltypen
Article
enAdventure
- met fragmentverwijzingen naar andere fragmenten van de specifieke modeltypen
fragments
heeft het gegevenstype fragment-reference
, met de modellen Article
en Adventure
geselecteerd. Query levert fragments
als een array van [AllFragmentModels]
, die wordt verwijderd met het samenvoegingstype.{
bookmarkList {
items {
fragments {
... on ArticleModel {
_path
author
}
... on AdventureModel {
_path
adventureTitle
}
}
}
}
}
Voorbeeldquery voor een inhoudsfragment van een specifiek model met inhoudsverwijzingen sample-wknd-fragment-specific-model-content-reference
Deze query heeft twee voordelen:
- Alle inhoudsverwijzingen retourneren.
- De specifieke inhoudsverwijzingen van het type
attachments
retourneren.
Deze vragen worden ondervraagd:
- voor meerdere inhoudsfragmenten van het type
bookmark
- met Content Reference to other fragments
Voorbeeldquery voor meerdere inhoudfragmenten met vooraf ingestelde verwijzingen sample-wknd-multiple-fragments-prefetched-references
Met de volgende query worden alle inhoudsverwijzingen geretourneerd met _references
:
{
bookmarkList {
_references {
... on ImageRef {
_path
type
height
}
... on MultimediaRef {
_path
type
size
}
... on DocumentRef {
_path
type
author
}
... on ArchiveRef {
_path
type
format
}
}
items {
_path
}
}
}
Voorbeeldquery voor meerdere inhoudsfragmenten met bijlagen sample-wknd-multiple-fragments-attachments
Met de volgende query worden alle attachments
- een specifiek veld (subgroep) van het type content-reference
geretourneerd:
attachments
heeft het gegevenstype content-reference
, met verschillende formulieren geselecteerd.{
bookmarkList {
items {
attachments {
... on PageRef {
_path
type
}
... on ImageRef {
_path
width
}
... on MultimediaRef {
_path
size
}
... on DocumentRef {
_path
author
}
... on ArchiveRef {
_path
format
}
}
}
}
}
Voorbeeldquery voor één inhoudsfragment met RTE Inline-verwijzing sample-wknd-single-fragment-rte-inline-reference
Deze query vraagt om:
- voor één inhoudsfragment van tekst
bookmark
op een specifiek pad- binnen dat, de gealigneerde verwijzingen van RTE
_references
.de Vraag van de Steekproef
{
bookmarkByPath(_path: "/content/dam/wknd/en/bookmarks/skitouring") {
item {
_path
description {
json
}
}
_references {
... on ArticleModel {
_path
}
... on AdventureModel {
_path
}
... on ImageRef {
_path
}
... on MultimediaRef {
_path
}
... on DocumentRef {
_path
}
... on ArchiveRef {
_path
}
}
}
}
Voorbeeldquery voor één variatie van inhoudsfragment van een bepaald model sample-wknd-single-fragment-given-model
Deze query vraagt om:
- voor één inhoudsfragment van tekst
article
op een specifiek pad- binnen dat pad, de gegevens met betrekking tot de variatie:
variation1
- binnen dat pad, de gegevens met betrekking tot de variatie:
de Vraag van de Steekproef
{
articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures", variation: "variation1") {
item {
_path
author
main {
html
markdown
plaintext
json
}
}
}
}
Voorbeeldquery voor een benoemde variatie van meerdere inhoudsfragmenten van een bepaald model sample-wknd-variation-multiple-fragment-given-model
Deze query vraagt om:
- voor inhoudfragmenten van het type
article
met een specifieke variatie:variation1
de Vraag van de Steekproef
{
articleList (variation: "variation1") {
items {
_path
author
main {
html
markdown
plaintext
json
}
}
}
}
Voorbeeldquery voor meerdere inhoudsfragmenten en de bijbehorende variaties van een bepaald model sample-wknd-multiple-fragment-variations-given-model
Deze query vraagt om:
- voor inhoudfragmenten van het type
article
en alle variaties
de Vraag van de Steekproef
query {
articleList(
includeVariations: true ){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Voorbeeldquery voor variaties van inhoudsfragmenten van een bepaald model waaraan een specifieke tag is gekoppeld sample-wknd-fragment-variations-given-model-specific-tag
Deze query vraagt om:
- voor Inhoudsfragmenten van het type
article
met een of meer variaties met het labelWKND : Activity / Hiking
de Vraag van de Steekproef
{
articleList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "wknd:activity/hiking", _operator: CONTAINS}]}}
){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Voorbeeldquery voor meerdere inhoudsfragmenten van een bepaalde landinstelling sample-wknd-multiple-fragments-given-locale
Deze query vraagt om:
- voor tekstfragmenten met inhoud
article
binnen de landinstellingfr
de Vraag van de Steekproef
{
articleList (_locale: "fr") {
items {
_path
author
main {
html
markdown
plaintext
json
}
}
}
}
De structuur voor het voorbeeldinhoudfragment (wordt gebruikt met GraphQL) content-fragment-structure-graphql
De steekproefvragen zijn gebaseerd op de volgende structuur, die gebruikt:
-
Één, of meer, Modellen van het Fragment van de Inhoud van de Steekproef- vorm de basis voor de schema's van GraphQL
-
de Fragmenten van de Inhoud van de Steekproefdie op de bovengenoemde modellen worden gebaseerd
Voorbeeld van modellen van inhoudsfragmenten (schema's) sample-content-fragment-models-schemas
Voor de steekproefvragen, gebruik de volgende Modellen van Inhoud en hun onderlinge verhoudingen (verwijzingen ->):
-
Bedrijf
-> Persoon
-> Uitreiking
Bedrijf model-company
De basisvelden voor het bedrijf zijn:
Persoon model-person
De velden waarin een persoon wordt gedefinieerd, die ook een werknemer kan zijn:
Uitreiking model-award
De velden waarin een onderscheiding wordt gedefinieerd, zijn:
Plaats model-city
De velden voor het definiëren van een stad zijn:
Voorbeeldinhoudsfragmenten sample-content-fragments
De volgende fragmenten worden gebruikt voor het juiste model.
Bedrijf fragment-company
Max Caulfield
Uitsnijdschaal
Abe Lincoln
Persoon fragment-person
Gamestar
Uitreiking fragment-award
Plaats fragment-city
stad:emea
stad:emea
stad:na
stad:emea