Iterator should repeat the same vertex as many times as you have edges.
But better to recheck it.


On Mon, Mar 24, 2014 at 12:46 PM, Valentin Popov <[email protected]>wrote:

> Andrey, thanks
>
> As I right understand graph is instanceof OrientGraph.
> Also what should  I do if more when one Edge between vertixes?
>
> Regards
>
> понедельник, 24 марта 2014 г., 14:05:28 UTC+4 пользователь Andrey Lomakin
> написал:
>>
>> Valentin,
>> You should try following:
>>
>> Iterable<Vertex> iterable = getVertices();
>> for(Vertex vertex : iterable) {
>>  Vertex newVertex = graph.addVertex("class:className");
>>  //copy properties.
>>
>>  vertex.setProperty("relatedVertex", newVertex.getIdentity());
>>  graph.commit();
>> }
>>
>>
>>
>> iterable = getVertices();
>> for(Vertex vertex : iterable) {
>>  Vertex newVertex = graph.getVertex(vertex.getProperty("relatedVertex"));
>>  Iterable inVertexes = vertex.getVertixes(Direction.IN);
>>
>>  for(Vertex inVertex: inVertexes) {
>>   Vertex newInVertex = graph.getVertex(inVertex.
>> getProperty("relatedVertex"));
>>   newVertex.addEdge(null, newInVertex, "label");
>>   graph.commit();
>>  }
>> }
>>
>>
>>
>> On Mon, Mar 24, 2014 at 11:17 AM, Andrey Lomakin <[email protected]>wrote:
>>
>>> Hi Valentin,
>>> Sorry it is my fault give me sometime I will come up with working
>>> approach.
>>>
>>>
>>> On Mon, Mar 24, 2014 at 10:44 AM, Valentin Popov <[email protected]>wrote:
>>>
>>>> Andrey, hello
>>>>
>>>> I execute such code, to move documents to new classes
>>>>
>>>>  final ODatabaseDocumentTx database = new ODatabaseDocumentTx("local:"+
>>>> dbLocation);
>>>>
>>>> database.open("admin", "admin");
>>>>
>>>>   ORecordIteratorClass<ODocument> record = database.browseClass("V");
>>>>
>>>>  for (ODocument oDocument : record) {
>>>>
>>>> Integer itemTypei = (Integer) oDocument.field("itemtype");
>>>>
>>>> ItemType type = BluePrintDatabase.getItemTypeFromInt(itemTypei);
>>>>
>>>>  ODocument copy = new ODocument();
>>>>
>>>> oDocument.copyTo(copy);
>>>>
>>>>  copy.setClassName(type.getClassName());
>>>>
>>>> copy.removeField("itemtype");
>>>>
>>>> copy.save();
>>>>
>>>> }
>>>>
>>>>  ORecordIteratorClass<ODocument> folders = database.browseClass("v_
>>>> folder");
>>>>
>>>>  for (ODocument oDocument : folders) {
>>>>
>>>> System.out.print(oDocument.toJSON());
>>>>
>>>> }
>>>>
>>>>
>>>> I see documents on 1st loop are created and saved (
>>>> v_folder#9:1{out_folder:[4],OID:80d7ca29f40e8b50,itemname:Top of
>>>> Personal Folders,cat:email,version_id:b821ec2b,in_folder:#12:0} v11)
>>>>
>>>>
>>>> but check loop, return 0 result.
>>>>
>>>>
>>>> Do I need some how insert copy document to database?
>>>>
>>>>
>>>> Also output of folder contains new created files begins with v_*
>>>>
>>>>
>>>> database.ocf e.och index.odh manindex.och orole.och user.0.ocl
>>>> v_folder.0.ocl
>>>>
>>>> default.0.ocl folder.0.ocl internal.0.ocl ofunction.0.ocl
>>>> oschedule.0.ocl user.och v_folder.och
>>>>
>>>> default.0.oda folder.och internal.och ofunction.och oschedule.och
>>>> v.0.ocl v_root.0.ocl
>>>>
>>>> default.och index.0.ocl item.0.ocl orids.0.ocl ouser.0.ocl v.och
>>>> v_root.och
>>>>
>>>> default.odh index.0.oda item.och orids.och ouser.och v_blob.0.ocl
>>>> v_user.0.ocl
>>>>
>>>> e.0.ocl index.och manindex.0.ocl orole.0.ocl txlog.otx v_blob.och
>>>> v_user.och
>>>>
>>>>
>>>> Regards
>>>> Valentin
>>>>
>>>>
>>>>
>>>>
>>>> пятница, 21 марта 2014 г., 15:55:29 UTC+4 пользователь Andrey Lomakin
>>>> написал:
>>>>
>>>>> Yes, sure.
>>>>> It is possible but there is no toll for it.
>>>>> You should create one which match you needs.
>>>>>
>>>>> I you need to copy document content you can use com.orientechnologies.
>>>>> orient.core.record.impl.ODocument#copyTo and then set document class
>>>>> to the one you need.
>>>>> After that you can save document.
>>>>>
>>>>>
>>>>> On Fri, Mar 21, 2014 at 1:39 PM, Valentin Popov <[email protected]>wrote:
>>>>>
>>>>>> 1. We have DB created by 1.5 library with local engine. It is schema
>>>>>> free, so all records are V type and E type. All indexes are manual
>>>>>> 2. Is it possible covert exist DB to 1.7 plocal with schema hybrid
>>>>>> and auto indexes.
>>>>>>
>>>>>> For each record we know which class it must be, cause each record
>>>>>> contains itemtype property.
>>>>>>
>>>>>>
>>>>>> Still can not get it.
>>>>>>>
>>>>>>> Do you mean that you need to create classes and move records to the
>>>>>>> classes ?
>>>>>>>
>>>>>>
>>>>>> Yup, for vertexes also all edge's connections. And remove records
>>>>>> from default class V.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Mar 21, 2014 at 12:09 PM, Valentin Popov <[email protected]
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> I mean we have a database 1.5.1 with manual indexes schema less on
>>>>>>>> local engine. So all vertexes and edges are type V and E.
>>>>>>>>
>>>>>>>> We need using 1.7.x libs convert schema to schema hybrid and export
>>>>>>>> it, after import it to plocal engine.
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Sorry, I did not understand.
>>>>>>>>> What do you mean ?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Mar 21, 2014 at 11:55 AM, Valentin Popov <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Moving from 1.5.x (manual indexes, local, schema less) to 1.7.x
>>>>>>>>>> (schema hybrid, auto index).
>>>>>>>>>>
>>>>>>>>>> My plan is change scheme on 1.5.x from schema less to schema
>>>>>>>>>> hybrid follow such code and after export it:
>>>>>>>>>>
>>>>>>>>>>  String dbLocation = "/Library/Application
>>>>>>>>>> Support/MailArchiva/ROOT/database/archiva.db";
>>>>>>>>>>
>>>>>>>>>> String exportFile = "/Library/Application
>>>>>>>>>> Support/MailArchiva/ROOT/database/export.json";
>>>>>>>>>>
>>>>>>>>>>  final ODatabaseDocumentTx database = new ODatabaseDocumentTx(
>>>>>>>>>> "local:"+dbLocation);
>>>>>>>>>>
>>>>>>>>>> database.open("admin", "admin");
>>>>>>>>>>
>>>>>>>>>>   ORecordIteratorClass<ODocument> record = database.browseClass(
>>>>>>>>>> "V");
>>>>>>>>>>
>>>>>>>>>> // database.begin();
>>>>>>>>>>
>>>>>>>>>>  for (ODocument oDocument : record) {
>>>>>>>>>>
>>>>>>>>>> Integer itemTypei = (Integer) oDocument.field("itemtype");
>>>>>>>>>>
>>>>>>>>>> ItemType type = BluePrintDatabase.getItemTypeFromInt(itemTypei);
>>>>>>>>>>
>>>>>>>>>> String className  = oDocument.getClassName();
>>>>>>>>>>
>>>>>>>>>> oDocument.setClassName(type.getClassName());
>>>>>>>>>>
>>>>>>>>>> oDocument.removeField("itemtype");
>>>>>>>>>>
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> database.commit();
>>>>>>>>>>
>>>>>>>>>>   ODatabaseExport databaseExport = null;
>>>>>>>>>>
>>>>>>>>>> try {
>>>>>>>>>>
>>>>>>>>>> databaseExport = new ODatabaseExport(database, exportFile, 
>>>>>>>>>> newOCommandOutputListener() {
>>>>>>>>>>
>>>>>>>>>> @Override
>>>>>>>>>>
>>>>>>>>>> public void onMessage(String arg0) {
>>>>>>>>>>
>>>>>>>>>> System.out.println(arg0);
>>>>>>>>>>
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> });
>>>>>>>>>>
>>>>>>>>>> databaseExport.exportDatabase();
>>>>>>>>>>
>>>>>>>>>> databaseExport.close();
>>>>>>>>>>
>>>>>>>>>> } catch (IOException e) {
>>>>>>>>>>
>>>>>>>>>> e.printStackTrace();
>>>>>>>>>>
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> database.close();
>>>>>>>>>>
>>>>>>>>>>  Orient.instance().shutdown();
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> But I get some issues with that approach, it looks like Vertexes
>>>>>>>>>> classes are not converted.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Started export of database 'archiva.db' to /Library/Application
>>>>>>>>>> Support/MailArchiva/ROOT/database/export.json.gz...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Exporting database info...
>>>>>>>>>>
>>>>>>>>>> OK
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Exporting clusters...
>>>>>>>>>>
>>>>>>>>>> OK (18 clusters)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Exporting schema...
>>>>>>>>>>
>>>>>>>>>> OK (17 classes)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Exporting records...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'internal' (id=0)...
>>>>>>>>>>
>>>>>>>>>> OK (records=3/3)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'index' (id=1)...
>>>>>>>>>>
>>>>>>>>>> OK (records=4/4)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'manindex' (id=2)...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> OK (records=12/12)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'default' (id=3)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'orole' (id=4)...
>>>>>>>>>>
>>>>>>>>>> OK (records=3/3)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'ouser' (id=5)...
>>>>>>>>>>
>>>>>>>>>> OK (records=3/3)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'ofunction' (id=6)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'oschedule' (id=7)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'orids' (id=8)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'v' (id=9)...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> OK (records=395/395)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'e' (id=10)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'user' (id=11)...
>>>>>>>>>>
>>>>>>>>>> OK (records=1/1)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'folder' (id=12)...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> OK (records=15/15)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'item' (id=13)...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> OK (records=378/378)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'v_root' (id=14)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'v_folder' (id=15)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'v_user' (id=16)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> - Cluster 'v_blob' (id=17)...
>>>>>>>>>>
>>>>>>>>>> OK (records=0/0)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Done. Exported 814 of total 814 records
>>>>>>>>>>
>>>>>>>>>> Any ideas how to do export with schema modification from 1.5.x
>>>>>>>>>> local correct, and import such export to new 1.7. plocal
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> Valentin
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> ---
>>>>>>>>>> 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.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Best regards,
>>>>>>>>> Andrey Lomakin.
>>>>>>>>>
>>>>>>>>> Orient Technologies
>>>>>>>>> the Company behind OrientDB
>>>>>>>>>
>>>>>>>>>   --
>>>>>>>>
>>>>>>>> ---
>>>>>>>> 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.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Andrey Lomakin.
>>>>>>>
>>>>>>> Orient Technologies
>>>>>>> the Company behind OrientDB
>>>>>>>
>>>>>>>   --
>>>>>>
>>>>>> ---
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Andrey Lomakin.
>>>>>
>>>>> Orient Technologies
>>>>> the Company behind OrientDB
>>>>>
>>>>>   --
>>>>
>>>> ---
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Andrey Lomakin.
>>>
>>> Orient Technologies
>>> the Company behind OrientDB
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Andrey Lomakin.
>>
>> Orient Technologies
>> the Company behind OrientDB
>>
>>   --
>
> ---
> 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.
>



-- 
Best regards,
Andrey Lomakin.

Orient Technologies
the Company behind OrientDB

-- 

--- 
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