You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Evan Patton <pa...@rpi.edu> on 2012/04/27 22:09:43 UTC
OntModel over DatasetTDB using Jena Assembler
Hi everyone,
I'm looking at performing reasoning over a TDB dataset using Fuseki. In the past I've configured single graphs using tdb:GraphTDB in Joseki using the Jena Assembler framework, but it's not clear if it's possible to use a tdb:DatasetTDB as the backing for an OntModel. Fuseki dumps the following message:
cannot find a most specific type for :dataset, which has as possibilities: ja:Model tdb:DatasetTDB
So my question is: Is there any method of loading an entire TDB dataset (named graphs and all) for RDFS inference in Fuseki?
Thanks,
Evan
Re: OntModel over DatasetTDB using Jena Assembler
Posted by Evan Patton <pa...@rpi.edu>.
Not sure why the attachment was stripped (or where, as it shows up in my sent mail), but here's a copy&pasted version.
Evan
# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
## Example of a TDB dataset published using 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#> .
[] rdf:type fuseki:Server ;
# Timeout - server-wide default: milliseconds.
# Format 1: "1000" -- 1 second timeout
# Format 2: "10000,60000" -- 10s timeout to first result, then 60s timeout to for rest of query.
# See java doc for ARQ.queryTimeout
# ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "10000" ] ;
# ja:loadClass "your.code.Class" ;
fuseki:services (
<#service_rdfs>
<#service_tdb>
<#service_tdb_docs>
) .
# TDB
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
## ---------------------------------------------------------------
## Updatable TDB dataset with all servcies enabled.
<#service_rdfs> rdf:type fuseki:Service ;
rdfs:label "RDFS Service" ;
fuseki:name "rdfs" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
# fuseki:serviceUpdate "update" ;
# fuseki:serviceUpload "upload" ;
# fuseki:serviceReadWriteGraphStore "data" ;
# A separate read-only graph store endpoint:
# fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#rdfs_dataset_read> ;
.
<#rdfs_dataset_read> rdf:type ja:OntModel ;
ja:baseModel <#rdfs_model> ;
ja:ontModelSpec ja:RDFS_MEM_RDFS_INF ;
.
<#rdfs_model> rdf:type ja:UnionModel ;
ja:subModel <#document_dataset> ;
ja:rootModel <#tdb_dataset> ;
.
## ---------------------------------------------------------------
## Updatable TDB dataset with all servcies enabled.
<#service_tdb> rdf:type fuseki:Service ;
rdfs:label "main" ;
fuseki:name "main" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
# A separate read-only graph store endpoint:
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#tdb_dataset> ;
.
<#tdb_dataset> rdf:type tdb:DatasetTDB ;
tdb:location "/ext/rdf/tdb" ;
tdb:unionDefaultGraph true ;
.
<#service_tdb_docs> rdf:type fuseki:Service ;
rdfs:label "documents" ;
fuseki:name "media" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#document_dataset> ;
.
<#document_dataset> rdf:type tdb:DatasetTDB ;
tdb:location "/ext/rdf/documents" ;
tdb:unionDefaultGraph true ;
.
On May 2, 2012, at 10:59 AM, Evan Patton wrote:
> Hi Andy,
>
> I've attached a copy of my config file. The biggest issue is that I want to store schema, instances, and metadata in different graphs and have the ability to persistently store external data (e.g. FOAF files) by using the SPARQL 1.1 Update LOAD functionality. However, it is non-obvious to me that I can build an RDFS InfModel over the union of the entire TDB dataset--at least based on the error I sent you. Of course, I may just be overlooking something.
>
> Thanks,
> Evan
>
>
>
> --
> BEGIN-ANTISPAM-VOTING-LINKS
> ------------------------------------------------------
>
> Teach CanIt if this mail (ID 49059161) is spam:
> Spam: http://respite.rpi.edu/b.php?c=s&i=49059161&m=093746acb9c8
> Not spam: http://respite.rpi.edu/b.php?c=n&i=49059161&m=093746acb9c8
> Forget vote: http://respite.rpi.edu/b.php?c=f&i=49059161&m=093746acb9c8
> ------------------------------------------------------
> END-ANTISPAM-VOTING-LINKS
>
>
> On Apr 27, 2012, at 7:29 PM, Andy Seaborne wrote:
>
>> On 27/04/12 21:09, Evan Patton wrote:
>>> Hi everyone,
>>>
>>> I'm looking at performing reasoning over a TDB dataset using Fuseki.
>>> In the past I've configured single graphs using tdb:GraphTDB in
>>> Joseki using the Jena Assembler framework, but it's not clear if it's
>>> possible to use a tdb:DatasetTDB as the backing for an OntModel.
>>> Fuseki dumps the following message:
>>>
>>> cannot find a most specific type for :dataset, which has as
>>> possibilities: ja:Model tdb:DatasetTDB
>>>
>>> So my question is: Is there any method of loading an entire TDB
>>> dataset (named graphs and all) for RDFS inference in Fuseki?
>>
>> Fuseki uses the same mechanism as Joseki to define datasets. You have to pick one model out of a dataset.
>>
>> That error usually occurs from a misconfigured config file.
>>
>> What is the config file?
>>
>> Andy
>>
>>>
>>> Thanks, Evan
>>>
>>
>>
>>
>> --
>>
>>
>
Re: OntModel over DatasetTDB using Jena Assembler
Posted by Evan Patton <pa...@rpi.edu>.
Hi Andy,
I've attached a copy of my config file. The biggest issue is that I want to store schema, instances, and metadata in different graphs and have the ability to persistently store external data (e.g. FOAF files) by using the SPARQL 1.1 Update LOAD functionality. However, it is non-obvious to me that I can build an RDFS InfModel over the union of the entire TDB dataset--at least based on the error I sent you. Of course, I may just be overlooking something.
Thanks,
Evan
Re: OntModel over DatasetTDB using Jena Assembler
Posted by Andy Seaborne <an...@apache.org>.
On 27/04/12 21:09, Evan Patton wrote:
> Hi everyone,
>
> I'm looking at performing reasoning over a TDB dataset using Fuseki.
> In the past I've configured single graphs using tdb:GraphTDB in
> Joseki using the Jena Assembler framework, but it's not clear if it's
> possible to use a tdb:DatasetTDB as the backing for an OntModel.
> Fuseki dumps the following message:
>
> cannot find a most specific type for :dataset, which has as
> possibilities: ja:Model tdb:DatasetTDB
>
> So my question is: Is there any method of loading an entire TDB
> dataset (named graphs and all) for RDFS inference in Fuseki?
Fuseki uses the same mechanism as Joseki to define datasets. You have
to pick one model out of a dataset.
That error usually occurs from a misconfigured config file.
What is the config file?
Andy
>
> Thanks, Evan
>