You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by David Jordan <Da...@sas.com> on 2011/09/22 15:56:47 UTC

query on several models in TDB

I have my data in more than one model in TDB and I am trying to write a query that spans across them.

I did try using the following FROM clause.
FROM <urn:x-arq:UnionGraph>
This worked, but there was a long delay in producing results (as compared to running against one named graph).
So I am guessing that what took so long was that a union was literally being created before the query was executed.
My hope was that this would just do the query across all the graphs in the database.

Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
        <target name="tdb.query" >
                <java classname="tdb.tdbquery" fork="true" >
                        <classpath refid="tdb.classpath" />
                        <arg value="--tdb=${assembler.file}" />
                        <arg value="--set tdb:unionDefaultGraph=true" />
                        <arg value="--query=${query}" />
                </java>
        </target>

Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
'-classpath'
'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My Documents\Jena\TDB
'tdb.tdbquery'
'--tdb=db.ttl'
'--set tdb:unionDefaultGraph=true'
'--query=query/haslungcancer.rq'

The ' characters around the executable and arguments are not part of the command.
Unknown argument: set tdb

The documentation was not clear at all whether there was a particular value to set unionDefaultGraph to. Is this correct?
Also, any ideas why tdbquery is having a problem with the : ?

I really want to avoid having a union computed up front of the graphs that I need.
When I directly use named graphs in the query, things don’t work right when I use a variable spanning across multiple graphs.

David Jordan
Software Developer
SAS Institute Inc.
Health & Life Sciences, Research & Development
Bldg R ▪ Office 4467
600 Research Drive ▪ Cary, NC 27513
Tel: 919 531 1233 ▪ david.jordan@sas.com<ma...@sas.com>
www.sas.com<http://www.sas.com>
SAS® … THE POWER TO KNOW®




RE: query on several models in TDB

Posted by Dave Reynolds <da...@gmail.com>.
On Thu, 2011-09-22 at 17:32 +0000, David Jordan wrote: 
> Thanks for the suggestion on the Ant arg issue, that worked.
> With passing the tdb:unionDefaultGraph=true, without any FROM or FROM NAMED, I get no results.

Odd. I use tdb:unionDefaultGraph all the time with no FROM/FROM NAMED,
at least programmatically.

Assuming you are running on up to date code then you may want to try a
simple test case with two small test graphs and a trivial ?s ?p ?o
query.

> I have tried numerous variations, trying to get results.
> I have two graphs, call them P and I.
> I have annotated lines in the following query.
> 
> select distinct ?subjid
> where {
>  		?subj p:hasDiagnosis ?diag .      #1: in graph P
> 		?subj p:hasPatientID ?subjid .  #2: in graph P
> 		?diag rdf:type ?diagType .         #3: in graph I
> 	FILTER ( ?diagType = HOM_ICD9:HOM_ICD_1224) .   #4: in graph I
> }

How can #4 be in a different graph to #1??

Perhaps if you can generate some minimal example test data with just a
few statements for P and I, that would explain what you want more
precisely and give a test case that others could try out.

Dave



RE: query on several models in TDB

Posted by David Jordan <Da...@sas.com>.
Thanks for the suggestion on the Ant arg issue, that worked.
With passing the tdb:unionDefaultGraph=true, without any FROM or FROM NAMED, I get no results.
I have tried numerous variations, trying to get results.
I have two graphs, call them P and I.
I have annotated lines in the following query.

select distinct ?subjid
where {
 		?subj p:hasDiagnosis ?diag .      #1: in graph P
		?subj p:hasPatientID ?subjid .  #2: in graph P
		?diag rdf:type ?diagType .         #3: in graph I
	FILTER ( ?diagType = HOM_ICD9:HOM_ICD_1224) .   #4: in graph I
}

I have tried this query 3 ways: no FROM or FROM NAMED, use FROM, use FROM NAMED.
None of them work (I get no results).

