Can you setup the id as field after having indexed it?

Lvc@



On 18 February 2014 00:28, Sandro <[email protected]> wrote:

> Thank you for creating an issue for CREATE LINK functionality. Will retry
> when it will become available.
>
> As workaround, we have been trying to upload the data using Gremlin, by
> following this example:
> http://stackoverflow.com/questions/19006616/how-to-import-a-csv-file-into-titan-graph-database
>
> Sample code:
>
>
>
>> g = new OrientGraph("remote:localhost/cars")
>> bg = new BatchGraph(g, VertexIDType.STRING, 1000)
>> new File("/Users/sandro/vertices.csv").each({ line ->
>>   (username, age) = line.split(",")
>>   user = bg.addVertex(username)
>>   ElementHelper.setProperties(user,
>> ["username":username,"age":age.toInteger()])
>> })
>> bg.commit()
>> new File("/Users/sandro/edges.csv").each({ line ->
>>   (source, label, target) = line.split(",")
>>   v1 = bg.getVertex(source)
>>   v2 = bg.getVertex(target)
>>   bg.addEdge(null, v1, v2, label,[weight:0.75f])
>> })
>> bg.commit()
>
>
> However, we ran into a challenge with  bg.addVertex(id).
>
> We need to pass an Id to bg.addVertex, so that we can reference this
> vertex in the subsequent operation and bind it to an edge.
>
> However, if we pass an Id into addVertex(id), then all vertices are
> created as generic V's.  On the other hand, if we pass class name by
> calling bg.addVertex("class:MyClass"), then we cannot pass an id, and
> therefore cannot reference this vertex by Id in the subsequent call to bind
> it to an edge.
>
> Is there a way in which we can load our graph using Gremlin, while still
> retaining the inheritance class structure of Vertices?
>
> Sandro
>
>
>
>
> On Monday, February 17, 2014 4:31:54 AM UTC-8, Lvc@ wrote:
>
>> I've created an issue for this: https://github.com/
>> orientechnologies/orientdb/issues/2045
>>
>> Lvc@
>>
>>
>> On 17 February 2014 13:25, Luca Garulli <[email protected]> wrote:
>>
>>>  Hi,
>>> I think the problem is that we don't have an equivalent of "create link"
>>> that transform field values aka RDBMS foreign keys, into edges but only
>>> "links".
>>>
>>>  Lvc@
>>>
>>>
>>>
>>> On 17 February 2014 11:51, Andrey Lomakin <[email protected]> wrote:
>>>
>>>> Also I would be appreciate if you send me your db anyway ))) we will
>>>> check why links were not created.
>>>>
>>>>
>>>> On Mon, Feb 17, 2014 at 12:48 PM, Andrey Lomakin 
>>>> <[email protected]>wrote:
>>>>
>>>>> Hi Sandro,
>>>>> Could you use "create edge" command instead  create link
>>>>> https://github.com/orientechnologies/orientdb/wiki/SQL-Create-Edge ?
>>>>> if still will be an issue could you send me database in stage when data
>>>>> inserted but edges are still not created.
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Feb 16, 2014 at 7:05 PM, Sandro <[email protected]> wrote:
>>>>>
>>>>>> Would Luca or anyone with Bulk Insert experience be able to comment
>>>>>> on our issue, please?  Our inability to bulk insert multiple records is
>>>>>> stopping us on our tracks
>>>>>>
>>>>>> Thank you,
>>>>>> Sandro
>>>>>>
>>>>>>
>>>>>> On Saturday, February 15, 2014 9:14:04 AM UTC-8, Sandro wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> We love the concept of OrientDB, however have been struggling with
>>>>>>> uploading our graph data (with a massiveinsert operation).
>>>>>>>
>>>>>>> *Background*
>>>>>>>
>>>>>>> We would like to migrate OrientDB away from an RDBMS. In RDBMS, we
>>>>>>> had 3 tables:   Person, School, and Education. We successfully imported
>>>>>>> data from these three tables into OrientDB, however are struggling with
>>>>>>> linking them together  by with creating (Person <-- [Education] --> 
>>>>>>> School)
>>>>>>>  edges in OrientDB.
>>>>>>>
>>>>>>> Here are details of the original RDBMS tables:
>>>>>>>
>>>>>>> *Person:*
>>>>>>>
>>>>>>> Fields: Id (int), Name (string)
>>>>>>>
>>>>>>> Record Count: 28M
>>>>>>>
>>>>>>> *School:*
>>>>>>>
>>>>>>> Fields: Id (int), Name (string)
>>>>>>>
>>>>>>> Record Count:  7M
>>>>>>>
>>>>>>> *Education:*
>>>>>>>
>>>>>>> Fields: Id (int), PersonId_FK, SchoolId_FK
>>>>>>>
>>>>>>> Record Count: 35M
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *OrientDB release?*
>>>>>>>
>>>>>>> orientdb-community-1.7-rc2-SNAPSHOT
>>>>>>>
>>>>>>>
>>>>>>> *What steps will reproduce the problem?*
>>>>>>> 1. We followed the tutorial https://github.com/orientechno
>>>>>>> logies/orientdb/wiki/Import-From-RDBMS
>>>>>>>
>>>>>>>
>>>>>>> connect remote:localhost/db admin admin
>>>>>>>
>>>>>>> DECLARE INTENT massiveinsert
>>>>>>>
>>>>>>> DROP CLASS Person
>>>>>>> CREATE CLASS Person
>>>>>>>
>>>>>>> DROP CLASS School
>>>>>>> CREATE CLASS School
>>>>>>>
>>>>>>> DROP CLASS Education
>>>>>>> CREATE CLASS Education
>>>>>>>
>>>>>>> INSERT INTO Person(Id, Name)
>>>>>>> VALUES (1, 'John Doe')
>>>>>>> ..
>>>>>>> INSERT INTO School(Id, Name)
>>>>>>> VALUES (1, 'State University')
>>>>>>> ..
>>>>>>> INSERT INTO Education(Id, PersonId, SchoolId)
>>>>>>> VALUES (1, 1, 1)
>>>>>>> ...
>>>>>>> *>>Successfully imported all Person, School, and Education records
>>>>>>> in respective OrientDB classes!*
>>>>>>>
>>>>>>>
>>>>>>> 2. After successfully loading the raw data in OrientDB Classes, we
>>>>>>> are unable to create Edge links in bulk.
>>>>>>>
>>>>>>>
>>>>>>>  CREATE LINK schools TYPE linkset FROM Education.PersonId To
>>>>>>> Person.id INVERSE
>>>>>>>
>>>>>>> *>> Created 0 link(s) in 342.528992 sec(s).*
>>>>>>> CREATE LINK students TYPE linkset FROM Education.SchoolId To
>>>>>>> School.id INVERSE
>>>>>>>
>>>>>>> *>> Created 0 link(s) in 348.332344 sec(s).*
>>>>>>> NOTE:  We are expecting to build the graph from our data, so that we
>>>>>>> can use .in() and .out() calls on edges and vertices.  We have doubts 
>>>>>>> that
>>>>>>> CREATE LINK operation builds proper graph linkages, because based on the
>>>>>>> documentation that we read CREATE LINK does not create a bidirectional 
>>>>>>> Edge
>>>>>>> link.
>>>>>>>
>>>>>>>
>>>>>>> *If you're using custom settings please provide them below*
>>>>>>>
>>>>>>> We are not using any custom settings for the OrientDB server or JVM
>>>>>>>
>>>>>>>
>>>>>>> *What is the expected output? What do you see instead?*
>>>>>>>
>>>>>>> Our expected output is a proper graph compiled from our data, stored
>>>>>>> in OrientDB. Instead, we are unable to create 2-way Education edges 
>>>>>>> between
>>>>>>> Person and School vertices. Just to reiterate, all three classes are
>>>>>>> successfully populated, but we are unable to establish edge links.
>>>>>>>
>>>>>>>
>>>>>>> *Additional notes:*
>>>>>>>
>>>>>>> After import, the current DB size is 20GB
>>>>>>>
>>>>>>> Indexes have not been created
>>>>>>>
>>>>>>> Currently, we are attempting this operation on a Mac with the
>>>>>>> following specs
>>>>>>>
>>>>>>> 1.7 GHz Intel Core i7
>>>>>>>
>>>>>>> 8GB 1600 MHz DDR3 RAM
>>>>>>>
>>>>>>> 500GB SSD HD
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Please help,
>>>>>>> Sandro
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>
>>>>>> ---
>>>>>> 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/groups/opt_out.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Andrey Lomakin.
>>>>>
>>>>> Orient Technologies
>>>>> the Company behind OrientDB
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Andrey Lomakin.
>>>>
>>>> Orient Technologies
>>>> the Company behind OrientDB
>>>>
>>>>  --
>>>>
>>>> ---
>>>> 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/groups/opt_out.
>>>>
>>>
>>>
>>  --
>
> ---
> 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/groups/opt_out.
>

-- 

--- 
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/groups/opt_out.

Reply via email to