Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Zuletzt aktualisiert: 29.06.2018

Office Graph abfragen mittels GQL und SharePoint Online-Suche-REST-APIs

Gilt für: Office 365 | Office 365 First Release-Programm | SharePoint Online

Die APIs werden ab dem 31. August 2017 nicht mehr unterstützt

Entwickler konnten schon seit geraumer Zeit mit den Vorschau-APIs GQL und SharePoint Online-Suche-REST zur Abfrage von Office Graph experimentieren. Die Einblicke-APIs, zusammen mit anderen in Microsoft Graph veröffentlichten APIs, wie der Personen-API, sollten als Ersatz verwendet werden.

Wir empfehlen Entwicklern, die Anwendungen mit der Vorschau-API erstellt haben, auf Microsoft Graph APIs vor diesem Datum zu migrieren. Im Folgenden finden Sie Beispiele für Microsoft Graph API-Aufrufe, die ähnliche Daten an die Office Graph GQL-APIs zurückgeben.

Erforderliche Schritte bis zum 19. Juni 2017

Als ersten Schritt der Einstellung führen wir einen EnableLegacySPOGraph Abfrageparameter ein. Sie müssen in Ihren Aufrufen der GQL-APIs ab 19. Juni 2017 true einsetzen.

  • Am 19. Juni 2017 hören die APIs auf, ohne den Parameter zu arbeiten.
  • Die APIs arbeiten ab dem 31. August 2017 gar nicht mehr.

Beispielaufruf mit ohne den gewünschten Parameter:

https://<tenant_address>/_api/search/query?querytext='QUERY'&properties='GraphQuery:and(ACTOR(ME\,action\:1020)'

Beispielaufruf mit dem gewünschten Parameter:

https://<tenant_address>/_api/search/query?querytext='QUERY'&properties='GraphQuery:and(ACTOR(ME\,action\:1020),EnableLegacySPOGraph:true'

Migration zu Microsoft Graph APIs

Einzelne Aktionstypen und Microsoft Graph APIs liefern ähnliche Ergebnisse.

OrgManager (1013)

Wird durch den Aufruf der Get Manager API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1013)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1013)'

Microsoft Graph

  • GET https://graph.microsoft.com/v1.0/me/manager
  • GET https://graph.microsoft.com/v1.0/users/{user id/user principal name}/manager

Bessere Ergebnisse:

  • GET https://graph.microsoft.com/beta/me/manager
  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}/manager

Sie können auch den gesamten Benutzer zurückgeben und die Navigationseigenschaft manager erweitern:

  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}?$expand=manager

Weitere Informationen zur Verwendung der Manager-API

OrgDirekt (1014)

Ersetzt durch den Aufruf der Direkte-Mitarbeiter-Liste-API.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1014)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1014)'

Microsoft Graph

  • GET https://graph.microsoft.com/v1.0/me/directReports
  • GET https://graph.microsoft.com/v1.0/users/{user id/user principal name}/directReports

Bessere Ergebnisse:

  • GET https://graph.microsoft.com/beta/me/directReports
  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}/directReports

Sie können auch eine Abfrage für einen Benutzer zurückgeben und die Navigationseigenschaft directReports erweitern:

  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}?$expand=directReports

Weitere Informationen zur Verwendung der Manager-API

Weitere Informationen zur Verwendung der DirectReports-API

OrgColleague (1015)

Ersetzt durch den Aufruf der APIs Manager-Abruf und direkte-Mitarbeiter-Liste.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1015)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1015)'

Microsoft Graph

Return-Manager und dann die direkten Berichte des Managers.

  1. GET https://graph.microsoft.com/v1.0/users/{user id/user principal name}/manager
  2. GET https://graph.microsoft.com/v1.0/users/{user id/user principal name}/directReports

Weitere Informationen zur Verwendung der Manager-API

Weitere Informationen zur Verwendung der DirectReports-API

OrgSkipLevelManager (1016)

Wird durch die beiden Aufrufe an die Get Manager-API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1016)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1016)'

Microsoft Graph

  1. GET https://graph.microsoft.com/v1.0/users/{user id/user principal name}/manager

Weitere Informationen zur Verwendung der API

WorkingWith (1019)

Ersetzt durch die Personen-API.

