如何列出 Virtuoso 中的所有图表?

How to list all all graphs in Virtuoso?

当我转到http://localhost:8890/sparql/时,有两个字段:Default Data Set Name (Graph IRI)query。我如何列出我的数据库中可用的所有图表(在前一个字段中)?该字段不是强制性的,我可以 运行 查询所有名称空间。但我想知道如何列出可用的图表。

我能够 运行 的唯一非空图是 http://localhost:8890/sparql

例如,在关系数据库环境中,我相信可以从系统表中检索到此类信息。

如评论中所述,this query 将为您提供目标商店中所有命名图的列表(如前所述,与 "namespaces" 不同)——

  SELECT  DISTINCT ?g 
   WHERE  { GRAPH ?g {?s ?p ?o} } 
ORDER BY  ?g

您可以在 DBpedia endpoint (a very short list, as you would expect) and on URIBurner(更长、更多样化的列表)上看到实时结果(此处限制为 100 个图表名称)。

我知道这是一个老问题,但我遇到了同样的问题并且认为其他人可能会从我找到的解决方案中受益。

我试图执行此查询以列出所有图表,大约需要 5 分钟才能 return 结果:

SELECT DISTINCT ?g 
WHERE { 
  GRAPH ?g {?s ?p ?o}
} 

相反,您应该尝试 this documentation from Virtuoso 中建议的以下查询:

SELECT DISTINCT ?g 
WHERE { 
  GRAPH ?g {?s a ?o}
} 

此查询在不到 1 秒内完成,return编辑了商店中的图表列表。当然,这个查询只会 return 个至少有一个带有谓词 rdf:type 的三元组的图,但它仍然比 TallTed 建议的那个有很大改进。