Google Knowledge Graph Search API

In dieser Kurzanleitung wird die Google Knowledge Graph Search API vorgestellt. In dieser Kurzanleitung verwenden Sie die API, um im Google Knowledge Graph nach Entitäten zu suchen oder sie nachzuschlagen.

Wenn Sie ein neues Projekt planen, erstellen Sie Ihre Anwendung mit der Advanced-Version von Cloud Knowledge Graph, um die neuen Funktionen und Dienstverbesserungen nutzen zu können. Die Basic-Version ist weiterhin verfügbar, unterstützt jedoch keine neuen Funktionen, hohe QPS oder zusätzliche Sicherheits- und Compliance-Standards.

Cloud Knowledge Graph-Entitäten durchsuchen

In den folgenden Beispielen wird gezeigt, wie Sie eine Entität im Knowledge Graph suchen.

Erweitert

REST

Rufen Sie die Methode projects.locations.cloudKnowledgeGraphEntities.search auf, um den Wissensgraphen für die Advanced Edition zu durchsuchen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION: Knowledge Graph-Standort.
    • Optionen: global – Globaler Endpunkt
  • SEARCH_QUERY: Der Literal-Abfragestring für die Suche.
  • LANGUAGES: (Optional) Die Liste der Sprachcodes (gemäß ISO 693), mit denen die Abfrage ausgeführt werden soll. Der Standardwert ist en, wenn nicht angegeben.
  • TYPES: (Optional) Schränkt die zurückgegebenen Entitäten auf diese Typen ein, wie unter „https://schema.org“ definiert. Wenn mehrere Typen angegeben werden, enthalten die zurückgegebenen Entitäten einen oder mehrere dieser Typen. Der Standardwert ist leer. In diesem Fall werden Entitäten ohne Typeinschränkungen zurückgegeben. Informationen zu den unterstützten Typen finden Sie in der vollständigen Schema.org-Hierarchie.
  • LIMIT: (Optional) Begrenzt die Anzahl der zurückzugebenden Elemente. Der Standardwert ist 20.

HTTP-Methode und URL:

GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT"

PowerShell

Führen Sie diesen Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT" | Select-Object -Expand Content

Die Antwort enthält eine Liste von Elementen, die im JSON-LD-Format dargestellt werden und mit schema.org-Schemas mit begrenzten externen Erweiterungen kompatibel sind.

Weitere Informationen zur Antwortstruktur finden Sie unter Entity Response Structure.

Das folgende JSON-LD-Beispiel zeigt, wie der Antworttext strukturiert ist:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@type": "ItemList",
  "itemListElement": [
    {
      "result": {
        "@id": "c-07xuup16g",
        "name": "Stanford University",
        "description": "Private university in Stanford, California",
        "detailedDescription": {
          "articleBody": "Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies 8,180 acres, among the largest in the United States, and enrolls over 17,000 students. ",
          "url": "https://en.wikipedia.org/wiki/Stanford_University",
          "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"
        },
        "url": "http://www.stanford.edu/",
        "image": {
          "contentUrl": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTfPPf-ker0y_892m1wu8-U89furQgQ67foDFncY3r9sREpeWxV",
          "url": "https://es.wikipedia.org/wiki/Archivo:Logo_of_Stanford_University.png"
        },
        "identifier": [
          {
            "@type": "PropertyValue",
            "propertyID": "googleKgMID",
            "value": "/m/06pwq"
          },
          {
            "@type": "PropertyValue",
            "propertyID": "googlePlaceID",
            "value": "ChIJneqLZyq7j4ARf2j8RBrwzSk"
          },
          {
            "@type": "PropertyValue",
            "propertyID": "wikidataQID",
            "value": "Q41506"
          }
        ],
        "@type": [
          "Place",
          "Organization",
          "MovieTheater",
          "Corporation",
          "EducationalOrganization",
          "Thing",
          "CollegeOrUniversity"
        ]
      }
    }
  ]
}

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Enterprise Knowledge Graph Python API.

Richten Sie zur Authentifizierung bei Enterprise Knowledge Graph Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from __future__ import annotations

from collections.abc import Sequence

from google.cloud import enterpriseknowledgegraph as ekg

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_GRAPH_LOCATION'      # Values: 'global'
# search_query = 'YOUR_SEARCH_QUERY'
# languages = ['en']                    # Optional: List of ISO 639-1 Codes
# types = ['']                          # Optional: List of schema.org types to return
# limit = 20                            # Optional: Number of entities to return


