Verwenden von GraphQL mit AEM – Beispielinhalt und Abfragen learn-graphql-with-aem-sample-content-queries
Erfahren Sie, wie Sie GraphQL mit AEM verwenden, um Inhalte „headless“ bereitzustellen, indem Sie Beispielinhalte und Abfragen untersuchen.
Um mit GraphQL-Abfragen zu beginnen und zu sehen, wie sie mit AEM-Inhaltsfragmenten funktionieren, ist es hilfreich, einige praktische Beispiele zu betrachten.
Sehen Sie dazu:
- 
                  
Und einige GraphQL-Beispielabfragen, die auf der Beispiel-Inhaltsfragmentstruktur basieren (Inhaltsfragmentmodelle und verwandte Inhaltsfragmente).
 
GraphQL – Beispielabfragen unter Verwendung der Beispielstruktur für Inhaltsfragmente graphql-sample-queries-sample-content-fragment-structure
In diesen Beispielabfragen wird das Erstellen von Abfragen zusammen mit Beispielergebnissen veranschaulicht.
- Tools > Allgemein > GraphQL-Abfrage-Editor
 - direkt, zum Beispiel: 
http://localhost:4502/aem/graphiql.html 
Beispielabfrage – Alle verfügbaren Schemata und Datentypen sample-all-schemes-datatypes
Sie gibt alle types für alle verfügbaren Schemata zurück.
Beispielabfrage
{
  __schema {
    types {
      name
      description
    }
  }
}
            Beispielergebnis
{
  "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"
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Informationen zu allen Städten sample-all-information-all-cities
Um alle Informationen zu allen Städten abzurufen, können Sie die grundlegende Abfrage verwenden:
Beispielabfrage
{
  cityList {
    items
  }
}
            Wenn die Abfrage ausgeführt wird, erweitert das System sie automatisch, um alle Felder einzuschließen:
{
  cityList {
    items {
      _path
      name
      country
      population
    }
  }
}
            Beispielergebnisse
{
  "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
        }
      ]
    }
  }
}
            Beispielabfrage – Namen aller Städte sample-names-all-cities
Eine unkomplizierte Abfrage, um den namealler Einträge im city-Schema zurückzugeben.
Beispielabfrage
query {
  cityList {
    items {
      name
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "Basel"
        },
        {
          "name": "Berlin"
        },
        {
          "name": "Bucharest"
        },
        {
          "name": "San Francisco"
        },
        {
          "name": "San Jose"
        },
        {
          "name": "Stuttgart"
        },
        {
          "name": "Zurich"
        }
      ]
    }
  }
}
            Beispielabfrage – ein Einzelstadtfragment sample-single-specific-city-fragment
Eine Abfrage, um die Details eines einzelnen Fragmenteintrags an einem bestimmten Speicherort im Repository zurückzugeben.
Beispielabfrage
{
  cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
    item {
      _path
      name
      country
      population
     categories
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityByPath": {
      "item": {
        "_path": "/content/dam/sample-content-fragments/cities/berlin",
        "name": "Berlin",
        "country": "Germany",
        "population": 3669491,
        "categories": [
          "city:capital",
          "city:emea"
        ]
      }
    }
  }
}
            Beispielabfrage – alle Städte mit einer gegebenen Variante sample-cities-named-variation
Wenn Sie eine Variante mit dem Namen „Berlin Centre“ (berlin_centre) für city Berlin erstellen, können Sie eine Abfrage verwenden, um Details zur Variante zurückzugeben.
Beispielabfrage
{
  cityList (variation: "berlin_center") {
    items {
      _path
      name
      country
      population
      categories
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "_path": "/content/dam/sample-content-fragments/cities/berlin",
          "name": "Berlin",
          "country": "Germany",
          "population": 3669491,
          "categories": [
            "city:capital",
            "city:emea"
          ]
        }
      ]
    }
  }
}
            Beispielabfrage – Namen aller Städte, die als Städtereisen markiert sind sample-names-all-cities-tagged-city-breaks
