首页 > 解决方案 > 如何将推理机添加到 fuseki 服务器?

问题描述

我对这个概念太陌生,我不知道如何将推理器添加到我的文件中,查询执行肯定会给我一个错误的答案,我找不到一个好的资源来解释如何所以请帮忙。
这是我的配置 ttl 文件

@prefix :      <http://base/#> .
@prefix tdb:   <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja:    <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .

<http://jena.apache.org/2016/tdb#DatasetTDB>
        rdfs:subClassOf  ja:RDFDataset .

ja:DatasetTxnMem  rdfs:subClassOf  ja:RDFDataset .

tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .

:service1  a                          fuseki:Service ;
        fuseki:dataset                :dataset ;
        fuseki:name                   "eduDataSet" ;
        fuseki:serviceQuery           "" , "query" , "sparql" ;
        fuseki:serviceReadGraphStore  "get" ;
        fuseki:serviceReadQuads       "" ;
        fuseki:serviceReadWriteGraphStore
                "data" ;
        fuseki:serviceReadWriteQuads  "" ;
        fuseki:serviceUpdate          "update" , "" ;
        fuseki:serviceUpload          "upload" .


tdb:GraphTDB  rdfs:subClassOf  ja:Model .

<http://jena.apache.org/2016/tdb#GraphTDB2>
        rdfs:subClassOf  ja:Model .

ja:MemoryDataset  rdfs:subClassOf  ja:RDFDataset .

ja:RDFDatasetZero  rdfs:subClassOf  ja:RDFDataset .

<http://jena.apache.org/text#TextDataset>
        rdfs:subClassOf  ja:RDFDataset .

<http://jena.apache.org/2016/tdb#GraphTDB>
        rdfs:subClassOf  ja:Model .

ja:RDFDatasetOne  rdfs:subClassOf  ja:RDFDataset .

ja:RDFDatasetSink  rdfs:subClassOf  ja:RDFDataset .

:dataset  a     ja:DatasetTxnMem .

<http://jena.apache.org/2016/tdb#DatasetTDB2>
        rdfs:subClassOf  ja:RDFDataset .

这是我正在运行的查询:

                             String queryString = 
                            "PREFIX rdfs:<http://example#>"
                            + "PREFIX ns:<http://example>"
                            + "PREFIX rdf:<http://example#>" 
                            + "SELECT ?x ?id ?name ?description ?depth  " 
                            + "WHERE {"
                            + "?Individuals rdf:type ns:Ontology." 
                            + "?Individuals ns:ontologyId \"" + myid + "\"."
                            + "?Individuals ns:onthas ?y" + "." 
                            + "?y ns:id \""+cid+"\"."
                            + "?y ns:before ?x."
                            + "?x ns:id ?id."
                            + "?x ns:name ?name."
                            + "?x ns:description ?description."
                            + "?x ns:depth_level ?depth."
                            + "}";



例如,这就是我想得到的:

[
- {
    depth: "1",
    name: "Stack Operations",
    description: "Stack operation Course",
    ontologyId: "ont1",
    id: "SO"
  },
- {
    depth: "1",
    name: "Stack Applications",
    description: "Stack application Course",
    ontologyId: "ont1",
    id: "SAPP"
  },
- {
    depth: "2",
    name: "Stack Implementations",
    description: "stack implementation Course",
    ontologyId: "ont1",
    id: "SI"
   }
]

但这就是我得到的:

[
- { 
    depth: "1",
    name: "Stack Operations",
    description: "Stack operation Course",
    ontologyId: "ont1",
    id: "SO"
}
]

注意:在 fuseki 之前,我在 tomcat 服务器上运行并且我得到了正确的答案,但现在我不是,我认为这与推理有关!

标签: fusekireasoner

解决方案


推荐阅读