我在使用dotNetRDF向DBpedia询问所有图形时遇到了一个问题。执行以下代码后:
SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(
new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org"
);
SparqlResultSet results = endpoint.QueryWithResultSet(
"SELECT DISTINCT ?g WHERE { GRAPH ?g {?s ?p ?o} }"
);我有一个带有message Invalid URI: The format of the URI could not be determined.的UriFormattedException
下面的图有问题:b3sonto、b3sifp、dbprdf-label、virtrdf-label、facets --可能是dotNetRDF忘记了缺省图URI
顺便说一句。我可以成功地执行这个查询表单dotNetRDF:SELECT ?s ?p ?o FROM <b3sonto> WHERE { ?s ?p ?o} limit 20
你知道为什么它不工作吗?
发布于 2012-12-04 07:57:29
这些URI不是有效的URI,因此当它们返回时,dotNetRDF无法处理它们。这是Virtuoso的一个bug,应该报告给他们(virtuoso-users@lists.sf.net)
它们与缺省图无关,因为根据定义,缺省图是未命名的,并且没有URI。
您可以使用这些假URI查询Virtuoso,因为默认情况下,dotNetRDF在发送查询之前根本不解析查询。这允许您将非标准语法发送到远程端点,否则dotNetRDF的标准兼容实现可能会拒绝这些语法。
https://stackoverflow.com/questions/13685749
复制相似问题