INSERCIN DE NODOS LOS ESQUEMAS ES EL NDICE PRINCIPAL CREAR UN NODO PACIENTE CREATE (paciente:Paciente{ pac_codigo:"1094270086",pac_nombre:"Mauricio", pac_apellido:"Pedraza", pac_regimen:"subsidiado", pac_sexo:"masculino" }) CREAR UN NODO CONSULTORIO CREATE (consultorio:Consultorio { con_codigo: '5555', con_cama: 'principal', con_habitacion: 'HBI001', con_fecha: '01-08-2014',con_hora: '02:000',pac_codigo: '55'}) CREAR UN NODO MEDICO CREATE (medico:Medico{ med_codigo:329,med_nombre:"Jairo", med_apellio:"Varela", med_telefono:3107546622 })
NEO4J RESTRICCIONES
UNIQUES PACIENTE CREATE CONSTRAINT ON (paciente:Paciente) ASSERT paciente.pac_codigo IS UNIQUE NODO REPETIDO ME DEVUELVE UN ERROR CREATE (paciente:Paciente{ pac_codigo:"1094270086",pac_nombre:"Mauricio", pac_apellido:"Pedraza", pac_regimen:"subsidiado", pac_sexo:"masculino" }) UNIQUES MEDICO CREATE CONSTRAINT ON (medico:Medico) ASSERT medico.med_codigo IS UNIQUE NODO REPETIDO ME DEVUELVE UN ERROR CREATE (medico:Medico{ med_codigo:329,med_nombre:"Jose del Carmen", med_apellio:"Alvarez", med_telefono:3107546622 }) RETURN medico UNIQUES CONSULTORIO CREATE CONSTRAINT ON (consultorio:Consultorio) ASSERT consultorio.con_codigo IS UNIQUE AL VIOLAR LA RESTRICCION MOSTRARA EL SIGUIENTE ERROR Neo.ClientError.Schema.ConstraintViolation
ACTUALIZACION DE PROPIEDADES
NODO PACIENTE
MATCH (paciente{ pac_codigo: "1094270086" }) SET paciente.pac_regimen = 'contributivo' RETURN paciente MATCH (consultorio{ con_codigo: '5555' }) SET consultorio.con_cama = '20' SET consultorio.pac_codigo = ' 1094270086' RETURN consultorio
ELIMINACION DE NODOS Y PROPIEDADES
MATCH (paciente:Paciente { pac_codigo:"1094270086"}) REMOVE paciente.pac_sexo RETURN paciente
MATCH (paciente:Paciente { pac_codigo:"1094270086"}) DELETE paciente
FUNCIONES
RETORNAR UNA PROPIEDAD DEL NODO */ MATCH (consultorio { con_codigo:"5555" }) RETURN consultorio.con_habitacion ASIGNAR POR DEFECTO HORA Y TIEMPO TIMESTAMP MERGE (consultorio:Consultorio { con_codigo: '5555'}) ON MATCH SET consultorio.con_fecha = timestamp(),consultorio.con_hora =timestamp() RETURN consultorio
RELACIONES ENTRE NODOS Al relacionar el campo pac_codigo del nodo consultorio con pac_codigo de paciente se hace innecesario esta propiedad en consultorio, ya que al momento de relacionar se crear un nuevo nodo que contiene ambas relaciones. PROCEDEMOS A ELIMINARLA MATCH (consultorio:Consultorio) REMOVE consultorio.pac_codigo RETURN consultorio
EL PACIENTE INGRESA AL CONSULTORIO
MATCH (paciente:Paciente),(consultorio:Consultorio) WHERE consultorio.con_codigo = '5555' AND paciente.pac_codigo = '1094270086' CREATE (paciente)[ingresa:INGRESA{ing_cod:8,con_codigo: consultorio.con_codigo,pac_codigo: paciente.pac_codigo }]->(consultorio) RETURN ingresa
EL CONSULTORIO GENERA UNA CONSULTA AL PACIENTE
MATCH (paciente)-[ingresa: INGRESA]->(consultorio) WHERE ingresa.pac_codigo = '1094270086' AND ingresa.con_codigo = "5555" CREATE (consultorio)[genera:GENERA{gen_cod: timestamp() }]- >(consulta:CONSULTA{con_codigo:'5555',pac_codigo:ingresa.pac_codigo}) RETURN ingresa,genera,consulta
EL PACIENTE INGRESA AL CONSULTORIO EL CONSULTORIO GENERA LA CONSULTA QUE EL MEDICO ATIENDE
MATCH (consulta:CONSULTA),(medico) WHERE medico.med_codigo = 329 AND consulta.con_codigo ='5555' CREATE (consulta)<[atiende:ATIENDE{ati_cod: timestamp()}] (medico) RETURN consulta,atiende,medico
Paciente Consultorio Consulta Medico Ingresa Genera Atiende CONSULTAS
Listar los pacientes de codigo menor o igual a 555555555
MATCH (paciente) WHERE paciente.pac_codigo <= '555555555' RETURN paciente.pac_codigo
Listar el medico con codigo 329
MATCH (medico) WHERE medico.med_codigo = 329 RETURN medico
LISTAR LOS PACIENTES QUE HAN INGRESADO AL CONSULTORIO
MATCH (paciente)[ingresa:INGRESA]->consultorio RETURN paciente,consultorio
LISTAR LOS PACIENTES QUE HAN SIDO ATENDIDOS POR UN MEDICO
MATCH (paciente) [ingresa]->(consultorio) RETURN paciente.pac_codigo,consultorio.con_cama
-------------------------------------------------------------------------------- MATCH (paciente) [ingresa]->(consultorio) [genera]->(consulta) RETURN paciente.pac_codigo,consultorio.con_codigo,consulta.med_codigo ORDER BY (count) DESC LIMIT 5