Wenn Sie:
- eine Vielzahl von Tags namens 
Tourismerstellen:Business,City Break,Holiday - und sie der übergeordneten Variante verschiedener 
City-Instanzen zuweisen 
Dann können Sie eine Abfrage verwenden, um Details zu name und tags aller Einträge mit dem Tag „Städtereisen“ im Schema city herauszugeben.
Beispielabfrage
query {
  cityList(
    includeVariations: true,
    filter: {_tags: {_expressions: [{value: "tourism:city-break", _operator: CONTAINS}]}}
  ){
    items {
      name,
      _tags
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "Berlin",
          "_tags": [
            "tourism:city-break",
            "tourism:business"
          ]
        },
        {
          "name": "Zurich",
          "_tags": [
            "tourism:city-break",
            "tourism:business"
          ]
        }
      ]
    }
  }
}
            Beispielabfrage – Vollständige Details des CEO und der Mitarbeiter einer Firma sample-full-details-company-ceos-employees
Unter Verwendung der Struktur der verschachtelten Fragmente gibt diese Abfrage die vollständigen Details des CEO eines Unternehmens und aller seiner Mitarbeiter zurück.
Beispielabfrage
query {
  companyList {
    items {
      name
      ceo {
        _path
        name
        firstName
        awards {
        id
          title
        }
      }
      employees {
       name
        firstName
       awards {
         id
          title
        }
      }
    }
  }
}
            Beispielergebnisse
{
  "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": []
            }
          ]
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Personen mit dem Namen „Jobs“ oder „Smith“ sample-all-persons-jobs-smith
Eine Abfrage, die alle persons nach denen filtert, die den Namen Jobs oder Smith haben.
Beispielabfrage
query {
  personList(filter: {
    name: {
      _logOp: OR
      _expressions: [
        {
          value: "Jobs"
        },
        {
          value: "Smith"
        }
      ]
    }
  }) {
    items {
      name
      firstName
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "personList": {
      "items": [
        {
          "name": "Smith",
          "firstName": "Adam"
        },
        {
          "name": "Smith",
          "firstName": "Joe"
        },
        {
          "name": "Jobs",
          "firstName": "Steve"
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Personen, die nicht den Namen „Jobs“ haben sample-all-persons-not-jobs
Eine Abfrage, die alle persons nach denen filtert, die den Namen Jobs oder Smith haben.
Beispielabfrage
query {
  personList(filter: {
    name: {
      _expressions: [
        {
          value: "Jobs"
          _operator: EQUALS_NOT
        }
      ]
    }
  }) {
    items {
      name
      firstName
    }
  }
}
            Beispielergebnisse
{
  "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"
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Abenteuer, deren _path mit einem bestimmten Präfix beginnt sample-wknd-all-adventures-cycling-path-filter
        Alle adventures, bei denen _path mit einem bestimmten Präfix (/content/dam/wknd/en/adventures/cycling) beginnt.
Beispielabfrage
query {
  adventureList(
    filter: {
      _path: {
        _expressions: [
        {
          value: "/content/dam/wknd/en/adventures/cycling"
         _operator: STARTS_WITH
        }]
       }
    })
    {
    items {
      _path
    }
  }
}
            Beispielergebnisse
{
  "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"
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Städte in Deutschland oder der Schweiz mit einer Einwohnerzahl zwischen 400.000 und 999.999 sample-all-cities-d-ch-population
Hier wird nach einer Kombination von Feldern gefiltert. Ein AND (implizit) wird verwendet, um den population-Bereich auszuwählen, während ein OR (explizit) zur Auswahl der erforderlichen Städte verwendet wird.
Beispielabfrage
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
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "Stuttgart",
          "population": 634830,
          "country": "Germany"
        },
        {
          "name": "Zurich",
          "population": 415367,
          "country": "Switzerland"
        }
      ]
    }
  }
}
            Beispielabfrage – Alle Städte mit SAN im Namen, unabhängig von der Groß-/Kleinschreibung sample-all-cities-san-ignore-case
Diese Abfrage durchsucht alle Städte mit SAN im Namen, unabhängig von der Groß-/Kleinschreibung.
Beispielabfrage
query {
  cityList(filter: {
    name: {
      _expressions: [
        {
          value: "SAN"
          _operator: CONTAINS
          _ignoreCase: true
        }
      ]
    }
  }) {
    items {
      name
      population
      country
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "San Francisco",
          "population": 883306,
          "country": "USA"
        },
        {
          "name": "San Jose",
          "population": 1026350,
          "country": "USA"
        }
      ]
    }
  }
}
            Beispielabfrage – Filtern eines Arrays nach einem Element, das mindestens einmal vorkommen muss sample-array-item-occur-at-least-once
Diese Abfrage filtert ein Array nach einem Element (city:na), das mindestens einmal vorkommen muss.
Beispielabfrage
query {
  cityList(filter: {
    categories: {
      _expressions: [
        {
          value: "city:na"
          _apply: AT_LEAST_ONCE
        }
      ]
    }
  }) {
    items {
      name
      population
      country
      categories
    }
  }
}
            Beispielergebnisse
{
  "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"
          ]
        }
      ]
    }
  }
}
            Beispielabfrage – Filtern nach einem exakten Array-Wert sample-array-exact-value
