Discussion:
[orientdb] OrientDB sql query involving multiple classes
Ersin Sevinc
2018-03-03 18:57:50 UTC
Permalink
Hi there, m new at orient db trying to figure out something about relations
,
In this code Line => create edge owns from (select from Person where name =
'Matt') to (select from Car where model = 'Ferrari')
We have edge between record to record. Its fine for few records. But what
will happen if i ve millions of data ? Should i create edge from backend
for every new record?
Or can i just link the Property Fields like => create edge owns from
Person.Name to Car.model ??

I want to know that is there any possible way for relation database like
MSSQL , you know in ms sql , we can create PK and FK between Fields , with
that way we do not need to create relations for every new record.

Here another question -> select car.model person.name from car, person
Where .............................. I think i can not use 2 different
class after FROM m i right ?
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"
Hi group,
I have below schema with three classes
orientdb {demo1}> select from Person
----+-----+-----+------+--------+---------
----+-----+-----+------+--------+---------
0 |#11:0|Matt |M |#12:0 |#13:0
1 |#11:1|Helen|F |#12:1 |#13:1
----+-----+-----+------+--------+---------
orientdb {demo1}> select from Car
----+-----+-------+-------
----+-----+-------+-------
0 |#12:0|Ferrari|#11:0
1 |#12:1|BMW |#11:1
----+-----+-------+-------
orientdb {demo1}> select from Movie
----+-----+--------------+--------
----+-----+--------------+--------
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
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
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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luigi Dell'Aquila
2018-03-05 09:21:34 UTC
Permalink
Hi Ersin,

There is no SQL statement to do this, but you can use Teleporter (included
in OrientDB Studio) to do a full import from SQL to a pure graph.

About multiple classes as target in a query, you cannot do it that way,
what you probably need is MATCH
https://orientdb.com/docs/3.0.x/sql/SQL-Match.html

Thanks

Luigi
Post by Ersin Sevinc
Hi there, m new at orient db trying to figure out something about
relations ,
In this code Line => create edge owns from (select from Person where name
= 'Matt') to (select from Car where model = 'Ferrari')
We have edge between record to record. Its fine for few records. But what
will happen if i ve millions of data ? Should i create edge from backend
for every new record?
Or can i just link the Property Fields like => create edge owns from
Person.Name to Car.model ??
I want to know that is there any possible way for relation database like
MSSQL , you know in ms sql , we can create PK and FK between Fields , with
that way we do not need to create relations for every new record.
Here another question -> select car.model person.name from car, person
Where .............................. I think i can not use 2 different
class after FROM m i right ?
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"
Hi group,
I have below schema with three classes
orientdb {demo1}> select from Person
----+-----+-----+------+--------+---------
----+-----+-----+------+--------+---------
0 |#11:0|Matt |M |#12:0 |#13:0
1 |#11:1|Helen|F |#12:1 |#13:1
----+-----+-----+------+--------+---------
orientdb {demo1}> select from Car
----+-----+-------+-------
----+-----+-------+-------
0 |#12:0|Ferrari|#11:0
1 |#12:1|BMW |#11:1
----+-----+-------+-------
orientdb {demo1}> select from Movie
----+-----+--------------+--------
----+-----+--------------+--------
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
class','Person').has('gender','M').as('x').out('likes').has(
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
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
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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Ersin Sevinc
2018-03-25 10:48:39 UTC
Permalink
Thanks alot Luigi. You guys are really helping all developers. But i' ve an
extra question for you :/

We have some problems about OrientObject is not Json serializable Error.

Let me explain our code in simple way. We have
Customers,Admins(Company),Product,Personel classes and CRUD for all of
them in back end (Python).

HERE IS MY VERTEX

createPersonel = configDb.client.command("create vertex PersonelInformation set Adress ='" + adress
+ "',""CitizenId='" + citizenId + "',CompanyCode='" + companyCode
+ "',""Email='" + email + "',Name='" + name + "', Surname='" + surname
+ "',Phone=" + phone)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

HERE IS MY EDGE

