.net - 作为 .NET 开发人员,我如何开始使用 Sparql?

标签 .net sparql

我正在尝试解析 Project Gutenberg 的大型 RDF 文件。我团队的另一名成员在尝试 Semweb 和 python 库时遇到了困难。

由于对 rdf 有点天真,我尝试用 Ruby 编写一个简单的 ol' xml 解析脚本。我很快意识到它太复杂而无法真正工作。

我已经下载了 Intellidimension 的工具并且正在考虑使用它。

我想我不明白如何使用 SPARQL。 Java 中似乎有一个名为 Jena 的解析器。 .NET 中有类似的东西吗?

很抱歉这个明显的问题......我只是不确定在哪里编写 SPARQL 查询。是否有一个库可以让我使用类似于 Data.SQlClient 的字符串构建查询,然后针对某些 Sparql 处理器执行?

您针对什么执行 Sparql?

最佳答案

.Net 中的另一个选项是 dotNetRDF (免责声明 - 我是这个项目的首席开发人员)

与目前维护的 SemWeb 相比,它具有积极的持续开发优势,此外它还支持许多较新的语义 Web 技术,例如 RDFa 和 SPARQL 1.1

与 Intellidimension 相比,它具有完全免费的优势(根据您的需要从 GPL、LGPL 或 MIT 中选择您自己的许可证)

回复:SPARQL

SemWeb 和 dotNetRDF 都包含用于执行查询的 SPARQL 解析器和引擎。 SemWeb 是基于旧的基于 Java 的 SPARQL 引擎的 IKVM 端口,该引擎早已被 Jena 框架中更出色的 ARQ 引擎所取代。 dotNetRDF 具有 Leviathan 引擎,该引擎与 ARQ 具有接近的功能奇偶校验(尽管对于某些类型的查询不一定具有性能)。

ARQ (Jena) 和 Leviathan (dotNetRDF) 都支持大多数新兴的 SPARQL 1.1 规范。如果您已有 SQL 知识,那么您很可能希望使用支持此功能的引擎,因为这会将 SQL 的许多熟悉的功能添加到 SPARQL 语言中,例如聚合(COUNT、MAX 等)、GROUP BY、HAVING、项目表达式(fn:concat(?x, ?y) AS ?z)

关于.net - 作为 .NET 开发人员,我如何开始使用 Sparql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356839/

相关文章:

SPARQL 递归祖先查询

python - 使用 Django 的 ORM Extra() 包含重复表

java - 如何检索连接到给定值的给定类的所有资源

c# - Log4net 生成错误的日志文件名

python - 如何在 SPARQL 查询中预定义变量

.net - 将权限属性添加到 Swashbucke-Swagger-Documentation

c# - 查询本地组

java - 使用不同程序但具有不同结果的相同 Sparql

c# - C# 属性实际上是方法吗?

c# - .Net 中带有希伯来字母和数字的 Unicode 字符串