Diese Abfrage filtert nach einem exakten Array-Wert.
Beispielabfrage
query {
  cityList(filter: {
    categories: {
      _expressions: [
        {
          values: [
            "city:beach",
            "city:na"
          ]
        }
      ]
    }
  }) {
    items {
      name
      population
      country
      categories
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "San Francisco",
          "population": 883306,
          "country": "USA",
          "categories": [
            "city:beach",
            "city:na"
          ]
        }
      ]
    }
  }
}
            Beispielabfrage für verschachtelte Inhaltsfragmente – Alle Unternehmen mit mindestens einem Mitarbeiter mit dem Namen „Smith“ sample-companies-employee-smith
Diese Abfrage veranschaulicht die Filterung nach person von name „Smith“, wobei Informationen aus zwei verschachtelten Fragmenten – company und employee – zurückgegeben werden.
Beispielabfrage
query {
  companyList(filter: {
    employees: {
      _match: {
        name: {
          _expressions: [
            {
              value: "Smith"
            }
          ]
        }
      }
    }
  }) {
    items {
      name
      ceo {
        name
        firstName
      }
      employees {
        name
        firstName
      }
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "companyList": {
      "items": [
        {
          "name": "NextStep Inc.",
          "ceo": {
            "name": "Jobs",
            "firstName": "Steve"
          },
          "employees": [
            {
              "name": "Smith",
              "firstName": "Joe"
            },
            {
              "name": "Lincoln",
              "firstName": "Abraham"
            }
          ]
        }
      ]
    }
  }
}
            Beispielabfrage für verschachtelte Inhaltsfragmente – Alle Unternehmen, bei denen alle Mitarbeiter die Auszeichnung „Gamestar“ erhalten haben sample-all-companies-employee-gamestar-award
Diese Abfrage veranschaulicht die Filterung von drei verschachtelten Fragmenten – company, employee und award.
Beispielabfrage
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
        }
      }
    }
  }
}
            Beispielergebnisse
{
  "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"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
            Beispielabfrage für Metadaten – Liste der Metadaten für Auszeichnungen mit dem Titel „GB“ sample-metadata-awards-gb
Diese Abfrage veranschaulicht die Filterung von drei verschachtelten Fragmenten – company, employee und award.
Beispielabfrage
query {
  awardList(filter: {
      id: {
        _expressions: [
          {
            value:"GB"
          }
        ]
    }
  }) {
    items {
      _metadata {
        stringMetadata {
          name,
          value
        }
      }
      id
      title
    }
  }
}
            Beispielergebnisse
{
  "data": {
    "awardList": {
      "items": [
        {
          "_metadata": {
            "stringMetadata": [
              {
                "name": "title",
                "value": "Gameblitz Award"
              },
              {
                "name": "description",
                "value": ""
              }
            ]
          },
          "id": "GB",
          "title": "Gameblitz"
        }
      ]
    }
  }
}
            Beispielabfragen unter Verwendung des WKND-Projekts sample-queries-using-wknd-project
Diese Beispielabfragen basieren auf dem WKND-Projekt. Es umfasst Folgendes:
- 
                  
Inhaltsfragmentmodelle verfügbar unter:
http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd - 
                  
Inhaltsfragmente (und anderere Inhalte) verfügbar unter:
http://<hostname>:<port>/assets.html/content/dam/wknd/enhttp://<hostname>:<port>/assets.html/content/dam/wknd-shared/en 
Beispielabfrage für alle Inhaltsfragmente eines bestimmten Modells mit den angegebenen Eigenschaften sample-wknd-all-model-properties
Diese Beispielabfrage untersucht:
- Alle Inhaltsfragmente vom Typ 
article - mit 
_pathundauthorFragment-Eigenschaften. 
Beispielabfrage
{
  articleList {
    items {
      _path
      authorFragment {
        _path
        firstName
        lastName
        birthDay
      }
    }
 }
}
            Beispielabfrage für Metadaten sample-wknd-metadata
Diese Abfrage untersucht:
- Alle Inhaltsfragmente vom Typ 
adventure - Metadaten
 
Beispielabfrage
{
  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
        }
      }
    }
  }
}
            Beispielabfrage für ein einzelnes Inhaltsfragment eines bestimmten Modells sample-wknd-single-content-fragment-of-given-model