I have also tried using GRAPH in the query, but that yields no results either.
I read somewhere that a variable in different GRAPH sections of a query are not shared.

I can query for triples in the individual graphs, that produces expected results.
But I need to query across graphs P and I.


----Original Message-----
From: Dave Reynolds [mailto:dave.e.reynolds@gmail.com] 
Sent: Thursday, September 22, 2011 11:29 AM
To: jena-users@incubator.apache.org
Subject: Re: query on several models in TDB

Hi,

On Thu, 2011-09-22 at 13:56 +0000, David Jordan wrote: 
> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
> 
> I did try using the following FROM clause.
> FROM <urn:x-arq:UnionGraph>
> This worked, but there was a long delay in producing results (as compared to running against one named graph).
> So I am guessing that what took so long was that a union was literally being created before the query was executed.
> My hope was that this would just do the query across all the graphs in the database.

I believe that is what happens. 

The slow down may be due to the query having a lot more data visible to it.

> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>         <target name="tdb.query" >
>                 <java classname="tdb.tdbquery" fork="true" >
>                         <classpath refid="tdb.classpath" />
>                         <arg value="--tdb=${assembler.file}" />
>                         <arg value="--set tdb:unionDefaultGraph=true" />
>                         <arg value="--query=${query}" />
>                 </java>
>         </target>
> 
> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
> '-classpath'
> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My 
> Documents\Jena\TDB 'tdb.tdbquery'
> '--tdb=db.ttl'
> '--set tdb:unionDefaultGraph=true'
> '--query=query/haslungcancer.rq'
> 
> The ' characters around the executable and arguments are not part of the command.
> Unknown argument: set tdb

Try with:
    <arg value="--set" />
    <arg value="tdb:unionDefaultGraph=true" />

Dave




Re: query on several models in TDB

Posted by Dave Reynolds <da...@gmail.com>.
Hi,

On Thu, 2011-09-22 at 13:56 +0000, David Jordan wrote: 
> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
> 
> I did try using the following FROM clause.
> FROM <urn:x-arq:UnionGraph>
> This worked, but there was a long delay in producing results (as compared to running against one named graph).
> So I am guessing that what took so long was that a union was literally being created before the query was executed.
> My hope was that this would just do the query across all the graphs in the database.

I believe that is what happens. 

The slow down may be due to the query having a lot more data visible to
it.

> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>         <target name="tdb.query" >
>                 <java classname="tdb.tdbquery" fork="true" >
>                         <classpath refid="tdb.classpath" />
>                         <arg value="--tdb=${assembler.file}" />
>                         <arg value="--set tdb:unionDefaultGraph=true" />
>                         <arg value="--query=${query}" />
>                 </java>
>         </target>
> 
> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
> '-classpath'
> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My Documents\Jena\TDB
> 'tdb.tdbquery'
> '--tdb=db.ttl'
> '--set tdb:unionDefaultGraph=true'
> '--query=query/haslungcancer.rq'
> 
> The ' characters around the executable and arguments are not part of the command.
> Unknown argument: set tdb

Try with:
    <arg value="--set" />
    <arg value="tdb:unionDefaultGraph=true" />

Dave



RE: query on several models in TDB

Posted by David Jordan <Da...@sas.com>.
My issue is that I have to meet a deadline on Monday and other things are higher priority till then.
For now, I can live with naming the data sets in FROM, but I would like to get this resolved next week.
I have MANY triples in both models.
Query and configuration is easy to give you, getting a useful small set of data will take a little more time.

-----Original Message-----
From: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] On Behalf Of Andy Seaborne
Sent: Friday, September 23, 2011 9:49 AM
To: jena-users@incubator.apache.org
Subject: Re: query on several models in TDB

On 23/09/11 13:57, David Jordan wrote:
>
> I took my working query which used FROM, removed the two FROMs, then tried both of these variations.
> Neither one produced any results.
> I don't really have a way of putting together a small example without a lot of work.

Is that because if you have one triple in each dataset it works?