Standardmäßig nach Relevanz sortiert. Rank Eigenschaft als Teil des Ressourcentyps rankedEmailAddress in der Antwort. Ein höherer Rangwert entspricht einem relevanteren Ergebnis. Die Relevanz wird durch Kommunikations-, Kooperations- und Geschäftsbeziehungssignale bestimmt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1019)'

Microsoft Graph

  • GET https://graph.microsoft.com/beta/me/people/

Weitere Informationen zur Personen-API

WorkingWithPublic (1033)

Ersetzt durch die Personen-API.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1033)'

Microsoft Graph

  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}/people/

Weitere Informationen zur Personen-API

RecentlyViewed (1001)

Wird durch die Used-API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1001)'

Microsoft Graph

Wird durch die Used-API ersetzt.

  • GET https://graph.microsoft.com/beta/me/insights/used

Weitere Informationen zur Used-API

Modified (1003)

Wird durch die Used-API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1003)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1003)'

Microsoft Graph

Wird durch die Used-API ersetzt.

  • GET https://graph.microsoft.com/beta/me/insights/used?$orderby=LastUsed/LastModifiedDateTime
  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}/insights/used?$orderby=LastUsed/LastModifiedDateTime

Weitere Informationen zur Used-API

TrendingAround (1020)

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1020)'
  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR({ActorId}\,action\:1020)'

Microsoft Graph

Wird durch die Trending-API ersetzt.

  • GET https://graph.microsoft.com/beta/me/insights/trending
  • GET https://graph.microsoft.com/beta/users/{user id/user principal name}/insights/trending

Weitere Informationen zur Trending-API

PersonalFeed (1021)

Wird durch die Trending-API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1021)'

Microsoft Graph

Wird durch die neue Trending-API ersetzt.

  • GET https://graph.microsoft.com/beta/me/insights/trending

Weitere Informationen zur Trending-API

Received (1049)

Wird durch die Shared-API ersetzt.

GQL

  • https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1049)'

Microsoft Graph

  • GET https://graph.microsoft.com/beta/me/insights/shared

Weitere Informationen zur Shared-API

Inhalt der Vorabversion

Verwenden Sie stattdessen Microsoft Graph-APIs. Siehe Microsoft Graph. Der folgende Inhalt gilt für den Office Graph, der sich derzeit in der Vorschauversion befindet. Diese API wird am 31. August 2017 eingestellt.

Office Graph berechnet Einsichten in Office 365 und stellt diese Einsichten über Microsoft Graph zur Verfügung, den einzigen Endpunkt, mit dem Sie auf eine Reihe von Cloud-Technologien von Microsoft zugreifen können. Derzeit können Sie die folgenden Erkenntnisse aus dem Office Graph abfragen:

Graph Query Language (GQL) ist eine vorläufige Abfragesprache zur Abfrage von Office Graph über die SharePoint Online-Suche-REST-API. Durch die Verwendung von GQL können Sie Office Graph abfragen, um Elemente für einen Akteur zu erhalten, der einen bestimmten Filter erfüllt.

Hinweis Die in diesem Artikel dokumentierten Features und APIs befinden sich in der Vorschauversion und können sich ändern. Die aktuellen Erweiterungen der Suche-REST-API sind eine vorläufige Lösung, um die Abfrage von Office Graph zu ermöglichen, der hauptsächlich für das Office Delve-Erlebnis gedacht ist. Sie können gern mit der Abfrage von Office Graph experimentieren, aber verwenden Sie diese Features oder andere Features und APIs, die in diesem Artikel dokumentiert sind, nicht in der Produktion. Ihr Feedback zu diesen Funktionen und APIs ist wichtig. Teilen Sie uns Ihre Meinung mit. Nehmen Sie unter Stack Overflow Kontakt mit uns auf. Markieren Sie Ihre Fragen mit [office365].

Office Graph stellt Beziehungen zwischen Unternehmensobjekten als Kanten dar

Office Graph enthält Informationen über Unternehmensobjekte, wie Personen und Dokumente sowie die Beziehungen und Interaktionen zwischen diesen Objekten. Die Beziehungen und Interaktionen werden als Kanten dargestellt.

Einige Kanten stellen eine einzige Interaktion dar:

  • Modified — Carl hat ein Dokument geändert.
  • Viewed — Jarvis hat eine Präsentation angesehen.

Einige Kanten werden auf der Grundlage mehrerer Interaktionen berechnet:

  • WorkingWith — Personen, mit denen Sie häufig interagieren.
  • TrendingAround — Artikel, die in Ihrem Kollegenkreis beliebt sind.

Einige Kanten sind Beziehungen zwischen Unternehmensobjekten:

  • OrgManager, OrgColleague, und so weiter — Kanten der Organisationsstruktur.

Siehe Verfügbare Aktionstypen für eine Liste der aktuellen Office Graph-Kanten und deren Beschreibungen.

Abbildung 1 zeigt den Suchaspekt von Office Graph, bei dem Informationen durch Aktivitäten über Office 365-Dienste hinweg gesammelt und zu Kanten verarbeitet werden. Derzeit werden die Informationen im Office Graph von SharePoint Online, OneDrive for Business, Exchange Online, dem Microsoft Azure Active Directory und Delve gesammelt.

Abbildung 1. Eine vereinfachte Ansicht des Suchaspekts von Office Graph und Delve, der Haupterfahrung, die er bietet

Der Suchaspekt von Office Graph und Delve, die Haupterfahrung, die er bietet.

Das Office Graph-Datenmodell und die Kanteneigenschaften

Wie bei jedem Diagramm hat jede Kante im Office Graph einen Quellknoten und einen Zielknoten. Der Quellknoten heißt Akteur und der Zielknoten Objekt.

Abbildung 2. Die Beziehung zwischen Akteur, Kante und Objekt

Jede Edge hat einen Quellknoten (den Akteur) und einen Zielknoten (das Objekt)

Kanten haben die in Tabelle 1 aufgeführten Eigenschaften.

Tabelle 1. Kanteneigenschaftsbeschreibungen und deren Typen

EigenschaftTypBeschreibung
ActorIdGanze ZahlDie ID des Akteurs.
ObjectIdGanze ZahlDie ID des Objekts.
AktionstypGanze ZahlEine ID, die angibt, welchen Aktions- oder Beziehungstyp die Kante darstellt. Wichtige Aktionstypen sind in Verfügbare Aktionstypenaufgeführt.
TimeZeichenfolgeEin Zeitstempel der Kante; basierend auf der Norm ISO 8601. Die Semantik des Zeitstempels hängt vom Typ der Kante ab. Siehe Verfügbare Aktionstypen.
WeightGanze ZahlEine Zahl, die die Bedeutung der Kante angibt. Die Semantik des Gewichts hängt von der Art der Kante ab. Siehe Verfügbare Aktionstypen.
BlobBlobNur für internen Gebrauch.
BlobContentZeichenfolgeNur für internen Gebrauch.
ObjectSourceGanze ZahlNur für internen Gebrauch.

Die Knoten im Office Graph haben die gleichen verwalteten Eigenschaften wie im SharePoint Online Suchschema. Sie können Abfragbare Eigenschaften über die Eigenschaft SelectProperties abfragen.

Abfrageerweiterungen von Graph in der SharePoint Online-Suche-REST-API

Sie können Office Graph über die SharePoint Online SharePoint-Suche-REST-API abfragen, indem Sie zwei neue Eigenschaften in den Abfrage-Eigenschaftenbehälter einfügen: GraphQuery und GraphRankingModell. Die GraphQuery ist in GQL geschrieben.

Sie können GraphQuery und GraphRankingModel mit den anderen Abfrageparametern kombinieren, die Sie aus der Suche in SharePoint Online kennen, mit Ausnahme von Einschränkungen und Abfrage-Vorlagen.

Wenn Sie Office Graph abfragen, möchten Sie normalerweise Elemente finden, die mit anderen Elementen verknüpft sind und Informationen über diese Elemente und ihre Beziehungen abrufen. Sie möchten Graph z.B. nach "alles, was mit Carl Steadman zu tun hat" oder "alle von Jarvis Ferro modifizierten Objekte" abfragen.

Abbildung 2. Ein typischer Graph-Abfrage-Aufruf über REST

In einer Graph-Abfrage können Sie einen Inhaltsteil (Querytext) und einen Diagrammteil (GraphQuery) verwenden. Die GraphQuery-Eigenschaft wird als Teil der Eigenschaften angegeben.

