# Stardog 5: Query with reasoning returning 0 results when run inside transaction

**URL:** <https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447>\
**Category:** Bug\
**Created:** [July 6, 2017, 12:08pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447 "2017-07-06T12:08:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![hmottestad](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/hmottestad/32/19_2.png) [@hmottestad](https://community.stardog.com/u/hmottestad)\
**Post date:** [July 6, 2017, 12:08pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/1 "2017-07-06T12:08:51Z")

</div>

Hi,

The following query returns results when run outside of a transaction (from java), but returns 0 when run inside a transaction.

```auto

select distinct ?skjulbarEnhet where {  
   ?skjulbarEnhet a virksomhet:SkjulbarEnhet.      
}                                                                                

```

`virksomhet:SkjulbarEnhet` is:

 ![](https://canada1.discourse-cdn.com/flex030/uploads/stardog/original/1X/e61112c31a9946978dc6f9384508c648d23543cd.png)

Query plan is:

```auto
From all
Distinct [#35]
`─ Projection(?skjulbarEnhet) [#145]
   `─ Union [#145]
      +─ Union [#141]
      │ +─ Union [#133]
      │ │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Kommune>) [#1]
      │ │ `─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Virksomhet>) [#132]
      │ `─ Union [#8]
      │ +─ Filter(Datatype(?jevdsuss) = xsd:string) [#1]
      │ │ `─ MergeJoin(?skjulbarEnhet) [#1]
      │ │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/AdministrativEnhet>) [#199]
      │ │ `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?jevdsuss) [#140]
      │ `─ Filter(Datatype(?jaoawjiz) = xsd:string) [#7]
      │ `─ MergeJoin(?skjulbarEnhet) [#15]
      │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Bydel>) [#15]
      │ `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?jaoawjiz) [#140]
      `─ Union [#4]
         +─ Union [#2]
         │ +─ Filter(Datatype(?zrmyybfn) = xsd:string) [#1]
         │ │ `─ MergeJoin(?skjulbarEnhet) [#1]
         │ │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/DummyEnhet>) [#3]
         │ │ `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?zrmyybfn) [#140]
         │ `─ Filter(Datatype(?tdpvnkue) = xsd:string) [#1]
         │ `─ MergeJoin(?skjulbarEnhet) [#2]
         │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Enhet>) [#2]
         │ `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?tdpvnkue) [#140]
         `─ Union [#2]
            +─ Filter(Datatype(?hrgckdwc) = xsd:string) [#1]
            │ `─ MergeJoin(?skjulbarEnhet) [#2]
            │ +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Organ>) [#2]
            │ `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?hrgckdwc) [#140]
            `─ Filter(Datatype(?fvlrjlpt) = xsd:string) [#1]
               `─ MergeJoin(?skjulbarEnhet) [#1]
                  +─ Scan[POSC](?skjulbarEnhet, rdf:type, <http://data.einnsyn.no/virksomhetmeta/Utvalg>) [#30]
                  `─ Scan[PSOC](?skjulbarEnhet, <http://data.einnsyn.no/virksomhetmeta/orgnummer>, ?fvlrjlpt) [#140]

```

Here is some sample data:

```auto
@prefix arkiv: <http://www.arkivverket.no/standarder/noark5/arkivstruktur/> .

<http://data.einnsyn.no/virksomhet/1a68a5d6-1bb5-42e8-8de1-4bd2594df6a4> a <http://data.einnsyn.no/virksomhetmeta/Virksomhet> ;
	<http://data.einnsyn.no/virksomhetmeta/epost> "virksomhet@example.org" ;
	<http://data.einnsyn.no/virksomhetmeta/oppdatertDato> "2017-07-06T13:50:37.168+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
	<http://data.einnsyn.no/virksomhetmeta/opprettetDato> "2017-07-06T13:50:37.168+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
	<http://data.einnsyn.no/virksomhetmeta/kontaktperson> <http://data.einnsyn.no/virksomhet/a757428d-d09b-4add-960d-d004f015566c> .

<http://data.einnsyn.no/virksomhet/a757428d-d09b-4add-960d-d004f015566c> a <http://data.einnsyn.no/virksomhetmeta/Kontaktperson> ;
	<http://data.einnsyn.no/virksomhetmeta/epost> "kontaktperson@example.org" ;
	<http://data.einnsyn.no/virksomhetmeta/navn> "kontaktperson1499341833200" .

<http://data.einnsyn.no/virksomhet/1a68a5d6-1bb5-42e8-8de1-4bd2594df6a4> <http://data.einnsyn.no/virksomhetmeta/avsluttetDato> "2017-07-06T13:50:33.200+02:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
	<http://data.einnsyn.no/virksomhetmeta/orgnummer> "999999999" ;
	<http://data.einnsyn.no/virksomhetmeta/telefon> "12345678" ;
	<http://data.einnsyn.no/virksomhetmeta/adresse> "Adresse" ;
	<http://data.einnsyn.no/virksomhetmeta/navn> "virksomhet1499341833200"@no-nb ;
	<http://data.einnsyn.no/virksomhetmeta/skjult> false .

```

This data is inserted in our transaction, and we use the query before and after the insertion to see if there are any new `virksomhet:SkjulbarEnhet`, for this data there should be one new `virksomhet:SkjulbarEnhet` `<http://data.einnsyn.no/virksomhet/1a68a5d6-1bb5-42e8-8de1-4bd2594df6a4>`

Entire ontology can be found here: [ontology.ttl · GitHub](https://gist.github.com/hmottestad/086a4987e6aa186313816a70395ac6c3)

Cheers,  
Håvard

---

<div class="post-metadata">

**Author:** ![stephen](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/stephen/32/27_2.png) [@stephen](https://community.stardog.com/u/stephen)\
**Post date:** [July 6, 2017, 4:34pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/2 "2017-07-06T16:34:49Z")

</div>

Thanks for the report! I’m able to reproduce this problem via Java and HTTP, so I’ve opened up a ticket. We’ll be looking further into it.

---

<div class="post-metadata">

**Author:** ![hmottestad](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/hmottestad/32/19_2.png) [@hmottestad](https://community.stardog.com/u/hmottestad)\
**Post date:** [July 6, 2017, 6:03pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/3 "2017-07-06T18:03:07Z")

</div>

Great that you can reproduce it 🙂

Håvard

---

<div class="post-metadata">

**Author:** ![DarthStem](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/darthstem/32/261_2.png) [@DarthStem](https://community.stardog.com/u/DarthStem)\
**Post date:** [January 16, 2019, 2:15pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/4 "2019-01-16T14:15:42Z")

</div>

This thread is quite stale. I'm running into this same issue. Was this confirmed as a defect?

---

<div class="post-metadata">

**Author:** ![pavel](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/pavel/32/18_2.png) [@pavel](https://community.stardog.com/u/pavel)\
**Post date:** [January 16, 2019, 3:32pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/5 "2019-01-16T15:32:41Z")

</div>

Yes, it was confirmed back then. Which version of Stardog are you using?

Thanks,  
Pavel

---

<div class="post-metadata">

**Author:** ![DarthStem](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/darthstem/32/261_2.png) [@DarthStem](https://community.stardog.com/u/DarthStem)\
**Post date:** [January 16, 2019, 4:46pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/6 "2019-01-16T16:46:22Z")

</div>

Our cluster is running 5.3.2 however I tested a local community version of 6.0.1 where I can also reproduce this issue.

---

<div class="post-metadata">

**Author:** ![evren](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/evren/32/1515_2.png) [@evren](https://community.stardog.com/u/evren)\
**Post date:** [January 16, 2019, 7:52pm UTC](https://community.stardog.com/t/stardog-5-query-with-reasoning-returning-0-results-when-run-inside-transaction/447/7 "2019-01-16T19:52:09Z")

</div>

Not being able to use reasoning inside a transaction was fixed in version 5.3.0 but there is a limitation that if reasoning is not enabled when the transaction begins then it cannot be enabled afterwards. If you are using the Java code reasoning should be enabled for the connection config when transaction begins so queries with reasoning can be used. If you are using the HTTP API you should enable reasoning as follows:

```auto
curl -X POST -sku admin:admin http://localhost:5820/DB/transaction/begin?reasoning=true

```

Best,  
Evren
