From: Alexander S. <ale...@gm...> - 2010-02-19 16:47:24
|
Hello! 1. VirtuosoManager.LoadNode method doesn't work correctly with queries that contain OPTIONAL clause. Such queries return DbNull for result sets at which optional variables are not set. I have just added one more "else if" and it works nice: else if (n is DBNull) { temp = null; } 2. Why not to split UpdateGraph method to AddToGraph and RemoveFromGraph methods? I think it would be more convenient for most usecases. 3. Method UpdateGraph (at least in VirtuosoManager) throws exception when removals variable is null. That's why I have to pass empty list to make my addition-only UpdateGraph call work. I think it would be nice to make this query work with additions or/and removals equal to null. 4. Why does method UpdateGraph has List<Triple> but not IEnumerable<Triple> parameters? It is inconvenient, for example, when I would like to save graph's triples: Graph graph = new Graph(); RdfXmlParser parser = new RdfXmlParser(); parser.Load(graph, fileName); this._virtuosoManager.UpdateGraph(graphUri, * graph.Triples.ToList()*, new List<VDS.RDF.Triple>()); I have to create the list and it makes my code less efficient (imagine big graph). 5. VirtuosoManager.Query method contains the following code: else if (results.Rows.Count == 1 && results.Columns.Count == 1) { //Single Row and Column implies ASK/DESCRIBE/CONSTRUCT results I have some SELECT-queries that return one variable and sometimes one result. And because of the previous code my results are lost (because I expect my variable, but not variable called Result. I think it would be nice to make simple check (just search ask, describe or construct words in the query) to determine is this SELECT-query or not. 6. Is there any way to get dotnetRDF library (*only library*) without any GPL dependencies under BSD or similar license? That's all for today :) Regards, Alexander |