def search_sample(
    project_id: str,
    location: str,
    search_query: str,
    languages: Sequence[str] = None,
    types: Sequence[str] = None,
    limit: int = 20,
):
    # Create a client
    client = ekg.EnterpriseKnowledgeGraphServiceClient()

    # The full resource name of the location
    # e.g. projects/{project_id}/locations/{location}
    parent = client.common_location_path(project=project_id, location=location)

    # Initialize request argument(s)
    request = ekg.SearchRequest(
        parent=parent,
        query=search_query,
        languages=languages,
        types=types,
        limit=limit,
    )

    # Make the request
    response = client.search(request=request)

    print(f"Search Query: {search_query}\n")

    # Extract and print date from response
    for item in response.item_list_element:
        result = item.get("result")

        print(f"Name: {result.get('name')}")
        print(f"- Description: {result.get('description')}")
        print(f"- Types: {result.get('@type')}\n")

        detailed_description = result.get("detailedDescription")

        if detailed_description:
            print("- Detailed Description:")
            print(f"\t- Article Body: {detailed_description.get('articleBody')}")
            print(f"\t- URL: {detailed_description.get('url')}")
            print(f"\t- License: {detailed_description.get('license')}\n")

        print(f"- Cloud MID: {result.get('@id')}")
        for identifier in result.get("identifier"):
            print(f"\t- {identifier.get('name')}: {identifier.get('value')}")

        print("\n")

Einfach

REST

Rufen Sie zum Durchsuchen des Knowledge Graph in der Basic Edition die Methode projects.locations.publicKnowledgeGraphEntities.search auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION: Knowledge Graph-Standort.
    • Optionen: global – Globaler Endpunkt
  • SEARCH_QUERY: Der Literal-Abfragestring für die Suche.
  • LANGUAGES: (Optional) Die Liste der Sprachcodes (gemäß ISO 693), mit denen die Abfrage ausgeführt werden soll. Der Standardwert ist en, wenn nicht angegeben.
  • TYPES: (Optional) Schränkt die zurückgegebenen Entitäten auf diese Typen ein, wie unter „https://schema.org“ definiert. Wenn mehrere Typen angegeben werden, enthalten die zurückgegebenen Entitäten einen oder mehrere dieser Typen. Der Standardwert ist leer. In diesem Fall werden Entitäten ohne Typeinschränkungen zurückgegeben. Informationen zu den unterstützten Typen finden Sie in der vollständigen Schema.org-Hierarchie.
  • LIMIT: (Optional) Begrenzt die Anzahl der zurückzugebenden Elemente. Der Standardwert ist 20.

HTTP-Methode und URL:

GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT"

PowerShell

Führen Sie diesen Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Search?query=SEARCH_QUERY&limit=LIMIT" | Select-Object -Expand Content

Die Antwort enthält eine Liste von Elementen, die im JSON-LD-Format dargestellt werden und mit schema.org-Schemas mit begrenzten externen Erweiterungen kompatibel sind.

Weitere Informationen zur Antwortstruktur finden Sie unter Entity Response Structure.

Das folgende JSON-LD-Beispiel zeigt, wie der Antworttext strukturiert ist:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@type": "ItemList",
  "itemListElement": [
    {
      "result": {
        "@id": "c-07xuup16g",
        "name": "Stanford University",
        "description": "Private university in Stanford, California",
        "detailedDescription": {
          "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
          "url": "https://en.wikipedia.org/wiki/Stanford_University",
          "articleBody": "Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies 8,180 acres, among the largest in the United States, and enrolls over 17,000 students. "
        },
        "url": "http://www.stanford.edu/",
        "identifier": [
          {
            "@type": "PropertyValue",
            "propertyID": "googleKgMID",
            "value": "/m/06pwq"
          }
        ],
        "image": {
          "contentUrl": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTfPPf-ker0y_892m1wu8-U89furQgQ67foDFncY3r9sREpeWxV",
          "url": "https://es.wikipedia.org/wiki/Archivo:Logo_of_Stanford_University.png"
        },
        "@type": [
          "EducationalOrganization",
          "CollegeOrUniversity",
          "Thing",
          "Place",
          "Corporation",
          "MovieTheater",
          "Organization"
        ]
      }
    }
  ]
}

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Enterprise Knowledge Graph Python API.

Richten Sie zur Authentifizierung bei Enterprise Knowledge Graph Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from __future__ import annotations

