我正在使用提供的配置文件启动一个fuseki服务器(如下所示)。我想要做的是在创建服务后检索它的功能。原因是,可能有多个这样的SPARQL服务(通过网络可用,但功能我不知道),我想根据它们的功能选择一些(例如,具有更新功能的服务)。有没有办法以编程的方式找到它(即服务功能)?任何关于这方面的建议都将不胜感激。
配置文件
@prefix : <#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
[] rdf:type fuseki:Server ;
fuseki:services (
<#animal_service_pellet>
) .
# TDB
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
<#animal_service_pellet> rdf:type fuseki:Service ;
rdfs:label "TDB Service (RW)" ;
fuseki:name "animals/pellet" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#inferred_pellet> ;
.
<#inferred_pellet>
a ja:RDFDataset;
ja:defaultGraph [
a ja:InfModel;
ja:reasoner [
ja:reasonerClass "org.mindswap.pellet.jena.PelletReasonerFactory";
];
ja:baseModel <#data_and_ontology_graph>
];
.
<#data_and_ontology_graph>
a tdb:GraphTDB ;
tdb:location "TDB_LOC" ;
.发布于 2012-06-01 20:42:39
同样的问题也出现在Jena用户的邮件列表中。
http://mail-archives.apache.org/mod_mbox/jena-users/201206.mbox/%3C4FC884AE.5020409%40apache.org%3E
试试DatasetRegistry --有一个全局的,通过它的get()静态访问的。
org.apache.jena.fuseki.server.DatasetRegistry
另一种方法是将配置文件作为RDF读取并查看。
配置解析器在FusekiConfig中
在未来,将会支持SPARQL服务描述1.欢迎贡献。
1
https://stackoverflow.com/questions/10837538
复制相似问题