我在哪里测试我的用SPARQL编写的RDF的查询

问题描述 投票:20回答:2

我是语义Web技术的初学者,我的问题可能是一个非常基本的问题,但我真的很难搞清楚。我有一个我用XML创建的RDF文件,并使用w3.org RDF VALIDATOR对其进行了验证。我的问题是如何使用SPARQL在我的RDF文档上运行查询。在线资源http://demo.openlinksw.com/sparql不起作用,我不知道如何或如何找到有关此信息。

rdf sparql jena
2个回答
19
投票

您可以使用Fuseki设置自己的本地SPARQL端点。 Fuseki是Apache Jena Project的一部分,但可以作为独立应用程序下载(在上面的链接中)。

有了Fuseki你可以(除了其他东西)

  1. 加载本地RDF数据集
  2. 使用该数据集 通过http://localhost:3030/将此数据公开为SPARQL端点(默认情况下) 在http://localhost:3030/sparql.html使用基于Web的查询表单

这意味着您可以使用Fuseki简单地使用基于Web的表单查询数据集,或使用通过http查询SPARQL端点的任何应用程序查询数据集。

就个人而言,我目前正在开发一个通过SPARQL端点分析数据集的应用程序。我使用Fuseki设置一个本地SPARQL端点,其中包含我可以运行的示例数据并测试我的应用程序。


怎么样?

Fuseki的基本功能相当容易使用。下面的行将启动服务器(SPARQL端点)。

java -jar fuseki-server.jar --config=yourConfig.ttl

文件yourConfig.ttl是一个RDF文件(以乌龟序列化格式)。要设置一个将RDF文件加载到内存的基本服务器,只需写入(至少替换数据集文件的路径):

# Attention: I have omitted the @prefix declarations

[] rdf:type fuseki:Server ;
   fuseki:services (
 <#yourService>
) .

<#yourService> rdf:type fuseki:Service ;
fuseki:name                     "yourService" ;
fuseki:serviceQuery             "query" ;
fuseki:serviceReadGraphStore    "get" ;
fuseki:dataset                   <#yourDataset> ;
.

<#yourDataset>    rdf:type ja:RDFDataset ;
rdfs:label "a label for your dataset" ;
ja:defaultGraph 
  [ rdfs:label "yourDataset.rdf" ;
    a ja:MemoryModel ;
    ja:content [ja:externalContent <file:Path/To/yourDataset.rdf> ] ;
  ] ;
.


4
投票

您可以使用几种工具来执行此操作。当然,有一些RDF框架,比如Apache Jena或OpenRDF Sesame(Java),或者dotNetRdf(.Net),仅举三例。大多数(如果不是全部)提供安装和入门说明。这些是强大的解决方案,如果您进一步使用SW技术并且需要在RDF数据源之上构建自己的代码,那么您肯定需要这些解决方案。

但是对于尝试一些简单的查询,尝试像Sesame Windows Client (SWC) tool这样的东西可能更容易。这是一个简单的图形化Windows桌面应用程序,您可以使用它创建存储库,在其中加载数据,然后执行SPARQL查询,无需任何编程或高级配置(免责声明:我编写了此工具)。

© www.soinside.com 2019 - 2024. All rights reserved.