Eine Graph-Abfrage kann sowohl einen Inhaltsteil (Querytext) als auch einen Diagramm-Teil (GraphQuery) enthalten. Sie können diese verwenden, um eine kombinierte Suche über den Inhalt eines ganzen Elements und die Interaktionen, die Menschen mit diesem bestimmten Element hatten, durchzuführen. Die Eigenschaft Querytext ist obligatorisch. Wenn Sie alle Elemente zuordnen möchten, ohne einen Teil des Inhalts zu filtern, können Sie ein Sternchen (*) verwenden.

GQL hat einen Hauptoperator: ACTOR. Der Operator ACTOR findet alle Aktionen des angegebenen Akteurs, die einen Filter erfüllen und gibt dann alle Objekte für diese Aktionen zurück. Um z.B. von Carl Steadman modifizierte Dokumente zurückzugeben (vorausgesetzt, die ActorId = 1234 für Carl Steadman), können Sie diese Informationen aufteilen in:

  • Carl Steadman ist der ACTOR.

  • Die Änderung ist die Aktion mit der ID = 1003.

  • Das Dokument ist das Objekt, das im Ergebnis zurückgegeben wird.

Dann können Sie die folgende Abfrage schreiben.

ACTOR(1234, action:1003)

Die folgende Syntax gilt für den Operator ACTOR.

ACTOR(<ActorId> [, filter])

Die ActorId ist die ID des Knotens, nach dem Sie suchen wollen. Der Filter ist ein Prädikat, das auf alle ausgehenden Kanten des Akteurs angewendet wird. Der Filter wird mit Hilfe der Aktion, Zeit und Gewicht aus Tabelle 1 in Kombination mit booleschen Operatoren konstruiert: AND, NOT und OR. Das Ergebnis der Abfrage sind die Objekte aller Kanten, die dem Filter entsprechen.

Sie können die Operatoren ACTOR mit den Operatoren AND und OR kombinieren. Um z.B. alle von Jarvis Ferro (ActorId = 1234) und Austin Ingalls (ActorId = 5678) modifizierten Elemente zurückzugeben, schreiben Sie folgendes.

AND(ACTOR(1234, action:1003), ACTOR(5678, action:1003))

Schreiben Sie Folgendes, um alle von Jarvis Ferro oder Austin Ingalls modifizierten Elemente zurückzugeben.

OR(ACTOR(1234, action:1003), ACTOR(5678, action:1003))

Wenn Sie Graph-Abfragen schreiben, die die Verwendung der ActorId des authentifizierten Benutzers erfordern, können Sie das Makro ME als Ersatz verwenden. Um beispielsweise vom authentifizierten Benutzer geänderte Dokumente zurückzugeben, schreiben Sie Folgendes.

ACTOR(ME, action:1003)

Verfügbare Aktionstypen

Tabelle 2. Aktionstypen und ihre Beschreibungen

AktionstypBeschreibungSichtbarkeitIDWeightTimestamp
PersonalFeedDer persönliche Feed des Akteurs, wie er auf seiner Home-Ansicht in Delve gezeigt wird.Privat1021Eine Sequenznummer.Wenn das Element dem Feed auf der Home-Ansicht in Delve hinzugefügt wurde.
GeändertElemente, die der Akteur in den letzten drei Monaten geändert hat.Öffentlich1003Die Anzahl der Änderungen.Zuletzt geändert.
OrgColleagueJeder, der den gleichen Vorgesetzten wie der Akteur untersteht.Öffentlich1015Immer 1.-
OrgDirectDie direkten Berichte des Akteurs.Öffentlich1014Immer 1.-
OrgManagerDie Person, an die der Akteur berichtet.Öffentlich1013Immer 1.-
OrgSkipLevelManagerDer Skip-Level-Vorgesetzte des Akteurs.Öffentlich1016Immer 1.-
WorkingWithPersonen, mit denen der Akteur kommuniziert oder häufig zusammenarbeitet.Privat1019Eine Relevanzbewertung.-
TrendingAroundElemente, die bei Personen beliebt sind, mit denen der Akteur arbeitet oder mit denen er häufig kommuniziert.Öffentlich1020Eine Relevanzbewertung.-
AngezeigtElemente, die der Akteur in den letzten drei Monaten gesehen hat.Privat1001Anzahl der Aufrufe.Zuletzt angezeigt.
WorkingWithPublicEine öffentliche Version der Kante WorkingWith.Öffentlich1033Eine Sequenznummer.-

Ausführen von Diagrammabfragen in SharePoint 2013

