Lära sig använda GraphQL med AEM - exempelinnehåll och frågor learn-graphql-with-aem-sample-content-queries

Lär dig hur du använder GraphQL med AEM för att 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:

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.

NOTE
Beroende på din instans kan du komma åt GraphiQL-gränssnittet ingår i AEM GraphQL API för att skicka och testa frågor.
Till exempel: http://localhost:4502/content/graphiql.html

Exempelfråga - Alla tillgängliga scheman och datatyper sample-all-schemes-datatypes

Den här exempelfrågan returnerar alla types för alla tillgängliga scheman.

Exempelfråga

{
  __schema {
    types {
      name
      description
    }
  }
}

Provresultat

{
  "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 den grundläggande frågan:
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

Den här exempelfrågan är en enkel fråga som returnerar nameav alla poster i cityschema.

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

Den här exempelfrågan är 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 som heter "Berlin Center" (berlin_centre), för city I 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, namngivna Tourism : Business, City Break, Holiday
  • och tilldela dessa taggar till mallvarianten av olika City instanser

Sedan kan du använda en fråga för att returnera information om name och tagsav alla poster som är taggade som Citybrytningar i cityschema.

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

Det här exempelfrågan filtrerar alla persons för alla som har ett namn Jobseller 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

Det här exempelfrågan filtrerar alla persons för alla som har ett namn Jobseller 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 40000 och 99999 sample-all-cities-d-ch-population

Här filtreras en kombination av fält. An AND (implicit) används för att välja populationomfång, medan OR (explicit) används för att välja önskade städer.

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 en array med ett objekt (city:na) som måste inträffa 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 alla person av name "Smith", returnera 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, employeeoch 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, employeeoch 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

NOTE
Eftersom resultaten kan bli omfattande återges de inte här.

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 pathoch author egenskaper.

Exempelfråga

{
  articleList {
    items {
      _path
      author
    }
  }
}

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 enda innehållsfragment av typen article vid en viss sökväg

    • inom den sökvägen, alla innehållsformat:

      • HTML
      • Markering
      • Oformaterad text
      • JSON

Exempelfråga

{
  articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures") {
    item {
        _path
        author
        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/en/adventures/riverside-camping-australia/riverside-camping-australia") {
    item {
      _path
      adventureTitle
      _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 enda innehållsfragment av typen article vid en viss sökväg
    • inom den sökvägen, sökvägen och författaren till det refererade (kapslade) fragmentet
NOTE
Fältet 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
NOTE
Fältet fragments har datatypen fragment-reference, med modellen Article markerat. Frågeleveranser fragments som en array med [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 och Adventure
NOTE
Fältet fragments har datatypen fragment-reference, med modellerna Article, Adventure markerat. Frågeleveranser fragments som en array med [AllFragmentModels], som är avrefererad med unionstyp.
{
  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:

  1. Returnera alla innehållsreferenser.
  2. Returnera 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 genom att använda _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:

NOTE
Fältet 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å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 enda innehållsfragment av typen bookmark vid en viss sökväg
    • i det, textbundna RTE-referenser
NOTE
De textbundna RTE-referenserna är hydratiserade i _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 enda innehållsfragment av typen article vid en viss sökväg
    • inom den banan, de data som avser variationen: variation1

Exempelfråga

{
  articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures", variation: "variation1") {
    item {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

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 article med en specifik variation: variation1

Exempelfråga

{
  articleList (variation: "variation1") {
    items {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

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 som har taggen WKND : 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 inom fr locale

Exempelfråga

{
  articleList (_locale: "fr") {
    items {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

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:

Exempel på modeller för innehållsfragment (scheman) sample-content-fragment-models-schemas

Använd följande innehållsmodeller och deras inbördes relationer (referenser ->) för exempelfrågorna:

Företag model-company

De grundläggande fälten som definierar företaget är:

Fältnamn
Datatyp
Referens
Företagsnamn
Enkelradig text
VD
Fragmentreferens (enkel)
Person
Anställda
Fragmentreferens (multifält)
Person

Person model-person

Fälten som definierar en person, som också kan vara en medarbetare:

Fältnamn
Datatyp
Referens
Namn
Enkelradig text
Förnamn
Enkelradig text
Utmärkelser
Fragmentreferens (multifält)
Utmärkelse

Utmärkelse model-award

Fälten som definierar en utmärkelse är:

Fältnamn
Datatyp
Referens
Genväg/ID
Enkelradig text
Titel
Enkelradig text

Ort model-city

Fälten för att definiera en stad är:

Fältnamn
Datatyp
Referens
Namn
Enkelradig text
Land
Enkelradig text
Population
Nummer
Kategorier
Taggar

Exempel på innehållsfragment sample-content-fragments

Följande fragment används för rätt modell.

Företag fragment-company

Företagsnamn
VD
Anställda
Apple
Steve Jobs
Duke Marsh
Max. textfält
Little Pony Inc.
Adam Smith
Lara Croft
Cutter Slade
NextStep Inc.
Steve Jobs
Joe Smith
Abe Lincoln

Person fragment-person

Namn
Förnamn
Utmärkelser
Lincoln
Adobe
Smith
Adam
Slade
Rensare
Gameblitz
Gamestar
Marmor
Duke
Smith
Joe
Beskär
Lara
Gamestar
Caulfield
Max
Gameblitz
Jobb
Steve

Utmärkelse fragment-award

Genväg/ID
Titel
GB
Gameblitz
GS
Gamestar
OSC
Oscar

Ort fragment-city

Namn
Land
Population
Kategorier
Basel
Schweiz
172258
stad:emea
Berlin
Tyskland
3669491
stad:huvudstad
stad:emea
Bucharest
Rumänien
1821000
stad:huvudstad
stad:emea
San Francisco
USA
883306
stad:strand
stad:na
San Jose
USA
102635
stad:na
Stuttgart
Tyskland
634830
stad:emea
Zürich
Schweiz
415367
stad:huvudstad
stad:emea
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2