Ok, id is reserver in Blueprints, try using another field name.

Lvc@



On 18 February 2014 01:12, Sandro <[email protected]> wrote:

> Luca,
>
> I tried to set the Id property in a subsequent call, but received an error
> message stating something to the effect of "Id is a readonly field."
>
> Here is the exact error:
>
> gremlin> new File("/Users/sandro/vertices.csv").each({ line ->
>>
>> gremlin>   (username, age) = line.split(",")
>>
>> gremlin>   user = bg.addVertex("Class:user")
>>
>> gremlin>   ElementHelper.setProperties(user,
>> ["Class":"user",id:username,"username":username,"age":age.toInteger()])
>>
>> gremlin> })
>>
>> Property key is reserved for all elements: id
>>
>> Display stack trace? [yN]
>>
> Sandro
>
>
> On Monday, February 17, 2014 3:32:50 PM UTC-8, Lvc@ wrote:
>
>> 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/orien
>>>> technologies/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.
>

-- 

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