public string Execute(string query) { var stringResults = new List <string>(); var ds = new InMemoryDataset(DatabaseInitializer.Initialize()); var sparqlparser = new SparqlQueryParser(); ISparqlQueryProcessor processor = new LeviathanQueryProcessor(ds); var sparqlQuery = sparqlparser.ParseFromString(query); var results = processor.ProcessQuery(sparqlQuery); if (results is SparqlResultSet) { var sparqlResultSet = (SparqlResultSet)results; foreach (var entry in sparqlResultSet) { stringResults.Add(entry.ToString()); } } return(string.Join(",", stringResults)); }
public void InsertImage(ImorImage image) { graph = DatabaseInitializer.Initialize(); var node = graph.CreateUriNode(new Uri(image.Uri)); var typeNode = graph.GetUriNode(new Uri(ImorEnum.RdfType)); var imageNode = graph.GetUriNode(new Uri(ImorEnum.Image)); var t = new Triple(node, typeNode, imageNode); if (!string.IsNullOrEmpty(image.Description)) { var descriptionNode = graph.GetUriNode(new Uri(ImorEnum.Description)); var descriptionTriple = new Triple(node, descriptionNode, graph.CreateLiteralNode(image.Description)); graph.Assert(descriptionTriple); } if (!string.IsNullOrEmpty(image.Content)) { var contentNode = graph.GetUriNode(new Uri(ImorEnum.Content)); var contenTriple = new Triple(node, contentNode, graph.CreateLiteralNode(image.Content)); graph.Assert(contenTriple); } if (image.Tags.Any()) { foreach (var tag in image.Tags) { var tagNode = graph.GetUriNode(new Uri(tag.Uri)); if (tagNode != null) { var hasNode = graph.GetUriNode(new Uri(ImorEnum.HasA)); var tagTriple = new Triple(node, hasNode, tagNode); graph.Assert(tagTriple); } } } graph.Assert(t); graph.SaveToFile(DatabaseInitializer.ontology); }
public ImagesRepository() { graph = DatabaseInitializer.Initialize(); tagsRepository = new TagsRepository(); }
public TagsRepository() { this.graph = DatabaseInitializer.Initialize(); }