RedisGraph este prima baza de date cu grafice de proprietati interogabile care foloseste matrici rare pentru a reprezenta matricea de adiacenta in grafice si algebra liniara pentru interogarea graficului.

Caracteristici principale:

  • Adoptarea modelului de grafic de proprietati
    • Noduri (varfuri) si relatii (margini) care pot avea atribute
    • Noduri care pot fi etichetate
    • Relatiile au un tip de relatie
  • Grafice reprezentate ca matrici de adiacenta rare
  • Cypher ca limbaj de interogare
    • Interogari Cypher traduse in expresii de algebra liniara

Pentru a vedea RedisGraph in actiune, accesati Demos. Pentru a citi documentele, accesati redisgraph.io.

Pornire rapida

  1. Incercarea RedisGraph
  2. Docher
  3. Construi
  4. start
  5. Utilizare de la orice client

Incercarea RedisGraph

Pentru a incerca RedisGraph, fie utilizati imaginea RedisGraph Docker, fie creati un cont gratuit Redis Cloud Essentials pentru a obtine o instanta RedisGraph in cloud.

Docher

Pentru a incerca rapid RedisGraph, lansati o instanta folosind docker:

docker run -p 6379: 6379 -it –rm redislabs / redisgraph

Incearca

Odata incarcat, puteti interactiona cu RedisGraph folosind redis-cli.

Aici vom crea rapid un mic grafic care reprezinta un subset de motociclisti si echipe care participa la liga MotoGP, odata creat, vom incepe sa ne interogam datele.

Cu redis-cli

Formatul rezultatelor prin redis-cli este descris in documentatia RedisGraph.

$ redis-cli 127.0.0.1:6379> GRAPH.QUERY MotoGP “CREATE (: Rider {name: ‘Valentino Rossi’}) – [: rides] -> (: Team {name: ‘Yamaha’}), (: Rider {name: ‘Dani Pedrosa’}) – [: rides] -> (: Echipa {name: ‘Honda’}), (: Rider {name: ‘Andrea Dovizioso’}) – [: rides] -> (: Team {nume: ‘Ducati’}) “1) 1) Etichete adaugate: 2 2) Noduri create: 6 3) Set de proprietati: 6 4) Relatii create: 3 5)” Timp de executie interna a interogarii: 0,399000 milisecunde “

Acum ca graficul nostru MotoGP este creat, putem incepe sa punem intrebari, de exemplu: Cine calareste pentru echipa Yamaha?

127.0.0.1:6379> GRAPH.QUERY MotoGP “MATCH (r: Rider) – [: rides] -> (t: Team) WHERE t.name = ‘Yamaha’ RETURN r.name, t.name” 1) 1) “r.name” 2) “t.name” 2) 1) 1) “Valentino Rossi” 2) “Yamaha” 3) 1) “Interogare timp de executare intern: 0,625399 milisecunde”

Cati piloti reprezinta echipa Ducati?

127.0.0.1:6379> GRAPH.QUERY MotoGP “MATCH (r: Rider) – [: rides] -> (t: Team {name: ‘Ducati’}) RETURN count (r)” 1) 1) “count (r ) “2) 1) 1) (intreg) 1 3) 1)” Interogare timp de executie intern: 0,624435 milisecunde “

Cladire

Compilare

Cerinte:

  • Depozitul RedisGraph: git clone –recurse-submodules -j8 https://github.com/RedisGraph/RedisGraph.git

  • Pe Ubuntu Linux, rulati: apt-get install build-essential cmake m4 automake peg libtool autoconf

  • Pe OS X, verificati daca homebrew este instalat si rulati: brew install cmake m4 automake peg libtool autoconf.

    • Versiunea Clang care este livrata cu lantul de instrumente OS X nu accepta OpenMP, care este o cerinta pentru RedisGraph. O modalitate de a rezolva acest lucru este sa rulati brew install gcc g ++ si sa urmati instructiunile de pe ecran pentru a actualiza legaturile simbolice. Retineti ca aceasta este o schimbare la nivel de sistem – setarea variabilelor de mediu pentru CC si CXX va functiona daca aceasta nu este o optiune.

Pentru a construi, rulati make in directorul proiectului.

Felicitari! Puteti gasi binarul compilat la src / redisgraph.