Um Office Graph abzufragen, müssen Sie die GraphQuery zum Eigenschaftbehälter der Klasse KeywordQuery hinzufügen. Der Wert dieser Eigenschaft muss der Graph-Abfrage-Zeichenfolge im GQL-Format sein. Um die ID einer Person (ActorId), wie z.B. Carl Steadman (username:carls) abzufragen, können Sie die folgende REST-Abfrage schreiben.

https://<tenant_address>/_api/search/query?Querytext='Username:carls'&amp;SourceId='b09a7990-05ea-4af9-81ef-edfab16c4e31'&amp;SelectProperties='UserName,DocId'

Hinweis Die Ergebnisquelle zur Ausführung einer bestimmten Abfrage ist die SourceId; b09a7990-05ea-4af9-81ef-edfab16c4e31 ist die ID für die Ergebnisquelle der Personensuche.

Die resultierende Ausgabe enthält die ID der Person (DocId=21865248), wie dargestellt.

<d:element m:type="SP.KeyValue">
    <d:Key>DocId</d:Key>
    <d:Value>21865248</d:Value>
    <d:ValueType>Edm.Int64</d:ValueType>
</d:element>

Beispiele

Die folgenden Beispiele zeigen, wie Sie Einzelakteur- und Mehrfachakteurabfragen zur Abfrage von Office Graph schreiben können. Diese Beispiele verwenden Carl als Akteur mit der ActorId: 2962.

Die Ergebnisse dieser Abfragen können maximal zehn Elemente enthalten, da dies die Standardanzahl ist. Sie können die Anzahl der Ergebnisse erhöhen, indem Sie die Eigenschaft RowLimit() verwenden, wie in diesem Beispiel gezeigt.

Einzelakteur-Abfragen

  • Die ersten zehn Elemente, die mit Ihnen zu tun haben.

    Syntax: ACTOR(ME)

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME)'
  • Die ersten zehn Elemente im Zusammenhang mit Carl.

    Syntax: ACTOR(2962)

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(2962)'
  • Ihr Vorgesetzter.

    Syntax: ACTOR(ME, action:1013)

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1013)'
  • Die ersten zehn Elemente, die Sie kürzlich geändert oder angezeigt haben.

    Syntax: ACTOR(ME, OR(action:1001,action:1003))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,OR(action\:1001\,action\:1003))'
  • Die ersten zehn Elemente, die Sie am 15. August 2014 geändert haben.

    Syntax: ACTOR(ME, AND(action:1003, time:datetime(2014-08-15)))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,AND(action\:1003\,time\:datetime(2014-08-15)))'
  • Die ersten zehn Elemente, die Sie am 26. Juni 2014 oder später geändert haben.

    Syntax: ACTOR(ME, AND(action:1003, time:range(datetime(2014-06-26),max)))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,AND(action\:1003\,time\:range(datetime(2014-06-26)\,max)))'

Mehrfach-Akteur-Abfragen

  • Die ersten zehn Elemente im Zusammenhang mit Ihnen und Carl.

    Syntax: AND(ACTOR(ME), ACTOR(2962))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:AND(ACTOR(ME)\,ACTOR(2962))'
  • Die ersten zehn Elemente im Zusammenhang mit Ihnen oder Carl.

    Syntax: OR(ACTOR(ME), ACTOR(2962))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:OR(ACTOR(ME)\,ACTOR(2962))'
  • Die ersten zehn Elemente, die Sie kürzlich angesehen haben und die Carl kürzlich geändert hat.

    Syntax: AND(ACTOR(ME, action:1001), ACTOR(2962, action:1003))

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:AND(ACTOR(ME\,action\:1001)\,ACTOR(2962\,action\:1003))'

Das Ergebnisformat der Graph-Abfrage verstehen

Das Format des Ergebnisses für Graph-Abfragen ist ähnlich dem für Suchabfragen, mit einer zusätzlichen Spalte, Edges, als Teil der RelevantResultResultTable, die von der SharePoint 2013 Suchabfrage APIs zurückgegeben wird. Das Format von Edges ist ein Array von Kanten, die zu JSON serialisiert sind.

Beispielsweise fordert die folgende Abfrage die Liste der Personen an, mit denen ein bestimmter Akteur (ActorId: 21894957) arbeitet (ActionId: 1033).

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='Graphquery:ACTOR(21894957\,action\:1033)'&amp;SelectProperties='Docid,Title'

