---
title: "Creación de una Entidad en base de datos de grafos"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/3583213569/Creaci%C3%B3n%20de%20una%20Entidad%20en%20base%20de%20datos%20de%20grafos"
format: markdown
---
> ℹ️ Desde la [versión 3.1.0-KickOff](https://dev.onesaitplatform.com/space/ruta/2217052456/Publicada+Release+3.1.0+(KickOff)+de+Onesait+Platform), en el Control Panel se ha pasado a denominar a las Ontologías como «**Entidades**». Esto no altera ninguna funcionalidad; simplemente se ha cambiado la nomenclatura para un mejor entendimiento del concepto.

> ✅ Disponible desde la [versión 4.2.0-Predator](https://dev.onesaitplatform.com/space/ruta/3654647809/Publicada+Release+4.2.0+(Predator)+de+la+Onesait+Platform).

> Macro (toc)

> 📝 Interfaz de usuario: **5.3.2-Ultimate**

# Introducción

En este artículo 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.

# Pasos

## Crear la Entidad

Desde el Control Panel, navegaremos al menú de **Desarrollo > Mis Entidades**.

![image-20240315-092532.png](media://813b9b93-d246-4a60-9771-a22e0a48cb25)

 

Esto nos llevará al listado de Entidades disponibles. Para crear la Entidad, pulsaremos en el botón de «**+**» situado en la parte superior derecha de la pantalla.

![image-20240227-121951.png](media://a82597c2-23f1-40e7-9caf-6cf27f5012c5)

De las distintas Entidades que vamos a poder crear, seleccionaremos la de «**Creación entidad en base de datos de grafos**»:

![image-20240403-130520.png](media://0fe907ea-2ca5-42c3-9ba6-9e2164dd1e1e)

## Rellenar la información general

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.

![image](media://9fdbe5a3-9330-4269-b6ed-420ea82599b1)

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

![image](media://c3dd61e0-0bdc-44ef-9c76-1ec3e8867eac)

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


![image](media://bab87c26-5cee-49ac-98f3-456d78ed00b9)

Si accedemos al icono de «ver Entidad» (ojo) podremos ver reflejada la definición de vértices y aristas.

![image](media://9ba3c0c5-2641-4f75-ac9d-6d5b4809b72f)

# Introducir datos

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

Para este ejemplo crearemos los siguientes datos:

```
#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);
```

![image](media://f1aa038b-aca4-449f-b38b-0400bbbb53da)

Con esto ya tendremos datos para realizar consultas.

# Consultas

Como hemos dicho anteriormente, podemos realizar cualquier tipo de consulta en formato nGQL, veamos unos ejemplos:

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

![image](media://b6bdf0ad-0e29-4b31-843a-45d12130070a)

```
GO FROM "player101" OVER follow YIELD id($$) as vid;
```

![image](media://2ca55214-2eba-4b5f-8ae1-8967eb398b93)

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

![image](media://20b20e23-28da-4cc6-b321-a2ac024a0f44)

# Apificación

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

Cuando seleccionemos una Entidad de tipo grafo para apificar, nos aparecerá únicamente una operación disponible.

![image](media://8ed244e5-bfa8-4ea5-b51f-afa15d701cf5)

![image](media://939b939b-a911-40a0-ac2f-bb97c54197d9)

![image](media://feb5d33e-6d0a-4460-b0ed-0c5e80e5f6f3)

# 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 Nebula.

![image](media://e1265505-678a-497d-ae82-46ebc4a6f5f0)

Al acceder, se nos abrirá una pestaña nueva, donde tendremos que introducir los siguientes datos de acceso:

```
Host:

graphd:9669

Default credentials are:

root / nebula
```

![image](media://7db88b44-f985-41d0-b95c-4bc5cbe200e2)

Y seleccionar la Entidad/space en el combo:

![image](media://09011806-df18-4108-8af2-d80afbdadf6a)

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’


![image](media://ca5e24f4-46b5-4494-b3d8-e98fee64ea90)

![image](media://c67c1831-5621-4199-b4c4-265af9181e94)

![image](media://d0f50cc4-c698-4e5d-88e2-c1e690727072)