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

时间:2012-12-16 01:10:38

标签: rdf sparql jena

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

2 个答案:

答案 0 :(得分:19)

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

使用 Fuseki ,您可以(除其他内容外)

  1. 加载本地RDF数据集
  2. 使用该数据集
    • 通过http://localhost:3030/(默认情况下)将此数据公开为 SPARQL端点
    • http://localhost:3030/sparql.html
    • 使用基于网络的查询表单
  3. 这意味着您可以使用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> ] ;
      ] ;
    .
    

答案 1 :(得分:4)

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

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