from collections.abc import Sequence

from google.cloud import enterpriseknowledgegraph as ekg

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_GRAPH_LOCATION'      # Values: 'global'
# search_query = 'YOUR_SEARCH_QUERY'
# languages = ['en']                    # Optional: List of ISO 639-1 Codes
# types = ['']                          # Optional: List of schema.org types to return
# limit = 20                            # Optional: Number of entities to return


def search_public_kg_sample(
    project_id: str,
    location: str,
    search_query: str,
    languages: Sequence[str] = None,
    types: Sequence[str] = None,
    limit: int = 20,
):
    # Create a client
    client = ekg.EnterpriseKnowledgeGraphServiceClient()

    # The full resource name of the location
    # e.g. projects/{project_id}/locations/{location}
    parent = client.common_location_path(project=project_id, location=location)

    # Initialize request argument(s)
    request = ekg.SearchPublicKgRequest(
        parent=parent,
        query=search_query,
        languages=languages,
        types=types,
        limit=limit,
    )

    # Make the request
    response = client.search_public_kg(request=request)

    print(f"Search Query: {search_query}\n")

    # Extract and print date from response
    for item in response.item_list_element:
        result = item.get("result")

        print(f"Name: {result.get('name')}")
        print(f"- Description: {result.get('description')}")
        print(f"- Types: {result.get('@type')}\n")

        detailed_description = result.get("detailedDescription")

        if detailed_description:
            print("- Detailed Description:")
            print(f"\t- Article Body: {detailed_description.get('articleBody')}")
            print(f"\t- URL: {detailed_description.get('url')}")
            print(f"\t- License: {detailed_description.get('license')}\n")

        print(f"- Cloud MID: {result.get('@id')}")
        for identifier in result.get("identifier"):
            print(f"\t- {identifier.get('name')}: {identifier.get('value')}")

        print("\n")

Entitäten anhand der Cloud Knowledge Graph-MID suchen

Mit der Google Knowledge Graph Search API wird das neue MID-Format (Machine ID) eingeführt, um die Produkt- und Anwendungsintegration zu vereinfachen. Die lookup API funktioniert sowohl für die neue Cloud Knowledge Graph-MID (beginnt mit c-) als auch für die Google Knowledge Graph-MID (beginnt mit /m).

Erweitert

REST

Wenn Sie eine Entität anhand der MID für die Advanced Edition suchen möchten, rufen Sie die Methode projects.locations.cloudKnowledgeGraphEntities.lookup auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION: Knowledge Graph-Standort.
    • Optionen: global – Globaler Endpunkt
  • LOOKUP_IDS: Die Liste der Entitäts-IDs, die für die Suche verwendet werden sollen.
    • Beispiel: /m/0dl567
  • LANGUAGES: (Optional) Die Liste der Sprachcodes (gemäß ISO 693), mit denen die Abfrage ausgeführt werden soll. Der Standardwert ist en, wenn nicht angegeben.

HTTP-Methode und URL:

GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS"

PowerShell

Führen Sie diesen Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS" | Select-Object -Expand Content

Die Antwort enthält eine Liste von Elementen, die im JSON-LD-Format dargestellt werden und mit schema.org-Schemas mit begrenzten externen Erweiterungen kompatibel sind.

Weitere Informationen zur Antwortstruktur finden Sie unter Entity Response Structure.

Das folgende JSON-LD-Beispiel zeigt, wie der Antworttext strukturiert ist:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@type": "ItemList",
  "itemListElement": [
    {
      "result": {
        "description": "American singer-songwriter",
        "@type": [
          "Person",
          "Thing"
        ],
        "name": "Taylor Swift",
        "@id": "c-0260160kc",
        "url": "http://www.taylorswift.com/",
        "identifier": [
          {
            "@type": "PropertyValue",
            "propertyID": "googleKgMID",
            "value": "/m/0dl567"
          },
          {
            "@type": "PropertyValue",
            "propertyID": "wikidataQID",
            "value": "Q26876"
          }
        ],
        "detailedDescription": {
          "articleBody": "Taylor Alison Swift is an American singer-songwriter. Her discography spans multiple genres and her narrative songwriting—often inspired by her personal life—has received critical praise and widespread media coverage. ",
          "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
          "url": "https://en.wikipedia.org/wiki/Taylor_Swift"
        },
        "image": {
          "contentUrl": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSnsjOArwgD-bhyRslj_Qa7Z2tIPLRFU3VnEuLr1ybcyned49Pt",
          "url": "https://pt.wikipedia.org/wiki/Ficheiro:191125_Taylor_Swift_at_the_2019_American_Music_Awards_(cropped).png"
        }
      }
    }
  ]
}
Wenn Sie mehrere Entitäten aus dem Cloud Knowledge Graph abrufen möchten, geben Sie mehrere IDs an. Die URL sollte so aussehen.
https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cloudKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS&ids=LOOKUP_IDS

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Enterprise Knowledge Graph Python API.

