Hi, Yes it is possible , but you have to set type of field which is used for connection directly (you should set it to LINKBAG) here is example of non composite index https://github.com/orientechnologies/orientdb/blob/develop/graphdb/src/test/java/com/orientechnologies/orient/graph/blueprints/EdgeIndexingTest.java but creation of composite index is similar (fields for out edges use out_ prefix and fields for in edges use in_ prefix accordingly).
On Wed, Feb 12, 2014 at 11:31 PM, Mac Adada <[email protected]> wrote: > > Great, thanks for the help Andrey! > > So it seems SQL is the way to go to get the most out of orientdb at the > moment. I have one further follow up question. Is it possible to create a > composite key on incoming/outgoing edges, and then query it via SQL ? ie if > I have Root{name:"root"} --> Test{id:1} and I would like to create an index > on something like (Test.id,Test.in.name). > > Cheers, > Mahmoud > > > On Wednesday, February 12, 2014 12:13:44 PM UTC-5, Andrey Lomakin wrote: > >> Hi, >>> >>> When using the java api, the orient docs indicate that to use an index >>> with the getVerticies method, I should use getVerticies(Class.Property, >>> value) ie getVerticies("TestClass.testId",123) . However does the same >>> apply when using gremlin ? If i had something like g. ... >>> .out("link_to_test").has("testId",123) would gremlin use the testId >>> index ? Because has("Test.testId",123) does not seem to work. >> >> >> Gremlin needs vertex centric index for such kind of queries it is in our >> roadmap but is not implemented yet. >> >>> Am I right in assuming something like >>> pipe.start(root).out("link_to_test").has("testId",123) >>> can't be represented using the VertexQuery api ? Something like >>> root.query().labels("link_to_test").vertices() would return a list of >>> vertices and I would have to filter them manually by the testId property ? >> >> Yes you are right. >> >>> Are there any performance advantages/disadvantages to using the >>> VertexQuery or gremlin api as opposed to the SQL api ? >> >> Usually SQL queries are faster because they use database internal >> features. >> >>> If I create a compound index, is there anyway to query over that >>> compound index using the gremlin api ? >> >> You should use SQL in such case, gremlin does not have such kind of index >> in it's model. >> >> >> On Wed, Feb 12, 2014 at 2:19 AM, Mac Adada <[email protected]> wrote: >> >>> Hey all, >>> >>> New to graph DBs and to Orient in particular. I have a few questions I >>> can't seem to find the answer to, and was wondering if anyone could help. >>> >>> >>> 1. When using the java api, the orient docs indicate that to use an >>> index with the getVerticies method, I should use >>> getVerticies(Class.Property, value) ie >>> getVerticies("TestClass.testId",123) >>> . However does the same apply when using gremlin ? If i had something >>> like >>> g. ... .out("link_to_test").has("testId",123) would gremlin use the >>> testId index ? Because has("Test.testId",123) does not seem to work. >>> 2. Am I right in assuming something like >>> pipe.start(root).out("link_to_test").has("testId",123) can't be >>> represented using the VertexQuery api ? Something like >>> root.query().labels("link_to_test").vertices() would return a list >>> of vertices and I would have to filter them manually by the testId >>> property >>> ? >>> 3. Are there any performance advantages/disadvantages to using the >>> VertexQuery or gremlin api as opposed to the SQL api ? >>> 4. If I create a compound index, is there anyway to query over that >>> compound index using the gremlin api ? >>> >>> I apologize if some of these questions have already been asked and >>> answered. Thanks for the help! >>> Mahmoud >>> >>> -- >>> >>> --- >>> 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/groups/opt_out. >>> >> >> >> >> -- >> 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/groups/opt_out. > -- 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/groups/opt_out.