Die Ausgabe ist die folgende XML-Struktur, die Edges und andere Elemente enthält. In diesem Beispiel wird nur ein Element Edges zurückgegeben.

<d:element m:type="SP.KeyValue">
    <d:Key>Edges</d:Key>
    <d:Value>[{"ActorId":21894957,"ObjectId":21900499,
        "Properties":{"Action":1033,"Blob":[],
        "ObjectSource":1,"Time":"2013-12-02T13:56:25.5979646Z",
        "Weight":61}}]
    </d:Value>
    <d:ValueType>Edm.String</d:ValueType>
</d:element>

Zugriffskontrolle der Graph-Abfrage

Graph-Abfragen verwenden die gleichen Zugriffskontrollmechanismen wie Suchabfragen. Eine Graph-Abfrage gibt nur Elemente zurück, auf die der Benutzer Zugriff hat.

Office Graph bietet auch einen Zugriffskontrollmechanismus für alle seine Kanten. Jeder Aktionstyp einer Kante im Diagramm kann privat oder öffentlich sein. Öffentliche Kanten sind für alle Benutzer in der Organisation sichtbar. Private Kanten sind nur für den Akteur sichtbar. Sie werden ignoriert, wenn ein anderer Benutzer eine Graph-Abfrage durchführt. Beispielsweise kann Carl Steadman Office Graph nach Objekten abfragen, die er sich angesehen hat. Wenn ein anderer Benutzer diese Abfrage mit Carl Steadmans ActorIddurchführt, erhält er ein leeres Ergebnis. Die Spalte Sichtbarkeit in Tabelle 2 listet auf, welche Aktionstypen öffentlich und welche privat sind.

Erweiterte Abfragebeispiele

Sie können Graph-Abfragen auf viele verschiedene Arten schreiben, um verschiedene Aufgaben zu erfüllen. Die folgenden Beispiele sollen eine einfache Anleitung geben, wie Sie diese erweiterten Abfragen schreiben können.

Kombinieren Sie die GraphQuery-Eigenschaft mit anderen Abfrageeigenschaften

Beispiel 1: Die ersten zehn Punkte beziehen sich auf Sie oder Carl und beinhalten die Eigenschaften DocId und Edges in den Ergebnissen.

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:OR(ACTOR(ME)\,ACTOR(2962))'&amp;SelectProperties='DocId,Edges'

Hinweis Sie erhalten mehr Eigenschaften in der Ausgabe als nur DocId und Edges; zum Beispiel RankId und PartitionId. Dies liegt daran, dass dies die Standardeigenschaften sind, die vom Suchdienst zurückgegeben werden.

Beispiel 2: Die ersten 100 Elemente über Sie oder Carl.

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:OR(ACTOR(ME)\,ACTOR(2962))'&amp;RowLimit=100

Die Kanten, die Sie als Ergebnis der Graph-Abfrage erhalten, sind diejenigen, die Sie speziell in der Abfrage angefordert haben. In manchen Fällen möchten Sie jedoch zusätzliche Kantentypen abrufen, ohne zu beeinflussen, welche Dokumente im Abfrageergebnis zurückgegeben werden.

Beispiel 3: Rufen Sie alle Dokumente ab, die um Sie herum populär sind (ActionId: 1020) und geben Sie auch Informationen darüber zurück, ob Sie diese Dokumente angezeigt und geändert haben. Sie können dies tun, indem Sie das unten gezeigte boolesche Konstrukt verwenden.

Syntax: AND( ACTOR(ME, action:1020), ACTOR(ME, OR(action:1020,action:1001,action:1003)))

https://<tenant_address>/_api/search/query?Querytext='*'&Properties='GraphQuery:AND(ACTOR(ME\,action\:1020)\,ACTOR(ME\,OR(action\:1020\,action\:1001\,action\:1003)))'&SelectProperties='Docid,Title'

Verwenden Sie die GraphRankingModel-Eigenschaft, um die Ergebnisse zu sortieren

Sie können das Ergebnis für Graph-Abfragen auf zwei Arten sortieren: nach der Kante Timestamp oder der Kante Weight.

  • Um nach dem Kanten-Zeitstempel zu sortieren, setzen Sie die Eigenschaft GraphRankingModel gleich {"features"\:[{"function"\:"EdgeTime"}]}.

  • Um nach dem Kantengewicht zu sortieren, setzen Sie die Eigenschaft GraphRankingModel gleich {"features"\:[{"function"\:"EdgeWeight"}]}.