Diese Beispielabfrage untersucht:
- 
                  
Ein einzelnes Inhaltsfragment vom Typ
articlean einem bestimmten Pfad- 
                      
innerhalb des Fragments, alle Inhaltsformate:
- HTML
 - Markdown
 - Nur Text
 - JSON
 
 
 - 
                      
 
Beispielabfrage
{
  articleByPath(_path: "/content/dam/wknd-shared/en/magazine/alaska-adventure/alaskan-adventures") {
    item {
        _path
        authorFragment {
          _path
          firstName
          lastName
          birthDay
        }
        main {
          html
          markdown
          plaintext
          json
        }
    }
  }
}
            Beispielabfrage für ein Inhaltsfragmentmodell anhand eines Modells sample-wknd-content-fragment-model-from-model
Diese Beispielabfrage untersucht:
- Für ein einzelnes Inhaltsfragment
                  
- Details des zugrunde liegenden Inhaltsfragmentmodells
 
 
Beispielabfrage
{
  adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
    item {
      _path
      title
      _model {
        _path
        title
      }
    }
  }
}
            Beispielabfrage für ein verschachteltes Inhaltsfragment – Typ mit einem einzigen Modell sample-wknd-nested-fragment-single-model
Diese Abfrage untersucht:
- Ein einzelnes Inhaltsfragment vom Typ 
articlean einem bestimmten Pfad- innerhalb des Fragments, Pfad und Autorin bzw. Autor des referenzierten (verschachtelten) Fragments
 
 
referencearticle hat den Datentyp fragment-reference.Beispielabfrage
{
  adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
    item {
      _path
      title
      _model {
        _path
        title
      }
    }
  }
}
            Beispielabfrage für ein verschachteltes Inhaltsfragment – Typ mit mehreren Modellen sample-wknd-nested-fragment-multiple-model
Einzelner referenzierter Modelltyp
Diese Abfrage untersucht:
- Mehrere Inhaltsfragmente vom Typ 
bookmark- Mit Fragmentverweisen auf andere Fragmente des spezifischen Modelltyps 
Article 
 - Mit Fragmentverweisen auf andere Fragmente des spezifischen Modelltyps 
 
