1

我正在使用Twinkle(一个 SPARQL 查询工具)。我在一个 RDF 文件上做了一个 SPARQL,得到了一个如下所示的结果文件。由于它看起来不像 CSV 那样典型的文件格式,你知道解析这种格式的库吗?任何编程语言都可以。

---------------------------------------------------------------------
| name                                                              |
=====================================================================
| "Egypt"^^<http://www.w3.org/2001/XMLSchema#string>                |
| "Iraq"^^<http://www.w3.org/2001/XMLSchema#string>                 |
| "Jordan"^^<http://www.w3.org/2001/XMLSchema#string>               |
| "Kuwait"^^<http://www.w3.org/2001/XMLSchema#string>               |
| "Libya"^^<http://www.w3.org/2001/XMLSchema#string>                |
| "Mauritania"^^<http://www.w3.org/2001/XMLSchema#string>           |
| "Somalia"^^<http://www.w3.org/2001/XMLSchema#string>              |
| "Sudan"^^<http://www.w3.org/2001/XMLSchema#string>                |
| "Syrian Arab Republic"^^<http://www.w3.org/2001/XMLSchema#string> |
| "Tunisia"^^<http://www.w3.org/2001/XMLSchema#string>              |
| "United Arab Emirates"^^<http://www.w3.org/2001/XMLSchema#string> |
| "Yemen"^^<http://www.w3.org/2001/XMLSchema#string>                |
---------------------------------------------------------------------
4

3 回答 3

3

这不是任何标准格式,因此您必须手动为此编写解析器;它看起来像是数据库查询命令的默认 CLI 输出(我想知道哪个?)。

来自 CLI 的查询命令可能具有提供标准 SPARQL 结果格式的选项,例如 SPARQL/XML 或 SPARQL/JSON,您可以使用任何标准 RDF 库(例如JenaSesame,如果您使用 Java)来解析它们该格式的结果。这是完成您正在尝试的事情的最佳方式。

通常,您不应以编程方式与 CLI 输出交互,而应使用数据库提供的 API。

于 2012-09-22T00:36:06.983 回答
2

看起来它可能是耶拿的输出。

ResultSetFormatter 类包含将结果格式化为所有标准格式(XML、JSON、TSV、CSV)以及此文本显示格式的方法。

结果集格式化程序.outputAsXML

结果集格式化程序.outputAsJSON

结果集格式化程序.outputAsTSV

结果集格式化程序.outputAsCSV

文本格式不用于解析 - 更多用于简单的显示和调试。

命令行具有参数来设置结果格式,例如--results json

Fuseki 中的查询表单允许您选择输出格式。

于 2012-09-22T14:55:58.277 回答
0

您看到的格式是 Typed RDF literal。URI http://www.w3.org/2001/XMLSchema#string是一个XSD 类型的“字符串”,表示您的值只是一个“字符串”(它可能是一个“int”等)。如果您只需要该值,您可以省略“^^”之后的 URI 或在 SPARQL 查询中使用STR函数。

于 2012-09-21T20:39:28.677 回答