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.