Ok! I tried `@CLASS` instead of `@class` and it didn't show up any error. But even now, the new vertices do not have the value `MyV` but `V`.
I mean, I did `@CLASS = MyV` but after creation, if I see the vertices via rexster, all those records have `@CLASS = V`. I even tried `_type = myv` and `_type = MyV` but the same problem. This is depressing. Any solution? Thanks. On Wed, Apr 22, 2015 at 7:15 AM, Kevin I <[email protected]> wrote: > Thanks kyle! > > Unfortunately, when I try to create the property `@class` like this : > > `data = {"@class":"MyV","ovgid":"test1", "element_type":"MyV"}`, > > I get the following error: > > ` > SystemError: ({'status': '500', 'transfer-encoding': 'chunked', 'server': > 'grizzly/2.2.16', 'connection': 'close', 'date': 'Wed, 22 Apr 2015 07:09:12 > GMT', 'access-control-allow-origin': '*', 'content-type': > 'application/json'}, '{"message":"","error":"javax.script.ScriptException: > com.orientechnologies.orient.core.exception.OSchemaException: Cannot change > the schema while a transaction is active. Schema changes are not > transactional","api":{"description":"evaluate an ad-hoc Gremlin script for > a graph.","parameters":{"returnTotal":"when set to true, the full result > set will be iterated and the results returned (default is > false)","rexster.returnKeys":"an array of element property keys to return > (default is to return all element > properties)","rexster.showTypes":"displays the properties of the elements > with their native data type (default is false)","load":"a list of \'stored > procedures\' to execute prior to the \'script\' (if \'script\' is not > specified then the last script in this argument will return the > values","rexster.offset.end":"end index for a paged set of data to be > returned","rexster.offset.start":"start index for a paged set of data to be > returned","params":"a map of parameters to bind to the script > engine","language":"the gremlin language flavor to use (default is > groovy)","script":"the Gremlin script to be evaluated"}},"success":false}') > > ` > > But, if I change `@class` to something else, it works. Any solution? > > And also what is that `ovgid` property? > > On Tue, Apr 21, 2015 at 11:35 PM, Kyle <[email protected]> wrote: > >> You are right, >> >> select from MyV set element_name = "myv" >> >> >> should be >> >> update MyV set element_name = "myv" >> >> >> sorry. >> >> From within bulbs you can create a vertex of type "MyV" by doing >> >> >> In [9]: data = {"@class":"MyV","ovgid":"test1", "element_type":"MyV"} >>> In [10]: v=g.vertices.create(data) >> >> >> >> On Tuesday, April 21, 2015 at 10:37:52 AM UTC-7, Kevin I wrote: >>> >>> @kyle, >>> >>> Sorry to get back so late. I can't quite wrap my head around this. From >>> what you've said and I understand from the docs and from fiddling with the >>> console, this is what I've understood: >>> >>> 1. In orientdb, all classes are identified with the `@CLASS` property >>> just like the classes in Bulbs are identified with `element_type` property. >>> 2. A Class cannot be changed in orientdb, once it is created. >>> >>> I have the following classes in Bulbs for example : >>> Student, Staff, Subject, Branch >>> >>> Now, I need to create lucene indexes for which I cannot use Bulbs. So, I >>> get into the Orientdb console. As you said, I tried creating the class >>> `Student` in orientdb too, like this: >>> >>> `create class Student extends V` >>> >>> But, still all the above 4 bulbs class type objects are shown as `V` >>> objects in orientdb. ie. the number of `Student` records in orientDB is 0. >>> >>> So, in short, what I want to do is to convert the `V` type records to >>> the `Student`, `Staff`, `Subject` and `Branch` type records in OrientDB, so >>> that I can create indices in Lucene for my search module. >>> >>> Also, I tried your command : >>> `select from MyV set element_name = "myv"` >>> but it throwed a syntax error. >>> >>> Thank you for your help so far. Looking ahead for your reply! >>> >>> On Wed, Apr 15, 2015 at 11:58 PM, <[email protected]> wrote: >>> >>>> <class-name> refers to classes defined in Orientdb. >>>> >>>> http://orientdb.com/docs/last/orientdb.wiki/Tutorial-Classes.html >>>> >>>> Useful default classes are "V" for vertices, and "E" for edges. >>>> >>>> You can define a new classes like: >>>> >>>> create class MyV extends V >>>> create class MyE extends E >>>> >>>> you can do >>>> >>>> create property V.element_name STRING >>>> select from MyV set element_name = "myv" >>>> >>>> (all above are osql console commands) >>>> to create an element name property, and populate all records of that >>>> class with a string representing that property (this relates to what I >>>> mentioned before about not seeing any way to access the "@class" field in >>>> bulbs). >>>> >>>> You can now create bulbs model classes that correspond to the classes >>>> in Orientdb itself. "element_name" is the default field name to associate >>>> graphdb records with bulbs python model classes, it can be changed if >>>> something else works better for you. >>>> >>>> >>>> On Tuesday, April 14, 2015 at 9:05:33 PM UTC-7, Kevin I wrote: >>>>> >>>>> Thank you very much ky...! I've installed pyorient. >>>>> >>>>> But now, what is this class name here : >>>>> >>>>> CREATE INDEX <name> ON <class-name> (prop-names) FULLTEXT ENGINE LUCENE >>>>> >>>>> >>>>> as found in this wiki here >>>>> <https://github.com/orientechnologies/orientdb-lucene/wiki/Full-Text-Index>? >>>>> I tried using the Bulbs model class name and obviously it didn't work. Do >>>>> I >>>>> have to define separate classes for this? If so, can you please show how >>>>> to >>>>> do it? >>>>> >>>>> Thanks! >>>>> >>>>> >>>>> On Wednesday, April 15, 2015 at 12:13:11 AM UTC+5:30, >>>>> [email protected] wrote: >>>>>> >>>>>> I'm pretty certain you can't create these fancy orientdb indices via >>>>>> bulbs. >>>>>> >>>>>> ---- >>>>>> This open issue is about adding support to directly talk to orientdb >>>>>> via the REST api. >>>>>> https://github.com/espeed/bulbs/issues/128 >>>>>> I'd very much like this feature! >>>>>> >>>>>> ---- >>>>>> you can use pyorient to talk to orientdb in python: >>>>>> https://github.com/mogui/pyorient >>>>>> >>>>>> ---- >>>>>> >>>>>> Additionally, there are serialization issues with custom orientdb >>>>>> stuff. >>>>>> >>>>>> e.g, a list of >>>>>> EMBEDDED SETS/LISTS get serialized as: >>>>>> u'kind': u'[tv_tv_program, film_film]' >>>>>> >>>>>> I've noticed DATE fields getting serialized as: >>>>>> u'modified': u'Wed Apr 01 15:58:46 PDT 2015', >>>>>> which can cause problems (e.g, schema violation when not turned back >>>>>> into date) when trying to save via bulbs >>>>>> >>>>>> LINKLIST/SET properties are serialized as >>>>>> u'cast': >>>>>> u'com.tinkerpop.blueprints.impls.orient.OrientElementIterable@3949de91 >>>>>> ', >>>>>> which is completely unworkable. The only workaround I know is >>>>>> judicious use of server side gremlin scripts. >>>>>> >>>>>> Bulbs doesn't seem to have access to the "@class" property so you >>>>>> can't know the class of a record without adding another field to record >>>>>> that, I think this is a problem at the rexster level though I am unsure. >>>>>> >>>>>> The date and embedded set/list problems can easily be fixed by >>>>>> subclassing the Property class in >>>>>> https://github.com/espeed/bulbs/blob/master/bulbs/property.py >>>>>> and creating custom conversion to/from python/orientdb. >>>>>> >>>>>> >>>>>> On Tuesday, April 14, 2015 at 8:33:15 AM UTC-7, Kevin I wrote: >>>>>>> >>>>>>> I just realized that I'm trying to interpret the SQL query with the >>>>>>> Gremlin interpreter. >>>>>>> >>>>>>> Still I don't know how to execute it. >>>>>>> >>>>>>> On Tuesday, April 14, 2015 at 9:01:17 PM UTC+5:30, Kevin I wrote: >>>>>>>> >>>>>>>> I have the Lucene index plugin installed and active. I just can't >>>>>>>> figure out how to create indices. I tried this: >>>>>>>> >>>>>>>> g.gremlin.execute('create index Student.name on Student (name) >>>>>>>> fulltext engine lucene') >>>>>>>> >>>>>>>> but it doesn't work. Returns the following error: >>>>>>>> >>>>>>>> SystemError: ({'status': '500', 'transfer-encoding': 'chunked', >>>>>>>> 'server': 'grizzly/2.2.16', 'connection': 'close', 'date': 'Tue, >>>>>>>> 14 Apr 2015 20:54:50 GMT', 'access-control-allow-origin': '*', >>>>>>>> 'content-type': 'application/json'}, >>>>>>>> '{"message":"","error":"javax.script.ScriptException: >>>>>>>> groovy.lang.MissingPropertyException: No such property: index for >>>>>>>> class: >>>>>>>> Script5","api":{"description":"evaluate an ad-hoc Gremlin script for a >>>>>>>> graph.","parameters":{"returnTotal":"when set to true, the full result >>>>>>>> set >>>>>>>> will be iterated and the results returned (default is >>>>>>>> false)","rexster.returnKeys":"an array of element property keys to >>>>>>>> return >>>>>>>> (default is to return all element >>>>>>>> properties)","rexster.showTypes":"displays the properties of the >>>>>>>> elements >>>>>>>> with their native data type (default is false)","load":"a list of >>>>>>>> \'stored >>>>>>>> procedures\' to execute prior to the \'script\' (if \'script\' is not >>>>>>>> specified then the last script in this argument will return the >>>>>>>> values","rexster.offset.end":"end index for a paged set of data to be >>>>>>>> returned","rexster.offset.start":"start index for a paged set of data >>>>>>>> to be >>>>>>>> returned","params":"a map of parameters to bind to the script >>>>>>>> engine","language":"the gremlin language flavor to use (default is >>>>>>>> groovy)","script":"the Gremlin script to be >>>>>>>> evaluated"}},"success":false}' >>>>>>>> ) >>>>>>>> >>>>>>>> What am I missing here? >>>>>>>> >>>>>>> -- >>>> >>>> --- >>>> 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/Oi34bWhARAU/unsubscribe >>>> . >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Always remember that the world around you is made by people that are no >>> smarter than you and me. >>> >> -- >> >> --- >> 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/Oi34bWhARAU/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Always remember that the world around you is made by people that are no > smarter than you and me. > -- Always remember that the world around you is made by people that are no smarter than you and me. -- --- 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.
