On 15 May 2015 at 17:33, Richard Jenkins <[email protected]> wrote:
> Hey Luca, > > Thank you for the quick response. > > Am I correct in thinking that this is only possible with heavy-weight > edges? > Correct. Best Regards, Luca Garulli CEO at Orient Technologies LTD the Company behind OrientDB http://about.me/luca.garulli > > Again, thank you for your help with this, > > Richard > > > > On Friday, 15 May 2015 15:55:19 UTC+1, l.garulli wrote: >> >> Hi, >> You could create a constraint in edge class, but making unique the couple >> "out, in" fields. So when ETL will try to create the new edge, a duplicated >> record exception will skip it: >> >> *create index CustomerOf.unique on CustomerOf (out,in) UNIQUE_HASH_INDEX* >> >> Best Regards, >> >> Luca Garulli >> CEO at Orient Technologies LTD >> the Company behind OrientDB >> http://about.me/luca.garulli >> >> >> On 15 May 2015 at 16:21, Richard Jenkins <[email protected]> wrote: >> >>> Hi There, >>> >>> I have been working with OrientDB now for only a short period but I have >>> run across a problem with the ETL application. Now this may just be my >>> lack of experience but I wanted to check. >>> >>> I am shipping data from a MySQL server and then trying to create a >>> company hierarchy of many business and customers. I have used some of the >>> code that has been posted within this group but I am still struggling to >>> get it to work as I would like. The problem I am facing is that the ETL >>> app is adding the edges between the verticies if they are already there. >>> So if I run the ETL application over and over again ( which I will need to >>> do ) the edges are created over and over again and I cannot see any way to >>> stop it. Basically I am only want to create the edge between the verticies >>> if there is not already an edge there. So each customer should only have >>> one edge per business. >>> >>> Below is my setup and ETL config. >>> >>> Is someone able to help? >>> >>> -- Business -- >>> CREATE CLASS Business EXTENDS V; >>> CREATE PROPERTY Business.BusinessLabel STRING; >>> CREATE PROPERTY Business.Name STRING; >>> CREATE INDEX Business.Label UNIQUE; >>> >>> -- Customer -- >>> CREATE CLASS Customer EXTENDS V; >>> CREATE PROPERTY Customer.EmailAddress STRING; >>> CREATE PROPERTY Customer.Name STRING; >>> CREATE PROPERTY Customer.BusinessLabel STRING; >>> CREATE INDEX Customer.EmailAddress UNIQUE; >>> CREATE INDEX Customer.BusinessLabel NOTUNIQUE; >>> >>> -- Customer to Business Edge -- >>> CREATE CLASS CustomerOf EXTENDS E; >>> >>> -- OETL Config -- >>> { >>> "config": >>> { >>> "log": "debug" >>> }, >>> "extractor" : >>> { >>> "jdbc": >>> { >>> "driver": "com.mysql.jdbc.Driver", >>> "url": "jdbc:mysql://localhost/Company", >>> "userName": "admin", >>> "userPassword": "admin", >>> "query": "SELECT EmailAddress, Name, BusinessLabel FROM >>> Customer;" } >>> }, >>> "transformers" : >>> [ >>> { >>> log: >>> { >>> prefix: "MySQL -> " >>> } >>> }, >>> { >>> merge: >>> { >>> joinFieldName: "EmailAddress", >>> lookup: "Customer.EmailAddress" >>> } >>> }, >>> { >>> vertex: >>> { >>> class: "Customer" >>> } >>> }, >>> { >>> edge: >>> { >>> joinFieldName: "BusinessLabel", >>> lookup: "Business.BusinessLabel", >>> class: "CustomerOf", >>> direction: "out", >>> unresolvedLinkAction: "CREATE" >>> } >>> }, >>> { >>> log: >>> { >>> prefix: "Vertex -> " >>> } >>> } >>> ], >>> "loader" : >>> { >>> "orientdb": >>> { >>> "dbURL": "remote:localhost/Company", >>> "dbUser": "admin", >>> "dbPassword": "admin", >>> "dbType": "graph", >>> "tx":false, >>> "batchCommit":100, >>> "wal":false >>> } >>> } >>> } >>> >>> -- >>> >>> --- >>> 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. > -- --- 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.