fragments hat den Datentyp fragment-reference, wobei das Modell Article ausgewählt wurde. Die Abfrage liefert fragments als ein Array von [Article].{
  bookmarkList {
    items {
        fragments {
          _path
          author
        }
     }
  }
}
            Mehrere referenzierte Modelltypen
Diese Abfrage untersucht:
- Mehrere Inhaltsfragmente vom Typ 
bookmark- Mit Fragmentreferenzen auf andere Fragmente der spezifischen Modelltypen 
ArticleundAdventure 
 - Mit Fragmentreferenzen auf andere Fragmente der spezifischen Modelltypen 
 
fragments hat den Datentyp fragment-reference, wobei die Modelle Article, Adventure ausgewählt sind. Die Abfrage liefert fragments als ein Array von [AllFragmentModels], das mit Vereinigungstyp dereferenziert wird.{
  bookmarkList {
    items {
        fragments {
          ... on ArticleModel {
            _path
            author
          }
          ... on AdventureModel {
            _path
            adventureTitle
          }
        }
     }
  }
}
            Beispielabfrage für ein Inhaltsfragment eines bestimmten Modells mit Inhaltsreferenzen sample-wknd-fragment-specific-model-content-reference
Es gibt zwei Varianten dieser Abfrage:
- Zurückgeben aller Inhaltsreferenzen.
 - Zurückgeben der spezifischen Inhaltsreferenzen vom Typ 
attachments. 
Diese Abfragen untersuchen:
- Mehrere Inhaltsfragmente vom Typ 
bookmark- Mit Inhaltsreferenzen auf andere Fragmente.
 
 
Beispielabfrage für mehrere Inhaltsfragmente mit vorab abgerufenen Verweisen sample-wknd-multiple-fragments-prefetched-references
Die folgende Abfrage gibt alle Inhaltsreferenzen mit _references zurück:
{
  bookmarkList {
     _references {
         ... on ImageRef {
          _path
          type
          height
        }
        ... on MultimediaRef {
          _path
          type
          size
        }
        ... on DocumentRef {
          _path
          type
          author
        }
        ... on ArchiveRef {
          _path
          type
          format
        }
    }
    items {
        _path
    }
  }
}
            Beispielabfrage für mehrere Inhaltsfragmente mit Anhängen sample-wknd-multiple-fragments-attachments
Die folgende Abfrage gibt alle attachments zurück – ein bestimmtes Feld (Untergruppe) vom Typ content-reference:
attachments hat den Datentyp content-reference, wobei verschiedene Formen ausgewählt sind.{
  bookmarkList {
    items {
      attachments {
        ... on PageRef {
          _path
          type
        }
        ... on ImageRef {
          _path
          width
        }
        ... on MultimediaRef {
          _path
          size
        }
        ... on DocumentRef {
          _path
          author
        }
        ... on ArchiveRef {
          _path
          format
        }
      }
    }
  }
}
            Beispielabfrage für ein Inhaltsfragment eines bestimmten Modells mit UUID-Referenzen sample-wknd-fragment-specific-model-uuid-references
Diese Abfragen untersuchen:
- die UUID für ein Inhaltsfragment und für referenzierte Inhaltsfragmente oder Assets;
 - das Ergebnis wird über die JSON-Eigenschaft 
_idzurückgegeben. 
Beispielabfrage für ein Inhaltsfragment eines bestimmten Modells mit einer UUID-Referenz sample-wknd-fragment-specific-model-using-a-uuid-reference
Die folgende Abfrage gibt alle Inhaltsreferenzen mit _id und _path zurück:
{
  articleList {
    items {
        _id
        _path
        title
        featuredImage {
          ... on ImageRef {
            _id
            _path
          }
        }
        authorFragment {
          firstName
          lastName
          profilePicture {
            ... on ImageRef {
              _id
              _path
            }
          }
        }
      }
  }
}
            Beispielabfrage für Inhaltsfragmente nach UUID-Referenz sample-wknd-fragment-specific-model-by-uuid-reference