createRelation = configDb.client.command("create edge PersonelRelation from " + personelRid + " to " + companyRid + "' ")
-------------------------------------------------------------------------------

SELECT QUERY FOR ALL INFORMATIONS IN CLASS

all = []
data = configDb.client.command("select * from PersonelInformation")
for i in range(0, len(data)):
all.append(data[i].oRecordData)
return json.dumps(all)



-------------------------------------------------------------------------------------------------------------------------

Everything is fine except select query, I can not see the relationship.
When there is a relation in some records , after execute the query i get
this error .

[2018-03-25 13:24:49,575] ERROR in app: Exception on /personelInfo/getAll
[GET]
Traceback (most recent call last):
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1982, in wsgi_app
response = self.full_dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\_compat.py",
line 33, in reraise
raise value
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1612, in full_dispatch_request
rv = self.dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:/Outputs/pyCharm/rms\Middleware\Decator.py", line 16, in
decorated_function
return f(*args, **kwargs)
File "D:/Outputs/pyCharm/rms\Resources\PersonelinformationResource.py",
line 105, in GetAll
return re
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py", line
123, in dumps
rv = _json.dumps(obj, **kwargs)
File "D:\Program Files\Python36\Lib\json\_init_.py", line 238, in dumps
**kw).encode(obj)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 257, in
iterencode
return _iterencode(o, 0)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py", line
80, in default
return _json.JSONEncoder.default(self, o)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 180, in default
o._class.name_)
TypeError: Object of type 'OrientBinaryObject' is not JSON serializable
127.0.0.1 - - [25/Mar/2018 13:24:49] "GET /personelInfo/getAll HTTP/1.1"
500 -

---------------------------------------------------------------------------------------------------------------------------------------------------------------
IN THE OTHER HAND, When i delete records with relations , My Select query
works fine. I can see all records without relation.
But my main goal is getting companyCode when i query on PersonelInformation
vertex.


Also i tried This.

-select adress from user where = out('PersonelRelation')[0].name = "orient"

------------------------------------------------------------------------------------------------------------------------------------

OUT comes like this.
b64:'AQAAAAEAggAAAAAAAAAA'

IN SHORT my main problem is when i connect the Company And Personel
Classes, i want to see Company class informations over personelInformation
Query. But i dont want to restrict my query like , select from where rid =
37
i just want to get company information wihtout giving any company
information in Personel Query. Just want to get informations about Company
in Back end and want to read them. Its not important after a query like =
select from personel where CompanyCode "abc"


Really Thanks alot from now
Looking for your answer


Regards,
Ersin
Post by Luigi Dell'Aquila
Hi Ersin,
There is no SQL statement to do this, but you can use Teleporter (included
in OrientDB Studio) to do a full import from SQL to a pure graph.
About multiple classes as target in a query, you cannot do it that way,
what you probably need is MATCH
https://orientdb.com/docs/3.0.x/sql/SQL-Match.html
Thanks
Luigi
Post by Ersin Sevinc
Hi there, m new at orient db trying to figure out something about
relations ,
In this code Line => create edge owns from (select from Person where name
= 'Matt') to (select from Car where model = 'Ferrari')
We have edge between record to record. Its fine for few records. But what
will happen if i ve millions of data ? Should i create edge from backend
for every new record?
Or can i just link the Property Fields like => create edge owns from
Person.Name to Car.model ??
I want to know that is there any possible way for relation database like
MSSQL , you know in ms sql , we can create PK and FK between Fields , with
that way we do not need to create relations for every new record.
Here another question -> select car.model person.name from car, person
Where .............................. I think i can not use 2 different
class after FROM m i right ?
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"
Hi group,
I have below schema with three classes
orientdb {demo1}> select from Person
----+-----+-----+------+--------+---------
----+-----+-----+------+--------+---------
0 |#11:0|Matt |M |#12:0 |#13:0
1 |#11:1|Helen|F |#12:1 |#13:1
----+-----+-----+------+--------+---------
orientdb {demo1}> select from Car
----+-----+-------+-------
----+-----+-------+-------
0 |#12:0|Ferrari|#11:0
1 |#12:1|BMW |#11:1
----+-----+-------+-------
orientdb {demo1}> select from Movie
----+-----+--------------+--------
----+-----+--------------+--------
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
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
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
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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luigi Dell'Aquila
2018-03-28 07:33:39 UTC
Permalink
Hi Ersin,

