Datamodeller og spørrespråk er riktignok noe tørre temaer for folk som ikke er i kjennskapens indre krets. Selv om grafdatamodeller og spørrespråk ikke er noe unntak fra den regelen, har vi prøvd å holde oversikt over utviklingen i dette området, av en hovedårsak.
Graf er det raskest voksende området i det største segmentet innen bedriftsprogramvare – databaser. Case in point: En rekke nylige finansieringsrunder, som kulminerte med Neo4js 325 millioner dollar F -finansieringsrunde, brakte verdsettelsen til over 2 milliarder dollar.
Neo4j er blant grafdatabaseleverandørene som har eksistert lengst, og den er nå den best finansierte også. Men det betyr ikke at det er den eneste som er verdt å holde et øye med. AWS entret grafdatabankmarkedet i 2018 med Neptune, og det har gjort store fremskritt siden.
I dag avslører AWS støtte for openCypher, spørringsspråket med åpen kildekode basert på Neo4js Cypher. Vi benytter anledningen til å pakke ut hva dette betyr, og hvordan det er relatert til fremtiden for grafdatabaser, samt se på interessant utvikling i Neptuns støtte for maskinlæring og datavitenskap.
Bygge broer med openCypher
Utviklere kan nå bruke openCypher, et populært grafisk spørrespråk, med Amazon Neptune, som gir flere valgmuligheter for å bygge eller migrere grafprogrammer. Neptune har nå støtte for de tre mest populære grafspørsmålene: Cypher, Gremlin og SPARQL.
I tillegg vil Neptune legge til støtte for Bolt, Neo4js binære protokoll. Det dette antyder er muligheten til å la kundene dra nytte av kjent og eksisterende verktøy – Neo4s verktøy, for å være mer spesifikk. Men det er flere grunner til at dette er viktig.
Det er to hoveddatamodeller som brukes til å modellere grafer: RDF og Labeled Property Graph (LPG). Neptune støtter begge deler, med SPARQL som spørrespråk for RDF, og Gremlin som spørrespråk for LPG. Gremlin har mye å gjøre for det, ettersom det har nesten allestedsnærværende støtte, og gir mye kontroll over grafoverganger. Men det kan også være et problem.
Gremlin, en del av Apache Tinkerpop -prosjektet, er et viktig spørrespråk. Dette betyr at i motsetning til deklarative spørrespråk som SQL, Cypher og SPARQL, gir Gremlin -spørringer ikke bare uttrykk for hva de skal hente, men de må også spesifisere hvordan. I den forbindelse ligner Gremlin mer et programmeringsspråk.
Amazon Neptune -arkitektur. Neptuns evner blir nå forsterket av støtten til openCypher, noe som gir arsenal mer fleksibilitet.
AWS
Ikke alle brukere er komfortable med å bruke Gremlin i alle scenarier. Hvis de ønsket å bruke LPG -modellen, var det imidlertid alt de måtte gå etter. Til tross for at Amazon har ansatt noen viktige bidragsytere i Apache Tinkerpop, ser det ut til å erkjenne dette. Å legge til støtte for openCypher gjør arbeidet med LPG -motoren i Neptune mer tilgjengelig.
Neptuns støtte for LPG og RDF er mulig fordi den er vert for to forskjellige motorer under hetten, en for hver datamodell. Å legge til støtte for openCypher endrer ikke det – i hvert fall ikke ennå. Men RDF*kan. RDF*, også kjent som RDF Star, er en oppdatering av RDF -standarden som gjør at den også kan modellere LPG -grafer.
Det pågår arbeid på dette området i både RDF og LPG arbeidsgrupper. I tillegg til Amazon med Neptune, legger andre RDF -leverandører også til eksperimentell støtte for openCypher. Det større bildet her er det pågående arbeidet, godkjent av ISO, om GQL.
GQL er en ny standard for grafiske spørrespråk, med sikte på å forene det som i dag er et fragmentert landskap. Forventningen er at GQL vil gjøre for grafdatabaser det SQL gjorde for relasjonsdatabaser. Amazon er aktiv i både RDF* og GQL -arbeidet.
Etter hvert skulle det gjøre det mulig for Neptune å forene sine to for tiden forskjellige motorer. Men historien her er større enn bare Amazon. Løftet er at det Amazon vil kunne gjøre under panseret, bør alle grafdatabasebrukere kunne gjøre på tvers av systemene sine: bruk en enkelt datamodell og et enkelt spørrespråk.
Data vitenskap og maskinlæringsfunksjoner: Notatbøker og grafiske nevrale nettverk
GQL har fortsatt en vei å gå. Standardiseringsarbeidet er alltid komplisert, og adopsjon er heller ikke garantert over hele linjen. Men Neptun er også et eksempel på en annen viktig utvikling i grafdatabaser: integrering av datavitenskap og maskinlæringsfunksjoner.
Utvikling av grafapplikasjoner og navigering i grafresultater lettes sterkt av IDEer og visuelle leteverktøy som er skreddersydd for dette formålet. Selv om mange grafdatabaseleverandører har innarbeidet innebygde verktøy for disse formålene i tilbudene sine, var Neptune utelukkende avhengig av tredjepartsintegrasjoner inntil nylig.
Måten Neptuns team valgte å løse dette gapet var ved å utvikle AWS Graph Notebook. Bærbare datamaskiner er veldig populære blant datavitenskapsmenn og maskinlæringsutøvere, slik at de kan blande og matche kode, data, visualisering og dokumentasjon og arbeide sammen.
AWS Graph Notebook er en åpen kildekode Python -pakke for Jupyter bærbare datamaskiner for å støtte grafvisualisering. Den støtter både Gremlin og SPARQL, og vi forventer at den til slutt også vil støtte openCypher. Selv om Amazon opprinnelig ble tatt i bruk av datavitenskap og maskinlæring, ser det ut til at Amazon tror at bærbare datamaskiner også vil ta tak i utviklere.
Neptune ML er kodenavnet Amazon har gitt til integrasjonen mellom Neptun -grafdatabasen og grafmaskinlæringsfunksjonene i SageMaker og DGL.
AWS
Vi må vente for å se om den innsatsen lønner seg. Det som er sikkert er imidlertid at det å tilby bærbar PC -støtte styrker Neptuns appell for data science og maskinlæring. Men det er ikke alt Neptune har å tilby der – skriv inn Neptune ML.
Amazon viser Neptune ML som en måte å lage enkle, raske og nøyaktige spådommer på grafer med grafiske nevrale nettverk (GNN). Neptune ML er drevet av Amazon SageMaker og åpen kildekode Deep Graph Library (DGL), som Amazon bidrar til.
GNNs er en relativt ny gren av Deep Learning, med den interessante funksjonen at de utnytter den ekstra kontekstuelle informasjon som modellering av data som en graf kan modellere for å trene Deep Learning -algoritmer. GNN -er regnes som topp moderne innen maskinlæring, og de kan ha bedre nøyaktighet når det gjelder spådommer sammenlignet med konvensjonelle nevrale nettverk.
Integrering av GNN -er med grafdatabaser er en naturlig match. GNN-er kan brukes til spådommer på node- og kantnivå, dvs. de kan utlede ytterligere data og tilkoblinger i grafer. De kan brukes til å trene modeller til å utlede eiendommer for brukstilfeller som svindelforslag, annonsemålretting, kunde 360, anbefalinger, identitetsoppløsning og fullføring av kunnskapsgraf.
Igjen, Neptunus er ikke den eneste som har integrert notatbøker og maskinlæring i tilbudet. I tillegg til å ta for seg datavitenskap og maskinlæring, kan disse funksjonene også oppgradere utvikleren og sluttbrukeropplevelsen. Bedre verktøy, bedre data, bedre analyser-de resulterer alle i bedre sluttbrukerprogrammer. Det er det alle leverandører streber etter.
les dette
Alt du trenger å vite om AI
En leder for kunstig intelligens, fra maskinlæring og generell AI til nevrale nettverk.
Les mer
Relaterte emner:
Digital Transformation Robotics Internet of Things Innovation Enterprise Software CXO