Yeah, if not for that hint it would have taken a bit to figure out.

On Wednesday, December 3, 2014 8:53:10 PM UTC, Curtis Mosters wrote:
>
> Puh there is so many going on in the development. Sure there are still 
> many bugs but nothing that really stays in my mind like that issue here. 
> That really took me some days to figure out.
>
> I would just say try out anything you find, otherwhise come again =) and 
> let us know what you found out.
>
> Am Mittwoch, 3. Dezember 2014 21:09:46 UTC+1 schrieb syshex:
>>
>> Hey Curtis !
>>
>> Thanks so much for getting back to me. This is precious info.
>>
>> So, that is not very cool. Are there any other methods that are buggy 
>> like this? 
>>
>> Thanks
>>
>>
>>
>>
>> On Wednesday, December 3, 2014 7:18:37 PM UTC, Curtis Mosters wrote:
>>>
>>> Yeah this method is kind of buggy. I also mentioned that when I started 
>>> with OrientDB.
>>>
>>> Luca told me to use the getVertices instead. And with that all is fine 
>>> for me.
>>>
>>> Am Mittwoch, 3. Dezember 2014 11:37:38 UTC+1 schrieb syshex:
>>>>
>>>> Executing my Test class on a new DB with the following block at the 
>>>> end: 
>>>>
>>>> Iterator<Vertex> it = graph2.getVertices("Government.itemid", 45).
>>>> iterator();
>>>>         while( it.hasNext() ) {
>>>>             Vertex temp = it.next();
>>>>             System.out.println("Vertex : " + temp.toString());
>>>>         }
>>>>
>>>>
>>>> Gives :
>>>>
>>>>
>>>> Vertex : v(Government)[#12:1]
>>>> Vertex : v(Government)[#12:0]
>>>>
>>>> Which are the two Government Vertices creates before we get to that 
>>>> loop.
>>>>
>>>> So from what I can gather, the index is being created correctly, and 
>>>> stuff is being stored in it. 
>>>> What I think is happening is that  getVertexByKey(final String iKey, 
>>>> Object iValue) is not retrieving the result. Maybe this method, which 
>>>> should return only one Vertex, does not work in the kind of index I am 
>>>> creating , and maybe will only work with an Index with a UNIQUE constraint 
>>>> ?   Also the method documentation does not state what happens if more than 
>>>> one Vertex is found (returns only the first Vertex? return null?) 
>>>>
>>>>
>>>>
>>>> On Wednesday, December 3, 2014 7:49:07 AM UTC, Curtis Mosters wrote:
>>>>>
>>>>> What happens if you do:
>>>>>
>>>>> graph2.getVertices("Government.itemid", 45)
>>>>>
>>>>> If that does not help, have a look on my Real case import code: 
>>>>> http://www.kwoxer.de/2014/11/12/daten-import-via-java-orientdb-real-beispiel-tutorial/
>>>>> Maybe there is something that helps.
>>>>>
>>>>> You could also try to change the way you create the index. Maybe 
>>>>> instead of the current way do it with a method and a non-graph database 
>>>>> object (just look at the example code):
>>>>>
>>>>> void createIndex(String className, INDEX_TYPE indexType, String 
>>>>> propertyName, String indexName) {
>>>>>          db.getMetadata().getSchema().getClass(className).createIndex(
>>>>> propertyName, indexType, indexName);
>>>>>      }
>>>>>
>>>>>
>>>>>
>>>>> Am Mittwoch, 3. Dezember 2014 00:44:37 UTC+1 schrieb syshex:
>>>>>>
>>>>>> It is a clean install, running only on my laptop, started with :  
>>>>>>
>>>>>> rui@jupiter ~/Software/orientdb-community-2.0-M3/bin $ ./orientdb.sh 
>>>>>> start
>>>>>> Starting OrientDB server daemon...
>>>>>> Password: 
>>>>>>
>>>>>> I have made no configuration changes what so ever, with the exception 
>>>>>> of editing  orientdb.sh  in this way :
>>>>>>
>>>>>> ORIENTDB_DIR="/home/rui/Software/orientdb-community-2.0-M3/"
>>>>>> ORIENTDB_USER="rui"
>>>>>>
>>>>>> Also on the first post of this thread I posted a java source file the 
>>>>>> reproduces what I have described.
>>>>>> Hope this helps. 
>>>>>>
>>>>>> Thanks
>>>>>> Rui
>>>>>>
>>>>>>
>>>>>> On Tuesday, December 2, 2014 11:17:36 PM UTC, Lvc@ wrote:
>>>>>>>
>>>>>>> Are you running distributed?
>>>>>>>
>>>>>>> Lvc@
>>>>>>>
>>>>>>>
>>>>>>> On 2 December 2014 at 22:00, syshex <[email protected]> wrote:
>>>>>>>
>>>>>>>> There you go 
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, December 2, 2014 8:58:34 PM UTC, syshex wrote:
>>>>>>>>>
>>>>>>>>> sure, how do I do that ? 
>>>>>>>>>
>>>>>>>>> On Tuesday, December 2, 2014 8:54:47 PM UTC, Curtis Mosters wrote:
>>>>>>>>>>
>>>>>>>>>> Hi could you please show the indices in the Studio? Thanks
>>>>>>>>>>
>>>>>>>>>> Am Dienstag, 2. Dezember 2014 15:04:29 UTC+1 schrieb syshex:
>>>>>>>>>>>
>>>>>>>>>>> Hi !
>>>>>>>>>>>
>>>>>>>>>>> I create the following Vertex type and index :
>>>>>>>>>>>
>>>>>>>>>>> OrientGraphNoTx graph = factory.getNoTx();
>>>>>>>>>>> *graph*
>>>>>>>>>>>
>>>>>>>>>>> *.createVertexType("Government");graph.createKeyIndex("itemid", 
>>>>>>>>>>> Vertex.class, new Parameter<>("class", 
>>>>>>>>>>> "Government"));graph.createKeyIndex("nif", Vertex.class, new 
>>>>>>>>>>> Parameter<>("class", "Government"));*
>>>>>>>>>>> graph.commit();  // Just Because ...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Then I go on to create a Vertex of that type :
>>>>>>>>>>>
>>>>>>>>>>> OrientGraph graph = factory.getTx();
>>>>>>>>>>> Vertex node = graph.addVertex("class:Government");
>>>>>>>>>>> *node**.setProperty("itemid", 45);*
>>>>>>>>>>> node.setProperty("nif", "1234567890");
>>>>>>>>>>> node.setProperty("description", "Somewhere");
>>>>>>>>>>> graph.commit() ; 
>>>>>>>>>>>
>>>>>>>>>>> I then search for  :
>>>>>>>>>>>
>>>>>>>>>>> Vertex exists = graph2.getVertexByKey("Government.itemid", 45);
>>>>>>>>>>>
>>>>>>>>>>> And exists == Null ; therefore not found. 
>>>>>>>>>>>
>>>>>>>>>>> I even tried defining the properties of the Gorvernment vertex 
>>>>>>>>>>> type, like this : 
>>>>>>>>>>>
>>>>>>>>>>> OrientGraphNoTx graph = factory.getNoTx();
>>>>>>>>>>> OrientVertexType vertexType = graph.createVertexType("
>>>>>>>>>>> Government");
>>>>>>>>>>> *vertexType**.createProperty("itemid", OType.LONG);*
>>>>>>>>>>> *vertexType**.createProperty("nif", OType.STRING);*
>>>>>>>>>>> graph.createKeyIndex("itemid", Vertex.class, new Parameter<>(
>>>>>>>>>>> "class", "Government"));
>>>>>>>>>>> graph.createKeyIndex("nif", Vertex.class, new Parameter<>(
>>>>>>>>>>> "class", "Government"));
>>>>>>>>>>> graph.commit();
>>>>>>>>>>>
>>>>>>>>>>> and do the same: 
>>>>>>>>>>>
>>>>>>>>>>>         OrientGraph graph2 = factory.getTx();
>>>>>>>>>>>         Vertex node = graph2.addVertex("class:Government");
>>>>>>>>>>>         node.setProperty("itemid", 45);
>>>>>>>>>>>         node.setProperty("nif", "1234567890");
>>>>>>>>>>>         node.setProperty("description", "Somewhere");
>>>>>>>>>>>         graph2.commit() ;
>>>>>>>>>>>
>>>>>>>>>>>         graph2 = factory.getTx();
>>>>>>>>>>>         Vertex exists = graph2.getVertexByKey("
>>>>>>>>>>> Government.itemid", 45);
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>         if (exists == null) {
>>>>>>>>>>>             System.out.println("Does not Exist");
>>>>>>>>>>>             node = graph2.addVertex("class:Government");
>>>>>>>>>>>             node.setProperty("itemid", 45);
>>>>>>>>>>>             node.setProperty("nif", "1234567890");
>>>>>>>>>>>             node.setProperty("description", "Somewhere");
>>>>>>>>>>>             graph2.commit() ;
>>>>>>>>>>>         } else {
>>>>>>>>>>>             System.out.println("Exist already");
>>>>>>>>>>>         }
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I always end up with two vertex entries on the DB , as can be 
>>>>>>>>>>> see from the attached Image,
>>>>>>>>>>>
>>>>>>>>>>> I also attach a test class for this problem. 
>>>>>>>>>>>
>>>>>>>>>>> I'm running 2.0-M3 on linux and the dependencies for the TestRun 
>>>>>>>>>>> class attached are :
>>>>>>>>>>>
>>>>>>>>>>> "com.orientechnologies" % "orientdb-client" % "2.0-M3",
>>>>>>>>>>>   "com.orientechnologies" % "orientdb-enterprise" % "2.0-M3",
>>>>>>>>>>>   "com.orientechnologies" % "orient-commons" % "2.0-M1",
>>>>>>>>>>>   "com.orientechnologies" % "orientdb-core" % "2.0-M3",
>>>>>>>>>>>   "com.orientechnologies" % "orientdb-graphdb" % "2.0-M3",
>>>>>>>>>>>   "com.tinkerpop.blueprints" % "blueprints-core" % "2.6.0",
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  -- 
>>>>>>>>
>>>>>>>> --- 
>>>>>>>> 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.
>>>>>>>>
>>>>>>>
>>>>>>>

-- 

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