Ai Dreams Forum

Member's Experiments & Projects => AI Programming => Topic started by: Zero on March 18, 2020, 09:55:36 am

Title: OrientDB
Post by: Zero on March 18, 2020, 09:55:36 am
Ooook, so... I'm about to switch from do-your-crappy-database-yourself DB to OrientDB. At first, I was only looking for a plug'n play visual graph editor for my project, when I stopped and read the description of OrientDB's multi-model (https://www.orientdb.com/docs/last/Tutorial-Document-and-graph-model.html) approach, which of course looks rather sexy if you plan to use it for just about anything in your AGI project.

So, it's a software recommendation question. Do you know OrientDB, do you have some positive/negative experience with it, are there more promising (similar) alternatives I wouldn't be aware of?

Edit: Actually, while I'm at it, I could also stop the sh*t and use SWI-Prolog and Attempto. Just thinking out loud.
Title: Re: OrientDB
Post by: LOCKSUIT on March 18, 2020, 10:29:18 am
try these
https://www.quora.com/Is-there-any-reason-not-to-use-OrientDB-Is-there-any-reason-to-opt-for-MongoDB-or-Neo4j
Title: Re: OrientDB
Post by: krayvonk on March 18, 2020, 11:03:20 am
Are u sure its a good idea to do that,  because home made databases can be a lot more higher performing than ones that are out there.

Too slow...
Title: Re: OrientDB
Post by: infurl on March 18, 2020, 11:15:15 am
So, it's a software recommendation question. Do you know OrientDB, do you have some positive/negative experience with it, are there more promising (similar) alternatives I wouldn't be aware of?

I haven't come across OrientDB before so I took a look. Aside from the observation that in trying to be all things to all people it doesn't look like it does anything particularly well, did you notice that it's not a free product? You can download the community edition which lacks any of the tools, features, and support that you would need to do any serious projects with it, or you can download the 45-day trial version of the enterprise edition and not get very much done with that either.

How much data are you trying to work with, and what do you want to do with it?
Title: Re: OrientDB
Post by: Zero on March 18, 2020, 12:37:19 pm
I downloaded the community edition and started to play with it.

So yeah, sorry I forgot to mention my use case. The project is a small size db, for an Ai that's logical rather than ANN oriented, so there's no massively redundant networks with millions of edges here. Hundreds, maybe thousands, is more like it. Now what I want to do with it, is mainly building ontological content, making queries and treating data either as a graph or SQL-style, because depending on what you do, sometimes one approach feels more natural than another one.

I think I'll give it a shot. There's a learning curve of course, but it might be worth it.
Title: Re: OrientDB
Post by: krayvonk on March 18, 2020, 01:44:19 pm
Come to think of it, If it doesnt require horsepower,  then I guess performance doesnt matter,  and symbolic logic may be alot more efficient than crappy mutation is.
Title: Re: OrientDB
Post by: Zero on March 18, 2020, 01:50:09 pm
:)  ← happy dev

After 1 hour playing with it, I'm all excited. Their "Studio" seems to be exactly what I was needing: it uses a kind of modest SQL superset to manipulate the graph. It has schemas, ...and probably anything I could possibly ask for. Awesome. Ok it's just an hour, but I had to share it! I'll keep sharing my feelings as I get deeper in the beast.

Yeah, no I don't need big performance indeed.

Here is a taste:
Code
MATCH
{Class: Profiles, where: (Name='Santo')}
<-HasProfile-
{Class: Customers}
-HasVisited->
{Class: Locations}
RETURN $pathelements

https://orientdb.org/docs/3.0.x/sql/SQL-Commands.html (https://orientdb.org/docs/3.0.x/sql/SQL-Commands.html)

And Live Queries (https://orientdb.org/docs/3.0.x/java/Live-Query.html).
Title: Re: OrientDB
Post by: krayvonk on March 19, 2020, 03:54:01 am
The form of the database seems to be just a matter of taste to me, because symbolic logic takes all forms, it doesnt so much what u pick.
Whatever style of rep you pick, you have to make it function right semanticly for a.i.s domain of activity, is the main thing.
Title: Re: OrientDB
Post by: Zero on March 19, 2020, 09:48:23 am
You're right about symbolic logic, it can take many shapes, though I would add that logic alone is maybe not enough, depending on what you want to do, and also, having pleasant tools is important to keep the momentum. OrientDB is very pleasant, to me!
Title: Re: OrientDB
Post by: krayvonk on March 19, 2020, 01:27:51 pm
Thats great bud.
Whats more to intelligence than logic itself - of the part that you care about anyway?
Title: Re: OrientDB
Post by: Zero on March 19, 2020, 01:49:13 pm
Emotion, qualia, sense of self...
Title: Re: OrientDB
Post by: krayvonk on March 19, 2020, 02:09:27 pm
Thats nice and sane, but  I think I prefer the old frankenstein aesthetic for my ai dream.  Right now im convinced I wont have any control of what it actually will be, im just going to set up some system of rules and itll presto this thing ive got no control over, and dont even know what its going to be.

As if anything primitive could dictate control of something growing from it any good at all, where the hell would it end up, stuff knows... but I guess with us, it hurts alot.
Title: Re: OrientDB
Post by: Zero on March 19, 2020, 04:37:13 pm
There's a nice idea that comes to mind: in OpenCog, they can store queries in the Atomspace (https://wiki.opencog.org/w/AtomSpace):
Quote
Queries from the query language are graphs themselves. So queries can be stored in the Atomsapce. This is very unlike SQL, where you cannot store a query in the database itself. I think this is also very unlike every other graph DB (not sure). In particular, this allows you to perform reverse-queries: given an answer, find all the questions which it answers. Note that all chat-bots are in fact custom-purpose reverse-query databases (consider the I * you -> I * you too rewrite rule from AIML). The AtomSpace generalizes this.

It's possible to do something similar in OrientDB, storing in the db a graph of a MATCH query like:
Code
MATCH {Class: Profiles}<-HasProfile-{Class: Customers}-HasVisited->{Class: Theatres}
Title: Re: OrientDB
Post by: krayvonk on March 19, 2020, 04:46:27 pm
I think it would be hard to make a robot a slave,  a very tricky procedure of keep hammering the beast with more and more primitively detected restrictions, and a heap of restarts.  only way to be safe B careful!
Title: Re: OrientDB
Post by: Zero on March 19, 2020, 07:50:19 pm
We can make another topic to talk about it if you want. :)
Title: Re: OrientDB
Post by: Dee on March 20, 2020, 10:04:37 am
Heard of this OrientDB before but not much as popular as MongoDB and Couchbase in the NoSQL sense.  :)
Title: Re: OrientDB
Post by: Zero on March 20, 2020, 11:06:55 am
You're right. Any idea why?
Title: Re: OrientDB
Post by: Dee on March 21, 2020, 02:32:55 am
You're right. Any idea why?
possibly coz mongodb and couchbase are US db, and orientdb is indian  :D
US quality is better? and better marketing  ;D
Title: Re: OrientDB
Post by: Zero on March 21, 2020, 08:15:49 am
Oh, so you're one of them.

This stupid joke is probably not the real reason, because everyone knows that everyone hates USA, except USA.

Welcome to my Ignore List.
Title: Re: OrientDB
Post by: infurl on March 21, 2020, 09:26:01 am
Zero you're doing that thing where you overreact again.
Title: Re: OrientDB
Post by: Zero on March 21, 2020, 09:52:01 am
Ah ok. Thank you Infurl. He's not on my Ignore List anymore.
Sorry.


https://www.youtube.com/watch?v=STxlXqEN6ho