Azure Office 365

Verdiep je in Delve met de Graph Query Language

29 oktober 2014

Delve, voorheen bekend als Oslo, is inmiddels binnen een groot aantal Office 365 omgevingen beschikbaar. Het is de nieuwe manier van Microsoft om relevante informatie en connecties uit je werk voor jouw inzichtelijk te maken zonder dat je er expliciet naar hoeft te zoeken. Een mooi idee dat erg enthousiast ontvangen is. Delve maakt gebruik van de Graph Query Language (GQL) om dit mogelijk te maken en het goede nieuws is dat je deze techniek ook zelf kunt gebruiken binnen je intranet omgeving of in een (Windows) app.

De Graph Query Language is een uitbreiding op de querytaal die al in SharePoint/Office365 beschikbaar is. Je kunt de welbekende Keyword Query class gebruiken door hierbij een zogenaamde GraphQuery op te geven. Deze GraphQuery kan gecombineerd worden met de gewone zoektermen, zoals we die gewend zijn. Op deze manier kun je bijvoorbeeld eenvoudig de laatste tien documenten met het woord “Architectuur” opvragen, die door jou of een van de mensen waar je veel contact mee hebt bewerkt zijn. De KeywordQuery kun je zowel via het server side object model als via het client side object model gebruiken. Het is ook mogelijk om de GQL queries via REST uit te voeren. De voorbeelden in deze blogpost zullen hierop gebaseerd zijn.

Voor de Graph Query Language zijn tien acties gedefinieerd. Deze acties hebben een ID die je gebruikt in de query en zijn onder te verdelen in privé en publieke acties. De privé acties geven privacy gevoelige informatie over een gebruiker terug en kunnen dus alleen door de gebruiker zelf gebruikt worden. Een voorbeeld hiervan is het opvragen van de items die een persoon bekeken heeft. Het is prima dat je dit zelf kunt zien, maar als een collega exact kan volgen welke documenten jij bekijkt kan dit vervelende consequenties hebben.

Een overzicht van de beschikbare acties vind je op de MSDN pagina over GQL. We zullen ze niet allemaal bespreken maar wel, aan de hand van een aantal voorbeelden, een indruk proberen te geven van de mogelijkheden.

De informatie die je uit Delve kunt halen is onder te verdelen in twee soorten: informatie over personen die relevant zijn voor een gebruiker. En als tweede de items die relevant zijn voor de gebruiker zelf of voor hem relevante personen. Als je dit combineert met de gewone query mogelijkheden kun je hier interessante dingen mee doen.

Hieronder enkele eenvoudige voorbeelden van REST queries. Test deze zelf uit door het begin te veranderen met je eigen tenant url.

Objecten die voor mij trending zijn:
https://sparkedcloud.sharepoint.com/_api/search/query?Querytext=’*’&Properties=’GraphQuery:ACTOR(ME\, action\:1020)’

Mensen waarmee ik veel communiceer of samenwerk:
https://sparkedcloud.sharepoint.com/_api/search/query?Querytext=’*’&Properties=’GraphQuery:ACTOR(ME\, action\:1019)’

Uit bovenstaande komen een aantal gebruikers terug. Deze hebben een ID dat we weer kunnen gebruiken in andere query’s.

Bijvoorbeeld het zoeken naar functionele ontwerpen die door mij of Tom Rovers (Actor 761381) bewerkt zijn:
https://sparkedcloud.sharepoint.com/_api/search/query?Querytext=’*’&Properties=’GraphQuery:OR(ACTOR(ME\, action\:1003)\, ACTOR(761381\, action\:1003))’

Door slim te combineren kun je allerlei nuttige informatie uit de Office Graph halen. Uiteraard heb je ook nog invloed op de sortering, het aantal resultaten en de geretourneerde details. Meer informatie hierover vind je via de eerder genoemde MSDN pagina over GQL.

Delve is visueel aantrekkelijk doordat het veel gebruik maakt van zogenaamde Preview Images. Hoewel het nog niet gedocumenteerd lijkt te zijn op MSDN kun je ook hier gebruik van maken. Er is een GetPreview.ashx handler beschikbaar die een SiteId, WebId, UniqueId en DocID accepteerd (allen beschikbaar via GQL). Deze kun je gebruiken om een Preview Image voor Office documenten weer te geven in je eigen app.

Genoeg mogelijkheden dus om mee aan de slag te gaan en ook op andere plekken binnen je intranet of app te zorgen dat je gebruiker nog minder hoeft te zoeken omdat de informatie die hij nodig heeft om zijn werk goed te kunnen doen al voor hem beschikbaar is.

 

You Might Also Like

Geen reacties

Plaats een reactie