Alasan burung hantu Fuseki tidak bekerja dengan TDB

Ini adalah file konfigurasi saya

# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0

## Fuseki Server configuration file.

@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 ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .

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

# TDB
tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .

[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .

<#service1> rdf:type fuseki:Service ;
fuseki:name                       "rs" ;       # http://host:port/ds
fuseki:serviceQuery               "sparql" ;   # SPARQL query service
fuseki:serviceQuery               "query" ;    # SPARQL query service (alt name)
fuseki:serviceUpdate              "update" ;   # SPARQL update service
fuseki:serviceUpload              "upload" ;   # Non-SPARQL upload service
fuseki:serviceReadWriteGraphStore "data" ;     # SPARQL Graph store protocol (read and write)
# A separate read-only graph store endpoint:
fuseki:serviceReadGraphStore      "get" ;      # SPARQL Graph store protocol (read only)
fuseki:dataset                   <#dataset> ;
.


<#dataset> rdf:type      tdb:DatasetTDB ;
    tdb:location "RS" ;
    ja:defaultGraph       <#model_inf> ;
.


<#model_inf> a ja:InfModel ;
    ja:baseModel <#tdbGraph> ;
    ja:reasoner [
    ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>]
.


<#tdbGraph> rdf:type tdb:GraphTDB ;
    tdb:dataset <#RSDataSet> .

<#RSDataSet> rdf:type  tdb:DatasetTDB ;
    tdb:location "RS" ;
    tdb:unionDefaultGraph true ;
.

ketika saya menjalankan Fuseki (2.3) Saya dapat melihat kumpulan data saya yang menggunakan TDB (bukan dalam memeory) Saya dapat mengunggah tripel rdf saya, dan bahkan ketika saya menutup Fuseki dan membukanya kembali, tripel tersebut tetap ada , tetapi alasannya tidak berfungsi

ini dataku

@prefix : <http://example.org/rs#>
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>

:A   rdfs:subClassOf :B .
:B   rdfs:subClassOf :C .
:i  a   :A .

ketika saya melakukan pertanyaan ini

select * where {
:i a ?e
}

Saya hanya mendapatkan :A di mana saya seharusnya mendapatkan :B dan :C

apa yang salah dalam konfigurasi saya?


person Ania David    schedule 17.03.2016    source sumber
comment
Saya menyarankan untuk menanyakan hal ini di milis JENA. Orang-orang itu cukup cepat dan ahli dalam konfigurasi dan pengaturan TDB, Fuseket, dan sejenisnya.   -  person UninformedUser    schedule 18.03.2016


Jawaban (3)


Saya kira Anda mungkin tidak memuat file konfigurasi dengan benar, ketika Anda menjalankan Fuseki. Apakah Anda secara eksplisit meminta Fuseki untuk menggunakan file konfigurasi Anda?

Fuski saya berjalan dengan baik dengan kemampuan penalaran, dengan mengikuti instruksi dalam tutorial ini (http://krr.cs.vu.nl/wp-content/uploads/2013/09/protege-fuseki-yasgui-manual.pdf). Periksa halaman 3, dan saya harap Anda dapat menyelesaikan masalah Anda.

person Romaboy    schedule 17.03.2016
comment
Saya memuat file configutaiotn dengan benar, karena saya dapat melihat layanan dan kumpulan data sudah ada di sana ketika fuseki berjalan - person Ania David; 18.03.2016
comment
kesalahan saya adalah seperti yang tertulis dalam dokumen yang Anda berikan, adalah saya menyimpan grafik gabungan saat layanan pembaruan ada. terima kasih - person Ania David; 18.03.2016
comment
tolong, bisakah Anda membantu saya di sini? stackoverflow.com/questions/36131149/ - person Ania David; 21.03.2016

Garis ini

<#dataset> rdf:type      tdb:DatasetTDB ;

mengatakan itu database TDB tapi bukan itu yang dibutuhkan. Anda memerlukan ja:RDFDataset untuk memuat grafik inf yang menggunakan TDB sebagai data dasarnya.

(perlu pengujian)

<#dataset> rdf:type       ja:RDFDataset ;
    ja:defaultGraph       <#model_inf> ;
    .
person AndyS    schedule 18.03.2016
comment
sebenarnya saya menyadari bahwa dari dokumen yang diposting orang lain, saya sangat menghargai bantuan Anda, saya berharap saya dapat menerima dua jawaban :( plus satu - person Ania David; 18.03.2016
comment
Saya tahu Anda menyukai Fuseki :) itu sebabnya saya ingin bertanya apakah Anda boleh memeriksa pertanyaan baru saya? - person Ania David; 18.03.2016
comment
tolong, bisakah Anda membantu saya di sini? stackoverflow.com/questions/36131149/ - person Ania David; 21.03.2016

Karena tidak mengetahui secara spesifik Fuseki, saya yakin Anda perlu secara eksplisit memanggil mesin inferensi pada profil OWL atau RDFS. Setelah selesai, Anda akan melihat perlengkapan yang Anda inginkan. OTOH, ada kueri SPARQL umum yang akan mendapatkan hasil yang sama:

SELECT ?e
WHERE {
   :i a ?cls .
   ?cls rdfs:subClassOf* ?e .
}

Atau, lebih ringkasnya menggunakan jalur properti:

SELECT ?e
WHERE {
   :i rdf:type/rdfs:subClassOf* ?e .
}
person scotthenninger    schedule 17.03.2016