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.
