Hi Roberto, I suggest you to use the ETL module: much more powerful and fast:
http://www.orientechnologies.com/docs/last/orientdb-etl.wiki/Import-from-DBMS.html Lvc@ ᐧ On 1 October 2014 17:56, Roberto Cornacchia <[email protected]> wrote: > Hi there, > > I'm trying to approach OrientDB, coming from relational background. > > I've already looked at this: > http://www.orientechnologies.com/docs/last/orientdb.wiki/Import-RDBMS-to-Graph-Model.html > > However, I'm not sure how I would do this when I start from a many-to-many > relationship. > > *Example (term-doc matrix as used in information retrieval - which term > occurs in which document)* > > -- all terms > CREATE TABLE term (id INTEGER, term STRING); > INSERT INTO term VALUES (0, 'OrientDB'); > INSERT INTO term VALUES (1, 'is'); > INSERT INTO term VALUES (2, 'cool'); > > -- all docs > CREATE TABLE doc (id INTEGER, title STRING); > INSERT INTO doc VALUES (10, 'manual'); > INSERT INTO doc VALUES (11, 'license'); > > -- many-to-many relations > CREATE TABLE term_doc (term_id INTEGER, doc_id INTEGER); > INSERT INTO term_doc VALUES (0, 10); > INSERT INTO term_doc VALUES (0, 11); > INSERT INTO term_doc VALUES (1, 10); > INSERT INTO term_doc VALUES (2, 10); > > *First question:* > With OrientDB, turning the term and the doc records into Vertex records is > easy. No problem there. > How could I take the content of term_doc and create the respective edges? > Can this be done in the OrientDB SQL console? > > > *Second question:*Supposing I have solved the first issue, and I want to > count how many times each term appears in each document. > In relational, this would be: > SELECT term_id, doc_id, count(*) > FROM term_doc > GROUP BY term,doc; > > Now, I suppose this is not how you would do it once you have modeled the > term-doc problem into a graph database. Also because when I tried to do run > this query against a simple import of term_doc, it was incredibly slow. > So, supposing I have real edges between term and doc, instead of the > explicit table term_doc, how could I obtain the count I mention above? > > Thanks! > Roberto > > -- > > --- > 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. > -- --- 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.
