Neo4jArt is a Java project that uses a Neo4j graph database on the AuraDB platform using the Cypher query language. Its main theme is art and represents the different relationships between painters, paintings, museums and artistic techniques.
- Obtain all the pictures painted by an artist.
- Obtain all the painters who used a particular technique.
- Obtain the techniques that have been used in more than 5 works.
- Obtain the pictures painted by an artist who has influenced another painter.
- Obtain the influences between painters (transitive closure).
- Obtain the painter who has influenced other painters the most.
In order to run the application correctly, the following steps must be followed:
- You need to create an instance in Neo4j AuraDB.
- Inside the Browser tab, paste the script written in Cypher from this repository CreateDataBase.txt to create the nodes and relations in graph form and represent the painters, paintings, artistic techniques, museums and the relations between them.
- Within the Java project, a Credentials class must be created with the URI of the AuraDB instance, the user and password. Next I show an example template:
package queries;
public class Credentials {
private static final String URI = "neo4j+s://<URI>.databases.neo4j.io";
private static final String user = "<User>";
private static final String password = "<Password>";
public static String getURI() {
return URI;
}
public static String getUser() {
return user;
}
public static String getPassword() {
return password;
}
}
Documentation is provided in GraphGist format: Neo4jArt on GraphGist
Neo4jArt es un proyecto en Java que utiliza una base de datos de grafo Neo4j en la plataforma AuraDB utilizando el lenguaje de consulta Cypher. Su temática principal es el arte y representa diferentes relaciones entre pintores, cuadros, museos y técnicas artísticas.
- Obtener todos los cuadros pintados por un artista
- Obtener todos los pintores que utilizaron una técnica concreta
- Obtener las técnicas que han sido utilizadas en más de 5 obras
- Obtener los cuadros pintados por un artistas que haya influido en otro pintor
- Obtener las influencias entre pintores (cierre transitivo)
- Obtener el pintor que más haya influido en otros pintores
Para poder ejecutar la aplicación correctamente, se deben seguir los siguientes pasos:
- Se necesita crear una instancia en Neo4j AuraDB.
- Dentro de la pestaña Browser, pegar el script escrito en Cypher de este repositorio CreateDataBase.txt para crear los nodos y relaciones en forma de grafo y representar los pintores, cuadros, técnicas artísticas, museos y las relaciones entre ellos.
- Dentro del proyecto Java, se debe crear una clase Credentials con la URI de la instancia de AuraDB, el usuario y contraseña. A continuación muestro una plantilla de ejemplo:
package queries;
public class Credentials {
private static final String URI = "neo4j+s://<URI>.databases.neo4j.io";
private static final String user = "<User>";
private static final String password = "<Password>";
public static String getURI() {
return URI;
}
public static String getUser() {
return user;
}
public static String getPassword() {
return password;
}
}
Se proporciona una documentación en formato GraphGist: Neo4jArt en GraphGist