【问题标题】:How do I get started with Sparql as a .NET Developer?作为 .NET 开发人员,我如何开始使用 Sparql?
【发布时间】:2010-12-05 01:14:36
【问题描述】:

我正在尝试解析 Project Gutenberg 的大型 RDF 文件。我团队的另一位成员非常困难,他尝试过 Semweb 和 python 库。

由于对 rdf 有点天真,我尝试用 Ruby 编写一个普通的 ol' xml 解析脚本。我很快意识到这太复杂了,无法真正发挥作用。

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

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

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

您对 Sparql 执行什么操作?

【问题讨论】:

    标签: .net sparql


    【解决方案1】:

    .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)

    【讨论】:

      【解决方案2】:

      要走的路是使用SemWeb Library 将RDF 文件解析到内存中,然后解析到数据库中。您还可以导入相关的本体。

      Semweb 有一个嵌入式 SPARQL 库,因此您可以在数据库上运行 SPARQL 查询。如果您不熟悉 SPARQL,可以使用LINQ

      如果您是 Semantic Web Technologies 的新手,我建议您先阅读Semantic Web Primer(以书籍和 PowerPoint 文件的形式提供)。还有一个不错的SPARQL Tutorial on the Jena Website

      【讨论】:

        【解决方案3】:

        另一个选项是dotSesame 库。这是 Java RDF 框架Sesame 的 IKVM 端口。它包括 RDF 解析器、编写器、SPARQL 查询引擎和推理器。

        【讨论】:

          【解决方案4】:

          使用 RDFSharp (http://rdfsharp.codeplex.com/),您无需了解 SPARQL,因为您可以流畅地创建 SPARQL 查询并将它们应用于图形和存储。无需编写一行 SPARQL 查询。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多