Danish Barry
Danish Barry

Reputation: 56

Relations with Orientdb

I have 2 classes, 1 is for medicines and other one is for monthly transactions.

Structure for medicines:

Create class Medicines extends V
Create property Medicines.medicine_id integer
Create property Medicines.medicine_Brand integer
Create property Medicines.medicine_Code String 

Structure for Monthly Transctions:

Create class Transactions extends V
Create property Transactions.transaction_id integer
Create property Transactions.transaction_Date Date
Create property Transactions. transaction _medicine_id Integer 

Now here, I want create relation (1:n) that comesFrom "Transactions.transaction _medicine_id" to "Medicines.medicine_id" . Incase of RDBMS, I would create a relation between “Transactions. transaction _medicine_id” AND “Medicines.medicine_id” but in graph databases we cannot create relations between fields, so how should I create dynamic relation (1:n) between these fields.

Medicines:

----+-----+---------+-----------+-------------
#   |@RID |@CLASS   |medicine_id|medicine_Code
----+-----+---------+-----------+-------------
0   |#15:0|Medicines|1          |abc
1   |#15:1|Medicines|2          |xyz
----+-----+---------+-----------+-------------

Transaction:

----+-----+------------+--------------+-------------------+-----------------------
    # |@RID |@CLASS      |transaction_id|transaction_Date |transaction_medicine_id
    ----+-----+------------+--------------+-------------------+-----------------------
    0 |#16:0|Transactions|1             |2016-01-12 00:00:00|1
    1 |#16:1|Transactions|2             |2016-01-12 00:00:00|2
    ----+-----+------------+--------------+-------------------+---------------------
    --

What I want is an output like

----+-----+------------+--------------+-------------------+-----------------------
#   |@RID |@CLASS      |transaction_id|transaction_Date |transaction_medicine_Code|
----+-----+------------+--------------+-------------------+-----------------------
0   |#16:0|Transactions|1             |2016-01-12 00:00:00|abc
1   |#16:1|Transactions|2             |2016-01-12 00:00:00|xyz
----+-----+------------+--------------+-------------------+---------------------

Upvotes: 1

Views: 96

Answers (1)

Michela Bonizzi
Michela Bonizzi

Reputation: 2632

Using your schema I add this commands to helping you to achive your goal:

create class link extends E

create edge link from <transactions @rid> to <medicine @rid>
create edge link from <transactions @rid> to <medicine @rid>

select transaction_id,transaction_Date,out('link').medicine_Code as transaction_medicine_Code from Transactions unwind transaction_medicine_Code

Hope it helps.

Upvotes: 1

Related Questions