BreedersDB

Beispiel-Abfragen

⚠️ Wichtig: Lies zuerst die API Einführung, bevor du die Beispiele hier ausprobierst.

Dieser Abschnitt zeigt verschiedene Beispiel-Abfragen für die BreedersDB GraphQL-API. Du kannst diese Abfragen im GraphQL Explorer testen oder in deinen eigenen Programmen verwenden.

Alle hier gezeigten Abfragen sind Queries (Leseoperationen).

Inhalt

Attributierungen abrufen

Siehe auch API Einführung.

Attributierungen Basic

Ruft Attributierungen inkl. ausgewählter Eigenschaften verknüpfter Objekte ab:

query AttributionsQuery {
  cached_attributions(limit: 1000, offset: 0, order_by: [{ id: asc }]) {
    id
    attribute_id
    attribute_name
    date_attributed
    data_type
    boolean_value
    date_value
    float_value
    integer_value
    text_value
    plant_id
    plant {
      id
      label_id
    }
    plant_group_id
    plant_group {
      id
      display_name
    }
    cultivar_id
    cultivar {
      id
      display_name
    }
    lot_id
    lot {
      id
      display_name
    }
    photo_note
    text_note
    attribute_type
    exceptional_attribution
    author
    attribution_form {
      name
      id
    }
    created
    modified
  }
}

Attributierungen aus dem Jahr 2025

query AttributionsQuery {
  cached_attributions(
    limit: 1000
    offset: 0
    order_by: [{ id: asc }]
    where: {
      _and: [
        { date_attributed: { _gte: "2025-01-01" } }
        { date_attributed: { _lte: "2025-12-31" } }
      ]
    }
  ) {
    id
    attribute_id
    attribute_name
    date_attributed
    data_type
    boolean_value
    date_value
    float_value
    integer_value
    text_value
    plant_id
    plant {
      id
      label_id
    }
    plant_group_id
    plant_group {
      id
      display_name
    }
    cultivar_id
    cultivar {
      id
      display_name
    }
    lot_id
    lot {
      id
      display_name
    }
    photo_note
    text_note
    attribute_type
    exceptional_attribution
    author
    attribution_form {
      name
      id
    }
    created
    modified
  }
}

Attributierungen an Pflanzen (ohne Gruppen, Cultivare, Lose)

query AttributionsQuery {
  cached_attributions(
    limit: 1000
    offset: 0
    order_by: [{ id: asc }]
    where: { plant_id: { _is_null: false } }
  ) {
    id
    attribute_id
    attribute_name
    date_attributed
    data_type
    boolean_value
    date_value
    float_value
    integer_value
    text_value
    plant_id
    plant {
      id
      label_id
    }
    plant_group_id
    plant_group {
      id
      display_name
    }
    cultivar_id
    cultivar {
      id
      display_name
    }
    lot_id
    lot {
      id
      display_name
    }
    photo_note
    text_note
    attribute_type
    exceptional_attribution
    author
    attribution_form {
      name
      id
    }
    created
    modified
  }
}

Pflanzen abrufen

Pflanzen Basic

query PlantsQuery {
  plants(limit: 1000, offset: 0, order_by: [{ id: asc }]) {
    id
    label_id
    plant_group {
      id
      display_name
    }
    distance_plant_row_start
    serial_in_plant_row
    plant_row {
      id
      name
      orchard {
        id
        name
      }
    }
    date_grafted
    grafting {
      name
      id
    }
    rootstock {
      id
      name
    }
    date_labeled
    date_planted
    disabled
    date_eliminated
    note
    created
    modified
  }
}

Pflanzen einer bestimmten Reihe

query PlantsQuery {
  plants(
    limit: 1000
    offset: 0
    order_by: [{ id: asc }]
    where: { plant_row: { name: { _eq: "Zeile 1" } } }
  ) {
    id
    label_id
    plant_group {
      id
      display_name
    }
    distance_plant_row_start
    serial_in_plant_row
    plant_row {
      id
      name
      orchard {
        id
        name
      }
    }
    date_grafted
    grafting {
      name
      id
    }
    rootstock {
      id
      name
    }
    date_labeled
    date_planted
    disabled
    date_eliminated
    note
    created
    modified
  }
}

Pflanzen aller Reihen, die mit “M” beginnen

query PlantsQuery {
  plants(
    limit: 1000
    offset: 0
    order_by: [{ id: asc }]
    where: { plant_row: { name: { _like: "M%" } } }
  ) {
    id
    label_id
    plant_group {
      id
      display_name
    }
    distance_plant_row_start
    serial_in_plant_row
    plant_row {
      id
      name
      orchard {
        id
        name
      }
    }
    date_grafted
    grafting {
      name
      id
    }
    rootstock {
      id
      name
    }
    date_labeled
    date_planted
    disabled
    date_eliminated
    note
    created
    modified
  }
}

Tipps für eigene Abfragen

  • Beginne einfach: Starte mit einer einfachen Abfrage und füge nach und nach weitere Felder hinzu
  • Nutze den Schema-Explorer: Im GraphQL Explorer kannst du alle verfügbaren Felder und Typen durchsuchen
  • Verwende Variablen: Für wiederverwendbare Abfragen sind Variablen sehr nützlich
  • Teste im Explorer: Nutze den GraphQL Explorer, um deine Abfragen zu testen, bevor du sie in deinen Programmen verwendest
  • Pagination: Nutze limit und offset und order_by zum Aufteilen grosser Datenmengen in Seiten
  • Filter kombinieren: Du kannst mehrere Filter in einer where-Klausel kombinieren
  • Verschachtelte Abfragen: Nutze verschachtelte Felder, um verwandte Daten in einer Abfrage abzurufen

Weitere Ressourcen