Thank you for your response. I am willing to re-import to see how this works. IMHO, as far as Neo4jId and Neo4jLabelList, I'm wondering what the roadmap is. This seems like a reasonable workaround in order to obtain the functionality that I was using for the Neo4j instance ( I was never quite sure that additional Labels vs Properties was the way to go ). Is there a planned feature that will do the same thing. I was using both Neo4j and MongoDB. That is why I'm using OrientDB now. For my purposes, I was using multi-Labels to do simple java inheritance. For a simple case:
PetStore->Business->Location->Vertex where I can find all locations in a geometry, or all small businesses, or a PetStore. Perhaps there is already a fast and efficient way to do this with OrientDB. I haven't clocked enough hours with it yet to know the the answer to that question. On Wednesday, December 21, 2016 at 1:39:51 AM UTC-8, s.l...@orientdb.com wrote: > > Hi Gregory, > > First of all, thank you for using our new Neo4j to OrientDB Importer > > In version 2.2.14 (that will be released soon), we have changed the way > the importer behaves in case of Neo4j nodes with multiple labels > > The documentation that Oleksandr posted is about the new version (as I've > updated the documentation already) > > So, starting from version 2.2.14, Neo4j nodes with multiple labels will be > imported into a single OrientDB Class ("MultipleLabelNeo4jConversion"). > Things are a bit more optimized now, but still we have some ideas on our > roadmap on how we can improve the migration in this specific case > > My suggestion is that you retry the import with v. 2.2.14: all nodes will > be migrated into a single class and in each vertex you will find the > property Neo4jLabelList, that includes the original Neo4j label > > This Neo4jLabelList property has an index on it, and you can use it to > query on a specific neo4j label. Let me show you an example: > > //return all nodes/vertices with label LabelName > > Neo4j query: > > MATCH (n:LabelName) RETURN n > > Corresponding query in OrientDB: > > SELECT * FROM V WHERE Neo4jLabelList CONTAINS 'LabelName' > > or using our MATCH syntax: > > MATCH {class: V, as: n, where: (Neo4jLabelList CONTAINS 'LabelName')} > RETURN n > > Once the import has been completed (with version 2.2.14), surely you can > bulk change the classes of records. I was planning to document this into an > article, that I still have on draft - thanks for your patience. I'll try to > explain how to do this briefly below: > > - first you'll need to create the classes where you want to move the > records. When creating them, please keep in mind the following: > -- It will be important that in your new classes you'll define a few > properties: Neo4jNodeID, with a unique index (in case you'll want to query > by original neo4j id) and Neo4jLabelList of type Embedded list string, with > a not unique index on it (in case you want to query by original neo4j label) > > - to bulk change the class, please use the MOVE VERTEX syntax ( > http://orientdb.com/docs/2.2/SQL-Move-Vertex.html) > > How to use the Move vertex syntax? you can select all vertices that have a > specific neo4j label, and then move them to your new class, e.g. > > MOVE VERTEX (SELECT FROM MultipleLabelNeo4jConversion WHERE Neo4jLabelList > CONTAINS 'Your Neo4j Label here' TO CLASS:YourNewClassHere > > Note that I am planning to automate the creation of these classes (one of > each original neo4j label) so that you'll just need to use the move vertex > syntax (without the need to create the classes, the properties and the > indices first). I'm thinking to use an option for this. We are doing our > best to improve the experience of our users > > About 3 - that's a good question. Sure, we have this in our roadmap > already. It will take some time to implement this, but I believe that > importing into a single class + moving vertices (using a where condition on > the original neo4j label) is a good temporary workaround. What's your > opinion? > > Note that we have improved a few things in 2.2.14 (the list of > improvements is here: > https://github.com/orientechnologies/orientdb-neo4j-importer/issues?q=is%3Aissue+is%3Aclosed > > <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Forientechnologies%2Forientdb-neo4j-importer%2Fissues%3Fq%3Dis%253Aissue%2Bis%253Aclosed&sa=D&sntz=1&usg=AFQjCNFec-nsAg39H-Op3W4Gf0pn5XWXAw>) > > so my suggestion is to wait a few more days and give v. 2.2.14 a try > > Hope the information above helps. I'll be glad to help with any issues > you'll find. If you can somehow share the database, I can test the import > myself, and see what can be done to optimize it, if needed > > Thanks, > > On Monday, 19 December 2016 20:13:12 UTC+1, Gregory Mace wrote: >> >> >> I've imported several millions of records from Neo4j. They all came >> over, but the class type is not what I wanted them to be. I have some >> questions: >> >> 1. can orientdb represent Vertexes similar to Neo4j in terms of >> supporting multiple Labels on a Vertex. If so, how? >> 2. how can I bulk change the classes of records ( Vertexes ) that I >> imported from Neo4j? >> 3. Is there a way to pre-define how I want an import to assign classes? >> > -- --- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.