Die folgende Abfrage gibt alle Inhaltsreferenzen zurück, die sich auf eine bestimmte _id beziehen:
{
  articleById(_id: "3ce2bf53-7436-4d3e-b19a-2793bc2ca63e") {
    item {
      _id
      _path
      title
      featuredImage {
        ... on ImageRef {
          _id
          _path
        }
      }
      authorFragment {
        firstName
        lastName
        profilePicture {
          ... on ImageRef {
            _id
            _path
          }
        }
      }
    }
  }
}
            Beispielabfrage für ein einzelnes Inhaltsfragment mit RTE-Inline-Verweis sample-wknd-single-fragment-rte-inline-reference
Diese Abfrage untersucht:
- Ein einzelnes Inhaltsfragment vom Typ 
bookmarkan einem bestimmten Pfad- Darin die RTE-Inline-Verweise
 
 
_references realisiert.Beispielabfrage
{
  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
      }
    }
  }
}
            Beispielabfrage für eine einzelne Variante eines Inhaltsfragments eines bestimmten Modells sample-wknd-single-fragment-given-model
Diese Abfrage untersucht:
- Ein einzelnes Inhaltsfragment vom Typ 
authoran einem bestimmten Pfad- innerhalb des Fragments, die Daten im Zusammenhang mit der Variante: 
another 
 - innerhalb des Fragments, die Daten im Zusammenhang mit der Variante: 
 
Beispielabfrage
{
  authorByPath(_path: "/content/dam/wknd-shared/en/contributors/ian-provo", variation: "another") {
    item {
        _path
        _variation
        firstName
        lastName
        birthDay
    }
  }
}
            Beispielabfrage für eine gegebene Variante mehrerer Inhaltsfragmente eines bestimmten Modells sample-wknd-variation-multiple-fragment-given-model
Diese Abfrage untersucht:
- Inhaltsfragmente vom Typ 
authormit einer bestimmten Variante:another 
Beispielabfrage
{
  authorList(variation: "another") {
    items {
        _path
        _variation
        firstName
        lastName
        birthDay
    }
  }
}
            Beispielabfrage für mehrere Inhaltsfragmente und deren Varianten eines bestimmten Modells sample-wknd-multiple-fragment-variations-given-model
Diese Abfrage untersucht:
- für Inhaltsfragmente vom Typ 
articleund alle Varianten 
Beispielabfrage
query {
  articleList(
    includeVariations: true  ){
    items {
      _variation
      _path
      _tags
      _metadata {
        stringArrayMetadata {
          name
          value
        }
      }
    }
  }
}
            Beispielabfrage für Inhaltsfragmentvarianten eines bestimmten Modells, an das ein bestimmtes Tag angehängt ist sample-wknd-fragment-variations-given-model-specific-tag
Diese Abfrage untersucht:
- für Inhaltsfragmente vom Typ 
articlemit einer oder mehreren Varianten mit dem TagWKND : Activity / Hiking 
Beispielabfrage
{
  articleList(
    includeVariations: true,
    filter: {_tags: {_expressions: [{value: "wknd:activity/hiking", _operator: CONTAINS}]}}
  ){
    items {
      _variation
      _path
      _tags
      _metadata {
        stringArrayMetadata {
          name
          value
        }
      }
    }
  }
}
            Beispielabfrage für mehrere Inhaltsfragmente eines bestimmten Gebietsschemas sample-wknd-multiple-fragments-given-locale
