我正在使用提供的配置文件启动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" ;
.
答案 0 :(得分:1)
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]。欢迎捐款。