/// <summary> /// Metodo que almacena un objeto de tipo OntologyConceptCopy /// </summary> /// <param name="myOntologyConcept">Objeto de tipo OntologyConceptCopy que se va almacenar</param> /// <returns>retorna 1 si la transaccion se realizo con exito de lo contrario retorna 0</returns> public static int Save(OntologyConceptCopy myOntologyConceptCopy) { int result = 0; using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString)) { SqlCommand myCommand = new SqlCommand("spOntologyConceptCopyUpsert", myConnection); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.AddWithValue("@OntCopy_Id", myOntologyConceptCopy.OntCopyId); myCommand.Parameters.AddWithValue("@OntCopy_NameConcept", myOntologyConceptCopy.OntCopyNameConcept); myCommand.Parameters.AddWithValue("@Ont_Id", myOntologyConceptCopy.OntId); myCommand.Parameters.AddWithValue("@Ont_uri", myOntologyConceptCopy.Urlconcepto); DbParameter returnValue; returnValue = myCommand.CreateParameter(); returnValue.Direction = ParameterDirection.ReturnValue; myCommand.Parameters.Add(returnValue); myConnection.Open(); myCommand.ExecuteNonQuery(); result = Convert.ToInt32(returnValue.Value); myConnection.Close(); } return(result); }
/// <summary> /// Metodo que inicializa un Objeto myOntologyConcept a partir de un registro de la Base de datos /// </summary> /// <param name="myDataRecord">Registro de la tabla TBL_ONTOLOGY_CONCEPTS</param> /// <returns>retorna Objeto OntologyConcept inicializado</returns> public static OntologyConceptCopy FillDataRecordOriginal(IDataRecord myDataRecord) { OntologyConceptCopy myOntologyConcept = new OntologyConceptCopy(); myOntologyConcept.OntId = myDataRecord.GetInt32(myDataRecord.GetOrdinal("ONT_ID")); myOntologyConcept.OntCopyNameConcept = myDataRecord.GetString(myDataRecord.GetOrdinal("ONTCOPY_NAMECONCEPT")); return(myOntologyConcept); }
/// <summary> /// Metodo que inicializa un Objeto OntologyConceptCopy a partir de un registro de la Base de datos /// </summary> /// <param name="myDataRecord">Registro de la tabla TBL_ONTOLOGY_CONCEPTS_COPY</param> /// <returns>retorna Objeto OntologyConceptCopy inicializado</returns> public static OntologyConceptCopy FillDataRecord(IDataRecord myDataRecord) { OntologyConceptCopy myOntologyConceptCopy = new OntologyConceptCopy(); myOntologyConceptCopy.OntId = myDataRecord.GetInt32(myDataRecord.GetOrdinal("ONT_ID")); if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("ONTCOPY_NAMECONCEPT"))) { myOntologyConceptCopy.OntCopyNameConcept = myDataRecord.GetString(myDataRecord.GetOrdinal("ONTCOPY_NAMECONCEPT")); } return(myOntologyConceptCopy); }
/// <summary> /// Metodo que obtiene un OntologyConcept /// </summary> /// <param name="id">Identificador del OntologyConcept que se va obtener</param> /// <returns>retorna Objeto OntologyConcept si el mismo se encuentra,de lo contrario retorna null</returns> public static OntologyConceptCopy GetItem(int id) { OntologyConceptCopy myOntologyConcept = null; using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString)) { SqlCommand myCommand = new SqlCommand("spGetOntologyConcept", myConnection); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.AddWithValue("@Ont_Id", id); myConnection.Open(); using (SqlDataReader myReader = myCommand.ExecuteReader()) { if (myReader.Read()) { myOntologyConcept = FillDataRecordOriginal(myReader); } myReader.Close(); } myConnection.Close(); } return(myOntologyConcept); }
public static OntologyConceptCopy GetItemUniqueConceptInUrl(string conceptName) { OntologyConceptCopy myOntologyConcept = null; using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString)) { SqlCommand myCommand = new SqlCommand("spGetUniqueOntologyConceptInUrl", myConnection); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.AddWithValue("@Ont_NameConcept", conceptName); myConnection.Open(); using (SqlDataReader myReader = myCommand.ExecuteReader()) { if (myReader.Read()) { myOntologyConcept = FillDataRecordFull(myReader); } myReader.Close(); } myConnection.Close(); } return(myOntologyConcept); }
/// <summary> /// Metodo que obtiene un OntologyConceptCopy /// </summary> /// <param name="concepto">concepto de OntologyConceptCopy por el cual se va a buscar</param> /// <returns>retorna Objeto OntologyConceptCopy si el mismo se encuentra,de lo contrario retorna null</returns> public static OntologyConceptCopy GetItem(string concepto, string invertConcept) { OntologyConceptCopy myOntologyConceptCopy = null; using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString)) { SqlCommand myCommand = new SqlCommand("spGetOntologyConceptCopy", myConnection); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.AddWithValue("@OntCopy_NameConcept", concepto); myCommand.Parameters.AddWithValue("@NameConceptInvert", invertConcept); myConnection.Open(); using (SqlDataReader myReader = myCommand.ExecuteReader()) { if (myReader.Read()) { myOntologyConceptCopy = FillDataRecord(myReader); } myReader.Close(); } myConnection.Close(); } return(myOntologyConceptCopy); }
/// <summary> /// Metodo que retorna una lista de nombres de conceptos (clases) e individuos de la ontología /// </summary> public static List <OntologyConceptCopy> ObtenerConceptosOntologia(string ontologia) { List <OntologyConceptCopy> listaClases = new List <OntologyConceptCopy>(); List <string> noduplicados = new List <string>(); string rutaDirActual = System.AppDomain.CurrentDomain.BaseDirectory; string rutaRelOwl = @ontologia; string rutaOwl = Path.Combine(rutaDirActual, rutaRelOwl); //string clases = ""; rutaOwl = "file:///" + rutaOwl; OntModel m; m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); m.read(rutaOwl, "RDF/XML"); for (Iterator i = m.listNamedClasses(); i.hasNext();) //se recorren todas clases nombradas { //se la convierte a OntClass para su analisis OntClass cls = (OntClass)i.next(); //Añadimos el nombre de las anotaciones Label que tenga la clase ExtendedIterator label = cls.listLabels(null); while (label.hasNext()) { //Variable temporal en el que se almacena el concepto actual OntologyConceptCopy Oconcept = new OntologyConceptCopy(); Oconcept.Urlconcepto = cls.getURI().ToString(); RDFNode thisLabel = (RDFNode)label.next(); if (thisLabel.isLiteral()) { Oconcept.OntCopyNameConcept = ((Literal)thisLabel).getValue().ToString(); //Verificar no colocar conceptos duplicados if (!noduplicados.Contains(Oconcept.OntCopyNameConcept)) { listaClases.Add(Oconcept); noduplicados.Add(Oconcept.OntCopyNameConcept); } } else { Oconcept.OntCopyNameConcept = thisLabel.ToString(); //Verificar no colocar conceptos duplicados if (!noduplicados.Contains(Oconcept.OntCopyNameConcept)) { listaClases.Add(Oconcept); noduplicados.Add(Oconcept.OntCopyNameConcept); } } } //Se añaden las instancias. Para que no se aliminada una instancia con el mismo nombre de una clase se inicializa el vector de duplicados noduplicados.Clear(); for (Iterator j = cls.listInstances(true); j.hasNext();) { Individual ind = (Individual)j.next(); if (ind.isIndividual()) { //Añadimos el nombre de las anotaciones Label que tenga el individuo ExtendedIterator labelind = ind.listLabels(null); while (labelind.hasNext()) { //Variable temporal en el que se almacena el concepto actual OntologyConceptCopy Oconcept = new OntologyConceptCopy(); Oconcept.Urlconcepto = cls.getURI().ToString(); RDFNode thisLabel = (RDFNode)labelind.next(); if (thisLabel.isLiteral()) { Oconcept.OntCopyNameConcept = ((Literal)thisLabel).getValue().ToString(); //Verificar no colocar conceptos duplicados if (!noduplicados.Contains(Oconcept.OntCopyNameConcept)) { listaClases.Add(Oconcept); noduplicados.Add(Oconcept.OntCopyNameConcept); } } else { Oconcept.OntCopyNameConcept = thisLabel.toString(); //Verificar no colocar conceptos duplicados if (!noduplicados.Contains(Oconcept.OntCopyNameConcept)) { listaClases.Add(Oconcept); noduplicados.Add(Oconcept.OntCopyNameConcept); } } } } } } return(listaClases); }
/// <summary> /// Metodo que delega a OntologyConceptCopyDB almacenar un OntologyConceptCopy /// </summary> /// <param name="myOntolgyConceptCopy">Objeto de tipo OntologyConceptCopy que se va a almacenar</param> /// <returns>retorna 1 si la transaccion se realizo con exito de lo contrario retorna 0</returns> public static int Save(OntologyConceptCopy myOntologyConceptCopy) { return(OntologyConceptCopyDB.Save(myOntologyConceptCopy)); }