you have to escape the url index value
otherwise the jersey rest framework consumes it silently. I had this problem 
when working on the birdies demo app. Took me a while to work that out.

see http://github.com/jexp/birdies
and http://birdies.heroku.com

Michael

Sent from my iBrick4


Am 30.06.2011 um 17:43 schrieb Laurent Laborde <[email protected]>:

> Friendly greetings !
> i'm on the same problem since many days (an hour per day) and i can't
> find a solution
> i have 2 index (see source doe below)
> No problem with the "parsed" index, but the "url" index never return any 
> result.
> I don't if it's because the url isn't indexed or because the query on
> the index is wrong.
> Or something else ?
> 
> Could you please take a look and see what's wrong ?
> thank you
> 
> (you can try to run the script, it works)
> 
> require 'nokogiri'
> require 'open-uri'
> require 'neography'
> 
> #init neography
> @neo = Neography::Rest.new
> neo_root = @neo.get_root
> 
> domaine = 'http://www.over-blog.com/'
> parsed_idx = "ob_parsed_idx"
> url_idx = "ob_url_idx"
> 
> #FIRST RUN
> #ob_root_node = @neo.create_node("domaine" => domaine, "parsed" =>
> "false", "url" => domaine)
> #@neo.create_relationship("obgraph", neo_root, ob_root_node)
> #pidx = @neo.create_node_index(parsed_idx)
> #uidx = @neo.create_node_index(url_idx)
> #@neo.add_node_to_index(parsed_idx, "parsed", "false", ob_root_node)
> ##@neo.add_node_to_index(url_idx, "url", domaine, ob_root_node)
> #node_to_parse = @neo.get_node_index(parsed_idx, "parsed", "false")
> 
> ob_root_node = @neo.traverse(neo_root, "nodes", { "relationships" =>
> [{"type"=> "obgraph", "direction" => "out" }], "depth" => 1})
> #node_to_parse = @neo.traverse(ob_root_node, "nodes", {
> "relationships" => [{"type"=> "link", "direction" => "out" }] })
> node_to_parse = @neo.get_node_index(parsed_idx, "parsed", "false")
> 
> #print @neo.list_node_indexes
> 
> node_to_parse.each do |node|
> 
>    url_to_parse = @neo.get_node_properties(node)["url"]
>    printf("exploring : %s\n", url_to_parse)
> 
>    doc = Nokogiri::HTML(open(url_to_parse))
>    @neo.set_node_properties(node, {"parsed" => "true"})
>    @neo.remove_node_from_index(parsed_idx, node)
>    @neo.add_node_to_index(parsed_idx, "parsed", "true", node)
> 
>    doc.xpath('//a').each do |link|
> 
>        link_text = link.content.strip()
>        link_url = link['href'].to_s().strip()
>        link_title = link['title'].to_s().strip()
> 
>        link_url = link_url.sub(/#.*$/, "")
> 
>        if(link_url =~ /^\/.*/)
>            link_url = link_url.sub(/^\//, '')
>            link_url = domaine + link_url
>        end
> 
>        if(link_text == '')
>            link_text = link_title
>        end
> 
> 
>        #skiping empty stuff
>        next if link_url.empty?
>        next if link_text.empty?
> 
>        node_found = @neo.find_node_index(url_idx, "url", link_url)
>        #node_found = @neo.traverse(ob_root_node, "nodes", {
> "relationships" => [{"direction" => "out" }], "prune evaluator" =>
> {"language" => "javascript", "body" =>
> "position.endNode().getProperty(url) == #{link_url};"}, "return
> filter" => {"language" => "builtin",  "name" => "all but start
> node"}})
>        print "\nsearching url #{link_url}\n"
>        printf("node_found : %s \n", node_found)
>        if(node_found.nil?)
>            printf("create node %s\n", link_url)
>            nnode = @neo.create_node("parsed" => "false", "url" => link_url)
>            @neo.add_node_to_index(url_idx, "url", link_url, nnode)
>            @neo.add_node_to_index(parsed_idx, "parsed", "false", nnode)
>        else
>            printf("node_found : %s \n", node_found)
>        end
> 
> 
>        nrel = @neo.create_relationship("link", node, nnode)
>        @neo.set_relationship_properties(nrel, {"text" => link_text})
> 
>        #printf("%s => %s\n", link_text, link_url)
> 
>    end
> 
>    sleep(1.0)
> 
> 
> end
> 
> 
> -- 
> Laurent "ker2x" Laborde
> Sysadmin & DBA at http://www.over-blog.com/
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to