What is needed is data + query + configuration details.

It is the details that matter which is why I hoped to recreate a setup that was sufficiently like you installation and exhibited the problems.

> Are you sure it needs to be --set tdb:unionDefaultGraph=true, versus 
> simply --set tdb:unionDefaultGraph

TDB.getContext().set(TDB.symUnionDefaultGraph, true) ;

is the same as command line:

--set tdb:unionDefaultGraph=true

or

--set=tdb:unionDefaultGraph=true

> The documentation was not clear about this.
>
> 	<target name="tdb.query">
> 		<java classname="tdb.tdbquery" fork="true">
> 			<classpath refid="tdb.classpath" />
> 			<arg value="--tdb=${assembler.file}" />

Could you share the assembler file?

Which version of TDB are you using?

	Andy

> 			<arg value="--set=tdb:unionDefaultGraph=true" />
> 			<arg value="--query=${query}" />
> 		</java>
> 	</target>
> 	
> 	<target name="tdb.query">
> 		<java classname="tdb.tdbquery" fork="true">
> 			<classpath refid="tdb.classpath" />
> 			<arg value="--tdb=${assembler.file}" />
> 			<arg value="--set" />
> 			<arg value="tdb:unionDefaultGraph=true" />
> 			<arg value="--query=${query}" />
> 		</java>
> 	</target>
>
> -----Original Message-----
> From: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] On Behalf 
> Of Andy Seaborne
> Sent: Friday, September 23, 2011 5:50 AM
> To: jena-users@incubator.apache.org
> Subject: Re: query on several models in TDB
>
> On 22/09/11 14:56, David Jordan wrote:
>> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
>>
>> I did try using the following FROM clause.
>> FROM<urn:x-arq:UnionGraph>
>> This worked, but there was a long delay in producing results (as compared to running against one named graph).
>> So I am guessing that what took so long was that a union was literally being created before the query was executed.
>> My hope was that this would just do the query across all the graphs in the database.
>>
>> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>>           <target name="tdb.query">
>>                   <java classname="tdb.tdbquery" fork="true">
>>                           <classpath refid="tdb.classpath" />
>>                           <arg value="--tdb=${assembler.file}" />
>>                           <arg value="--set tdb:unionDefaultGraph=true" />
>>                           <arg value="--query=${query}" />
>>                   </java>
>>           </target>
>>
>> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
>> '-classpath'
>> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
>> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
>> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My 
>> Documents\Jena\TDB 'tdb.tdbquery'
>> '--tdb=db.ttl'
>> '--set tdb:unionDefaultGraph=true'
>> '--query=query/haslungcancer.rq'
>>
>> The ' characters around the executable and arguments are not part of the command.
>> Unknown argument: set tdb
>
> This matters.  It says the union flag is not getting set.
> You don't need "FROM<urn:x-arq:UnionGraph>"
>
> Because you have
>
> '--set tdb:unionDefaultGraph=true'
>
> it's all one string to the exec system call, starting with "--"
>
> Both ":" and "=" are name/value split markers.
>
> So the argument is called
>
> "set tdb"
>
> not "set"
>
>
> Try:
>
> '--set=tdb:unionDefaultGraph=true'
>
> or (I think)
>
> <arg value="--set" />
> <arg value="tdb:unionDefaultGraph=true" />
>
> i.e. two separate arguments to java execution.
>
> TDB uses the usual command like style of
>
> --flag value
>
> as two arguments to the exec system call
>
> --flag=value
>
> as one argument to exec.
>
> 	Andy
>
>>
>> The documentation was not clear at all whether there was a particular value to set unionDefaultGraph to. Is this correct?
>> Also, any ideas why tdbquery is having a problem with the : ?
>>
>> I really want to avoid having a union computed up front of the graphs that I need.
>> When I directly use named graphs in the query, things don’t work right when I use a variable spanning across multiple graphs.
>>
>> David Jordan
>> Software Developer
>> SAS Institute Inc.
>> Health&   Life Sciences, Research&   Development Bldg R ▪ Office 4467
>> 600 Research Drive ▪ Cary, NC 27513
>> Tel: 919 531 1233 ▪ david.jordan@sas.com<ma...@sas.com>
>> www.sas.com<http://www.sas.com>
>> SAS® … THE POWER TO KNOW®
>>
>>
>>
>
>



