Luigi,

To close this out, I implemented your Option #2 suggestion. I found at very 
good example 
at http://stackoverflow.com/questions/32953396/orientdb-edge-index-via-java 
and the results are absolutely spectacular!

Thanks for your help!

BTW: We will soon be launching our technology, which uses OrientDB for 
natural language processing and Semantic Web applications, on the Web. When 
we do, I will definitely write up a case study for you, Luca, and the other 
folks at OrientDB whose help has been so essential. And when we get 
investment or gain some traction (users, licensees, etc.) I look forward to 
buying a real license, support contract, etc. because that's a win-win for 
all of us!

-- John

On Thursday, March 16, 2017 at 9:46:57 AM UTC-4, Luigi Dell'Aquila wrote:
>
> Hi John,
>
> In MATCH statement (2.2) and more in general in 3.0 we are changing the 
> optimization of queries based on indexes, but you will still need an index 
> on the edge for such use case, so the big part of the work will be needed 
> anyway. 
>
> Thanks
>
> Luigi
>
>
> 2017-03-16 12:43 GMT+01:00 John J. Szucs <[email protected] 
> <javascript:>>:
>
>> Luigi,
>>
>> Yes, this helps. Your option #2 is more applicable to my project.
>>
>> Will OrientDB 3.0 significantly change/improve this use case? I don't 
>> want to implement this manual edge index if it will become unnecessary in 
>> (a few?) weeks.
>>
>> Thanks!
>>
>> -- John
>>
>> On Mar 16, 2017, at 07:24, Luigi Dell'Aquila <[email protected] 
>> <javascript:>> wrote:
>>
>> Hi John,
>>
>> you have two alternatives:
>>
>> 1) use OrientVertex.countEdges() to check which of the two vertices has a 
>> smaller number of edges. This approach is good if you know that at most one 
>> is a supernode
>>
>> 2) if you know that both vertices can be supernodes, then the only 
>> efficient way to find the edge is to define and index on edge(out, in) and 
>> do the indexed query directly
>>
>> I hope it helps
>>
>> Thanks
>>
>> Luigi
>>
>>
>> 2017-03-16 11:18 GMT+01:00 John J. Szucs <[email protected] 
>> <javascript:>>:
>>
>>> I need to *very quickly* find the edges that directly connect two 
>>> specified vertices, using either a SQL query, the Java API, or a 
>>> combination of the two. If it helps, at this point in the program, I know 
>>> for a fact that the two vertices are adjacent. What I'm trying to determine 
>>> is *how* they are adjacent.
>>>
>>> The OrientVertex.getEdges(OrientVertex, Direction, String ...) extension 
>>> to the Blueprints API does what I need to do functionally, but it can be 
>>> quite slow if the first vertex has many edges. Looking into the source 
>>> code, I found that this is because this method essentially gets *all* of 
>>> the edges from the first vertex that match the direction and label criteria 
>>> and then checks if they are adjacent (connect to) the second vertex.
>>>
>>> I have struggled with this for days. Does anyone have a better/faster 
>>> approach?
>>>
>>> Thanks!
>>>
>>> -- John
>>>
>>> -- 
>>>
>>> --- 
>>> 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] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> -- 
>>
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "OrientDB" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/orient-database/yyivlLcoS6A/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>> -- 
>>
>> --- 
>> 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] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
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