In beiden Fällen müssen Sie auch die Eigenschaft RankingModelId auf '0c77ded8-c3ef-466d-929d-905670ea1d72' setzen. Wenn ein Element im Ergebnis das Objekt von mehr als einer Kante ist, die der Graph-Abfrage entspricht, wird der/das höchste Timestamp oder Weight verwendet.

Beispiel 1: Sortiert die Einträge, die Sie zuletzt geändert haben.

Syntax: GraphQuery:ACTOR(ME, action:1003) GraphRankingModel:{"features"\:[{"function"\:"EdgeTime"}]} RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1003),GraphRankingModel:{"features"\:[{"function"\:"EdgeTime"}]}'
&amp;RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

Beispiel 2: Sortieren Sie die Personen, mit denen Sie arbeiten (WorkingWith) nach ihrer Nähe zu Ihnen.

Syntax: GraphQuery:ACTOR(ME, action:1019) GraphRankingModel:{"features"\:[{"function"\:"EdgeWeight"}]} RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

https://<tenant_address>/_api/search/query?Querytext='*'&amp;Properties='GraphQuery:ACTOR(ME\,action\:1019),GraphRankingModel:{"features"\:"function"\:"EdgeWeight"}]}'
&amp;RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

Für Mehrfach-Akteur-Abfragen können Sie einen Parameter namens actorCombination im GraphRankingModel verwenden, um auszuwählen, wie die Ranglisten der verschiedenen Akteure kombiniert werden sollen.

Beispiel 3: Finden Sie Dokumente, die um Sie und Carl herum populär sind und sortieren Sie sie nach der Summe ihrer Trending-Gewichte.

Syntax: AND(ACTOR(ME, action:1020), ACTOR(2962, action:1020)) GraphRankingModel:{"actorCombination"\:"sum"\,"features"\:[{"function"\:"EdgeWeight"}]} RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

https://<tenant_address>/_api/search/query?Querytext='*'&Properties='GraphQuery:AND(ACTOR(ME\, action\:1020)\,ACTOR(2962\,action\:1020)),
GraphRankingModel:{ "actorCombination"\:"sum"\,"features"\:[{"function"\:"EdgeWeight"}]}'
&RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'

Der Parameter actorCombination unterstützt die Werte "min", "max" und "sum"; der Standardwert ist "max".

Kombinieren Sie die GraphQuery-Eigenschaft mit Inhaltsabfragen oder Volltextabfragen

Beispiel: Kombinieren Sie GraphQuery mit Querytext='Title:design', um nach allen Elementen zu suchen, die Sie zuletzt mit "design" im Titel angezeigt haben.

Syntax: GraphQuery:ACTOR(ME, action:1001) Querytext='Title:design'

https://<tenant_address>/_api/search/query?Querytext='Title:design'&amp;Properties='GraphQuery:ACTOR(ME)\,action\:1001))

Um die Abfrage zu ändern, können Sie jede Abfrage in Querytext verwenden.

Verwenden der Query-Eigenschaft GraphRestrictionMode zum Ändern des Ergebnisses

Wenn Sie eine Graph-Abfrage ausführen, ist der Standardsatz der Elemente, die Sie im Gegenzug erhalten, die Schnittmenge aus dem Diagrammergebnis und dem Inhaltsergebnis. Wenn Sie jedoch möchten, dass Office Graph nur das Ergebnis des Inhalts zurückgibt, können Sie die Eigenschaft GraphRestrictionMode auf false setzen. Alle Kanten, die mit der Graph-Abfrage übereinstimmen, werden ebenfalls als Teil dieses Ergebnisses zurückgegeben.

Beispiel: Kombinieren Sie GraphQuery mit Querytext='Title:design', um nach allen Artikeln zu suchen, die Sie zuletzt mit "design" im Titel angezeigt haben.

Syntax: GraphQuery:ACTOR(ME, action:1001) Querytext='design' GraphRestrictionMode:false

https://<tenant_address>/_api/search/query?Querytext='design'&amp;Properties='GraphQuery:ACTOR(ME)\,action\:1001),GraphRestrictionMode:false'&SelectProperties='Docid,Title'
© 2018 Microsoft