2017-03-22 9 views
0

私はApache JenaとFusekiを使い慣れています。私はApache Jena Fusekiをスタンドアロンサーバとしてインストールしました。私は非常に単純な推論ルールを定義しようとしています。そして、一見正しく設定していないようです。私の設定ファイルconfig_new.ttlは次のようになります。私のFusekiサーバーがファイルから推論ルールを読み込む方法は?

@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#> . 
@prefix ao:  <http://ao.com> . 

[] rdf:type fuseki:Server ; 
    fuseki:services (
     <#mainservice> 
    ) . 

<#mainservice> rdf:type fuseki:Service ; 
    fuseki:name      "mainservice" ; 
    fuseki:serviceQuery    "sparql"  ; 
    fuseki:serviceQuery    "query"  ; 
    fuseki:serviceUpdate    "update"  ; 
    fuseki:serviceUpload    "upload"  ; 
    fuseki:serviceReadWriteGraphStore "data"  ; 
    fuseki:serviceReadGraphStore  "get"   ; 
    fuseki:dataset     <#ao>   ; 
    . 

### In-memory, initially empty. 
## This database set-up allows OWL inference. 
<#ao> rdf:type ja:MemoryModel ; 
       ja:defaultGraph <#infGraph> . 

<#infGraph> rdf:type ja:InfModel ; 
      ja:reasoner [ ja:rulesFrom <file:inference_rules.rules> ; ] . 

は私がして、コンソールからサーバを起動しています:それは始めて、私はいくつかのデータをアップロードし、それを照会することができています

./fuseki-server --update --file=config_new.ttl /mainservice 

Webページからは正常に終了しましたが、一見してファイルinference_rules.rulesは読み込まれません。ファイル名が間違っていたり、ファイルが存在しない場合、またはファイルの内容が正しくない場合でも、エラーは発生せず、ルールは機能しません。

私には何が欠けていますか?

ここにもう1つの質問があります。どうやら、私はまだそこにはいませんが、inference_rules.rulesの内容をここに入れておきます。私は、単純な推移規則を定義しようとしている - 場合を(AはBである)および(BがCである)、そしてAはCです:

@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# 
@prefix ex: http://example.com/ 
@prefix xs: http://www.w3.org/2001/XMLSchema# 
@prefix ao: http://ao.com/ 

[isATransitive: 
(?a ao:isA ?b) 
(?b ao:isA ?c) 
       -> 
       (?a ao:isA ?c) 
     ] 

私はそれを正しく定義しましたか?言う部分では

答えて

1

<#ao> rdf:type ja:MemoryModel ; 
       ja:defaultGraph <#infGraph> . 

<#infGraph> rdf:type ja:InfModel ; 
      ja:reasoner [ ja:rulesFrom <file:inference_rules.rules> ; ] . 

<#ao>がタイプja:RDFDatasetないモデルでなければなりません。ファイルは**がinference_rules.rulesが存在するかどうか、そこに何があるか。ルールはロードされません**場合

<#ao> rdf:type ja:RDFDataset ;

+0

それは:(動作しません。それは気にしません。 – Jimo

+0

私は思います** **に問題があります – Jimo

関連する問題