Re: query on several models in TDB

Posted by Andy Seaborne <an...@apache.org>.
On 23/09/11 13:57, David Jordan wrote:
>
> I took my working query which used FROM, removed the two FROMs, then tried both of these variations.
> Neither one produced any results.
> I don't really have a way of putting together a small example without a lot of work.

Is that because if you have one triple in each dataset it works?

What is needed is data + query + configuration details.

It is the details that matter which is why I hoped to recreate a setup 
that was sufficiently like you installation and exhibited the problems.

> Are you sure it needs to be --set tdb:unionDefaultGraph=true, versus simply --set tdb:unionDefaultGraph

TDB.getContext().set(TDB.symUnionDefaultGraph, true) ;

is the same as command line:

--set tdb:unionDefaultGraph=true

or

--set=tdb:unionDefaultGraph=true

> The documentation was not clear about this.
>
> 	<target name="tdb.query">
> 		<java classname="tdb.tdbquery" fork="true">
> 			<classpath refid="tdb.classpath" />
> 			<arg value="--tdb=${assembler.file}" />

Could you share the assembler file?

Which version of TDB are you using?

	Andy

> 			<arg value="--set=tdb:unionDefaultGraph=true" />
> 			<arg value="--query=${query}" />
> 		</java>
> 	</target>
> 	
> 	<target name="tdb.query">
> 		<java classname="tdb.tdbquery" fork="true">
> 			<classpath refid="tdb.classpath" />
> 			<arg value="--tdb=${assembler.file}" />
> 			<arg value="--set" />
> 			<arg value="tdb:unionDefaultGraph=true" />
> 			<arg value="--query=${query}" />
> 		</java>
> 	</target>
>
> -----Original Message-----
> From: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] On Behalf Of Andy Seaborne
> Sent: Friday, September 23, 2011 5:50 AM
> To: jena-users@incubator.apache.org
> Subject: Re: query on several models in TDB
>
> On 22/09/11 14:56, David Jordan wrote:
>> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
>>
>> I did try using the following FROM clause.
>> FROM<urn:x-arq:UnionGraph>
>> This worked, but there was a long delay in producing results (as compared to running against one named graph).
>> So I am guessing that what took so long was that a union was literally being created before the query was executed.
>> My hope was that this would just do the query across all the graphs in the database.
>>
>> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>>           <target name="tdb.query">
>>                   <java classname="tdb.tdbquery" fork="true">
>>                           <classpath refid="tdb.classpath" />
>>                           <arg value="--tdb=${assembler.file}" />
>>                           <arg value="--set tdb:unionDefaultGraph=true" />
>>                           <arg value="--query=${query}" />
>>                   </java>
>>           </target>
>>
>> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
>> '-classpath'
>> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
>> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
>> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My
>> Documents\Jena\TDB 'tdb.tdbquery'
>> '--tdb=db.ttl'
>> '--set tdb:unionDefaultGraph=true'
>> '--query=query/haslungcancer.rq'
>>
>> The ' characters around the executable and arguments are not part of the command.
>> Unknown argument: set tdb
>
> This matters.  It says the union flag is not getting set.
> You don't need "FROM<urn:x-arq:UnionGraph>"
>
> Because you have
>
> '--set tdb:unionDefaultGraph=true'
>
> it's all one string to the exec system call, starting with "--"
>
> Both ":" and "=" are name/value split markers.
>
> So the argument is called
>
> "set tdb"
>
> not "set"
>
>
> Try:
>
> '--set=tdb:unionDefaultGraph=true'
>
> or (I think)
>
> <arg value="--set" />
> <arg value="tdb:unionDefaultGraph=true" />
>
> i.e. two separate arguments to java execution.
>
> TDB uses the usual command like style of
>
> --flag value
>
> as two arguments to the exec system call
>
> --flag=value
>
> as one argument to exec.
>
> 	Andy
>
>>
>> The documentation was not clear at all whether there was a particular value to set unionDefaultGraph to. Is this correct?
>> Also, any ideas why tdbquery is having a problem with the : ?
>>
>> I really want to avoid having a union computed up front of the graphs that I need.
>> When I directly use named graphs in the query, things don’t work right when I use a variable spanning across multiple graphs.
>>
>> David Jordan
>> Software Developer
>> SAS Institute Inc.
>> Health&   Life Sciences, Research&   Development Bldg R ▪ Office 4467
>> 600 Research Drive ▪ Cary, NC 27513
>> Tel: 919 531 1233 ▪ david.jordan@sas.com<ma...@sas.com>
>> www.sas.com<http://www.sas.com>
>> SAS® … THE POWER TO KNOW®
>>
>>
>>
>
>