Diese Abfrage untersucht:
- Inhaltsfragmente vom Typ 
articleinnerhalb des Gebietsschemasfr 
Beispielabfrage
{
  articleList(_locale: "fr") {
    items {
      _path
      authorFragment {
        _path
        firstName
        lastName
        birthDay
      }
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}
            Beispiel für eine Listenabfrage unter Verwendung von „offset“ und „limit“ sample-list-offset-limit
Diese Abfrage fragt Folgendes ab:
- die Ergebnisseite mit bis zu fünf Artikeln, beginnend mit dem fünften Artikel aus der vollständigen Ergebnisliste
 
Beispielabfrage
{
   articleList(offset: 5, limit: 5) {
    items {
      authorFragment {
        _path
        firstName
        lastName
        birthDay
      }
      _path
    }
  }
}
            Beispielhafte Paginierungsabfrage mit „first“ und „after“ sample-pagination-first-after
Diese Abfrage fragt Folgendes ab:
- die Ergebnisseite mit bis zu fünf Abenteuern, beginnend mit dem angegebenen Cursor-Element in der vollständigen Ergebnisliste
 
Beispielabfrage
{
    adventurePaginated(first: 5, after: "ODg1MmMyMmEtZTAzMy00MTNjLThiMzMtZGQyMzY5ZTNjN2M1") {
        edges {
          cursor
          node {
            title
          }
        }
        pageInfo {
          endCursor
          hasNextPage
        }
    }
}
            Beispielabfrage mit Filterung nach _tags-ID und Ausschluss von Varianten sample-filtering-tag-not-variations
Diese Abfrage fragt Folgendes ab:
- für Inhaltsfragmente vom Typ 
vehiclemit dem Tagbig-block - ausschließlich Varianten
 
Beispielabfrage
query {
  vehicleList(
    filter: {
    _tags: {
      _expressions: [
        {
          value: "vehicles:big-block"
          _operator: CONTAINS
        }
      ]
    }
  }) {
    items {
      _variation
      _path
      type
      name
      model
      fuel
      _tags
    }
  }
}
            Beispielabfrage mit Filterung nach _tags-ID und Einschluss von Varianten sample-filtering-tag-with-variations
Diese Abfrage fragt Folgendes ab:
- für Inhaltsfragmente vom Typ 
vehiclemit dem Tagbig-block - einschließlich Varianten
 
Beispielabfrage
{
  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
    }
  }
}
            Beispielabfragen für die Bereitstellung von DAM- und Dynamic Media-Assets sample-queries-delivery-DAM-DM
Für die Web-optimierte Bildbereitstellung (von DAM-Assets):
Für die Bereitstellung der URL an ein Dynamic Media-Asset
Für die Bereitstellung von Remote-Assets, die nicht lokal in der aktuellen AEM-Instanz vorhanden sind, über den Inhaltsfragmenteditor.
Die Struktur des Beispielinhaltsfragments (verwendet mit GraphQL) content-fragment-structure-graphql
Die Abfragen basieren auf der folgenden Struktur, die Folgendes verwendet:
- 
                  
Ein oder mehrere Beispielmodelle für Inhaltsfragmente bilden die Grundlage für die GraphQL-Schemata
 - 
                  
Beispielinhaltsfragmente basierend auf den oben genannten Modellen
 
Beispielmodelle für Inhaltsfragmente (Schemata) sample-content-fragment-models-schemas
Für die Beispielabfragen verwenden Sie die folgenden Inhaltsmodelle und ihre Wechselbeziehungen (Verweise ->):
Unternehmen model-company
Die grundlegenden Felder, die das Unternehmen definieren, sind:
Person model-person
Die Felder, die eine Person definieren, die auch ein Mitarbeiter sein kann:
Auszeichnung model-award
Die Felder, die eine Auszeichnung definieren, sind:
Stadt model-city
Die Felder zur Definition einer Stadt sind:
Beispielinhaltsfragmente sample-content-fragments
Die folgenden Fragmente werden für das entsprechende Modell verwendet.
Unternehmen fragment-company
Max Caulfield
Cutter Slade
Abe Lincoln
Person fragment-person
Gamestar
Auszeichnung fragment-award
Stadt fragment-city
city:emea
city:emea
city:na
city:emea