Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1.  
  2. // Schema
  3. schema = db.getMetadata().getSchema();
  4. person = schema.createClass("Person");
  5. person.createProperty("name", OType.STRING);
  6. person.createProperty("age", OType.INTEGER);
  7. person.createProperty("tags", OType.EMBEDDEDLIST, OType.STRING);
  8.  
  9. // Luke
  10. ODocument luke = new ODocument(db, "Person");
  11. luke.field("name", "Luke");
  12. luke.field("age", 36);
  13. HashSet<String> lukeTags = new HashSet();
  14. lukeTags.add("jedi");
  15. lukeTags.add("cool");
  16. luke.field("tags", lukeTags);
  17. luke.save();
  18.  
  19. // Yoda
  20. ODocument yoda = new ODocument(db, "Person");
  21. yoda.field("name", "Yoda");
  22. yoda.field("age", 1435);
  23. HashSet<String> yoda_tags = new HashSet();
  24. yoda_tags.add("jedi");
  25. yoda_tags.add("short");
  26. yoda.field("tags", yoda_tags);
  27. yoda.save();
  28.  
  29. // Leia
  30. ODocument leia = new ODocument(db, "Person");
  31. leia.field("name", "Leia");
  32. leia.field("age", 34);
  33. HashSet<String> leia_tags = new HashSet();
  34. leia_tags.add("cool");
  35. leia_tags.add("princess");
  36. leia.field("tags", leia_tags);
  37. leia.save();
  38.  
  39. // Han
  40. ODocument han = new ODocument(db, "Person");
  41. han.field("name", "Leia");
  42. han.field("age", 38);
  43. HashSet<String> han_tags = new HashSet();
  44. han_tags.add("cool");
  45. han_tags.add("fighter");
  46. han.field("tags", han_tags);
  47. han.save();
  48.  
  49. // Chewbaca
  50. ODocument chewb = new ODocument(db, "Person");
  51. chewb.field("name", "Chewbaca");
  52. chewb.field("age", 45);
  53. HashSet<String> chewb_tags = new HashSet();
  54. chewb_tags.add("hairy");
  55. chewb_tags.add("fighter");
  56. chewb.field("tags", chewb_tags);
  57. chewb.save();
  58.  
  59. // Get all fighters
  60. String qry2str = "SELECT * FROM person WHERE 'fighter' IN tags";
  61. OSQLSynchQuery<ODocument> qry2 = new OSQLSynchQuery<ODocument>(qry2str);
  62. List<ODocument> res2 = db.query(qry2);
  63. // Wrong, returns 2
  64. // Person@5:3{tags:[2],name:Leia,age:38}
  65. // Person@5:4{tags:[2],name:Chewbaca,age:45}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement