Hi,
I am trying to implement the match-query-syntax either in the java-api 
(through jruby) or via REST.

This works in Studio:

> MATCH {class: Industry, as: Industries} <-- {} <-- { as: Subcategories } 
> RETURN Industries, Subcategories
>

 

    "result": [

        {

            "@type": "d",

            "@version": 0,

            "Industries": "#21:3",

            "Subcategories": "#28:46",

            "@fieldTypes": "Industries=x,Subcategories=x"

        },

        {

            "@type": "d",

            "@version": 0,

            "Industries": "#23:1",

            "Subcategories": "#26:2",

            "@fieldTypes": "Industries=x,Subcategories=x"

        },  (...)


However "explain" gives a  java.lang.NullPointerException.#

Now my problem.

When submitting the query via REST(batch) it is parsed via json 
and ends up with a Timeout-Error (im my case 

# 
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request.rb:427:in
>>  
>> `rescue in transmit 
>
>     # 
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request.rb:350:in
>>  
>> `transmit'
>
>      # 
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request.rb:176:in
>>  
>> `execute'
>
>      # 
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request.rb:41:in
>>  
>> `execute'
>
>      # 
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/resource.rb:67:in
>>  
>> `post'
>
>      # /home/topo/activeorient/lib/rest_operations.rb:63:in `execute'
>
>      # /home/topo/activeorient/lib/model_class.rb:353:in `query_database'
>
>      # /home/topo/activeorient/lib/model_class.rb:316:in `match'
>
>      # ./spec/usecase/contracts_spec.rb:87:in `block (3 levels) in <top 
>> (required)>'
>
>      # ------------------
>
>      # --- Caused by: ---
>
>      # Net::ReadTimeout:
>
>      #   Net::ReadTimeout
>
>      #   
>> /home/topo/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request.rb:270:in
>>  
>> `net_http_do_requestt
>
>
when transmitting via the java api using the command method,
jruby-head :012 >   ret= DB.execute { 'MATCH {class: Industry, as: 
Industries\} <-- {} <-- { as: Subcategories }  RETURN Industries, 
Subcategories' }
Java::ComOrientechnologiesOrientEnterpriseChannelBinary::OResponseProcessingException:
 
Exception during response processing
from 
com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.throwSerializedException(com/orientechnologies/orient/client/binary/OChannelBinaryAsynchClient.java:447)
from 
com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleStatus(com/orientechnologies/orient/client/binary/OChannelBinaryAsynchClient.java:382)
from 
com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(com/orientechnologies/orient/client/binary/OChannelBinaryAsynchClient.java:264)
from 
com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(com/orientechnologies/orient/client/binary/OChannelBinaryAsynchClient.java:152)
from 
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(com/orientechnologies/orient/client/remote/OStorageRemote.java:2117)
from 
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(com/orientechnologies/orient/client/remote/OStorageRemote.java:2112)
from 
com.orientechnologies.orient.client.remote.OStorageRemote$19.execute(com/orientechnologies/orient/client/remote/OStorageRemote.java:1154)
from 
com.orientechnologies.orient.client.remote.OStorageRemote.networkOperation(com/orientechnologies/orient/client/remote/OStorageRemote.java:168)
from 
com.orientechnologies.orient.client.remote.OStorageRemote.command(com/orientechnologies/orient/client/remote/OStorageRemote.java:1130)
from 
com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(com/orientechnologies/orient/core/command/OCommandRequestTextAbstract.java:69)
from java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
from 
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:423)
from 
org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:290)
from RUBY.run_command(/home/topo/orientdb-jruby/lib/orientdb/database.rb:6)
from RUBY.block in execute(/home/topo/activeorient/lib/java-api.rb:306)

As there is a SerializedException-Error,  I suspect, this is simply a 
matter of escaping some characters.
How is this done? 

Thanks 

hartmut
 

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to