Richten Sie zur Authentifizierung bei Enterprise Knowledge Graph Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from __future__ import annotations

from collections.abc import Sequence

from google.cloud import enterpriseknowledgegraph as ekg

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_GRAPH_LOCATION'      # Values: 'global'
# ids = ['YOUR_LOOKUP_MID']             # https://cloud.google.com/enterprise-knowledge-graph/docs/mid
# languages = ['en']                    # Optional: List of ISO 639-1 Codes


def lookup_sample(
    project_id: str,
    location: str,
    ids: Sequence[str],
    languages: Sequence[str] = None,
):
    # Create a client
    client = ekg.EnterpriseKnowledgeGraphServiceClient()

    # The full resource name of the location
    # e.g. projects/{project_id}/locations/{location}
    parent = client.common_location_path(project=project_id, location=location)

    # Initialize request argument(s)
    request = ekg.LookupRequest(
        parent=parent,
        ids=ids,
        languages=languages,
    )

    # Make the request
    response = client.lookup(request=request)

    print(f"Lookup IDs: {ids}\n")

    print(response)

    # Extract and print date from response
    for item in response.item_list_element:
        result = item.get("result")

        print(f"Name: {result.get('name')}")
        print(f"- Description: {result.get('description')}")
        print(f"- Types: {result.get('@type')}\n")

        detailed_description = result.get("detailedDescription")

        if detailed_description:
            print("- Detailed Description:")
            print(f"\t- Article Body: {detailed_description.get('articleBody')}")
            print(f"\t- URL: {detailed_description.get('url')}")
            print(f"\t- License: {detailed_description.get('license')}\n")

        print(f"- Cloud MID: {result.get('@id')}")
        for identifier in result.get("identifier"):
            print(f"\t- {identifier.get('name')}: {identifier.get('value')}")

        print("\n")

Einfach

REST

Wenn Sie eine Entität anhand der MID für die Basic-Version suchen möchten, rufen Sie die Methode projects.locations.publicKnowledgeGraphEntities.lookup auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION: Knowledge Graph-Standort.
    • Optionen: global – Globaler Endpunkt
  • LOOKUP_IDS: Die Liste der Entitäts-IDs, die für die Suche verwendet werden sollen.
    • Beispiel: /m/0dl567
  • LANGUAGES: (Optional) Die Liste der Sprachcodes (gemäß ISO 693), mit denen die Abfrage ausgeführt werden soll. Der Standardwert ist en, wenn nicht angegeben.

HTTP-Methode und URL:

GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS"

PowerShell

Führen Sie diesen Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS" | Select-Object -Expand Content

Die Antwort enthält eine Liste von Elementen, die im JSON-LD-Format dargestellt werden und mit schema.org-Schemas mit begrenzten externen Erweiterungen kompatibel sind.

Weitere Informationen zur Antwortstruktur finden Sie unter Entity Response Structure.

Das folgende JSON-LD-Beispiel zeigt, wie der Antworttext strukturiert ist:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@type": "ItemList",
  "itemListElement": [
    {
      "result": {
        "description": "American singer-songwriter",
        "@type": [
          "Person",
          "Thing"
        ],
        "name": "Taylor Swift",
        "@id": "c-0260160kc",
        "url": "http://www.taylorswift.com/",
        "identifier": [
          {
            "@type": "PropertyValue",
            "propertyID": "googleKgMID",
            "value": "/m/0dl567"
          }
        ],
        "detailedDescription": {
          "articleBody": "Taylor Alison Swift is an American singer-songwriter. Her discography spans multiple genres and her narrative songwriting—often inspired by her personal life—has received critical praise and widespread media coverage. ",
          "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
          "url": "https://en.wikipedia.org/wiki/Taylor_Swift"
        },
        "image": {
          "contentUrl": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSnsjOArwgD-bhyRslj_Qa7Z2tIPLRFU3VnEuLr1ybcyned49Pt",
          "url": "https://pt.wikipedia.org/wiki/Ficheiro:191125_Taylor_Swift_at_the_2019_American_Music_Awards_(cropped).png"
        }
      }
    }
  ]
}
Wenn Sie mehrere Entitäten aus dem Cloud Knowledge Graph abrufen möchten, geben Sie mehrere IDs an. Die URL sollte so aussehen.
https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publicKnowledgeGraphEntities:Lookup?ids=LOOKUP_IDS&ids=LOOKUP_IDS

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Enterprise Knowledge Graph Python API.

