Beispiel #1
0
        public static void SetRelacion(Invocacion invocacion, string nombreFuncion, string nombreArchivoFuncion)
        {
            string query = "MATCH (a:Archivo)" +
                           "WHERE a.nombre = \"" + invocacion.NombreArchivo + "\"" +
                           "MATCH (f:Funcion)-[:DefinidaEn]->(b:Archivo)" +
                           "WHERE f.nombre = \"" + nombreFuncion + "\" AND b.nombre = \"" + nombreArchivoFuncion + "\"" +
                           "CREATE ((f)-[:EsInvocadoPor {linea:" + invocacion.Linea + ",col:" + invocacion.Columna + "}]->(a)), ((a)-[:DefinidoPor{linea:" + invocacion.Linea + ",col:" + invocacion.Columna + "}]->(f));";

            using (var session = WebApiConfig.Neo4jDriver.Session())
            {
                session.Run(query);
            }
        }
Beispiel #2
0
        public static List <Invocacion> GetInvocaciones()
        {
            List <Invocacion> ret   = new List <Invocacion>();
            string            query =
                "MATCH ((f:Funcion)-[i:EsInvocadoPor]->(a:Archivo))" +
                "return a.nombre, i.col, i.linea order by a.nombre;";

            using (var session = WebApiConfig.Neo4jDriver.Session())
            {
                var results = session.Run(query);
                foreach (var a in results)
                {
                    Invocacion i = new Invocacion()
                    {
                        Columna = a["i.col"].As <string>(), Linea = a["i.linea"].As <string>(), NombreArchivo = a["a.nombre"].As <string>()
                    };
                    ret.Add(i);
                }
                return(ret);
            }
        }
Beispiel #3
0
        public static List <Invocacion> GetInvocaciones(string nombreFuncion, string nombreArchivo)
        {
            List <Invocacion> ret   = new List <Invocacion>();
            string            query = "MATCH (f:Funcion)-[:DefinidaEn]->(a:Archivo)" +
                                      "WHERE f.nombre = \"" + nombreFuncion + "\" AND a.nombre = \"" + nombreArchivo + "\"" +
                                      "MATCH ((f)-[i:EsInvocadoPor]->(b))" +
                                      "return b.nombre, i.col, i.linea;";

            using (var session = WebApiConfig.Neo4jDriver.Session())
            {
                var results = session.Run(query);
                foreach (var a in results)
                {
                    Invocacion i = new Invocacion()
                    {
                        Columna = a["i.col"].As <string>(), Linea = a["i.linea"].As <string>(), NombreArchivo = a["b.nombre"].As <string>()
                    };
                    ret.Add(i);
                }
                return(ret);
            }
        }