我是语义Web技术的初学者,我的问题可能是一个非常基本的问题,但我真的很难搞清楚。 我有一个我用XML创建的RDF文件,并使用w3.org RDF VALIDATOR对其进行了验证。我的问题是如何使用SPARQL在我的RDF文档上运行查询。 在线资源http://demo.openlinksw.com/sparql不起作用,我不知道如何或如何找到有关此信息的信息。
答案 0 :(得分:19)
您可以使用Fuseki 设置自己的本地SPARQL端点。 Fuseki是Apache Jena Project的一部分,但可以作为独立应用程序下载(在上面的链接中)。
使用 Fuseki ,您可以(除其他内容外)
http://localhost:3030/
(默认情况下)将此数据公开为 SPARQL端点 http://localhost:3030/sparql.html
这意味着您可以使用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查询,无需任何编程或高级配置(免责声明:我编写了此工具)。