Abfragen der Inhalte eines Wissensgraphen

Sie können eine Abfrage bei einem Wissensgraphen durchführen, um eine Teilmenge der im Graphen enthaltenen Entitäten und Beziehungen zu suchen und um zu ermitteln, wie verschiedene Entitäten miteinander verbunden sind. Beispiele:

  • Mithilfe eines Wissensgraphen, der die Ausbreitung einer Infektionskrankheit darstellt, können Sie mit Menschen und Tieren arbeiten, die durch eine beliebige Beziehung mit einer bestimmten Einrichtung verknüpft sind.
  • Mithilfe eines Wissensgraphen, der eine Lieferkette in der Fertigung darstellt, können Sie mit allen Inhalten arbeiten, die mit einem bestimmten Teil, einschließlich Lieferanten, Liefermethoden, Lagern usw., verknüpft sind.
  • Mithilfe eines Wissensgraphen, der eine Organisation darstellt, können Sie mit Geräten eines bestimmten Typs arbeiten und deren Eigenschaften, einschließlich der Namen der zuständigen Mitarbeiter, auflisten.

Indem Sie eine Abfrage bei einem Wissensgraphen durchführen, können Sie die Teilmenge der Entitäten und Beziehungen oder deren Eigenschaften identifizieren. Verwenden Sie die Abfragesprache openCypher zum Schreiben von openCypher-Abfragen, um zugehörige Entitäten und ihre Eigenschaften zu ermitteln, und arbeiten Sie mit diesem eingeschränkten Informationssatz im Wissensgraphen, in einer Karte oder einem Verbindungsdiagramm.

Schreiben einer openCypher-Abfrage

openCypher-Abfragen sind für Graph-Datenbanken das, was SQL-Abfragen für relationale Datenbanken sind. Ein einfaches Beispiel wäre ein Graph, der die Produkte und die Produktionseinrichtungen eines Unternehmens beschreibt. Das Automobilunternehmen verfügt über Einrichtungen, die als Entitäten durch die Variable f identifiziert sind. Die vom Unternehmen produzierten Fahrzeugmodelle sind als Entitäten durch die Variable m gekennzeichnet, und es gibt eine Beziehung "HasModel" zwischen der Einrichtung und den von ihr produzierten Modellen mit der Variablen hm.

  • Um die ersten zehn Entitäten des Typs "Model" zu finden, können Sie eine Abfrage wie die folgende verwenden: MATCH (m:Model) RETURN m LIMIT 10.
  • Um festzustellen, welche Modelle mit welchen Einrichtungen verknüpft sind, können Sie die Entitäten über die Beziehung "HasModel" mit einer Abfrage wie der folgenden abgleichen: MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m.
  • Ihre Abfrage kann zusätzlich zum Anzeigenamen oder anstelle des Anzeigenamens bestimmte Eigenschaften einer Entität oder Beziehung zurückgeben. Um beispielsweise sowohl das Fahrzeugmodell als auch die Eigenschaft "Category" des Modells zurückzugeben, könnten Sie die folgende Abfrage verwenden: MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m,m.category.

In einem von Amazon angebotenen Dokument können Sie mehr über die Abfragesprache openCypher erfahren. ArcGIS Knowledge unterstützt nicht alle Aspekte der openCypher-Abfragesprache. So können Abfragen beispielsweise nicht zum Aktualisieren des Wissensgraphen verwendet werden, sondern nur zum Zurückgeben von Werten.

Abfragen des Untersuchungsinhalts

