Hey Luca,

Thank you for the quick response.

Am I correct in thinking that this is only possible with heavy-weight edges?

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] 
> <javascript:>> 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] <javascript:>.
>> 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.

Reply via email to