Re: [orientdb] Re: How to results fields from every nodes in a path with SQL?
Hi, On the way heading to the office I have realised that I need hyperedges to be detected and created based on custom conditions, let's say, business rules. Did anyone play already with hyperedge in OrientDB? Thx! L. -- --- 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.
[orientdb] Use Objectdatabase and Graph parallel in frontend-application
He guys, We ty to use OrientDB 1.7 with the plocal mode in a frontend-application. In our application we would like to use the objectdatabase to persist our entities. One function in the programm should allow the user to save relationships between persons. So you see where this is going :) Our first thought was to use the GraphDatabase to persist these relationships, so we tried to use object and graph at the same time. We defined the class customer in orientdb and set Vertex as superclass. This made it possible to use our entitie customer in graph operations and to store relationships. Unfortunaly this changes are obviously not transparent to the objectdatabase conncetion, which has now other versionIds for the customers with new relationships and blocks all new changes, if there was no refresh. So my queytion is: Are there any usefull known patterns for parallel use of this different connections? At the moment we tried to improve our orientdb-knowledge by using only one single documentconnection to create a graphconnection and the objectmapperlayer. The created behaviour is very close to our goals, but to reach it, we had to add a new constructor to the ObjectDatabaseTx.class, to bypass our documentconnection. I think there is a reason why this is not possible by default, so does anybody have some experience with this kind of usecase or knows some similarly post ? Thanks for your help or opinion Julian -- --- 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.
Re: [orientdb] How to add, edit, check existence of LINK in LINKSET ?
I mean add, delete (not edit) and check existence. Best Regards, Gaurav On Thu, Mar 27, 2014 at 4:34 PM, Gaurav Dhiman gau...@techzulla.com wrote: How to add, edit and check an existence of LINK in LINKSET ? Considering below case for *document based database*, can some on give me code example for add, edit and check existence cases. Lets say company.employees is LINKSET (array of links to employee objects) employee.company is LINK (reverse link to company object) While adding employee, I need to do two way linking (company to employee and employee to company), how to do it ? var emp = db.getInstance(employee); emp.field(name, John); emp.field(age, 35); emp.filed(company, #2:4); // Linked from employee to company company.field(employees, ?); // How to create link from company to employee ? Regards, Gaurav -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/cvYD7oqwkCQ/unsubscribe. To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@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-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] async, non blocking java API
Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com javascript:wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com javascript:. 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[orientdb] Re: Issue with remove edge in distributed environment.
Hi Everyone, Can some one please tell me a solution for this? I appreciate your help on this urgent and emergency case. Thanks, Madhu On Thursday, March 20, 2014 5:20:06 PM UTC+5:30, madhu wrote: When executing with the code, the following message shown on the console. graph.removeEdge(edgeToBeRemoved); * Local paginated storage does not support data segments. -1 will be returned for data segment default. [OLocalPaginatedStorage]* Thanks, Madhu On Thursday, March 20, 2014 5:16:41 PM UTC+5:30, madhu wrote: Hi All, I am facing an issue when deleting an edge in distributed environment with transactions are OFF (i.e *OrientGraphNoTx*). Orientdb version I am using is 1.6.1 When executing the query *delete EDGE FROM #9:124 TO #9:0 *the following exception is raised. This is failing even with the following code also. graph.removeEdge(edgeToBeRemoved); com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: Exception during response processing. at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:264) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:231) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:202) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:113) at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1867) at com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:931) at com.orientechnologies.orient.client.remote.OStorageRemoteThread.command(OStorageRemoteThread.java:411) at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.tinkerpop.blueprints.impls.orient.OrientGraphCommand.execute(OrientGraphCommand.java:28) at Sample.getVerticesWithSQL(Sample.java:29) at Sample.main(Sample.java:20) Caused by: com.orientechnologies.orient.core.sql.OCommandSQLParsingException: Error on parsing command at position #0: Data segment 'default' does not exists at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateCluster.parse(OCommandExecutorSQLCreateCluster.java:93) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateCluster.parse(OCommandExecutorSQLCreateCluster.java:34) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:49) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:33) at com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:87) at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createCluster(OSchemaShared.java:170) at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:116) at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:106) at com.orientechnologies.orient.core.metadata.schema.OSchemaProxy.createClass(OSchemaProxy.java:77) at com.tinkerpop.blueprints.impls.orient.OrientElement$1.call(OrientElement.java:255) at com.tinkerpop.blueprints.impls.orient.OrientElement$1.call(OrientElement.java:251) at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.executeOutsideTx(OrientBaseGraph.java:1242) at com.tinkerpop.blueprints.impls.orient.OrientElement.checkForClassInSchema(OrientElement.java:250) at com.tinkerpop.blueprints.impls.orient.OrientEdge.getClassName(OrientEdge.java:408) at com.tinkerpop.blueprints.impls.orient.OrientEdge.getRecord(OrientEdge.java:322) at com.orientechnologies.orient.graph.sql.OCommandExecutorSQLDeleteEdge.execute(OCommandExecutorSQLDeleteEdge.java:170) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:57) at com.orientechnologies.orient.core.storage.OStorageEmbedded.executeCommand(OStorageEmbedded.java:96) at com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:99) at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1123) at
Re: [orientdb] async, non blocking java API
Artem, Luca , So what do we think ? On Thu, Mar 27, 2014 at 1:16 PM, sANTo L santo.pr...@gmail.com wrote: Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com. 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 orient-database+unsubscr...@googlegroups.com. 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] Re: How to results fields from every nodes in a path with SQL?
Hi László, I found this site is very useful http://gremlindocs.com/ This is how I look for all paths between 2 vertices, with rids #21:7 and #16:10 g.v('#21:7').as('person').both('RELATED').loop('person'){it.object.id.toString() != '#16:10' it.loops 4}.filter{it.id.toString()=='#16:10'}.path() This is how java code looks like OrientGraph graph = DatabaseManager.getInstance().getDatabase(remote:192.168.200.128/ePersona ).getConnection(); Pipe pipe = Gremlin.compile(_().as('person').both('RELATED').loop('person'){it.object.id.toString() != '#16:10' it.loops 4}.filter{it.id.toString()=='#16:10'}.path()[10..20]); pipe.setStarts(new SingleIteratorVertex(graph.getVertex(#21:7))); Merger m = new Merger(); Path paths = m.mergePathsResults(pipe); for(Object o : pipe) { ArrayListVertex path = (ArrayListVertex)o; for(Vertex v:path){ System.out.print(- + v.getProperty(name) + [ + v.getProperty(@class) + ]); } System.out.println(); } example with weights you can find on gremlindocs site. -Andrey On 27 March 2014 01:44, László Rékasi lrekasi@gmail.com wrote: Hi, Thank you! Thought that it could not be easy :-) Meantime realized that there are nodes and egdes in chain :-) but not projected result sets like in rdbms world. Unfortunately I am not a developer, but a guy in business side with some it skill, so somehow I need to make it with out of the box solution to proof that it worth to spend time on it. So maybe javascript function can be the answer somehow. @Andrey, could you please share your use case and solution with me? Orientdb lacks of complete, step by step tutorial, or at least I did not find too many. Thx! L. 2014.03.27. 2:08 ezt írta (Andrey Yesyev andrey.yes...@gmail.com): Hi there, I have the similar problems. I solved them using Gremlin-Groovy. I doubt you can do what you need using SQL. -Andrey On Tuesday, March 25, 2014 3:58:06 PM UTC-4, László Rékasi wrote: Hi, I have the following datastructure (every entity has its own class): vertexes : vA, vB, vC, vD, vE there is eAB between vA and vB with one to many relation eBC between vB and vC with one to many relation eDC between vD and vC with one to many relation from D to C (so vC is a for resolving many to many between vB and vD, but having lots of properties) eED between vE and vD with one to many relation from E to D Now I would like to find vA and vD nodes where there is a path between with the following conditions and expectations: - I need the ID and some fields from both vA and vD - want to know the number of path between vA and vD - want to sum() some fields in vC as weight - want to filter on fields of all vertexes (vA.fld='X', vB.fld_b = 'Y', etc Basically the situation is something like: [person] - (having)-[user accounts] [user account]-(post)-[message]-(to)-[recepients' account] [recepient's account]-(belongs to)-[user] So want to know who sent messages in certain time to X type of user and how many times. Wants to know the first and last date. The sender belongs to Y domain. person.domain = 'Y' message.sent_date between D1 and D2 user.type = 'hacker' I need it in SQL. Any suggestion is very appreciated! Thank you in advance! L. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/IKbefI2QA3M/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/IKbefI2QA3M/unsubscribe. To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@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-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] getting started with java
Hi Aris, Not sure that I will suggest you model schema you provided very few information, but I can help you with last question. If you work with objectdb you do not work whit graph, so I suggest you to work with frames in such case. On Wed, Mar 26, 2014 at 6:10 PM, Aris Alexis snowboard...@gmail.com wrote: hi, I am a little confused. I will use orient with java and i have a complex schema and i would like some guidance. i have a user entity and an action entity. these two are obviously related. the action entity happens in a city and has some tags associated with it. vertex user and vertex entity are obvious. should each city (in the world?) have a separate vertex? should every tag has a separate vertex? which library should i use? tinkerpop or pojo? if i use pojo library can i treat the db as a graph db or not? sorry for the many questions :) cheers -- --- 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. -- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] Re: Issue with remove edge in distributed environment.
Hi, This issue is fixed long ago in 1.7 could you try 1.7-rc2 and see whether it is gone ? On Thu, Mar 27, 2014 at 1:24 PM, madhu madhu8...@gmail.com wrote: Hi Everyone, Can some one please tell me a solution for this? I appreciate your help on this urgent and emergency case. Thanks, Madhu On Thursday, March 20, 2014 5:20:06 PM UTC+5:30, madhu wrote: When executing with the code, the following message shown on the console. graph.removeEdge(edgeToBeRemoved); * Local paginated storage does not support data segments. -1 will be returned for data segment default. [OLocalPaginatedStorage]* Thanks, Madhu On Thursday, March 20, 2014 5:16:41 PM UTC+5:30, madhu wrote: Hi All, I am facing an issue when deleting an edge in distributed environment with transactions are OFF (i.e *OrientGraphNoTx*). Orientdb version I am using is 1.6.1 When executing the query *delete EDGE FROM #9:124 TO #9:0 *the following exception is raised. This is failing even with the following code also. graph.removeEdge(edgeToBeRemoved); com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: Exception during response processing. at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.throwSerializedException( OChannelBinaryAsynchClient.java:264) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient. java:231) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient. java:202) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient. java:113) at com.orientechnologies.orient.client.remote.OStorageRemote. beginResponse(OStorageRemote.java:1867) at com.orientechnologies.orient.client.remote.OStorageRemote. command(OStorageRemote.java:931) at com.orientechnologies.orient.client.remote. OStorageRemoteThread.command(OStorageRemoteThread.java:411) at com.orientechnologies.orient.core.command. OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.tinkerpop.blueprints.impls.orient.OrientGraphCommand.execute( OrientGraphCommand.java:28) at Sample.getVerticesWithSQL(Sample.java:29) at Sample.main(Sample.java:20) Caused by: com.orientechnologies.orient.core.sql.OCommandSQLParsingException: Error on parsing command at position #0: Data segment 'default' does not exists at com.orientechnologies.orient.core.sql. OCommandExecutorSQLCreateCluster.parse(OCommandExecutorSQLCreateClust er.java:93) at com.orientechnologies.orient.core.sql. OCommandExecutorSQLCreateCluster.parse(OCommandExecutorSQLCreateClust er.java:34) at com.orientechnologies.orient.core.sql. OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:49) at com.orientechnologies.orient.core.sql. OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:33) at com.orientechnologies.orient.server.distributed. ODistributedStorage.command(ODistributedStorage.java:87) at com.orientechnologies.orient.core.command. OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.orientechnologies.orient.core.metadata.schema. OSchemaShared.createCluster(OSchemaShared.java:170) at com.orientechnologies.orient.core.metadata.schema. OSchemaShared.createClass(OSchemaShared.java:116) at com.orientechnologies.orient.core.metadata.schema. OSchemaShared.createClass(OSchemaShared.java:106) at com.orientechnologies.orient.core.metadata.schema. OSchemaProxy.createClass(OSchemaProxy.java:77) at com.tinkerpop.blueprints.impls.orient.OrientElement$1. call(OrientElement.java:255) at com.tinkerpop.blueprints.impls.orient.OrientElement$1. call(OrientElement.java:251) at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph. executeOutsideTx(OrientBaseGraph.java:1242) at com.tinkerpop.blueprints.impls.orient.OrientElement. checkForClassInSchema(OrientElement.java:250) at com.tinkerpop.blueprints.impls.orient.OrientEdge. getClassName(OrientEdge.java:408) at com.tinkerpop.blueprints.impls.orient.OrientEdge. getRecord(OrientEdge.java:322) at com.orientechnologies.orient.graph.sql. OCommandExecutorSQLDeleteEdge.execute(OCommandExecutorSQLDeleteEdge. java:170) at com.orientechnologies.orient.core.sql. OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:57) at com.orientechnologies.orient.core.storage.OStorageEmbedded. executeCommand(OStorageEmbedded.java:96) at com.orientechnologies.orient.server.distributed. ODistributedStorage.command(ODistributedStorage.java:99) at com.orientechnologies.orient.core.command. OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) at com.orientechnologies.orient.server.network.protocol.
Re: [orientdb] Subquery problem
Hi, So do you mean something like select content, out('author')[0].username from Article ? On Wed, Mar 26, 2014 at 10:58 PM, vadim kulibaba vadim.kulib...@gmail.comwrote: Hello I have 2 vertex: - Article with field content - User with field username And edge author Is it possible in orientdb return in results fields content and username? Something like this: select content, (select top 1 from user where userid=article.userid) as username from article I only found this solution: traverse in_author from (select * from Article) but it returns all results mixed: e:#11:1-#12:0 #12:0:v(Article)[#12:0]:content:nnn2345 #12:0:v(Article)[#12:0]:modified:1395864706670 #11:1:v(User)[#11:1]:remember:true #11:1:v(User)[#11:1]:username:23456 #11:1:v(User)[#11:1]:email:22@2 #11:1:v(User)[#11:1]:password:1 e:#11:0-#12:1 #12:1:v(Article)[#12:1]:content:1 #12:1:v(Article)[#12:1]:modified:1395864726851 #11:0:v(User)[#11:0]:remember:true #11:0:v(User)[#11:0]:username:12345 #11:0:v(User)[#11:0]:email:1@11 #11:0:v(User)[#11:0]:password:1 e:#11:0-#12:2 #12:2:v(Article)[#12:2]:content:2 #12:2:v(Article)[#12:2]:modified:1395864732477 And i need join article and user manualy. Thx -- --- 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. -- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] async, non blocking java API
Hi all, sorry for the delay. If I understand well, we already have it: https://github.com/orientechnologies/orientdb/wiki/Document-Database#asynchronous-query Lvc@ On 27 March 2014 13:42, Andrey Lomakin lomakin.and...@gmail.com wrote: Artem, Luca , So what do we think ? On Thu, Mar 27, 2014 at 1:16 PM, sANTo L santo.pr...@gmail.com wrote: Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com. 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 orient-database+unsubscr...@googlegroups.com. 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 orient-database+unsubscr...@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-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] OrientDB sql query involving multiple classes
Hi, Could you try select name from Person where gender = 'M' and out('owns')[0].model = Ferrari and out('likes')[0].mov_name = Need For Speed On Thu, Mar 27, 2014 at 5:13 AM, Joel Mathew meetj...@gmail.com wrote: Hi group, I have below schema with three classes orientdb {demo1} select from Person +-+-+--++- # |@RID |name |gender|out_owns|out_likes +-+-+--++- 0 |#11:0|Matt |M |#12:0 |#13:0 1 |#11:1|Helen|F |#12:1 |#13:1 +-+-+--++- orientdb {demo1} select from Car +-+---+--- # |@RID |model |in_owns +-+---+--- 0 |#12:0|Ferrari|#11:0 1 |#12:1|BMW|#11:1 +-+---+--- orientdb {demo1} select from Movie +-+--+ # |@RID |mov_name |in_likes +-+--+ 0 |#13:0|Need For Speed|#11:0 1 |#13:1|Matrix|#11:1 +-+--+ Person(name,gender) Car(model) Movie(mov_name) Person owns Car Person likes Movie I'm looking at a query which matches values across three classes across the edges Find Person.name where Person.gender='M' and who owns Car.model='Ferrari' and who likes Movie.mov_name='Need For Speed' One way to achieve the same with gremlin is g.V('@class','Car').has('model','Ferrari').in('owns').has('@class','Person').has('gender','M').as('x').out('likes').has('@class','Movie').has('mov_name','Need For Speed').select([x]) I'm using OrientDB 1.7-rc2-SNAPSHOT.. Please help me with some pointers towards equivalent orientdb sql. Thanks, Mathew -- --- 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. -- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [orientdb] async, non blocking java API
it's not the same :) On Thursday, 27 March 2014 14:01:08 UTC, Lvc@ wrote: Hi all, sorry for the delay. If I understand well, we already have it: https://github.com/orientechnologies/orientdb/wiki/Document-Database#asynchronous-query Lvc@ On 27 March 2014 13:42, Andrey Lomakin lomakin...@gmail.com javascript: wrote: Artem, Luca , So what do we think ? On Thu, Mar 27, 2014 at 1:16 PM, sANTo L santo...@gmail.comjavascript: wrote: Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com. 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 orient-databa...@googlegroups.com javascript:. 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 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.
[orientdb] OrientDB on ZFS filesystem
Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs-performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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.
[orientdb] Re: OrientDB on ZFS filesystem
Hi, Thank you, this is very interesting. I'm only a user here but I have a system that deals with millions of records daily and one of my impediments right now is disk usage. I'm sorry that I can not hand over the data (classified) but I could run your test on 10-20 million vertices + connecting edges. Anyways... this looks like a thorough test and is appreciated! Regards, -Stefán On Thursday, 27 March 2014 14:30:38 UTC, Carlo Pradissitto wrote: Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs-performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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.
Re: [orientdb] async, non blocking java API
Hi, Please note that it is not only for queries, but also for other db related operations: crud, graph traversal, etc ;-) regards, Santo Op donderdag 27 maart 2014 16:05:58 UTC+1 schreef Andrey Lomakin: The difference is following listener lives in the same thread but should be called in background thread and after that thread should be shut down. Luca WDYT if we will change asynchronous queries in this way ? On Thu, Mar 27, 2014 at 4:17 PM, ste...@activitystream.com javascript:wrote: it's not the same :) On Thursday, 27 March 2014 14:01:08 UTC, Lvc@ wrote: Hi all, sorry for the delay. If I understand well, we already have it: https://github.com/ orientechnologies/orientdb/wiki/Document-Database#asynchronous-query Lvc@ On 27 March 2014 13:42, Andrey Lomakin lomakin...@gmail.com wrote: Artem, Luca , So what do we think ? On Thu, Mar 27, 2014 at 1:16 PM, sANTo L santo...@gmail.com wrote: Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com. 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 orient-databa...@googlegroups.com. 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 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
Re: [orientdb] async, non blocking java API
The difference is following listener lives in the same thread but should be called in background thread and after that thread should be shut down. Luca WDYT if we will change asynchronous queries in this way ? On Thu, Mar 27, 2014 at 4:17 PM, ste...@activitystream.com wrote: it's not the same :) On Thursday, 27 March 2014 14:01:08 UTC, Lvc@ wrote: Hi all, sorry for the delay. If I understand well, we already have it: https://github.com/ orientechnologies/orientdb/wiki/Document-Database#asynchronous-query Lvc@ On 27 March 2014 13:42, Andrey Lomakin lomakin...@gmail.com wrote: Artem, Luca , So what do we think ? On Thu, Mar 27, 2014 at 1:16 PM, sANTo L santo...@gmail.com wrote: Hi Andrey, do you have any updates on this ? regards, Santo Op vrijdag 21 maart 2014 10:30:21 UTC+1 schreef Andrey Lomakin: Hi, yes, it clarifies what you mean. Guys what do you think about making Aynch requests non blocking it is relatively easy to do ? On Thu, Mar 20, 2014 at 10:33 PM, santo...@gmail.com wrote: Hi Andrey, With non-blocking I mean that the call should return immediately, probably with a handler which is called whenever the database operation is ready. The reason for this is that Vert.x is an event-driven framework using so-called eventloops on which multiple handlers will be registered. If one of those handlers performs some blocking code (a sleep, a wait, a blocking database call, whatever), the whole eventloop gets blocked, meaning the other handlers on the loop can't be served. So a Vert.x application consists of one or more modules, where each module consists of one or more handlers that are registered on the eventloop. One of the modules in the application can be e.g. a database module that handles all database related operations for the application. Because such a module actually consists of one or more handlers that are registered on the eventloop, it is of uttermost importance that it can perform all its operations in an async, non-blocking way. Hence the request for an async, non-blocking api for OrientDB which can be used for any db related operation (crud, document/graph, geo related, it doesn't matter, it should all be available) I hope this clarifies what I meant. regards, Santo Op woensdag 19 maart 2014 18:59:13 UTC+1 schreef Andrey Lomakin: Hi, We have async API which is based on listeners, but listeners are executed in the same thread. When you mean non-blocking does it mean that you need async API which will be run in seprate thread, right ? Could you define non-blocking ? On Wed, Mar 19, 2014 at 5:57 PM, santo...@gmail.com wrote: Hi, Do you provide an async, non blocking java API for OrientDB and if not, are there any plans to provide it in the near future ? The reason I ask this is because I'm writing a java web application based on the Vert.x platform. In Vert.x it's required that you don't have any blocking code and therefore I'm interested in a database with which my application can interact in an async, non blocking way. regards, Santo -- --- 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. -- 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 orient-databa...@googlegroups.com. 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 orient-databa...@googlegroups.com. 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 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-database+unsubscr...@googlegroups.com. 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] Re: Use Objectdatabase and Graph parallel in frontend-application
Actually we are using one DocumentConnection for everything. The activation of the first GraphTransaction changes the transactiontype and creates a problem during the saveMethod for Objects. If we like to insert a new Object, the MVCC says that the Document has no versionId and so it is not possible to check for concurrent modifications. But we would like to add a new Object, so this shouldn't be necessary. Any idea ? -- --- 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.
Re: [orientdb] How to add, edit, check existence of LINK in LINKSET ?
Gaurav, regarding adding to a linkset, you may remember my question on StackOverflow about saving document links with a document. My answerhttp://stackoverflow.com/a/22569458/265261to that question shows how to do this, and it looks like it would solve your example. Hope this helps, Arve On Thu, Mar 27, 2014 at 12:04 PM, Gaurav Dhiman gau...@techzulla.comwrote: How to add, edit and check an existence of LINK in LINKSET ? Considering below case for *document based database*, can some on give me code example for add, edit and check existence cases. Lets say company.employees is LINKSET (array of links to employee objects) employee.company is LINK (reverse link to company object) While adding employee, I need to do two way linking (company to employee and employee to company), how to do it ? var emp = db.getInstance(employee); emp.field(name, John); emp.field(age, 35); emp.filed(company, #2:4); // Linked from employee to company company.field(employees, ?); // How to create link from company to employee ? Regards, Gaurav -- --- 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. -- --- 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.
Re: [orientdb] OrientDB on ZFS filesystem
Hey Carlo, what a deep analysis! Thank you, very interesting. Lvc@ On 27 March 2014 15:30, Carlo Pradissitto carlopradissi...@gmail.comwrote: Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs-performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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. -- --- 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.
[orientdb] Re: OrientDB sql query involving multiple classes
Thanks Andrey..It worked.. I was going wild with select from Person let $c = (select from ( traverse out_owns from $parent.$current) where model = 'Ferrari') , let $m = (select from (traverse out_likes from $parent.$current) where mov_name = Need For Speed) where gender='M' AND $m.size() 0 AND $c.size() 0 But it didn't work And one possible bug I encountered during my exploration with datetime in filter field -- select expand(in('owns')[gender='M'].out('likes')[mov_name=Need For Speed]) as p from Car where model = 'Ferrari' -- Works -- Below doesn't work select expand(in('owns')[birthtime = 1980-01-01 00:01:00].out('likes')[mov_name=Need For Speed]) as p from Car where model = 'Ferrari' dt = new java.text.SimpleDateFormat(-MM-dd HH:mm:ss).parse(1980-01-01 00:01:00) select expand(in('owns')[birthtime = dt].out('likes')[mov_name=Need For Speed]) as p from Car where model = 'Ferrari' To replicate create class Person extends V create property Person.name string create property Person.gender string create property Person.birthtime DATETIME create class Car extends V create property Car.model string create class Movie extends V create property Movie.mov_name string create class likes extends E create class owns extends E create vertex Person set name = 'Matt', gender = 'M', birthtime = 1980-01-01 00:01:00 create vertex Person set name = 'Helen', gender = 'F' , birthtime = 1990-01-01 00:01:00 create vertex Car set model = 'Ferrari' create vertex Car set model = 'BMW' create vertex Movie set mov_name = 'Need For Speed' create vertex Movie set mov_name = 'Matrix' create edge owns from (select from Person where name = 'Matt') to (select from Car where model = 'Ferrari') create edge owns from (select from Person where name = 'Helen') to (select from Car where model = 'BMW') create edge likes from (select from Person where name = 'Matt') to (select from Movie where mov_name = 'Need For Speed') create edge likes from (select from Person where name = 'Helen') to (select from Movie where mov_name = 'Matrix') ---+-+-+--+---++- # |@RID |name |gender|birthtime |out_owns|out_likes +-+-+--+---++- 0 |#11:0|Matt |M |1980-01-01 00:01:00|#12:0 |#13:0 1 |#11:1|Helen|F |1990-01-01 00:01:00|#12:1 |#13:1 +-+-+--+---++- Just thought of reporting here.. Regards, Joel On Wednesday, March 26, 2014 8:13:09 PM UTC-7, Joel Mathew wrote: Hi group, I have below schema with three classes orientdb {demo1} select from Person +-+-+--++- # |@RID |name |gender|out_owns|out_likes +-+-+--++- 0 |#11:0|Matt |M |#12:0 |#13:0 1 |#11:1|Helen|F |#12:1 |#13:1 +-+-+--++- orientdb {demo1} select from Car +-+---+--- # |@RID |model |in_owns +-+---+--- 0 |#12:0|Ferrari|#11:0 1 |#12:1|BMW|#11:1 +-+---+--- orientdb {demo1} select from Movie +-+--+ # |@RID |mov_name |in_likes +-+--+ 0 |#13:0|Need For Speed|#11:0 1 |#13:1|Matrix|#11:1 +-+--+ Person(name,gender) Car(model) Movie(mov_name) Person owns Car Person likes Movie I'm looking at a query which matches values across three classes across the edges Find Person.name where Person.gender='M' and who owns Car.model='Ferrari' and who likes Movie.mov_name='Need For Speed' One way to achieve the same with gremlin is g.V('@class','Car').has('model','Ferrari').in('owns').has('@class','Person').has('gender','M').as('x').out('likes').has('@class','Movie').has('mov_name','Need For Speed').select([x]) I'm using OrientDB 1.7-rc2-SNAPSHOT.. Please help me with some pointers towards equivalent orientdb sql. Thanks, Mathew -- --- 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.
[orientdb] Re: OrientDB on ZFS filesystem
Hi Stefan, I hope that my work can be useful for you, as well as for the community. Anyway, if you have a question, or a suggestion, I'll be pleased to answer, as far as I can Thanks! C Il giorno giovedì 27 marzo 2014 16:01:26 UTC+1, ste...@activitystream.com ha scritto: Hi, Thank you, this is very interesting. I'm only a user here but I have a system that deals with millions of records daily and one of my impediments right now is disk usage. I'm sorry that I can not hand over the data (classified) but I could run your test on 10-20 million vertices + connecting edges. Anyways... this looks like a thorough test and is appreciated! Regards, -Stefán On Thursday, 27 March 2014 14:30:38 UTC, Carlo Pradissitto wrote: Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs-performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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.
Re: [orientdb] OrientDB on ZFS filesystem
Hi Luca, I hope it will be useful, for you and for the community If you have a bigger database for testing, and a set of related queries (search, insert, update, delete, ..., traverse), I'll try to make a real world analysis, as soon as I can. See you C 2014-03-27 16:57 GMT+01:00 Luca Garulli l.garu...@gmail.com: Hey Carlo, what a deep analysis! Thank you, very interesting. Lvc@ On 27 March 2014 15:30, Carlo Pradissitto carlopradissi...@gmail.comwrote: Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs-performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/yh0C_72k-k0/unsubscribe. To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@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-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[orientdb] generating sequence numbers
Hi, It took me by surprise but I'm missing a sequences/sequence generator now. :) Does OrientDB have any such mechanism? Regards, -Stefán -- --- 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.
[orientdb] Presence / absence of an outgoing edge from a vertex in OrientDb
I have seen some similar questions on SO but none of the answers have worked for me yet, so I am hoping to get a new answer with the new features that have been added to recent versions of OrientDb since the other questions were asked. I am trying to query all vertices which have an outgoing edge of a particular type but no outgoing edge of another type. As an example in a simple relationship of Person Friend --- Person Person Owns --- Car I am trying to find all the persons who have friends but do not own a car. I have already tried the following query with no luck (It returns all the persons irrespective of whether or not those vertices have an outgoing edge of a particular kind) select from Person where (out('Friend') not null and out('Owns').size() = 0) select from Person where (out('Friend') is not null and out('Owns') is null) In my efforts I realized that the NOT query is not supported yet by OrientDb in the WHERE clause as per this page: https://github.com/orientechnologies/orientdb/wiki/SQL-Where Can someone please verify if this is indeed true. Anyways, I moved on and tried to simplify my query and tried to find only vertices that do not have the outgoing edge of 'Owns'. Even that did not work in that it seemed to return all the Person vertices in my graph: select from Person where (out('Owns').size() = 0) select from Person where (out('Owns') is null) Not sure what I am missing, but any help is as always greatly appreciated. I am using 1.7Rc-1 of orient. -- --- 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.
Re: [orientdb] Re: Released OrientDB 1.7-rc2: new Query Timeline in Studio and 62 bugs fixed
Hi, I installed v1.7rc2 earlier today and noticed that I can't connect in cluster mode, while standalone mode does work. Is it that what you are referring to ? If so, then no, it's not fixed. There I added a comment earlier today to an already existing ticket about this issue: https://github.com/orientechnologies/orientdb/issues/2154 regards, Santo Op donderdag 27 maart 2014 18:59:37 UTC+1 schreef Dodong Juan: Is the distributed server problem resolved with this ..? On Tuesday, March 25, 2014 1:16:17 PM UTC-4, Lvc@ wrote: Hi Fabrizio, 1) no in particular 2) a couple of weeks, but we should recheck it with last arrived issues Lvc@ On 25 March 2014 17:33, Fabrizio Fortino fabrizio...@gmail.com wrote: Cool! Thanks for the good work. Two questions: 1) Should I get any performance improvement on ORDER BY queries against normal fields (not indexed)? 2) Do you have an estimation date for release 1.7? Thanks, Fabrizio -- --- 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.
Re: [orientdb] Re: Released OrientDB 1.7-rc2: new Query Timeline in Studio and 62 bugs fixed
Maven target for this release? 1.7-SNAPSHOT working ? On Thursday, 27 March 2014 17:59:37 UTC, Dodong Juan wrote: Is the distributed server problem resolved with this ..? On Tuesday, March 25, 2014 1:16:17 PM UTC-4, Lvc@ wrote: Hi Fabrizio, 1) no in particular 2) a couple of weeks, but we should recheck it with last arrived issues Lvc@ On 25 March 2014 17:33, Fabrizio Fortino fabrizio...@gmail.com wrote: Cool! Thanks for the good work. Two questions: 1) Should I get any performance improvement on ORDER BY queries against normal fields (not indexed)? 2) Do you have an estimation date for release 1.7? Thanks, Fabrizio -- --- 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.
Re: [orientdb] Re: How to results fields from every nodes in a path with SQL?
Hi Andrew' It's something useful to play with :-) Meantime I have started to get it work in javascript function. May I know if you have faced to performance problems? My friends told me that it was not easy to sort it out with gremlin on a bitcoin database. How much data you deal with? I have approx: - vA: 1 million - vB: 2 million - vC: around 200-300 million - vD: 2 million - vE: 200 k And having few other class of vertices, 1 million each. I think it still not big data, but something I can manage on a commodity oracle server. But it is not good for realtime recommender engine, although the performance is pretty good :-) Thx! L. 2014.03.27. 14:03 ezt írta (Andrey Yesyev andrey.yes...@gmail.com): Hi László, I found this site is very useful http://gremlindocs.com/ This is how I look for all paths between 2 vertices, with rids #21:7 and #16:10 g.v('#21:7').as('person').both('RELATED').loop('person'){it.object.id.toString() != '#16:10' it.loops 4}.filter{it.id.toString()=='#16:10'}.path() This is how java code looks like OrientGraph graph = DatabaseManager.getInstance().getDatabase(remote: 192.168.200.128/ePersona).getConnection(); Pipe pipe = Gremlin.compile(_().as('person').both('RELATED').loop('person'){it.object.id.toString() != '#16:10' it.loops 4}.filter{it.id.toString()=='#16:10'}.path()[10..20]); pipe.setStarts(new SingleIteratorVertex(graph.getVertex(#21:7))); Merger m = new Merger(); Path paths = m.mergePathsResults(pipe); for(Object o : pipe) { ArrayListVertex path = (ArrayListVertex)o; for(Vertex v:path){ System.out.print(- + v.getProperty(name) + [ + v.getProperty(@class) + ]); } System.out.println(); } example with weights you can find on gremlindocs site. -Andrey On 27 March 2014 01:44, László Rékasi lrekasi@gmail.com wrote: Hi, Thank you! Thought that it could not be easy :-) Meantime realized that there are nodes and egdes in chain :-) but not projected result sets like in rdbms world. Unfortunately I am not a developer, but a guy in business side with some it skill, so somehow I need to make it with out of the box solution to proof that it worth to spend time on it. So maybe javascript function can be the answer somehow. @Andrey, could you please share your use case and solution with me? Orientdb lacks of complete, step by step tutorial, or at least I did not find too many. Thx! L. 2014.03.27. 2:08 ezt írta (Andrey Yesyev andrey.yes...@gmail.com): Hi there, I have the similar problems. I solved them using Gremlin-Groovy. I doubt you can do what you need using SQL. -Andrey On Tuesday, March 25, 2014 3:58:06 PM UTC-4, László Rékasi wrote: Hi, I have the following datastructure (every entity has its own class): vertexes : vA, vB, vC, vD, vE there is eAB between vA and vB with one to many relation eBC between vB and vC with one to many relation eDC between vD and vC with one to many relation from D to C (so vC is a for resolving many to many between vB and vD, but having lots of properties) eED between vE and vD with one to many relation from E to D Now I would like to find vA and vD nodes where there is a path between with the following conditions and expectations: - I need the ID and some fields from both vA and vD - want to know the number of path between vA and vD - want to sum() some fields in vC as weight - want to filter on fields of all vertexes (vA.fld='X', vB.fld_b = 'Y', etc Basically the situation is something like: [person] - (having)-[user accounts] [user account]-(post)-[message]-(to)-[recepients' account] [recepient's account]-(belongs to)-[user] So want to know who sent messages in certain time to X type of user and how many times. Wants to know the first and last date. The sender belongs to Y domain. person.domain = 'Y' message.sent_date between D1 and D2 user.type = 'hacker' I need it in SQL. Any suggestion is very appreciated! Thank you in advance! L. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/IKbefI2QA3M/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/IKbefI2QA3M/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- --- You received this message because you are subscribed to
Re: [orientdb] Status of graphGIS
Steve, Luca, Any updates from Geomatys about GraphGIS since this conversation started? I'm also very interested in a geospatial plugin for OrientDB. Jonas On Thursday, February 13, 2014 3:15:40 AM UTC-6, Steve Coughlan wrote: That a bit odd. I watched this presentation (only 5 months old) http://youtu.be/-w8f4Eq53yY?t=20m18s It was given by two staff of Geomatys and in the presentation they indicate that they've forked OrientDB to add the necessary plugin architecture. I got the impression that both that work and the GraphGIS plugin are all but done and he also seemed to indicate they were working with OrientDB on it (wasn't that the point of one of the Geomatys staff becoming an OrientDB committer?) Have you seen this presentation? On 13/02/14 19:04, Luca Garulli wrote: Hi Steve, I'm sorry but Geomatys seems not more active on the development of OrientDB GIS plugin. Make a try to contact them, but I tried a couple of times with no response What a shame! Lvc@ On 13 February 2014 04:46, Steve Coughlan shadde...@gmail.comjavascript: wrote: I did a bit of a searching to see if orientDB supports or was planned to support spatial data. After much searching I came across a presentation from geomatys about the GraphGIS plugin. From what I can tell the plugin has been developed and geomatys contributed some required changes to the orientdb project. Is there any word on which release is intended to include said architecture? Also is the graphGIS plugin intended to be released as open source or a commercial product? -- --- 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/groups/opt_out. -- --- 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/groups/opt_out. -- --- 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.
[orientdb] Re: Buffer inconsistency with REQUEST_DB_LIST
Seems to be similar to this problem: http://stackoverflow.com/questions/22058416/error-in-connecting-to-orient-db-via-jdbc-drivers It was giving me a warning when using a memory database, same as the link above. But I replaced the database directory with a fresh copy that just had GratefulDeadConcerts. With a fresh build, it still gave me the java.lang.NullPointerException error when running the binary commands in the order I have posted below. Any thoughts or solutions? Is this a known bug or should it be added to the queue? Thanks, Giraldo On Wednesday, March 26, 2014 10:23:03 PM UTC-4, Giraldo Rosales wrote: When converting the buffer to a string, it returns: |java.lang.NullPointerExceptionάsrjava.lang.NullPointerExceptionG1xrjava.lang.RuntimeException_G detailMessagetLjava/lang/String;[va.lang.Throwable5'9wLcausetLjava/lang/Throwable;L stackTracet[Ljava/lang/StackTraceElement;LsuppressedExceptionstLjava/util/List;xpqpur[Ljava.lang.StackTraceElement;F*9xp srava.lang.StackTraceElementa Ś6݅I lineNumberLdeclaringClassq~fileNameq~L methodNameq~xpRtCcom.orientechnologies.orient.core.record.ORecordSchemaAwareAbstracttORecordSchemaAwareAbstract.javatgetSchemaClasssq~ Uticom.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSVt%ORecordSerializerSchemaAware2CSV.javatoStringsq~ \thcom.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstractt$ORecordSerializerStringAbstract.javatoStreamsq~ q~q~q~sq~ q~q~sq~ q~ q~q~sq~q~ t7com.orientechnologies.orient.core.record.impl.ODocumenttODocument.javaq~sq~ tRcom.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBilistDatabasessq~ocolBinary.javat q~q~ texecuteRequestsq~ ~tZcom.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstractt#OBinaryNetworkProtocolAbstract.javatexecutesq~ -t/com.orientechnologies.common.thread.OSoftThreadtOSoftThread.javatrunsrjava.util.Collections$UnmodifiableList%1Llistq~xr,java.util.Collections$UnmodifiableCollectionB^LctLjava/util/Collection;xpsrjava.util.ArrayListxaIsizexpwxq~1x On Wednesday, March 26, 2014 5:43:28 PM UTC-4, Giraldo Rosales wrote: When running REQUEST_DB_LIST by itself after REQUEST_CONNECT, runs fine, returns the single database, GratefulDeadConcerts. When running the following sequence, REQUEST_CONNECT REQUEST_DB_EXIST REQUEST_DB_LIST Where the params for db exists is either a non-existent db or the GratefulDeadConcerts db. The buffer for the REQUEST_DB_LIST comes back invalid. It seems to have a larger buffer length than when leaving out REQUEST_DB_EXIST. Why is the buffer length coming in at different sizes? Using the latest binary, 1.7 -- --- 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.
Re: [orientdb] Re: OrientDB on ZFS filesystem
Hi Stefan What I've read in that very good blog post - is that this runs on ZFS / Solars - not Linux / Ubuntu. So you may use - Oracle Solaris 11.1 or OpenIndiana - or even better SmartOS or OmnioOS (if you like an installed OS) depending on your needs. FreeBSD ist too a possibility. I'm really not sure if ZFS on Linux (FUSE) does give you the same performance metrics as written here. Regards Michael 2014-03-27 19:20 GMT+01:00 ste...@activitystream.com: Hi, Could you perhaps create a summary for setting up the filesystem in the correct way? I'm not a seasoned Linux/Ubuntu user but I should be able to manage :). Regards, -Stefán On Thursday, 27 March 2014 15:31:36 UTC, Carlo Pradissitto wrote: Hi Stefan, I hope that my work can be useful for you, as well as for the community. Anyway, if you have a question, or a suggestion, I'll be pleased to answer, as far as I can Thanks! C Il giorno giovedì 27 marzo 2014 16:01:26 UTC+1, ste...@activitystream.comha scritto: Hi, Thank you, this is very interesting. I'm only a user here but I have a system that deals with millions of records daily and one of my impediments right now is disk usage. I'm sorry that I can not hand over the data (classified) but I could run your test on 10-20 million vertices + connecting edges. Anyways... this looks like a thorough test and is appreciated! Regards, -Stefán On Thursday, 27 March 2014 14:30:38 UTC, Carlo Pradissitto wrote: Hi, I just finished a preliminary performance analysis: http://carloprad.blogspot.it/2014/03/orientdb-on-zfs- performance-analysis.html If someone from Orient Technologies wants give me some indication, I'll be happy to collaborate for a deeper research. bye Carlo -- --- 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. -- bayoda.com - DataStorage and Backup by nimbus Development IT Consulting GmbH -- --- 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.