Um eine kleinere Gruppe von Entitäten und Beziehungen in einer Untersuchung zu erkunden, können Sie eine Inhaltsabfrage innerhalb der Untersuchungsansicht durchführen.

  1. Öffnen Sie eine Untersuchung, und durchsuchen Sie deren Inhalt.
  2. Klicken Sie oben in der Untersuchungsansicht in das Textfeld "Suchen", oder drücken Sie die Tastenkombination Strg+F.

    Die Suchsteuerung wird angezeigt.

    Klicken Sie in das Textfeld "Suchen", um die Suchsteuerung zu öffnen.

  3. Klicken Sie unten in der Suchsteuerung auf Abfragemodus Abfragemodus.

    Der Hinweis im Textfeld "Suchen" ändert sich in Graphabfrage für Wissensgraph ausführen, die Schaltfläche Abfragefenster einblenden Abfragefenster einblenden wird angezeigt, und die Option Suchmodus Search Mode erscheint unten in der Suchsteuerung.

    Klicken Sie unten in der Suchsteuerung auf "Abfragemodus", um eine Abfrage beim Wissensgraphen durchzuführen.

  4. Geben Sie eine openCypher-Abfrage in das Textfeld "Suchen" ein.

    Bei der Abfrage MATCH (p:Person)-->(v:Vehicle) RETURN p, v würden beispielsweise alle Entitäten des Typs "Person", die in einer Beziehung zur Entität "Vehicle" stehen, sowie die Entität "Person" und die Entität "Vehicle" in den Ergebnissen zurückgegeben.

  5. Drücken Sie die Eingabetaste.

    Die Ergebnisse der Abfrage werden in der Untersuchungsansicht angezeigt.

    Abfrageergebnisse werden in der Untersuchungsansicht angezeigt.

  6. Klicken Sie in das Textfeld "Abfrage", um die Abfrage zu ändern, und geben Sie Ihre Änderungen ein.

    Ändern Sie beispielsweise die Abfrage in MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) RETURN p, hv, v, um alle Entitäten des Typs "Person", die in einer HasVehicle-Beziehung zu einer Entität "Vehicle" stehen, sowie die Entität "Person", die Beziehung "HasVehicle" und die Entität "Vehicle" in den Ergebnissen zurückzugeben.

    Klicken Sie in das Textfeld "Abfrage", um die Abfrage zu ändern.

  7. Drücken Sie die Eingabetaste, um die modifizierte Abfrage auszuführen.

    Die Ergebnisse der aktualisierten Abfrage werden in der Untersuchungsansicht angezeigt. Die von der Abfrage zurückgegebenen Entitäten und Beziehungen werden durch die entsprechenden Symbole gekennzeichnet.

    Die von der Abfrage zurückgegebenen Entitäten und Beziehungen werden durch die entsprechenden Symbole gekennzeichnet.

  8. Wenn Sie mehr Platz benötigen, um eine längere openCypher-Abfrage zu schreiben, klicken Sie auf die Schaltfläche Abfragefenster einblenden Abfragefenster einblenden.

    Statt direkt im einzeiligen Textfeld oben im Steuerungsbereich wird die aktuelle Abfrage in einem größeren, mehrzeiligen Abfragefeld geöffnet.

    Blenden Sie das Abfragefenster ein, um ein mehrzeiliges Textfeld für die Abfrage zu verwenden.

  9. Geben Sie Ihre Änderungen an der Abfrage ein, und verwenden Sie der Klarheit halber so viele Zeilen wie nötig.

    Ändern Sie beispielsweise die Abfrage in MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) WHERE hv.acquisitionDate = NULL RETURN p, hv, v, v.make, v.model, v.year, um alle Entitäten des Typs "Person", die in einer HasVehicle-Beziehung zu einer Entität "Vehicle" stehen, zurückzugeben, bei denen die Eigenschaft "acquisitionDate" der HasVehicle-Beziehung einen NULL-Wert aufweist. Geben Sie dieselben Entitäten und Beziehungen wie zuvor zurück, aber beziehen Sie auch Werte der Eigenschaften "Make", "Model" und "Year" der Entität "Vehicle" in die Ergebnisse ein.

    Die Ergebnisse der aktualisierten Abfrage werden in der Untersuchungsansicht angezeigt. Die von der Abfrage zurückgegebenen Entitäten und Beziehungen werden durch die entsprechenden Symbole gekennzeichnet.

    Bei Verwendung des mehrzeiligen Textfeldes kann sich eine Abfrage über mehrere Zeilen erstrecken.

  10. Klicken Sie auf die Schaltfläche Abfrage ausführen Abfrage ausführen.

    Wenn Sie das erweiterte Abfragefenster verwenden und die Eingabetaste drücken, wird nicht die Abfrage ausführt, sondern der Mauszeiger in eine neue Zeile im mehrzeiligen Textfeld bewegt.

    Die Ergebnisse der Abfrage werden in der Untersuchungsansicht angezeigt.

    Die von der Abfrage zurückgegebenen Entitäten, Beziehungen und Eigenschaftswerte werden in der Untersuchung angezeigt.

  11. Klicken Sie im Textfeld "Abfrage" auf die Schaltfläche Suche zurücksetzen Suche zurücksetzen, um die Abfrage zu löschen und die Abfrageergebnisse zu entfernen.

    Die zuvor in der Untersuchungsansicht aufgelisteten Graph-Elemente werden erneut angezeigt.

  12. Wenn das Textfeld "Abfrage" leer ist, klicken Sie in das Feld, um die Abfragesteuerung zu öffnen und die letzten drei Abfragen anzuzeigen. Klicken Sie auf eine Abfrage in der Liste, um sie erneut auszuführen.

    Klicken Sie in ein leeres Abfragefeld, um die letzten drei Abfragen anzuzeigen.

    Die ausgewählte Abfrage wird ausgeführt, und die Abfrageergebnisse werden in der Untersuchung angezeigt.

  13. Klicken Sie im Textfeld "Abfrage" auf die Schaltfläche Suche zurücksetzen Suche zurücksetzen, um die Abfrage aus dem Abfragefeld zu löschen und ihre Ergebnisse aus der Untersuchung zu entfernen. Klicken Sie in das leere Textfeld "Abfrage", um die Abfragesteuerung zu öffnen, und dann für eine bestimmte Abfrage in der Liste auf die Schaltfläche Aus Verlauf entfernen Aus Verlauf entfernen, um diese Abfrage aus dem Verlauf zu entfernen.

    Die angegebene Abfrage wird aus der Liste entfernt. Der Abfrageverlauf wird aktualisiert, um die letzten drei Abfragen anzuzeigen.

  14. Wenn Sie das mehrzeilige Abfragefeld nicht mehr benötigen, klicken Sie auf die Schaltfläche Abfragefenster ausblenden Abfragefenster ausblenden rechts neben dem Abfragefeld.

    Wenn Sie eine Abfrage ändern, wird sie direkt im Textfeld "Abfrage" in einer Zeile aktualisiert. Drücken Sie die Eingabetaste, um eine aktualisierte Abfrage auszuführen.