jovencitas pilladas masturbandose pelisxxx
me gusta follar maduras corriendose
trios gays tv porno
super tetudas vidios xxx
sexo romantico coñitos
españolas follando en la playa pilladas desnudas
nonude model videoxxx
porno violacion gay videos travestis
follando en casa penes grandes
se folla a su hijo scat porno
porno guarras españolas porno trans
videos pornos caseros reales gitana follando
follando sin querer madres incestuosas
videos x incesto peliculas eroticas gratis
guarras.com abuelas follando
viejas calientes pajas caseras
maduras corriendose naomi woods
incesto real madre hijo porno casero españa
peliculas porno traducidas al castellano madre pajea a su hijo
videos de investo maduras.com

so.

Rularea testelor

Mai intai, instalati pachetele Python necesare executand pip install -r requirements.txt din directorul testelor.

Daca aveti redis-server in PATH, invocati doar make test.

In caz contrar, invocati REDIS_SERVER = <redis-server-location> make test.

Pentru o iesire mai detaliata, rulati make test V = 1.

Se incarca RedisGraph in Redis

RedisGraph este gazduit de Redis, deci va trebui mai intai sa-l incarcati ca un modul pe un server Redis: ruland Redis v5.0.7 sau mai sus.

Va recomandam sa incarcati Redis RedisGraph in timpul pornirii prin adaugarea urmatoarelor fisiere redis.conf:

loadmodule /path/to/module/src/redisgraph.so

In linia de mai sus, inlocuiti /path/to/module/src/redisgraph.so cu calea reala catre biblioteca RedisGraph. Daca Redis ruleaza ca serviciu, trebuie sa va asigurati ca utilizatorul redis (implicit) are permisiunile necesare pentru fisier / folder pentru a accesa redisgraph.so.

Alternativ, puteti avea Redis sa incarce RedisGraph utilizand urmatoarea sintaxa a argumentului de linie de comanda:

~ / $ redis-server –loadmodule /path/to/module/src/redisgraph.so

In cele din urma, puteti utiliza si comanda MODULE LOAD. Retineti, totusi, ca MODULUL INCARCARE este o comanda periculoasa si poate fi blocat / depreciat in viitor din motive de securitate.

Dupa ce ati incarcat cu succes RedisGraph, jurnalul dvs. Redis ar trebui sa aiba linii similare cu:

… 30707: M 20 Iun 02: 08: 12.314 * Modulul „grafic” incarcat din <redactat> /src/redisgraph.so …

Daca serverul nu reuseste sa se lanseze cu o iesire similara cu:

# Modulul /usr/lib/redis/modules/redisgraph.so nu a reusit sa se incarce: libgomp.so.1: nu se poate deschide fisierul obiect partajat: Nu exista un astfel de fisier sau director # Nu se poate incarca modulul din / usr / lib / redis / modules /redisgraph.so: server se intrerupe

Sistemului ii lipseste dependenta de rulare OpenMP. Acest lucru poate fi instalat pe Ubuntu cu apt-get install libgomp1, pe RHEL / CentOS cu yum install libgomp si pe OSX cu brew install libomp.

Folosind RedisGraph

Puteti apela comenzile RedisGraph de la orice client Redis.

Cu redis-cli

$ redis-cli 127.0.0.1:6379> GRAPH.QUERY social “CREATE (: persoana {nume: ‘roi’, varsta: 33, sex: ‘barbat’, statut: ‘casatorit’})”

Cu orice alt client

Puteti interactiona cu RedisGraph folosind capacitatea clientului dvs. de a trimite comenzi Raw Redis.

In functie de clientul ales de dvs., metoda exacta pentru a face acest lucru poate varia.

Exemplu Python

Acest fragment de cod arata cum sa utilizati RedisGraph cu comenzile Raw Redis de la Python prin redis-py:

import redis r = redis.StrictRedis () reply = r.execute_command (‘GRAPH.QUERY’, ‘social’, ‘CREATE (: person {name:’ roi ‘, age: 33, gender:’ male ‘, status:’ casatorit’)”)

Bibliotecile client

Unele limbi au biblioteci client care ofera suport pentru comenzile RedisGraph:

Documentatie

Cititi documentele la redisgraph.io.

Lista de discutii / Forum

Aveti intrebari? Nu ezitati sa intrebati pe forumul RedisGraph.

Licenta

Redis Source Contract de licenta disponibil – consultati LICENTA