RE: query on several models in TDB

Posted by David Jordan <Da...@sas.com>.
I took my working query which used FROM, removed the two FROMs, then tried both of these variations.
Neither one produced any results.
I don't really have a way of putting together a small example without a lot of work.
Are you sure it needs to be --set tdb:unionDefaultGraph=true, versus simply --set tdb:unionDefaultGraph
The documentation was not clear about this.

	<target name="tdb.query" >
		<java classname="tdb.tdbquery" fork="true" >
			<classpath refid="tdb.classpath" />
			<arg value="--tdb=${assembler.file}" />
			<arg value="--set=tdb:unionDefaultGraph=true" />
			<arg value="--query=${query}" />
		</java>
	</target>
	
	<target name="tdb.query" >
		<java classname="tdb.tdbquery" fork="true" >
			<classpath refid="tdb.classpath" />
			<arg value="--tdb=${assembler.file}" />
			<arg value="--set" />
			<arg value="tdb:unionDefaultGraph=true" />
			<arg value="--query=${query}" />
		</java>
	</target>

-----Original Message-----
From: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] On Behalf Of Andy Seaborne
Sent: Friday, September 23, 2011 5:50 AM
To: jena-users@incubator.apache.org
Subject: Re: query on several models in TDB

On 22/09/11 14:56, David Jordan wrote:
> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
>
> I did try using the following FROM clause.
> FROM<urn:x-arq:UnionGraph>
> This worked, but there was a long delay in producing results (as compared to running against one named graph).
> So I am guessing that what took so long was that a union was literally being created before the query was executed.
> My hope was that this would just do the query across all the graphs in the database.
>
> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>          <target name="tdb.query">
>                  <java classname="tdb.tdbquery" fork="true">
>                          <classpath refid="tdb.classpath" />
>                          <arg value="--tdb=${assembler.file}" />
>                          <arg value="--set tdb:unionDefaultGraph=true" />
>                          <arg value="--query=${query}" />
>                  </java>
>          </target>
>
> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
> '-classpath'
> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My 
> Documents\Jena\TDB 'tdb.tdbquery'
> '--tdb=db.ttl'
> '--set tdb:unionDefaultGraph=true'
> '--query=query/haslungcancer.rq'
>
> The ' characters around the executable and arguments are not part of the command.
> Unknown argument: set tdb

This matters.  It says the union flag is not getting set.
You don't need "FROM<urn:x-arq:UnionGraph>"

Because you have

'--set tdb:unionDefaultGraph=true'

it's all one string to the exec system call, starting with "--"

Both ":" and "=" are name/value split markers.

So the argument is called

"set tdb"

not "set"


Try:

'--set=tdb:unionDefaultGraph=true'

or (I think)

<arg value="--set" />
<arg value="tdb:unionDefaultGraph=true" />

