It is a composite index (with the name "Entity.Id") of properties (key1,
key2, key3, key4) on the class "Entity".
To be clear:
Method 1: select from index:Entity.id where key = [1224736769, 2, 14, 22]
Method 2:
for (Vertex entity : graph.getVertices("Entity", new String[] { "key1",
"key2", "key3",
"key4" }, new Object[] { key1_val, key2_val, key3_val, key4_val }))
{
return (OrientVertex) entity;
//there really shouldn't be more than one as this is a unique index
but this seems like a hack
}
Method 3: Vertex exists = graph.getVertexByKey("Entity.Id", new
Object[]{key1_val, key2_val, key3_val, key4_val});
Method 1, Method 2 works. But not Method 3 (which I want to work)
On Sunday, July 26, 2015 at 5:58:38 PM UTC-4, nagaraja sosale ramaswamy
wrote:
>
> you probably meant to write:
>
> Vertex exists = graph.getVertexByKey("Id", new Object[]{key1, key2, key3,
> key4});
>
> (assuming the property name on Entity Vertex is Id)
>
>
>
> On Monday, July 27, 2015 at 12:30:06 AM UTC+5:30, Parthasarathy
> Suryanarayanan wrote:
>>
>> After adding many instances of OrientVertex, I created a composite index
>> using some of the properties like the following
>> <MY_OClass>.createIndex("Entity.Id", "UNIQUE", new String[]{key1,
>> key2, key3, key4});
>> ..where the key1..4 are of INTEGER type (not sure if this the right way
>> to create the composite key).
>> Now I am trying to verify if the entity exists before trying to add one,
>> like the following
>> Vertex exists = graph.getVertexByKey("Entity.Id", new Object[]{key1,
>> key2, key3, key4});
>>
>> But the value of the exists is always null. Note that I could always
>> query in the console
>> select from index:Entity.id where key = [1224736769, 2, 14, 22]
>> and get the appropriate entity back. I just want to be sticking to the
>> graph API in my java code.
>>
>> What am I doing wrong? Thanks for your help.
>>
>>
>>
--
---
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.