The problem seems to be in the python driver, did you try to run the
queries in Studio and see if they work fine?

If you are using OrientDB v 3.0 RC you can write a query as follows:

MATCH
{class:Company, as:company} <-PersonnelRelation- {as:person}
RETURN company:{*}, person:{*}

This is kind of an inner join based on PersonnelRelation. You can also add
WHERE conditions to the pattern to filter the result, see
http://orientdb.com/docs/3.0.x/sql/SQL-Match.html

Thanks

Luigi
Post by Ersin Sevinc
Thanks alot Luigi. You guys are really helping all developers. But i' ve
an extra question for you :/
We have some problems about OrientObject is not Json serializable Error.
Let me explain our code in simple way. We have Customers,Admins(Company),Product,Personel
classes and CRUD for all of them in back end (Python).
HERE IS MY VERTEX
createPersonel = configDb.client.command("create vertex PersonelInformation set Adress ='" + adress
+ "',""CitizenId='" + citizenId + "',CompanyCode='" + companyCode
+ "',""Email='" + email + "',Name='" + name + "', Surname='" + surname
+ "',Phone=" + phone)
------------------------------------------------------------
------------------------------------------------------------
----------------------------------------------------
HERE IS MY EDGE
createRelation = configDb.client.command("create edge PersonelRelation from " + personelRid + " to " + companyRid + "' ")
-------------------------------------------------------------------------------
SELECT QUERY FOR ALL INFORMATIONS IN CLASS
all = []
data = configDb.client.command("select * from PersonelInformation")
all.append(data[i].oRecordData)
return json.dumps(all)
------------------------------------------------------------
-------------------------------------------------------------
Everything is fine except select query, I can not see the relationship.
When there is a relation in some records , after execute the query i get
this error .
[2018-03-25 13:24:49,575] ERROR in app: Exception on /personelInfo/getAll
[GET]
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1982, in wsgi_app
response = self.full_dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\_compat.py",
line 33, in reraise
raise value
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1612, in full_dispatch_request
rv = self.dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:/Outputs/pyCharm/rms\Middleware\Decator.py", line 16, in
decorated_function
return f(*args, **kwargs)
File "D:/Outputs/pyCharm/rms\Resources\PersonelinformationResource.py",
line 105, in GetAll
return re
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py",
line 123, in dumps
rv = _json.dumps(obj, **kwargs)
File "D:\Program Files\Python36\Lib\json\_init_.py", line 238, in dumps
**kw).encode(obj)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 257, in
iterencode
return _iterencode(o, 0)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py",
line 80, in default
return _json.JSONEncoder.default(self, o)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 180, in default
o._class.name_)
TypeError: Object of type 'OrientBinaryObject' is not JSON serializable
127.0.0.1 - - [25/Mar/2018 13:24:49] "GET /personelInfo/getAll HTTP/1.1"
500 -
------------------------------------------------------------
------------------------------------------------------------
---------------------------------------
IN THE OTHER HAND, When i delete records with relations , My Select query
works fine. I can see all records without relation.
But my main goal is getting companyCode when i query on
PersonelInformation vertex.
Also i tried This.
-select adress from user where = out('PersonelRelation')[0].name = "orient"
------------------------------------------------------------
------------------------------------------------------------------------
OUT comes like this.
b64:'AQAAAAEAggAAAAAAAAAA'
IN SHORT my main problem is when i connect the Company And Personel
Classes, i want to see Company class informations over personelInformation
Query. But i dont want to restrict my query like , select from where rid =
37
i just want to get company information wihtout giving any company
information in Personel Query. Just want to get informations about Company
in Back end and want to read them. Its not important after a query like =
select from personel where CompanyCode "abc"
Really Thanks alot from now
Looking for your answer
Regards,
Ersin
Post by Luigi Dell'Aquila
Hi Ersin,
There is no SQL statement to do this, but you can use Teleporter
(included in OrientDB Studio) to do a full import from SQL to a pure graph.
About multiple classes as target in a query, you cannot do it that way,
what you probably need is MATCH https://orientdb.com/docs/3.0.
x/sql/SQL-Match.html
Thanks
Luigi
Post by Ersin Sevinc
Hi there, m new at orient db trying to figure out something about
relations ,
In this code Line => create edge owns from (select from Person where
name = 'Matt') to (select from Car where model = 'Ferrari')
We have edge between record to record. Its fine for few records. But
what will happen if i ve millions of data ? Should i create edge from
backend for every new record?
Or can i just link the Property Fields like => create edge owns from
Person.Name to Car.model ??
I want to know that is there any possible way for relation database like
MSSQL , you know in ms sql , we can create PK and FK between Fields , with
that way we do not need to create relations for every new record.
Here another question -> select car.model person.name from car, person
Where .............................. I think i can not use 2
different class after FROM m i right ?
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"
Hi group,
I have below schema with three classes
orientdb {demo1}> select from Person
----+-----+-----+------+--------+---------
----+-----+-----+------+--------+---------
0 |#11:0|Matt |M |#12:0 |#13:0
1 |#11:1|Helen|F |#12:1 |#13:1
----+-----+-----+------+--------+---------
orientdb {demo1}> select from Car
----+-----+-------+-------
----+-----+-------+-------
0 |#12:0|Ferrari|#11:0
1 |#12:1|BMW |#11:1
----+-----+-------+-------
orientdb {demo1}> select from Movie
----+-----+--------------+--------
----+-----+--------------+--------
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
class','Person').has('gender','M').as('x').out('likes').has(
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
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
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
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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Ersin Sevinc
2018-03-28 12:35:44 UTC
Permalink
Yeahh!! it worked. Really thanks about that.