i.e. two separate arguments to java execution.

TDB uses the usual command like style of

--flag value

as two arguments to the exec system call

--flag=value

as one argument to exec.

	Andy

>
> The documentation was not clear at all whether there was a particular value to set unionDefaultGraph to. Is this correct?
> Also, any ideas why tdbquery is having a problem with the : ?
>
> I really want to avoid having a union computed up front of the graphs that I need.
> When I directly use named graphs in the query, things don’t work right when I use a variable spanning across multiple graphs.
>
> David Jordan
> Software Developer
> SAS Institute Inc.
> Health&  Life Sciences, Research&  Development Bldg R ▪ Office 4467
> 600 Research Drive ▪ Cary, NC 27513
> Tel: 919 531 1233 ▪ david.jordan@sas.com<ma...@sas.com>
> www.sas.com<http://www.sas.com>
> SAS® … THE POWER TO KNOW®
>
>
>



Re: query on several models in TDB

Posted by Andy Seaborne <an...@apache.org>.
On 22/09/11 14:56, David Jordan wrote:
> I have my data in more than one model in TDB and I am trying to write a query that spans across them.
>
> I did try using the following FROM clause.
> FROM<urn:x-arq:UnionGraph>
> This worked, but there was a long delay in producing results (as compared to running against one named graph).
> So I am guessing that what took so long was that a union was literally being created before the query was executed.
> My hope was that this would just do the query across all the graphs in the database.
>
> Something else I am trying to get working is using the following in my Ant script that runs tdbquery.
>          <target name="tdb.query">
>                  <java classname="tdb.tdbquery" fork="true">
>                          <classpath refid="tdb.classpath" />
>                          <arg value="--tdb=${assembler.file}" />
>                          <arg value="--set tdb:unionDefaultGraph=true" />
>                          <arg value="--query=${query}" />
>                  </java>
>          </target>
>
> Executing 'C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe' with arguments:
> '-classpath'
> 'C:\Documents and Settings\davjor\My Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\arq-
> Documents\Jena\TDB-0.8.11-SNAPSHOT\lib\jena-2.6.4.jar;C:\Documents and Settings\                     I cut this off, too long.
> b\tdb-0.8.11-SNAPSHOT.jar;C:\Documents and Settings\davjor\My Documents\Jena\TDB
> 'tdb.tdbquery'
> '--tdb=db.ttl'
> '--set tdb:unionDefaultGraph=true'
> '--query=query/haslungcancer.rq'
>
> The ' characters around the executable and arguments are not part of the command.
> Unknown argument: set tdb

This matters.  It says the union flag is not getting set.
You don't need "FROM<urn:x-arq:UnionGraph>"

Because you have

'--set tdb:unionDefaultGraph=true'

it's all one string to the exec system call, starting with "--"

Both ":" and "=" are name/value split markers.

So the argument is called

"set tdb"

not "set"


Try:

'--set=tdb:unionDefaultGraph=true'

or (I think)

<arg value="--set" />
<arg value="tdb:unionDefaultGraph=true" />

i.e. two separate arguments to java execution.

TDB uses the usual command like style of

--flag value

as two arguments to the exec system call

--flag=value

as one argument to exec.

	Andy

>
> The documentation was not clear at all whether there was a particular value to set unionDefaultGraph to. Is this correct?
> Also, any ideas why tdbquery is having a problem with the : ?
>
> I really want to avoid having a union computed up front of the graphs that I need.
> When I directly use named graphs in the query, things don’t work right when I use a variable spanning across multiple graphs.
>
> David Jordan
> Software Developer
> SAS Institute Inc.
> Health&  Life Sciences, Research&  Development
> Bldg R ▪ Office 4467
> 600 Research Drive ▪ Cary, NC 27513
> Tel: 919 531 1233 ▪ david.jordan@sas.com<ma...@sas.com>
> www.sas.com<http://www.sas.com>
> SAS® … THE POWER TO KNOW®
>
>
>