Abfragen eines Wissensgraphen im Bereich "Durchsuchen und Filtern"

Der Bereich Durchsuchen und Filtern kann mit einer Untersuchungsansicht verwendet werden, um die zugehörigen Inhalte abzufragen, mit einer Karte, um die Inhalte eines Wissensgraph-Layers abzufragen, oder mit einem Verbindungsdiagramm, um die zugehörigen Entitäten und Beziehungen abzufragen.

  1. Öffnen Sie eine Untersuchung.
  2. Öffnen Sie den Bereich Durchsuchen und Filtern mit einer der folgenden Methoden:
    • Klicken Sie auf dem Menüband auf der Registerkarte Untersuchung in der Gruppe Suchen auf Durchsuchen und Filtern Durchsuchen und Filtern.
    • Klicken Sie im Bereich Inhalt der Karte auf einen Wissensgraph-Layer. Greifen Sie auf die Registerkarte Daten über die Registerkarte Wissensgraph-Layer auf dem Menüband zu. Klicken Sie in der Gruppe Suchen auf die Schaltfläche Durchsuchen und Filtern Durchsuchen und Filtern.
    • Klicken Sie auf dem Menüband auf der Registerkarte Verbindungsdiagramm in der Gruppe Suchen auf Durchsuchen und Filtern Durchsuchen und Filtern.

    Der Bereich Durchsuchen und Filtern wird angezeigt.

  3. Öffnen Sie die Dropdown-Liste Dataset, und klicken Sie auf den Namen der Untersuchung, der Karte oder des Verbindungsdiagramms, die bzw. das Sie abfragen möchten.
    • Klicken Sie auf den Namen der Untersuchung im Projekt, um den Teil des Wissensgraphen zu erkunden, der zurzeit in der Inhaltsliste der Untersuchung angezeigt wird. Wenn z. B. derzeit im Bereich Inhalt der Untersuchung die Entität "Person" ausgewählt ist und die ersten 1.000 Entitäten ausgewählt werden, stellt das Histogramm nur Inhalte dar, die mit den 1.000 Entitäten vom Typ "Person" verknüpft sind. Wenn der Name der Untersuchung "Investigation" lautet, würde in der Dropdown-Liste Dataset der Eintrag "Investigation" angezeigt.
    • Klicken Sie auf den Namen des Wissensgraph-Layers auf der Karte, um den Teil des Wissensgraphen zu erkunden, der zurzeit auf der Karte angezeigt wird. Wenn die Karte z. B. nur die Entitäten "Person", "Pet" und "Veterinarian" sowie die Beziehungen "HasPet" und "HasPatient" enthält, werden von den Histogrammen nur diese auf der Karte vorhandenen Entitätstypen und Beziehungstypen dargestellt. Wenn der Name der Karte "Map" und der Name des Wissensgraph-Layers auf der Karte "MyKnowledgeGraph" lautet, würde in der Dropdown-Liste Dataset der Eintrag "Map – MyKnowledgeGraph" angezeigt.
    • Klicken Sie auf den Namen des Verbindungsdiagramms, um den Teil des Wissensgraphen zu erkunden, der zurzeit im Verbindungsdiagramm angezeigt wird. Wenn das Verbindungsdiagramm z. B. nur einen abgefragten Satz von Entitäten vom Typ "Person" und "Vehicle" sowie die Beziehung "HasVehicle" enthält, werden von den Histogrammen nur die speziellen Entitäten und Beziehungen im Verbindungsdiagramm dargestellt. Wenn der Name des Verbindungsdiagramms "Link Chart" lautet, würde in der Dropdown-Liste Dataset der Eintrag "Link Chart" angezeigt.
    • Um den gesamten Wissensgraphen zu erkunden, der von der Untersuchung, dem Wissensgraph-Layer auf der Karte oder dem Verbindungsdiagramm referenziert wird, klicken Sie auf den Eintrag, dessen Name aus der Ansicht oder dem Karten-Layer, gefolgt von "Knowledge Graph" besteht. Wenn z. B. der Name der Karte "Map" und der Name des Wissensgraph-Layers auf der Karte "MyKnowledgeGraph" lautet, würde in der Dropdown-Liste Dataset für den gesamten Wissensgraphen der Eintrag "Map - MyKnowledgeGraph.- Knowledge Graph" angezeigt.
  4. Klicken Sie auf die Registerkarte Abfrage Abfrage.
  5. Geben Sie eine openCypher-Abfrage in das Textfeld Abfrage ein.
  6. Klicken Sie auf Übernehmen.

    Die Ergebnisse der Abfrage werden in der Liste Ergebnisse angezeigt.

