Andy,

1 and 2 implemented.
3 was another issue with the testTriple() and has been fixed.

Tests were added.

On Sat, Sep 20, 2014 at 6:50 PM, Andy Seaborne <[email protected]> wrote:

> Hi Claude,
>
> 1/ Suggestion
>    if there is no addVar then the query defaults to SELECT *.
>
> 2/ Suggestion
>    Strip any trailing ":" from the prefix name so
>   .addPrefix(":", "http://example/";)
>   works.
>
> 3/  I tried:
>
>         SelectBuilder sb = new SelectBuilder() ;
>         sb.addVar("*")
>             .addPrefix("", "http://example/";)
>             .addWhere(":S", "?p", "?o") ;
>         Query query = sb.build() ;
>         System.out.println(query) ;
>
> and got:
> -----------------
> Exception in thread "main" java.lang.IllegalArgumentException: Predicate
> (?p) must be a URI , variable, or a wildcard.
> Is a prefix missing?  Prefix must be defined before use.
>
> org.apache.jena.arq.querybuilder.handlers.WhereHandler.testTriple(
> WhereHandler.java:124)
> org.apache.jena.arq.querybuilder.handlers.WhereHandler.addWhere(
> WhereHandler.java:129)
> org.apache.jena.arq.querybuilder.SelectBuilder.
> addWhere(SelectBuilder.java:194)
> org.apache.jena.arq.querybuilder.SelectBuilder.
> addWhere(SelectBuilder.java:206)
> dev.QBuild.main(QBuild.java:34)
> -----------------
> while
> ("?s", "?p", "?o")  works.
>         Andy
>
>
> On 19/09/14 22:51, Claude Warren wrote:
>
>> I have added license and javadoc comments as well as a readme.md  In
>> addition the above mentioned  bug is now fixed and addVar( "*" ) works as
>> expected.
>>
>> On Fri, Sep 19, 2014 at 1:24 PM, Claude Warren <[email protected]> wrote:
>>
>>  I started looking at it this AM.  I think the proper solution is to
>>> accept
>>> "*" as a var in the selecthandler.  I will look at it over the weekend
>>> and
>>> will add documentation (javadoc at least)
>>>
>>>
>>>
>>> On Fri, Sep 19, 2014 at 10:14 AM, Andy Seaborne <[email protected]> wrote:
>>>
>>>  On 19/09/14 05:18, Bruno P. Kinoshita wrote:
>>>>
>>>>  Hello Claude,
>>>>>
>>>>> I didn't understand what QueryBuilder was supposed to do at first, or
>>>>> how to use it. Luckily there are tests in the project, kudos for
>>>>> writing
>>>>> those, very helpful. I liked the idea, and for users familiar with Java
>>>>> Jooq, PHP and Ruby ActiveRecord that's definitely an intuitive API.
>>>>>
>>>>> In order to test it, I first created some dummy data.
>>>>>
>>>>> PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
>>>>> PREFIX :  <http://example.org/>
>>>>>
>>>>> INSERT DATA
>>>>> {
>>>>> :bruno foaf:name "Bruno" .
>>>>> :jorge foaf:name "Jorge" .
>>>>> :bruno :brotherOf :jorge
>>>>> }
>>>>>
>>>>> Then I retrieved the data with a simple SELECT.
>>>>>
>>>>> PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
>>>>> PREFIX :  <http://example.org/>
>>>>>
>>>>> SELECT *
>>>>> {
>>>>> ?a ?b ?c
>>>>> }
>>>>>
>>>>> ---------------------------------
>>>>> | a      | b          | c       |
>>>>> =================================
>>>>> | :bruno | foaf:name  | "Bruno" |
>>>>> | :bruno | :brotherOf | :jorge  |
>>>>> | :jorge | foaf:name  | "Jorge" |
>>>>> ---------------------------------
>>>>>
>>>>> I tried to recreate the same query with QueryBuilder, but alas it
>>>>> didn't
>>>>> work. I have probably made something really stupid [1]. My output is
>>>>> always:
>>>>>
>>>>> PREFIX  :     <http://example.org/>
>>>>> PREFIX  foaf: <http://xmlns.com/foaf/0.1/>
>>>>>
>>>>> WHERE
>>>>>     { ?a  ?b  ?c . }
>>>>>
>>>>> I just wanted to validate that I could recreate the same query with
>>>>> QueryBuilder. But I couldn't figure how that works. Looking at
>>>>> WhereClauseTest, I thought that addVar("*") would result in "SELECT
>>>>> *". The
>>>>> prefixes is not keeping the order it was added, thus that's probably
>>>>> not an
>>>>> issue.
>>>>>
>>>>> The SelectBuilder throws ParseException, which extends Exception. I
>>>>> think **if** the Query Builder is supposed to be used by programmers
>>>>> for
>>>>> writing their Web applications or similar, then perhaps it could
>>>>> extend a
>>>>> RuntimeException?
>>>>>
>>>>> Just my 0.002 cents
>>>>>
>>>>> Thanks
>>>>> Bruno
>>>>>
>>>>> [1] https://gist.github.com/kinow/b50a5d3b875f2155b7bb
>>>>>
>>>>>
>>>> Ditto.
>>>>
>>>> (I have just pushed a fix to Wherehandler.testTriple.)
>>>>
>>>>          Andy
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> I like: Like Like - The likeliest place on the web
>>> <http://like-like.xenei.com>
>>> LinkedIn: http://www.linkedin.com/in/claudewarren
>>>
>>>
>>
>>
>>
>


-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to