Hi Craig, > I am cc'ing the list with these answers, since I think there are questions > here others know much more about. I will answer all with what I know, or > think I know :-)
thanks :) >> 1) what can I put into the node? I see that the superclass proposes >> Property types. So I was wondering if blogs are completely out of >> question. > > You can put any java primitive, strings and arrays of primitives and > strings. Since anything can be serialized to byte[], you can store anything > you want really. But practically it is considered no-ideal to store very > large blobs or strings due to reduced performance. But my understanding is > that blogs are typically small enough to not be a problem for this. So just > store the blog contents as a string. Ok, in fact it shouldn't be a performance downgrade even with large blobs, right? It just depends on whether the queried part refers to an id or similar and that node then is simply connected to the blob. I.e. I extract the blob only when I am sure it is the wanted. Is that what you meant? >> 2) could neoclipse act like a kind query engine for udig? Or perhaps >> be easily adapted? I am wondering how an advanced user could browse >> the database. > > There are a lot of ways of browsing the database, especially for web user > interfaces. > See http://wiki.neo4j.org/content/Visualization_options_for_graphs > I have a modified and embedded version of neoclipse inside my AWE > application (see the online videos on youtube and vimeo). I use it to allow > advanced users to browse the database :-) Well, your users must be very advanced and I am not :) Neoclipe is really a very nice tool, but I tried to open a created timeline with it and it almost exploded, which is understandable. I am allowed to choose the depth, but am not allowed to choose what data to see. I can't say show me the data between 5 and 6 in the morning or whatever else. Or maybe am I missing something? Probably because of the database type the "old" way of having a look at the data is not possible any longer. But then which is the right way? Having a console and let Gremlin shine? [...] >> >> 4) Indexes in rdbm are done on a table basis and every new record gets >> inserted. Now you have to add the values to the index? It looks to me >> as if you index only what you want to, right? But while not indexing >> in an rdbm leads to slover results, in this case the result is >> missing? > > This is only due to there being two search API's. If you search using the > index, you get answers from the index. If you search using the graph you get > answers from the graph. Many questions are actually faster using the graph, > so you should not be too quick to use an index at all. In fact, dare I say > it, if you need an index perhaps you have not modeled the graph correctly > :-) > (having said that, I do use the index myself, but less often than the > graph). > In an RDBMS the normal, non-indexed search is extremely slow (brute force > search), and the index is a drop-in replacement for that. But in the graph, > the only brute force search would be a full database scan, which no-one sane > would do... Instead the graph search requires knowledge of the graph > structure, and therefor the search query can be complex, and by definition > completely different to an index search. So the graph search and index > search are far too different to be placed behind the same API. However, I > could imagine that some object db wrappers like neo4j.rb and jo4neo might be > able to do this, since they have influence over, and knowledge of, the graph > structure they create. Ok, I change my question. What do you do when you have two big types of data, one that does perfectly fit in the graph concept, and one the really doesn't have anything to do with it? I guess you put everything into the neo4j db and then query one with the graph traverser and the other one with the lucene indexer? My questions might seem a bit dummy, I apologize for that, I am trying to understand why and how I should make use of a graph database. [...] >> >> 7) Foreign keys. Do they always simply get Relationships? > > A foreign key is an rdbms concept. You could do it the rdbms way by storing > a property on one node that can be looked up in an index to get the other > node, but that would be like deliberately not using the graph. So it is > generally correct to model a 'foreign key' as a relationship. But perhaps > I'm not understanding what you mean by 'do they get relationships'? > (there is not, as far as I remember, any mention of the term 'foreign key' > in the neo4j docs, so perhaps you should give an example of what you mean) Sorry, this was a language glitch: do they get relationships == are they always modeled to relationships when migrating to a graph concept And your answer is what I expected. >> Well, that is it for a first round. If you find the time to answer this, >> thanks. > > Hope the answers helped. > Regards, Craig Thanks, Andrea _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user