Datamodellen en querytalen zijn weliswaar wat droge onderwerpen voor mensen die niet tot de kennerskring behoren. Hoewel grafiekgegevensmodellen en querytalen geen uitzondering op die regel zijn, hebben we geprobeerd de ontwikkelingen op dat gebied bij te houden, en wel om een belangrijke reden.
Graph is het snelst groeiende gebied in het grootste segment van bedrijfssoftware: databases. Voorbeeld: een reeks recente financieringsrondes, die culmineerden in Neo4j's Series F-financieringsronde van $ 325 miljoen, brachten de waardering op meer dan $ 2 miljard.
Neo4j is een van de verkopers van grafische databases die het langst bestaan, en het is nu ook de best gefinancierde. Maar dat betekent niet dat het de enige is die de moeite waard is om in de gaten te houden. AWS betrad de markt voor grafische databases in 2018 met Neptune en heeft sindsdien veel vooruitgang geboekt.
Vandaag onthult AWS ondersteuning voor openCypher, de open-source querytaal gebaseerd op Neo4j's Cypher. We maken van de gelegenheid gebruik om uit te leggen wat dit betekent en hoe het verband houdt met de toekomst van grafische databases, en bekijken ook interessante ontwikkelingen in de ondersteuning van Neptune voor machine learning en datawetenschap.
bruggen bouwen met openCypher
Ontwikkelaars kunnen nu openCypher, een populaire taal voor het opvragen van grafieken, gebruiken met Amazon Neptune, waardoor er meer keuze is om grafiektoepassingen te bouwen of te migreren. Neptune heeft nu ondersteuning voor de top drie van meest populaire grafische querytalen: Cypher, Gremlin en SPARQL.
Bovendien zal Neptune ondersteuning toevoegen voor Bolt, het binaire protocol van Neo4j. Waar dit op duidt, is de mogelijkheid om klanten in staat te stellen gebruik te maken van bekende en bestaande tooling – Neo4's tooling om specifieker te zijn. Maar er zijn meer redenen waarom dit belangrijk is.
Er zijn twee hoofdgegevensmodellen die worden gebruikt om grafieken te modelleren: RDF en Labeled Property Graph (LPG). Neptune ondersteunt beide, waarbij SPARQL als zoektaal voor RDF dient en Gremlin als zoektaal voor LPG. Gremlin heeft veel te bieden, omdat het bijna alomtegenwoordige ondersteuning heeft en veel controle biedt over grafiektraversals. Maar dat kan ook een probleem zijn.
Gremlin, onderdeel van het Apache Tinkerpop-project, is een dwingende zoektaal. Dit betekent dat in tegenstelling tot declaratieve querytalen zoals SQL, Cypher en SPARQL, Gremlin-query's niet alleen aangeven wat ze moeten ophalen, maar ze moeten ook specificeren hoe. In dat opzicht lijkt Gremlin meer op een programmeertaal.
Amazon Neptune-architectuur. De mogelijkheden van Neptune zijn nu verbeterd door de ondersteuning voor openCypher, wat meer flexibiliteit in het arsenaal brengt.
AWS
Niet alle gebruikers voelen zich op hun gemak bij het gebruik van Gremlin in alle scenario's. Als ze echter het LPG-model wilden gebruiken, was dat alles wat ze moesten doen. Amazon lijkt dit te erkennen, ondanks het feit dat het een aantal belangrijke bijdragers aan Apache Tinkerpop in dienst heeft. Het toevoegen van ondersteuning voor openCypher maakt het werken met de LPG-engine in Neptune toegankelijker.
Neptune's ondersteuning voor LPG en RDF is mogelijk omdat er twee verschillende engines onder de motorkap zitten, één voor elk datamodel. Het toevoegen van ondersteuning voor openCypher verandert daar niets aan – althans nog niet. Maar RDF* misschien wel. RDF*, ook wel bekend als RDF Star, is een update van de RDF-standaard waarmee het ook LPG-grafieken kan modelleren.
Zowel in de RDF- als in de LPG-werkgroepen wordt op dat gebied gewerkt. Naast Amazon met Neptune voegen andere RDF-leveranciers ook experimentele ondersteuning toe voor openCypher. Het grotere plaatje hier is het voortdurende werk, onderschreven door de ISO, aan GQL.
GQL is een nieuwe standaard voor graph-querytalen, met als doel het verenigen van wat vandaag een gefragmenteerd landschap is. De verwachting is dat GQL voor grafische databases zal doen wat SQL deed voor relationele databases. Amazon is actief in zowel de RDF*- als de GQL-inspanningen.
Uiteindelijk zou dat Neptune in staat moeten stellen zijn twee momenteel ongelijksoortige motoren te verenigen. Maar het verhaal hier is groter dan alleen Amazon. De belofte is dat wat Amazon onder de motorkap kan doen, alle gebruikers van grafische databases op hun systemen zouden moeten kunnen doen: één enkel gegevensmodel en één enkele zoektaal gebruiken.
Gegevens functies voor wetenschap en machine learning: notebooks en grafische neurale netwerken
GQL heeft nog een lange weg te gaan. Standaardisatie-inspanningen zijn altijd ingewikkeld en ook de acceptatie is niet over de hele linie gegarandeerd. Maar Neptune is ook een voorbeeld van een andere belangrijke ontwikkeling in grafische databases: integratie van datawetenschap en machine learning-functies.
Het ontwikkelen van grafiektoepassingen en het navigeren in grafiekresultaten wordt enorm vergemakkelijkt door IDE's en visuele verkenningstools die op dit doel zijn afgestemd. Hoewel veel leveranciers van grafische databases ingebouwde tools voor die doeleinden in hun aanbod hebben opgenomen, vertrouwde Neptune tot voor kort uitsluitend op integraties van derden.
De manier waarop het team van Neptune ervoor koos om deze kloof te dichten, was door AWS Graph Notebook te ontwikkelen. Notebooks zijn erg populair onder datawetenschappers en machine learning-professionals, waardoor ze code, data, visualisatie en documentatie kunnen mixen en matchen en kunnen samenwerken.
AWS Graph Notebook is een open source Python-pakket voor Jupyter-notebooks om grafiekvisualisatie te ondersteunen. Het ondersteunt zowel Gremlin als SPARQL, en we verwachten dat het uiteindelijk ook openCypher zal ondersteunen. Hoewel Amazon aanvankelijk werd overgenomen door de massa's op het gebied van datawetenschap en machine learning, lijkt Amazon te geloven dat notebooks ook zullen aanslaan bij ontwikkelaars.
Neptune ML is de codenaam die Amazon heeft gegeven aan de integratie tussen de Neptune-grafiekdatabase en de machineleermogelijkheden voor grafieken in SageMaker en DGL.
AWS
We zullen moeten afwachten of die inzet loont. Wat echter zeker is, is dat het aanbieden van notebookondersteuning de aantrekkingskracht van Neptune op het gebied van datawetenschap en machine learning versterkt. Maar dat is niet alles wat Neptune daar te bieden heeft — voer Neptune ML in.
Amazon prijst Neptune ML aan als een manier om gemakkelijke, snelle en nauwkeurige voorspellingen te doen over grafieken met neurale netwerken (GNN's). Neptune ML wordt mogelijk gemaakt door Amazon SageMaker en de open source Deep Graph Library (DGL), waaraan Amazon bijdraagt.
GNNs is een relatief nieuwe tak van Deep Learning, met de interessante functie dat ze gebruikmaken van de extra contextuele informatie die het modelleren van gegevens als een grafiek kan modelleren om Deep Learning-algoritmen te trainen. GNN's worden beschouwd als state-of-the-art op het gebied van machine learning, en ze kunnen een betere nauwkeurigheid hebben bij het maken van voorspellingen in vergelijking met conventionele neurale netwerken.
Het integreren van GNN's met grafische databases is een natuurlijke match. GNN's kunnen worden gebruikt voor voorspellingen op knoop- en randniveau, d.w.z. ze kunnen aanvullende gegevens en verbindingen in grafieken afleiden. Ze kunnen worden gebruikt om modellen te trainen om eigenschappen af te leiden voor gebruiksscenario's zoals fraudevoorspelling, advertentietargeting, klant 360, aanbevelingen, identiteitsresolutie en voltooiing van kennisgrafieken.
Nogmaals, Neptune is niet de enige die notebooks en machine learning in zijn aanbod opneemt. Naast het aanpakken van de datawetenschap en machine learning-menigte, kunnen deze functies ook de ervaring van de ontwikkelaar en de eindgebruiker verbeteren. Betere tools, betere gegevens, betere analyses — ze resulteren allemaal in betere toepassingen voor eindgebruikers. Dat is waar alle leveranciers naar streven.
lees dit
Alles wat u moet weten over AI
Een uitvoerende gids voor kunstmatige intelligentie, van machine learning en algemene AI tot neurale netwerken.
Lees meer
Verwante onderwerpen:
Digitale transformatie Robotica Internet of Things Innovatie Enterprise Software CXO