public IActionResult dataValidate(IFormFile rdfFile, Guid repositoryIdentifier) { try { string rdfFileContent = SparqlUtility.GetTextFromFile(rdfFile); return(Ok(SparqlUtility.ValidateRDF(rdfFileContent, _shapeConfigService.GetShapesConfigs().FindAll(x => x.RepositoryID == repositoryIdentifier)))); } catch (Exception ex) { return(Problem(ex.ToString())); } }
public IActionResult dataValidate(IFormFile rdfFile, IFormFile validationFile) { try { string rdfFileContent = SparqlUtility.GetTextFromFile(rdfFile); string validation = SparqlUtility.GetTextFromFile(validationFile); return(Ok(SparqlUtility.ValidateRDF(rdfFileContent, validation, validationFile.FileName))); } catch (Exception ex) { return(Problem(ex.ToString())); } }
public IActionResult dataPublish(IFormFile rdfFile) { try { XmlDocument rdf = SparqlUtility.GetRDFFromFile(rdfFile); List <string> triples = SparqlUtility.GetTriplesFromRDF(rdf); SparqlUtility.LoadTriples(triples, _configSparql.GetEndpoint(), _configSparql.GetQueryParam(), _configSparql.GetGraph(), _configSparql.GetGraphUnidata()); return(Ok()); } catch (Exception ex) { return(Problem(ex.ToString())); } }
public IActionResult ModifyShape(Guid shapeConfigID, string name, Guid repositoryID, IFormFile rdfFile) { ShapeConfig shapeconfig = new ShapeConfig(); shapeconfig.ShapeConfigID = shapeConfigID; shapeconfig.Name = name; shapeconfig.RepositoryID = repositoryID; try { if (rdfFile != null) { shapeconfig.Shape = SparqlUtility.GetTextFromFile(rdfFile); IGraph shapeGraph = new Graph(); shapeGraph.LoadFromString(shapeconfig.Shape); } } catch (Exception ex) { return(Problem(ex.Message)); } if (!_shapeConfigService.GetShapesConfigs().Exists(x => x.ShapeConfigID == shapeConfigID)) { return(BadRequest(new ErrorExample { Error = $"Comprueba si el shape config con id {shapeconfig.ShapeConfigID} existe" })); } try { bool modified = _shapeConfigService.ModifyShapeConfig(shapeconfig); if (modified) { return(Ok($"La configuración del shape {shapeconfig.ShapeConfigID} ha sido modificada")); } else { return(BadRequest(new ErrorExample { Error = $"Se ha producido un error al modificar el Shape" })); } } catch (Exception ex) { return(BadRequest(new ErrorExample { Error = $"Se ha producido un error al modificar el Shape " + ex.Message })); } }
public IActionResult LoadOntology(IFormFile ontology) { try { OntologyService.SetOntology(ontology); string ontologyGraph = ""; ontologyGraph = _configSparql.GetGraphRoh(); RohGraph graph = new RohGraph(); graph.LoadFromString(OntologyService.GetOntology()); SparqlUtility.LoadOntology(graph, _configSparql.GetEndpoint(), _configSparql.GetQueryParam(), ontologyGraph); return(Ok()); } catch (Exception ex) { return(Problem(ex.ToString())); } }
public IActionResult dataDiscover(IFormFile rdfFile) { try { XmlDocument rdf = SparqlUtility.GetRDFFromFile(rdfFile); DiscoverItem discoverItem = new DiscoverItem() { Rdf = rdf.InnerXml, Publish = false, DissambiguationProcessed = false, Status = "Pending" }; Guid addedID = _discoverItemService.AddDiscoverItem(discoverItem); _amqpService.PublishMessage(addedID); return(Ok(addedID)); } catch (Exception ex) { return(Problem(ex.ToString())); } }
public IActionResult dataPublish(IFormFile rdfFile, string jobId, bool discoverProcessed) { try { string idDiscoverItem = null; if (Request != null) { idDiscoverItem = Request.Query["idDiscoverItem"].ToString(); } if (!string.IsNullOrEmpty(idDiscoverItem)) { //Si viene el parametro 'idDiscoverItem' actualizamos un DiscoverItem ya existente. XmlDocument rdf = SparqlUtility.GetRDFFromFile(rdfFile); DiscoverItem discoverItem = _discoverItemService.GetDiscoverItemById(new Guid(idDiscoverItem)); discoverItem.DissambiguationProcessed = discoverProcessed; discoverItem.Publish = true; discoverItem.Status = "Pending"; discoverItem.DiscoverRdf = rdf.InnerXml; _amqpService.PublishMessage(idDiscoverItem); return(Ok()); } else { XmlDocument rdf = SparqlUtility.GetRDFFromFile(rdfFile); DiscoverItem discoverItem = new DiscoverItem() { JobID = jobId, Rdf = rdf.InnerXml, Publish = true, DissambiguationProcessed = discoverProcessed, Status = "Pending" }; Guid addedID = _discoverItemService.AddDiscoverItem(discoverItem); _amqpService.PublishMessage(addedID); return(Ok()); } } catch (Exception ex) { return(Problem(ex.ToString())); } }
/// <summary> /// Busca personas en el API de DBPEDIA /// </summary> /// <param name="q">Texto a buscar (con urlEncode)</param> /// <returns>Objeto con las personas encontradas</returns> public static DBPEDIAData Search(string q) { string SPARQLEndpoint = "https://dbpedia.org/sparql"; string Graph = "http://dbpedia.org"; string consulta = "select * where {?s <http://www.w3.org/2000/01/rdf-schema#label> '" + q + "'@es. ?s a ?rdftype.FILTER(?rdftype in (<http://dbpedia.org/ontology/Organisation>,<http://dbpedia.org/ontology/Place>)) MINUS{?s <http://dbpedia.org/ontology/wikiPageDisambiguates> ?dis} OPTIONAL {?s <http://www.w3.org/2002/07/owl#sameAs> ?geonames.FILTER(?geonames like'http://sws.geonames.org*')}}"; string QueryParam = "query"; SparqlUtility utility = new SparqlUtility(); SparqlObject sparqlObject = utility.SelectData(SPARQLEndpoint, Graph, consulta, QueryParam, "", ""); DBPEDIAData dBPEDIAData = new DBPEDIAData(); foreach (var result in sparqlObject.results.bindings) { if (result.ContainsKey("s") && result["s"] != null) { dBPEDIAData.uri_dbpedia = result["s"].value; } if (result.ContainsKey("geonames") && result["geonames"] != null) { dBPEDIAData.uri_geonames = result["geonames"].value; } } return(dBPEDIAData); }
public IActionResult AddShape(string name, Guid repositoryID, IFormFile rdfFile) { ShapeConfig shapeconfig = new ShapeConfig(); shapeconfig.ShapeConfigID = Guid.NewGuid(); shapeconfig.Name = name; shapeconfig.RepositoryID = repositoryID; try { shapeconfig.Shape = SparqlUtility.GetTextFromFile(rdfFile); IGraph shapeGraph = new Graph(); shapeGraph.LoadFromString(shapeconfig.Shape); } catch (Exception ex) { return(Problem(ex.Message)); } try { Guid addedID = _shapeConfigService.AddShapeConfig(shapeconfig); if (!addedID.Equals(Guid.Empty)) { return(Ok(addedID)); } else { return(Problem($"Se ha producido un error al añadir el Shape")); } } catch (Exception ex) { return(BadRequest(new ErrorExample { Error = $"Se ha producido un error al añadir el Shape " + ex.Message })); } }
public IActionResult LoadTriples(List <string> triples) { SparqlUtility.LoadTriples(triples); return(Ok()); }