Tipp:

Wissensgraphen können viele Entitäten und Beziehungen darstellen. Wenn es zu lange dauert, bis die Ergebnisse Ihrer Abfrage zurückgegeben werden, können Sie die Erstellung der Ergebnisliste beenden, indem Sie auf den Auslastungsindikator unten im Bereich Durchsuchen und Filtern klicken. Wenn ArcGIS Pro mit der Erstellung der Ergebnisliste fertig ist, wird der Auslastungsindikator beendet, und es wird die Schaltfläche Ergebnisse aktualisieren Ergebnisse aktualisieren angezeigt.

Standardmäßig ist der Bereich Durchsuchen und Filtern möglicherweise zu schmal, um die Abfrageergebnisse zu erkunden. Sie können den Bereich abdocken, um ihn zu vergrößern, ohne die Anordnung der anderen Ansichten und Bereiche im Hauptanwendungsfenster von ArcGIS Pro zu beeinflussen.

Erkunden der Abfrageergebnisse

Eine openCypher-Abfrage kann eine Vielzahl von Ergebnissen zurückgeben. Wenn die Abfrage eine Liste mit Entitäten oder Beziehungen zurückgibt, wird in der Ergebnisliste eine Entität bzw. Beziehung pro Zeile angezeigt. Die von der Abfrage zurückgegebenen Werte werden in Spalten angezeigt, die wie in der Abfrage angegeben beschriftet sind.

