What is a unionized graph, is it a graph that joins two data sets which are
common in set theory?

On 28 March 2016 at 19:46, Woodward, Arthur E CTR (US) <
[email protected]> wrote:

> Hello Users,
>
>
>
> I have been having difficulty finding a solution to the problem of
> building a modular system for ontological query expansion in Fuseki.
>
>
>
> My goal is to be able to run a query over a unionized default graph, while
> maintaining the ability to edit the individual named graphs either from the
> same dataset or a different dataset.
>
>
>
> I have tried many variations of the Fuseki assembler, and after combing
> through the documentation and previous e-mails I believe I have constructed
> an assembler specification that should be working, but it is not. From an
> e-mail by Rohana Rajapakse on Jan 24, 2014 1:52 am it was indicated that a
> structure like the one in my file below should allow for an inference
> engine to be run over a unionized default graph.
>
>
>
> Data added via Fuseki GUI::
>
> DID NOT WORK
>
> Dataset -- Data
>
> Graphs -- default -- (empty, with unionDefaultGraph:true in the Data.ttl
> and Reasoner.ttl assembler files)
>
>               Entities --
>
>                             @prefix ex:    <http://example.org/> .
>                             @prefix owl:   <http://www.w3.org/2002/07/owl#>
> .
>                             @prefix rdf:   <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>                             @prefix rdfs:  <
> http://www.w3.org/2000/01/rdf-schema#> .
>                             @prefix zoo:   <http://example.org/zoo/> .
>
>
>
>                             ex:dog1  a      ex:animal .
>
>                             ex:cat1  a      ex:cat .
>
>                             ex:zoo1  zoo:host  ex:cat2 .
>
>                             ex:cat3  owl:sameAs  ex:cat2 .
>
>
>
>             Ontology --
>
>                             @prefix ex:    <http://example.org/> .
>                             @prefix owl:   <http://www.w3.org/2002/07/owl#>
> .
>                             @prefix rdf:   <
> http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>                             @prefix rdfs:  <
> http://www.w3.org/2000/01/rdf-schema#> .
>                             @prefix zoo:   <http://example.org/zoo/> .
>
>
>
>                             ex:cat  rdfs:subClassOf  ex:animal .
>
>                             zoo:host  rdfs:range  ex:animal .
>
> Dataset -- Reasoner
>
>             default - (no manually entered data)
>
>
>
> Query -- Run over the Reasoner Dataset
>
> PREFIX ex: <http://example.org/>
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
> PREFIX : <http://localhost:3030/Test/data/>
> PREFIX http: <http://www.w3.org/2011/http#>
>
> SELECT ?animal
> WHERE {
>   ?animal a ex:animal .
> }
> LIMIT 10
>
>
>
> 0 Results.
>
>
>
> If the data in the "Data" dataset is moved from the named graphs to the
> default graph and the unionDefaultGraph:true option is commented out from
> the Data.ttl file, and the same query above is run, there are 4 results.
>
> {
>   "head": {
>     "vars": [ "animal" ]
>   } ,
>   "results": {
>     "bindings": [
>       {
>         "animal": { "type": "uri" , "value": "http://example.org/dog1"; }
>       } ,
>       {
>         "animal": { "type": "uri" , "value": "http://example.org/cat1"; }
>       } ,
>       {
>         "animal": { "type": "uri" , "value": "http://example.org/cat2"; }
>       } ,
>       {
>         "animal": { "type": "uri" , "value": "http://example.org/cat3"; }
>       }
>     ]
>   }
> }
>
>
>
> Data.ttl::
>
>       1 @prefix :      <http://base/#> .
>       2 @prefix tdb:   <http://jena.hpl.hp.com/2008/tdb#> .
>       3 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>       4 @prefix ja:    <http://jena.hpl.hp.com/2005/11/Assembler#> .
>       5 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
>       6 @prefix fuseki: <http://jena.apache.org/fuseki#> .
>       7
>       8 :service_tdb_all  a                   fuseki:Service ;
>       9         rdfs:label                    "TDB Data" ;
>      10         fuseki:dataset                :tdb_dataset_readwrite ;
>      11         fuseki:name                   "Data" ;
>      12         fuseki:serviceQuery           "query" , "sparql" ;
>      13         fuseki:serviceReadGraphStore  "get" ;
>      14         fuseki:serviceReadWriteGraphStore
>      15                 "data" ;
>      16         fuseki:serviceUpdate          "update" ;
>      17         fuseki:serviceUpload          "upload" .
>      18
>      19 :tdb_dataset_readwrite
>      20         a             tdb:DatasetTDB ;
>      21         tdb:location
> "/home/evan/Documents/apache-jena-fuseki-2.3.1/run/databases/Data" ;
>      22        tdb:unionDefaultGraph true ;
>      23         .
>      24
>
>
>
> Reasoner.ttl::
>
> @prefix :      <http://base/#> .
>       2 @prefix tdb:   <http://jena.hpl.hp.com/2008/tdb#> .
>       3 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>       4 @prefix ja:    <http://jena.hpl.hp.com/2005/11/Assembler#> .
>       5 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
>       6 @prefix fuseki: <http://jena.apache.org/fuseki#> .
>       7
>       8 :service1  a                          fuseki:Service ;
>       9         fuseki:dataset                :tdb_dataset_readwrite ;
>      10         fuseki:name                   "Reasoner" ;
>      11         fuseki:serviceQuery           "query" , "sparql" ;
>      12         fuseki:serviceReadGraphStore  "get" ;
>      13         fuseki:serviceReadWriteGraphStore
>      14                 "data" ;
>      15         fuseki:serviceUpdate          "update" ;
>      16         fuseki:serviceUpload          "upload" .
>      17
>      18 tdb:GraphTDB rdfs:subClassOf ja:Model .
>      19 tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
>      20
>      21 :tdb_dataset_readwrite  a          ja:RDFDataset ;
>      22         ja:defaultGraph :model2 ;
>      23         ja:namedGraph
>      24            [ ja:graphName "Data" ;
>      25              ja:graph     :graph ] ;
>      26         .
>      27
>      28 :tdb_intermediate_dataset a tdb:DatasetTDB ;
>      29     tdb:location
> "/home/evan/Documents/apache-jena-fuseki-2.3.1/run/databases/Data";
>      30     tdb:unionDefaultGraph true ;
>      31     .
>      32
>      33 :graph rdf:type tdb:GraphTDB ;
>      34     tdb:dataset :tdb_intermediate_dataset
>      35     .
>      36
>      37 :model2 a ja:InfModel ;
>      38         ja:reasoner  [ ja:reasonerURL <
> http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> ] ;
>      39         ja:baseModel :graph ;
>      40         .
>      41
>      42
>
>
>
> What I have found is that if data is entered into the default graph in the
> "Data" dataset without the unionDefaultGraph option, this "Reasoner"
> dataset (above) will find the information and perform inferences over it.
> However, if the data is instead entered into two named graphs, with the
> unionDefaultGraph:true option selected, the "Reasoner" dataset is unable to
> find the information in "Data". Additionally, the "Reasoner" dataset has no
> access to read or write to the "Data" dataset, which is why I set up a
> separate end-point to be able to manipulate the data in "Data".
>
>
>
> The goal of this experiment is to be able to run different Owl ontologies
> over the same entity data, so ideally there would be a way to create a
> unionized graph from two named graphs in "Data" and query time, and then
> run the inference engine over this graph. So my questions are,
>
>
>
> 1) Is there a way to create a unionized graph at query time? If yes, is
> there a way to run an inference engine over this query-time-created
> unionized graph?
>
>
>
> 2) If the above is not an option, is there a way have an inference engine
> run over the unionized default graph from a set of named graphs?
>
>
>
> If you have any questions or need more information please feel free to
> reach out to me at any time.
>
>
>
>
>
> Thank you for your help,
>
> Evan Woodward
>
>
>
>
>


-- 
Jonathan Camilleri

Mobile (MT): ++356 7982 7113
E-mail: [email protected]
Please consider your environmental responsibility before printing this
e-mail.

I usually reply to emails within 2 business days.  If it's urgent, give me
a call.

Reply via email to