Could you maybe take some time to create such an example?

The current "edge" is bit hard to understand:

edge: {
        class: "hasPost",
        joinFieldName: "person_id", 
        lookup: "person.id",
        unresolvedLinkAction: "CREATE",
        if: "person_id is not null"
      }

How can I say here to Link from person on post? I just need a small example 
and also the MySQL strcuture if possible. That would make everything clear. 
Thanks Luca.

Am Montag, 25. August 2014 13:23:55 UTC+2 schrieb Lvc@:
>
> Curtis,
> You could create 2 or more etl scripts, some that extract vertices and 
> other that extract edges.
>
> Lvc@
>
> ᐧ
>
>
> On 25 August 2014 12:25, 'Curtis Mosters' via OrientDB <
> orient-...@googlegroups.com <javascript:>> wrote:
>
>> Hi Luca, well your example is just reading one table from MySQL. One 
>> table with creating edges on it's entries. But in the usual cases that's 
>> not the way how to import from a MySQL. Or maybe I just didn't understood 
>> that example completely. But so far as I have seen it, you used one table 
>> from MySQL that contained {id,...,friend_id}. You created profiles on that 
>> id and then created edge on that id's. Is that right?
>>
>> But just once again I have those data as usually stored in another table. 
>> So that cannot work for me.
>>
>> Am Donnerstag, 21. August 2014 15:56:05 UTC+2 schrieb Lvc@:
>>>
>>> ᐧ
>>>  On 21 August 2014 14:45, 'Curtis Mosters' via OrientDB <
>>> orient-...@googlegroups.com> wrote:
>>>
>>>> This is a great example Luca, thanks first of all.
>>>>
>>>> But could you additionally add information about the MySQL schema and 
>>>> do I understand it correctly that you get the classes Person,Friend and an 
>>>> edge. But where comes the friend data? 
>>>>
>>>
>>>
>>> Friend in my case is an Edge class. (create class Friend extends E). 
>>> It's useful to create ad-hoc edge classes instead that the generic "E":
>>>
>>> http://www.orientechnologies.com/docs/1.7.8/orientdb.wiki/
>>> Graph-Schema.html
>>>
>>> Lvc@
>>>
>>>  
>>>
>>>>
>>>> Am Donnerstag, 21. August 2014 13:25:47 UTC+2 schrieb Lvc@:
>>>>>
>>>>> Hi Curtis,
>>>>> ETL is very powerful and we're improving it everyday with users' 
>>>>> feedback. We want to let it to be final for 2.0, so we can bundle with 
>>>>> it. 
>>>>> By the way Enterprise Edition 
>>>>> <http://www.orientechnologies.com/orientdb-enterprise> will have a 
>>>>> Web Interface to edit it, and in the future also to debug it.
>>>>>
>>>>> Unfortunately I don't understand in your example table1 & 2 with both 
>>>>> name_id field. Look at this example about Friendship. I want to connect a 
>>>>> social network like app. 
>>>>>
>>>>> This is an example of ETL configuration. My comments begins with // 
>>>>> but remove them from real config file:
>>>>>
>>>>> {
>>>>>   config: {
>>>>>     verbose: true
>>>>>   },
>>>>>   begin: [
>>>>>   ],
>>>>>   extractor: {
>>>>>     "jdbc": { "driver": "com.mysql.jdbc.Driver",
>>>>>     "url": "jdbc:mysql://localhost/mysocialnetwork",
>>>>>     "userName": "root",
>>>>>     "userPassword": "root",
>>>>>     "query": "select * from profile" 
>>>>>    }
>>>>>   },
>>>>>   transformers : [
>>>>>     {
>>>>>       // THIS IS ONLY A LOG, USEFUL TO TRACE WHAT ARRIVES FROM MYSQL
>>>>>       log: {
>>>>>         prefix: "MySQL -> "
>>>>>       }
>>>>>     },
>>>>>     {
>>>>>       merge: {
>>>>>         // LOOKUP BY ID: IF ALREADY PRESENT MERGE THE FIELDS BY 
>>>>> OVERWRITING THE DIFFERENT ONES
>>>>>         joinFieldName: "*id*",
>>>>>         lookup: "Profile.*id*"
>>>>>       }
>>>>>     },
>>>>>     {
>>>>>       vertex: {
>>>>>         // TRANSFORM IT IN A VERTEX
>>>>>         class: "Profile"
>>>>>       }
>>>>>     },
>>>>>     {
>>>>>       edge: {
>>>>>         // CONNECT THE FRIEND IN MYSQL COLUMN 'friend_id'
>>>>>         class: "Friend", // Friend is the edges' class
>>>>>         joinFieldName: "friend_id", // 
>>>>>         lookup: "Profile.id",
>>>>>         unresolvedLinkAction: "CREATE", // IF DOESN'T EXIST YET, 
>>>>> CREATE THE VERTEX EMPTY. WILL BE FURTHER UPDATED
>>>>>         if: "friend_id is not null"
>>>>>       }
>>>>>     },
>>>>>     {
>>>>>       log: {
>>>>>         prefix: "Vertex -> "
>>>>>       }
>>>>>     }
>>>>>   ],
>>>>>   loader : {
>>>>>     orientdb: {
>>>>>       dbURL: "remote:localhost/yourdb",
>>>>>       dbUser: "admin",
>>>>>       dbPassword: "admin",
>>>>>       dbAutoCreate: true,
>>>>>       tx: true,
>>>>>       batchCommit: 1000,
>>>>>       dbType: "graph",
>>>>>       classes: [
>>>>>       ],
>>>>>       indexes: [
>>>>>       ]
>>>>>     }
>>>>>   }
>>>>> }
>>>>>
>>>>>
>>>>> Lvc@
>>>>>
>>>>>
>>>>>
>>>>> On 21 August 2014 13:05, 'Curtis Mosters' via OrientDB <
>>>>> orient-...@googlegroups.com> wrote:
>>>>>
>>>>>> Hey so I have now some experiences with ETL. I think this is great 
>>>>>> for import. That's why I want to improve the importing process now. 
>>>>>>
>>>>>>    1. First of all is it possible to run several imports 
>>>>>>    parallel(not with several consoles) or if one is done start another 
>>>>>>    instantly?
>>>>>>    2. How do I create an edge (https://github.com/orientechn
>>>>>>    ologies/orientdb-etl/wiki/Transformer#edge 
>>>>>>    
>>>>>> <https://github.com/orientechnologies/orientdb-etl/wiki/Transformer#edge>
>>>>>>  
>>>>>>    is not helpful for me) 
>>>>>>
>>>>>> Let's say I have 2 tables in MySQL:
>>>>>>
>>>>>> table1 with {*name_id*,*name*} and table2 with {*name_id*,*text_id*,
>>>>>> *text*}
>>>>>>
>>>>>> Now I want to get them connected (name_id) in OrientDB.
>>>>>>
>>>>>> One way would now be to import both tables as Class. That's easy and 
>>>>>> then create edges with the *name_id*. Everything is fine with that, 
>>>>>> but it would be much easier to generate edges with ETL if that is anyway 
>>>>>> possible. So I don't know what is more efficient. Someone else also said 
>>>>>> that Sails (https://github.com/vjsrinath/sails-orientdb) might be a 
>>>>>> good choice.
>>>>>>
>>>>>> If ETL allows that I could imagine about the following way:
>>>>>>
>>>>>>    - read line of table1 -> safe in memory
>>>>>>    - look in table2 if name_id exists 
>>>>>>    - -> if yes, create vertex Tabel1 and Table2
>>>>>>       - -> if no, create vertex Tabel1 and Table2 and create an edge
>>>>>>       - and so on
>>>>>>
>>>>>> Of course this is very crazy if you imagine 30 tables or so. Was just 
>>>>>> an idea, just to check if that is already possible somehow.
>>>>>>  
>>>>>> -- 
>>>>>>
>>>>>> --- 
>>>>>> 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-databa...@googlegroups.com.
>>>>>>
>>>>>> 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 orient-databa...@googlegroups.com.
>>>> 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 orient-databa...@googlegroups.com <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 orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to