Lära sig använda GraphQL med AEM - exempelinnehåll och frågor learn-graphql-with-aem-sample-content-queries
Lär dig använda GraphQL med AEM så att du kan leverera innehåll utan problem genom att utforska exempelinnehåll och frågor.
Om du vill komma igång med GraphQL-frågor och hur de fungerar med AEM innehållsfragment kan det vara bra att se några praktiska exempel.
Mer information finns i:
-
Och några exempel på GraphQL-frågor som baseras på innehållsfragmentstrukturen (Content Fragment Models och relaterade innehållsfragment).
GraphQL - Exempelfrågor med strukturen för exempelinnehållsfragment graphql-sample-queries-sample-content-fragment-structure
I de här exempelfrågorna finns illustrationer av hur du skapar frågor, tillsammans med exempelresultat.
- Verktyg > Allmänt > GraphQL Query Editor
- direkt, till exempel
http://localhost:4502/aem/graphiql.html
Exempelfråga - Alla tillgängliga scheman och datatyper sample-all-schemes-datatypes
Returnerar alla types
för alla tillgängliga scheman.
Exempelfråga
{
__schema {
types {
name
description
}
}
}
Exempelresultat
{
"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"
}
]
}
}
}
Exempelfråga - All information om alla städer sample-all-information-all-cities
Om du vill hämta all information om alla städer kan du använda följande grundläggande fråga:
Exempelfråga
{
cityList {
items
}
}
Vid körning utökas frågan automatiskt så att den omfattar alla fält:
{
cityList {
items {
_path
name
country
population
}
}
}
Exempelresultat
{
"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
}
]
}
}
}
Exempelfråga - namn på alla städer sample-names-all-cities
En enkel fråga som returnerar name
för alla poster i city
schemat.
Exempelfråga
query {
cityList {
items {
name
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"name": "Basel"
},
{
"name": "Berlin"
},
{
"name": "Bucharest"
},
{
"name": "San Francisco"
},
{
"name": "San Jose"
},
{
"name": "Stuttgart"
},
{
"name": "Zurich"
}
]
}
}
}
Exempelfråga - Ett enskilt specifikt stadsfragment sample-single-specific-city-fragment
En fråga som returnerar information om en enskild fragmentpost på en viss plats i databasen.
Exempelfråga
{
cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
item {
_path
name
country
population
categories
}
}
}
Exempelresultat
{
"data": {
"cityByPath": {
"item": {
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
}
}
}
Exempelfråga - Alla städer med en namngiven variant sample-cities-named-variation
Om du skapar en variant med namnet"Berlin Center" (berlin_centre
) för city
Berlin kan du använda en fråga för att returnera information om variationen.
Exempelfråga
{
cityList (variation: "berlin_center") {
items {
_path
name
country
population
categories
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
]
}
}
}
Exempelfråga - namn på alla städer som taggats som stadbrytningar sample-names-all-cities-tagged-city-breaks
Om du:
- skapa olika taggar med namnet
Tourism
:Business
,City Break
,Holiday
- och tilldela dem till mallvarianten av olika
City
instanser
Sedan kan du använda en fråga för att returnera information om name
och tags
för alla poster som är taggade som City Breaks i city
schemat.
Exempelfråga
query {
cityList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "tourism:city-break", _operator: CONTAINS}]}}
){
items {
name,
_tags
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"name": "Berlin",
"_tags": [
"tourism:city-break",
"tourism:business"
]
},
{
"name": "Zurich",
"_tags": [
"tourism:city-break",
"tourism:business"
]
}
]
}
}
}
Exempelfråga - Fullständig information om företagets VD och anställda sample-full-details-company-ceos-employees
Med hjälp av strukturen för kapslade fragment returnerar den här frågan alla detaljer för ett företags VD och alla dess anställda.
Exempelfråga
query {
companyList {
items {
name
ceo {
_path
name
firstName
awards {
id
title
}
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Exempelresultat
{
"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": []
}
]
}
]
}
}
}
Exempelfråga - Alla personer som har namnet "Jobs" eller "Smith" sample-all-persons-jobs-smith
En fråga som filtrerar alla persons
för alla som har namnet Jobs
eller Smith
.
Exempelfråga
query {
personList(filter: {
name: {
_logOp: OR
_expressions: [
{
value: "Jobs"
},
{
value: "Smith"
}
]
}
}) {
items {
name
firstName
}
}
}
Exempelresultat
{
"data": {
"personList": {
"items": [
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Jobs",
"firstName": "Steve"
}
]
}
}
}
Exempelfråga - Alla personer som inte har namnet "Jobs" sample-all-persons-not-jobs
En fråga som filtrerar alla persons
för alla som har namnet Jobs
eller Smith
.
Exempelfråga
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
Exempelresultat
{
"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"
}
]
}
}
}
Exempelfråga - Alla annonser vars _path
börjar med ett visst prefix sample-wknd-all-adventures-cycling-path-filter
Alla adventures
där _path
börjar med ett visst prefix (/content/dam/wknd/en/adventures/cycling
).
Exempelfråga
query {
adventureList(
filter: {
_path: {
_expressions: [
{
value: "/content/dam/wknd/en/adventures/cycling"
_operator: STARTS_WITH
}]
}
})
{
items {
_path
}
}
}
Exempelresultat
{
"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"
}
]
}
}
}
Exempelfråga - Alla städer i Tyskland eller Schweiz med en befolkning på mellan 400000 och 99999 sample-all-cities-d-ch-population
Här filtreras en kombination av fält. En AND
(implicit) används för att markera population
intervallet, medan en OR
(explicit) används för att välja de önskade städerna.
Exempelfråga
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
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"name": "Stuttgart",
"population": 634830,
"country": "Germany"
},
{
"name": "Zurich",
"population": 415367,
"country": "Switzerland"
}
]
}
}
}
Exempelfråga - Alla städer med SAN i namnet, oavsett fall sample-all-cities-san-ignore-case
Den här frågan frågar efter alla städer som har SAN
i namnet, oavsett skiftläge.
Exempelfråga
query {
cityList(filter: {
name: {
_expressions: [
{
value: "SAN"
_operator: CONTAINS
_ignoreCase: true
}
]
}
}) {
items {
name
population
country
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA"
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA"
}
]
}
}
}
Exempelfråga - Filtrera en array med ett objekt som måste förekomma minst en gång sample-array-item-occur-at-least-once
Den här frågan filtrerar på en array med ett objekt (city:na
) som måste förekomma minst en gång.
Exempelfråga
query {
cityList(filter: {
categories: {
_expressions: [
{
value: "city:na"
_apply: AT_LEAST_ONCE
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Exempelresultat
{
"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"
]
}
]
}
}
}
Exempelfråga - Filtrera på ett exakt arrayvärde sample-array-exact-value
Den här frågan filtrerar på ett exakt arrayvärde.
Exempelfråga
query {
cityList(filter: {
categories: {
_expressions: [
{
values: [
"city:beach",
"city:na"
]
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Exempelresultat
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
}
]
}
}
}
Exempelfråga för kapslade innehållsfragment - Alla företag som har minst en anställd med namnet "Smith" sample-companies-employee-smith
Den här frågan visar filtrering för person
av name
"Smith", vilket returnerar information från två kapslade fragment - company
och employee
.
Exempelfråga
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Exempelresultat
{
"data": {
"companyList": {
"items": [
{
"name": "NextStep Inc.",
"ceo": {
"name": "Jobs",
"firstName": "Steve"
},
"employees": [
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Lincoln",
"firstName": "Abraham"
}
]
}
]
}
}
}
Exempelfråga för kapslade innehållsfragment - Alla företag där alla anställda har vunnit utmärkelsen"Gamestar" sample-all-companies-employee-gamestar-award
Den här frågan visar filtrering över tre kapslade fragment - company
, employee
och award
.
Exempelfråga
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
}
}
}
}
}
Exempelresultat
{
"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"
}
]
}
]
}
]
}
}
}
Exempelfråga för metadata - Ange metadata för utmärkelserna med namnet GB sample-metadata-awards-gb
Den här frågan visar filtrering över tre kapslade fragment - company
, employee
och award
.
Exempelfråga
query {
awardList(filter: {
id: {
_expressions: [
{
value:"GB"
}
]
}
}) {
items {
_metadata {
stringMetadata {
name,
value
}
}
id
title
}
}
}
Exempelresultat
{
"data": {
"awardList": {
"items": [
{
"_metadata": {
"stringMetadata": [
{
"name": "title",
"value": "Gameblitz Award"
},
{
"name": "description",
"value": ""
}
]
},
"id": "GB",
"title": "Gameblitz"
}
]
}
}
}
Exempelfrågor med WKND-projektet sample-queries-using-wknd-project
Dessa exempelfrågor är baserade på WKND-projektet. Den har följande:
-
Content Fragment Models available under:
http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd
-
Innehållsfragment (och annat innehåll) tillgängliga under:
http://<hostname>:<port>/assets.html/content/dam/wknd/en
http://<hostname>:<port>/assets.html/content/dam/wknd-shared/en
Exempelfråga för alla innehållsfragment i en viss modell med de angivna egenskaperna sample-wknd-all-model-properties
Detta exempel på frågor intervjuar:
- för alla innehållsfragment av typen
article
- med
_path
och egenskaperna förauthorFragment
.
Exempelfråga
{
articleList {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
}
}
}
Exempelfråga för metadata sample-wknd-metadata
Den här frågan förhör:
- för alla innehållsfragment av typen
adventure
- metadata
Exempelfråga
{
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
}
}
}
}
}
Exempelfråga för ett enstaka innehållsfragment av en given modell sample-wknd-single-content-fragment-of-given-model
Detta exempel på frågor intervjuar:
-
för ett enstaka innehållsfragment av typen
article
vid en specifik sökväg-
inom det fragmentet, alla innehållsformat:
- HTML
- Markering
- Oformaterad text
- JSON
-
Exempelfråga
{
articleByPath(_path: "/content/dam/wknd-shared/en/magazine/alaska-adventure/alaskan-adventures") {
item {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Exempelfråga för en innehållsfragmentmodell från en modell sample-wknd-content-fragment-model-from-model
Detta exempel på frågor intervjuar:
- för ett enda innehållsfragment
- information om den underliggande modellen för innehållsfragment
Exempelfråga
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Exempelfråga för ett kapslat innehållsfragment - typ av en modell sample-wknd-nested-fragment-single-model
Den här frågan förhör:
- för ett enstaka innehållsfragment av typen
article
vid en specifik sökväg- inom det fragmentet, sökvägen och författaren till det refererade (kapslade) fragmentet
referencearticle
har datatypen fragment-reference
.Exempelfråga
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Exempelfråga för ett kapslat innehållsfragment - flera modelltyper sample-wknd-nested-fragment-multiple-model
En refererad modelltyp
Den här frågan förhör:
- för flera innehållsfragment av typen
bookmark
- med fragmentreferenser till andra fragment av den specifika modelltypen
Article
- med fragmentreferenser till andra fragment av den specifika modelltypen
fragments
har datatypen fragment-reference
, med modellen Article
markerad. Frågan levererar fragments
som en matris av [Article]
.{
bookmarkList {
items {
fragments {
_path
author
}
}
}
}
Flera refererade modelltyper
Den här frågan förhör:
- för flera innehållsfragment av typen
bookmark
- med fragmentreferenser till andra fragment av de specifika modelltyperna
Article
ochAdventure
- med fragmentreferenser till andra fragment av de specifika modelltyperna
fragments
har datatypen fragment-reference
, med modellerna Article
, Adventure
markerad. Frågan levererar fragments
som en matris av [AllFragmentModels]
, som är avrefererad med unionstypen.{
bookmarkList {
items {
fragments {
... on ArticleModel {
_path
author
}
... on AdventureModel {
_path
adventureTitle
}
}
}
}
}
Exempelfråga för ett innehållsfragment för en viss modell med innehållsreferenser sample-wknd-fragment-specific-model-content-reference
Det finns två varianter av den här frågan:
- Returnera alla innehållsreferenser.
- Returnerar de specifika innehållsreferenserna av typen
attachments
.
De här frågorna förhör:
- för flera innehållsfragment av typen
bookmark
- med Innehållsreferenser till andra fragment
Exempelfråga för flera innehållsfragment med förhämtade referenser sample-wknd-multiple-fragments-prefetched-references
Följande fråga returnerar alla innehållsreferenser med hjälp av _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
}
}
}
Exempelfråga för flera innehållsfragment med bifogade filer sample-wknd-multiple-fragments-attachments
Följande fråga returnerar alla attachments
- ett specifikt fält (undergrupp) av typen content-reference
:
attachments
har datatypen content-reference
, med olika formulär markerade.{
bookmarkList {
items {
attachments {
... on PageRef {
_path
type
}
... on ImageRef {
_path
width
}
... on MultimediaRef {
_path
size
}
... on DocumentRef {
_path
author
}
... on ArchiveRef {
_path
format
}
}
}
}
}
Exempelfrågor för ett innehållsfragment för en viss modell med hjälp av UUID-referenser sample-wknd-fragment-specific-model-uuid-references
De här frågorna förhör:
- UUID för ett innehållsfragment och för refererade innehållsfragment eller resurser
- resultatet returneras via JSON-egenskapen
_id
Exempelfråga för ett innehållsfragment för en viss modell med hjälp av en UUID-referens sample-wknd-fragment-specific-model-using-a-uuid-reference
Följande fråga returnerar alla innehållsreferenser med hjälp av _id
och _path
:
{
articleList {
items {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Exempelfråga för innehållsfragment efter UUID-referens sample-wknd-fragment-specific-model-by-uuid-reference
Följande fråga returnerar alla innehållsreferenser som är relaterade till en specifik _id
:
{
articleById(_id: "3ce2bf53-7436-4d3e-b19a-2793bc2ca63e") {
item {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Exempelfråga för ett enskilt innehållsfragment med intern referens för textredigering sample-wknd-single-fragment-rte-inline-reference
Den här frågan förhör:
- för ett enstaka innehållsfragment av typen
bookmark
vid en specifik sökväg- i det, textbundna RTE-referenser
_references
.Exempelfråga
{
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
}
}
}
}
Exempelfråga för en enstaka variant av innehållsfragment av en given modell sample-wknd-single-fragment-given-model
Den här frågan förhör:
- för ett enstaka innehållsfragment av typen
author
vid en specifik sökväg- inom det fragmentet, data relaterade till variationen:
another
- inom det fragmentet, data relaterade till variationen:
Exempelfråga
{
authorByPath(_path: "/content/dam/wknd-shared/en/contributors/ian-provo", variation: "another") {
item {
_path
_variation
firstName
lastName
birthDay
}
}
}
Exempelfråga för en namngiven variant av flera innehållsfragment i en given modell sample-wknd-variation-multiple-fragment-given-model
Den här frågan förhör:
- för innehållsfragment av typen
author
med en specifik variant:another
Exempelfråga
{
authorList(variation: "another") {
items {
_path
_variation
firstName
lastName
birthDay
}
}
}
Exempelfråga för flera innehållsfragment, och deras variationer, för en given modell sample-wknd-multiple-fragment-variations-given-model
Den här frågan förhör:
- för innehållsfragment av typen
article
och alla variationer
Exempelfråga
query {
articleList(
includeVariations: true ){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Exempelfråga för innehållsfragmentvariationer för en viss modell som har en specifik tagg bifogad sample-wknd-fragment-variations-given-model-specific-tag
Den här frågan förhör:
- för innehållsfragment av typen
article
med en eller flera variationer med taggenWKND : Activity / Hiking
Exempelfråga
{
articleList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "wknd:activity/hiking", _operator: CONTAINS}]}}
){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Exempelfråga för flera innehållsfragment för en viss språkinställning sample-wknd-multiple-fragments-given-locale
Den här frågan förhör:
- för innehållsfragment av typen
article
i språkinställningenfr
Exempelfråga
{
articleList(_locale: "fr") {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Samplingslistefråga med förskjutning och begränsning sample-list-offset-limit
Den här frågan förhör:
- för sidan med resultat som innehåller upp till fem artiklar, från den femte artikeln i resultatlistan complete
Exempelfråga
{
articleList(offset: 5, limit: 5) {
items {
authorFragment {
_path
firstName
lastName
birthDay
}
_path
}
}
}
Exempelsidnumreringsfråga som använder första och efter sample-pagination-first-after
Den här frågan förhör:
- för sidan med resultat som innehåller upp till fem äventyr, med början från markörobjektet i resultatlistan complete
Exempelfråga
{
adventurePaginated(first: 5, after: "ODg1MmMyMmEtZTAzMy00MTNjLThiMzMtZGQyMzY5ZTNjN2M1") {
edges {
cursor
node {
title
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
Exempelfråga med filtrering efter _tagg-ID och utan variationer sample-filtering-tag-not-variations
Den här frågan förhör:
- för innehållsfragment av typen
vehicle
med taggenbig-block
- utom variationer
Exempelfråga
query {
vehicleList(
filter: {
_tags: {
_expressions: [
{
value: "vehicles:big-block"
_operator: CONTAINS
}
]
}
}) {
items {
_variation
_path
type
name
model
fuel
_tags
}
}
}
Exempelfråga med filtrering efter _tagg-ID och inklusive variationer sample-filtering-tag-with-variations
Den här frågan förhör:
- för innehållsfragment av typen
vehicle
med taggenbig-block
- inklusive variationer
Exempelfråga
{
enginePaginated(after: "SjkKNmVkODFmMGQtNTQyYy00NmQ4LTljMzktMjhlNzQwZTY1YWI2Cmo5", first: 9 ,includeVariations:true, sort: "name",
filter: {
_tags: {
_expressions: [
{
value: "vehicles:big-block"
_operator: CONTAINS
}
]
}
}) {
edges{
node {
_variation
_path
name
type
size
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
cursor
}
}
}
Exempelfrågor för DAM och Dynamic Media Assets sample-queries-delivery-DAM-DM
För webboptimerad bildleverans (av DAM-resurser):
För leverans av URL:en till en Dynamic Media-resurs
Exempel på struktur för innehållsfragment (används med GraphQL) content-fragment-structure-graphql
Exempelfrågorna baseras på följande struktur som använder:
-
En eller flera modeller för exempelinnehållsfragment - utgör grunden för GraphQL-scheman
-
Exempelinnehållsfragment baserat på modellerna ovan
Exempel på modeller för innehållsfragment (scheman) sample-content-fragment-models-schemas
För exempelfrågorna använder du följande innehållsmodeller och deras inbördes relationer (referenser ->):
-
Företag
-> Person
-> Utmärkelse
Företag model-company
De grundläggande fälten som definierar företaget är:
Person model-person
Fälten som definierar en person, som också kan vara en medarbetare:
Utmärkelse model-award
Fälten som definierar en utmärkelse är:
Ort model-city
Fälten för att definiera en stad är:
Exempel på innehållsfragment sample-content-fragments
Följande fragment används för rätt modell.
Företag fragment-company
Max Caulfield
Cutter Slade
Abe Lincoln
Person fragment-person
Gamestar
Utmärkelse fragment-award
Ort fragment-city
stad:emea
stad:emea
city:na
stad:emea