Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public ImagesRepository()
 {
     graph          = DatabaseInitializer.Initialize();
     tagsRepository = new TagsRepository();
 }
Esempio n. 4
0
 public TagsRepository()
 {
     this.graph = DatabaseInitializer.Initialize();
 }