Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Info

Disponible a partir de versión Available from Onesait Platform version 4.2.0 de Onesait Platform

Introducción

En este post vamos a explicar cómo trabajar con entidades almacenadas sobre Nebula Graph, para los casos en los que se quiera trabajar con tecnologías de almacenamiento basadas en grafos.

Creación de la entidad

Para crear la entidad, tendremos que seleccionar la opción de ‘Crear entidad en base de datos de grafos’

...

En la primera pestaña rellenaremos los datos básicos sobre la entidad, que representará un espacio o space en Nebula Graph, es decir, ésta contendrá la definición de los vértices y aristas. Tendremos que elegir el número de particiones y réplicas para la entidad (space) que vamos a crear, por defecto a 15 y 1 respectivamente.

...

En la siguiente pestaña definiremos los vértices y aristas, a medida que agreguemos propiedades de ambas aparecerán en la tabla asociada.

...

A continuación pulsaremos en el botón crear.

Image Removed

Si accedemos al icono de ‘ver entidad’ (ojo) podremos ver reflejada la definición de vértices y aristas.

...

Introducir datos

Una vez creada la entidad, podemos ejecutar todo tipo de queries nGQL desde query tool.

Para este ejemplo crearemos los siguientes datos

and higher

Introduction

In this post we are going to explain how to work with stored entities on Nebula Graph, for the cases in which you want to work with graph-based storage technologies.

Entity creation

To create the entity, we will have to select the option 'Create entity in network database'.

...

In the first tab we will fill in the basic data about the entity, which will represent a space in Nebula Graph, that is, it will contain the definition of the vertices and edges. We will have to choose the number of partitions and replicas for the entity (space) that we are going to create, by default 15 and 1 respectively.

...

In the next tab we will define the vertices and edges, as we add properties of both they will appear in the associated table.

...

Then click on the create button.

...

If we access the 'view entity' icon (eye) we will be able to see the definition of vertices and edges.

...

Entering data

Once the entity is created, we can execute all types of nGQL queries from query tool.

For this example we will create the following data:

Code Block
#VERTICES
INSERT VERTEX player(name, age) VALUES "player100":("Tim Duncan", 42);
INSERT VERTEX player(name, age) VALUES "player101":("Tony Parker", 36);
INSERT VERTEX player(name, age) VALUES "player102":("LaMarcus Aldridge", 33);
INSERT VERTEX player(name, age) VALUES "player103":("Michael Jordan", 52);
INSERT VERTEX team(name) VALUES "team203":("Trail Blazers"), "team204":("Spurs");
#ARISTAS
INSERT EDGE follow(degree) VALUES "player101" -> "player100":(95);
INSERT EDGE follow(degree) VALUES "player101" -> "player102":(90);
INSERT EDGE follow(degree) VALUES "player101" -> "player103":(70);
INSERT EDGE follow(degree) VALUES "player102" -> "player100":(75);
INSERT EDGE follow(degree) VALUES "player102" -> "player100":(75);
INSERT EDGE follow(degree) VALUES "player103" -> "player101":(55);
INSERT EDGE serve(start_year, end_year) VALUES "player101" -> "team204":(1999, 2018),"player102" -> "team203":(2006,  2015),"player103" -> "team203":(1990,  2022);

...

Con esto ya tendremos datos para realizar consultas.

Consultas

Como hemos dicho anteriormente, podemos realizar cualquier tipo de consulta en formato nGQL, veamos unos ejemplosWith this we will now have data to perform queries.

Queries

As we have said before, we can make any type of query in nGQL format, let's see some examples:

Code Block
FETCH PROP ON player "player100" YIELD properties(vertex) as player_properties;

...

Code Block
GO FROM "player101" OVER follow YIELD dst(edge) AS id | GO FROM $-.id OVER serve YIELD properties($$).name AS Team,  properties($^).name AS Player;

...

...

También podremos apificar la entidad para realizar consultas vía HTTP.

...

Apification

We can also apify the entity to perform queries via HTTP.

When we select a network type entity to qualify, only one operation will be available.

...

Nebula Graph UI

Desde el listado de entidades, cuando una entidad esté almacenada en Nebula Graph, tendrá una opción de acceder a la UI de NebulaFrom the entity list, when an entity is stored in Nebula Graph, you will have an option to access the Nebula UI.

...

Al acceder, se nos abrirá una pestaña nueva, donde tendremos que introducir los siguientes datos de When accessing, a new tab will open, where we will have to enter the following data of acceso:

Code Block
Host:

graphd:9669

Default credentials are:

root / nebula

...

Y seleccionar la entidadAnd select the entity/space en el in the combo box:

...

Luego accederemos al Explorer para poder visualizar el grafo de nuestros datos dentro de la entidad.Para visualizar un grafo inicial completo, podemos seleccionar el botón ‘Start with vertices', y después 'Import Sample’Then we will access the Explorer to be able to visualize the graph of our data within the entity.

To visualize a complete initial network, we can select the button 'Start with vertices', and then 'Import Sample'.