Richten Sie zur Authentifizierung bei Enterprise Knowledge Graph Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from __future__ import annotations

from collections.abc import Sequence

from google.cloud import enterpriseknowledgegraph as ekg

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_GRAPH_LOCATION'      # Values: 'global'
# ids = ['YOUR_LOOKUP_MID']             # https://cloud.google.com/enterprise-knowledge-graph/docs/mid
# languages = ['en']                    # Optional: List of ISO 639-1 Codes


def lookup_public_kg_sample(
    project_id: str,
    location: str,
    ids: Sequence[str],
    languages: Sequence[str] = None,
):
    # Create a client
    client = ekg.EnterpriseKnowledgeGraphServiceClient()

    # The full resource name of the location
    # e.g. projects/{project_id}/locations/{location}
    parent = client.common_location_path(project=project_id, location=location)

    # Initialize request argument(s)
    request = ekg.LookupPublicKgRequest(
        parent=parent,
        ids=ids,
        languages=languages,
    )

    # Make the request
    response = client.lookup_public_kg(request=request)

    print(f"Lookup IDs: {ids}\n")

    print(response)

    # Extract and print date from response
    for item in response.item_list_element:
        result = item.get("result")

        print(f"Name: {result.get('name')}")
        print(f"- Description: {result.get('description')}")
        print(f"- Types: {result.get('@type')}\n")

        detailed_description = result.get("detailedDescription")

        if detailed_description:
            print("- Detailed Description:")
            print(f"\t- Article Body: {detailed_description.get('articleBody')}")
            print(f"\t- URL: {detailed_description.get('url')}")
            print(f"\t- License: {detailed_description.get('license')}\n")

        print(f"- Cloud MID: {result.get('@id')}")
        for identifier in result.get("identifier"):
            print(f"\t- {identifier.get('name')}: {identifier.get('value')}")

        print("\n")

Entitätsstruktur

Feldname Typ Beschreibung
@id string Der kanonische URI für die Entität.
name string Der Name der Entität.
@type array Die Liste der unterstützten schema.org-Typen, die der Entität entsprechen.
description string Eine kurze Beschreibung der Entität.
image URL Ein Bild, das dabei hilft, die Einheit zu identifizieren.
detailedDescription string Eine detaillierte Beschreibung der Entität.
url URL Die offizielle Website-URL der Rechtspersönlichkeit, falls verfügbar.
identifier array Eine Liste anderer verknüpfter IDs, z. B. WikidataQID.

JSON-LD-Schlüsselwörter

Informationen zu JSON-LD-Schlüsselwörtern wie den folgenden finden Sie in der JSON-LD-Spezifikation:

Schema.org-Kompatibilität

Für jeden Schema.org-Typ (z. B. Person) und jede Property (z. B. name) gibt es einen entsprechenden vollständigen URI, wie in den folgenden Beispielen:

Klasse Name URI
Typ Person https://schema.org/Person
Typ Thing https://schema.org/Thing
Attribut name https://schema.org/name
Attribut description https://schema.org/description

Schemaerweiterungen

Die in dieser API verwendeten Typen und Eigenschaften werden unter https://schema.googleapis.com als externe Erweiterungen gehostet.

Die Dokumentation für jeden Typ und jede Property ist unter dem entsprechenden URI verfügbar.

Klasse Name URI
Typ EntitySearchResult https://schema.googleapis.com/EntitySearchResult
Attribut detailedDescription https://schema.googleapis.com/detailedDescription

Knowledge Graph-Entitäten

Der Knowledge Graph enthält Millionen von Einträgen, die reale Objekte wie Personen, Orte und Dinge beschreiben. Diese bilden die Knoten des Diagramms.

Im Folgenden sind einige der häufigsten Arten von Entitäten aufgeführt, die im Cloud Knowledge Graph zu finden sind: