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.

Reply via email to