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); } }
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); } }
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); } }