Eine openCypher-Abfrage könnte Ergebnisse zurückgeben, die zeigen, welche Entitäten in einer bestimmten Beziehung zu einer anderen Entität stehen. In diesem Fall wird in der Ergebnisliste eine Zeile für jede Dreiergruppe verwendet, wobei eine Dreiergruppe aus der Ursprungsentität, der Beziehung und der Zielentität besteht. Zum Beispiel würde eine Abfrage wie MATCH (p:Person)-[r]->(e) RETURN p,r,e eine Ergebnisliste zurückgeben, in der jede Zeile im Ergebnis eine Person, eine Beziehung zwischen der Person und einer anderen Entität und die Zielentität der Beziehung angeben würde. In diesem Fall würde die Ergebnisliste eine Spalte p für die Person, eine Spalte r für die Beziehung und eine Spalte e für die Zielentität aufweisen.

Wenn die Abfrage stattdessen bestimmte Eigenschaften von Entitäten oder Beziehungen zurückgibt, zeigt die Ergebnisliste die betreffenden Werte in entsprechend der Abfrage bezeichneten Spalten an. Beispielsweise gibt die Abfrage MATCH (p:Person)-[ :HasVehicle]->(v) RETURN p,v,v.year den Anzeigennamen der Entität "Person" in der Spalte p, den Anzeigenahme der Entität "Vehicle" in der Spalte v und den Wert der Eigenschaft "Year" der Entität "Vehicle" in den Spalten v.year zurück. Wenn eine Entität keine Werte für eine bestimmte Eigenschaft aufweist, die von einer Abfrage zurückgegeben wird, wird der Wert NULL angezeigt, um anzugeben, dass kein Wert zum Anzeigen vorhanden ist.

Das Beispiel unten zeigt eine Abfrage, die eine Entität des Typs "Person" und eine Entität des Typs "Vehicle" zurückgibt, wobei zwischen der Person und dem Fahrzeug eine HasVehicle-Beziehung besteht. Die Abfrage gibt außerdem die Eigenschaft "acquisitionDate" der Beziehung "HasVehicle" und die Eigenschaften "Make", "Model" und "Year" der Entität "Vehicle" zurück. Wenn eine Eigenschaft keinen Wert aufweist, wird der Text NULL in einer Spalte angezeigt.

Fragen Sie die Inhalte eines Wissensgraphen im Bereich "Durchsuchen und Filtern" ab.

In Spalten, die eine Entität Entität oder eine Beziehung Beziehung enthalten, wird der Anzeigenamen des Graph-Elements zusammen mit dem Symbol angezeigt. Im Screenshot oben werden die zurückgegebenen Eigenschaften "Person" und "Vehicle" in den Spalten p und v angezeigt. Die Eigenschaft "acquisitionDate" der Beziehung "HasVehicle" wird in der Spalte "hv.acquisitionDate" angezeigt. Werte für die Eigenschaften "Make", "Model" und "Year" der Entitäten des Typs "Vehicle" werden in den Spalten "v.make", "v.model" und "v.year" angezeigt.

Sie können die von einer Abfrage zurückgegebenen Entitäten und Beziehungen zur weiteren Analyse einer Karte oder einem Verbindungsdiagramm hinzufügen.

Verwandte Themen