"databasename": {
"mapping": {
"fromTable": "source table",
"fromColumns": ["source field"],
"toTable": "destination table",
"toColumns": ["destination table"],
"direction": "direct"
}

}

Also i found this on the internet about mapping or creating relation , but
i couldn't find anything about it in documentation. M i missing something?
Or what is the topic name of this code line? Or simply is this code line
true?

Regards
Ersin
Post by Luigi Dell'Aquila
Hi Ersin,
The problem seems to be in the python driver, did you try to run the
queries in Studio and see if they work fine?
MATCH
{class:Company, as:company} <-PersonnelRelation- {as:person}
RETURN company:{*}, person:{*}
This is kind of an inner join based on PersonnelRelation. You can also
add WHERE conditions to the pattern to filter the result, see
http://orientdb.com/docs/3.0.x/sql/SQL-Match.html
Thanks
Luigi
Post by Ersin Sevinc
Thanks alot Luigi. You guys are really helping all developers. But i' ve
an extra question for you :/
We have some problems about OrientObject is not Json serializable Error.
Let me explain our code in simple way. We have
Customers,Admins(Company),Product,Personel classes and CRUD for all of
them in back end (Python).
HERE IS MY VERTEX
createPersonel = configDb.client.command("create vertex PersonelInformation set Adress ='" + adress
+ "',""CitizenId='" + citizenId + "',CompanyCode='" + companyCode
+ "',""Email='" + email + "',Name='" + name + "', Surname='" + surname
+ "',Phone=" + phone)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HERE IS MY EDGE
createRelation = configDb.client.command("create edge PersonelRelation from " + personelRid + " to " + companyRid + "' ")
-------------------------------------------------------------------------------
SELECT QUERY FOR ALL INFORMATIONS IN CLASS
all = []
data = configDb.client.command("select * from PersonelInformation")
all.append(data[i].oRecordData)
return json.dumps(all)
-------------------------------------------------------------------------------------------------------------------------
Everything is fine except select query, I can not see the relationship.
When there is a relation in some records , after execute the query i get
this error .
[2018-03-25 13:24:49,575] ERROR in app: Exception on /personelInfo/getAll
[GET]
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1982, in wsgi_app
response = self.full_dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\_compat.py",
line 33, in reraise
raise value
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1612, in full_dispatch_request
rv = self.dispatch_request()
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\app.py", line
1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:/Outputs/pyCharm/rms\Middleware\Decator.py", line 16, in
decorated_function
return f(*args, **kwargs)
File "D:/Outputs/pyCharm/rms\Resources\PersonelinformationResource.py",
line 105, in GetAll
return re
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py",
line 123, in dumps
rv = _json.dumps(obj, **kwargs)
File "D:\Program Files\Python36\Lib\json\_init_.py", line 238, in dumps
**kw).encode(obj)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 257, in
iterencode
return _iterencode(o, 0)
File "D:\Outputs\pyCharm\rms\venv\lib\site-packages\flask\json.py",
line 80, in default
return _json.JSONEncoder.default(self, o)
File "D:\Program Files\Python36\Lib\json\encoder.py", line 180, in default
o._class.name_)
TypeError: Object of type 'OrientBinaryObject' is not JSON serializable
127.0.0.1 - - [25/Mar/2018 13:24:49] "GET /personelInfo/getAll HTTP/1.1"
500 -
---------------------------------------------------------------------------------------------------------------------------------------------------------------
IN THE OTHER HAND, When i delete records with relations , My Select query
works fine. I can see all records without relation.
But my main goal is getting companyCode when i query on
PersonelInformation vertex.
Also i tried This.
-select adress from user where = out('PersonelRelation')[0].name = "orient"
------------------------------------------------------------------------------------------------------------------------------------
OUT comes like this.
b64:'AQAAAAEAggAAAAAAAAAA'
IN SHORT my main problem is when i connect the Company And Personel
Classes, i want to see Company class informations over personelInformation
Query. But i dont want to restrict my query like , select from where rid =
37
i just want to get company information wihtout giving any company
information in Personel Query. Just want to get informations about Company
in Back end and want to read them. Its not important after a query like =
select from personel where CompanyCode "abc"
Really Thanks alot from now
Looking for your answer
Regards,
Ersin
Post by Luigi Dell'Aquila
Hi Ersin,
There is no SQL statement to do this, but you can use Teleporter
(included in OrientDB Studio) to do a full import from SQL to a pure graph.
About multiple classes as target in a query, you cannot do it that way,
what you probably need is MATCH
https://orientdb.com/docs/3.0.x/sql/SQL-Match.html
Thanks
Luigi
Post by Ersin Sevinc
Hi there, m new at orient db trying to figure out something about
relations ,
In this code Line => create edge owns from (select from Person where
name = 'Matt') to (select from Car where model = 'Ferrari')
We have edge between record to record. Its fine for few records. But
what will happen if i ve millions of data ? Should i create edge from
backend for every new record?
Or can i just link the Property Fields like => create edge owns from
Person.Name to Car.model ??
I want to know that is there any possible way for relation database
like MSSQL , you know in ms sql , we can create PK and FK between Fields ,
with that way we do not need to create relations for every new record.
Here another question -> select car.model person.name from car, person
Where .............................. I think i can not use 2 different
class after FROM m i right ?
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"
Hi group,
I have below schema with three classes
orientdb {demo1}> select from Person
----+-----+-----+------+--------+---------
----+-----+-----+------+--------+---------
0 |#11:0|Matt |M |#12:0 |#13:0
1 |#11:1|Helen|F |#12:1 |#13:1
----+-----+-----+------+--------+---------
orientdb {demo1}> select from Car
----+-----+-------+-------
----+-----+-------+-------
0 |#12:0|Ferrari|#11:0
1 |#12:1|BMW |#11:1
----+-----+-------+-------
orientdb {demo1}> select from Movie
----+-----+--------------+--------
----+-----+--------------+--------
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
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,
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
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
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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...