|
Quote: there are some after effects That's what puts me off - along with being charged a ridiculous price for something that is mostly bones covered in a sauce that is mostly sugar - and then suffering the aforementioned "After effects"!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Don't get the habanero sauce!!! Try something a little less, er, hot and you should be ok. I love the hot stuff - it doesn't always reciprocate!
|
|
|
|
|
|
The food's OK, but the eating tools are tucked away in places you'll never find them, and the help is useless.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
"8200 becquerel per kilo of the radioactive substance Caesium-137 was measured in reindeer"[^]
« There is only one difference between a madman and me. The madman thinks he is sane. I know I am mad. » Salvador Dali
|
|
|
|
|
Yeah, that is very scary news. Of course, humans are eating these grazing animals.
|
|
|
|
|
|
"- Rick, in case a positroni...eeer something hits the detector, should m_nPositron be incremented by two or one ?"
"-Mmmhh, I think they said two. Or was that that the tolerance for m_iOrbitalRange? Not sure anymore. Make it two and flag it tbd, we'll fix it later in the code review".
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
I think they just found Data's brain.
Marc
|
|
|
|
|
I've been looking at graph database technology and was wondering if anyone here had any concrete experience with Neo4j[^].
A specific question that I have is that it seems that graph databases (though maybe it's specific to Neo4j) are "fact" oriented -- in other words, nodes are typically concrete facts.
What I'm looking for is a graph database that supports abstract concepts, and this manifests as a node with no properties, only connections. Why do I want this? Because I am looking at how to persist the structure (semantics) of the data as well the data itself. As far as I can tell, there is no such thing as a "semantic database" - basically, a merging of a relational database, semantics, and graphs.
Thanks in advance!
Marc
|
|
|
|
|
Would a standard Document DB e.g. Mongo not fit the bill? ie. each document is the node and contained within would be an array of connections.
|
|
|
|
|
DaveAuld wrote: Would a standard Document DB e.g. Mongo not fit the bill?
I've pretty much dismissed NoSQL DB's because documents are not relational. Yes, you can put "reference id's" into them, but this requires that the client resolve the reference, which results in additional round trips to the server. What I want to do is query the semantic structure at any level (including the abstract levels) and have it return the properties of the entire structure. Additionally, I'd like to be able to create queries that represent a join -- two or more structures that share common sub-structures. Again, this would require lots of round trips in a NoSQL DB, whereas I'd much rather like the query to be resolved by the DB itself.
I have a working prototype of what I want implemented on top of a SQL database, generating the joins through schema inspection, but it seems like this is what a graph database should be able to do more elegantly (it would still require generating the query of course), so I'm concerned about not just re-inventing the wheel, but that there are better and more optimized solutions out there already that I could use.
Regardless, whichever way the wind blows, this is the next article I'm working on.
Marc
|
|
|
|
|
What kind of graph, and what kind of queries? Why are semantics involved in this? You made it sound complicated, except
Marc Clifton wrote: this manifests as a node with no properties, only connections Ok that sounds pretty bare-bones, my favourite kind of graph, no-nonsense, just the graph.
Here's a completely off-the-charts nuts idea (or at least that's what people keep telling me about this) - roll your own.
There's no learning curve, there's no "fighting with stupid configs", no mismatch between what you want and what it does, it supports all the features you want because you put them in there. Win all around. Should also be interesting to read about, or maybe even re-use.
|
|
|
|
|
harold aptroot wrote: roll your own.
I'm essentially doing that right now, on top of a relational database. However, if I can discern a real benefit (or issue) with a graph database, that would be good to know. It seems possible to do with Neo4j, I just need to take a couple hours and play with it.
harold aptroot wrote: There's no learning curve, there's no "fighting with stupid configs", no mismatch between what you want and what it does, it supports all the features you want because you put them in there. Win all around. Should also be interesting to read about, or maybe even re-use.
The funny thing is, what I'm doing could be done with a traditional RDBMS as long as it has good FK constraints built into the schema. And while there is no learning curve with "roll your own", there can be one heck of a development/testing curve!
Marc
|
|
|
|
|
|
|
If you try it out, I'd like to know what you think about it. I'm probably going to take a close look at it, but it's always nice to have a second opinion
Espen Harlinn
Chief Architect - Powel AS
Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra
|
|
|
|
|
I've never heard of such a monster.
You may end up creating this engine yourself. Nothing like being an inventor and starting a company around this. Make some cash!
|
|
|
|
|
XML and LINQ maybe?
"Go forth into the source" - Neal Morse
|
|
|
|
|
kmoorevs wrote: XML and LINQ maybe?
Hmmm, not really what I have in mind. That would end up looking a lot like a NoSQL database then.
Marc
|
|
|
|
|
If I remember my math correctly, you can have a graph that has null edge, but not null vertice.
So if neo4j is done correctly, you can't do it. Depending on your definition of correctly.
And as for there not being any semantic databases, did you really search? Maybe I'm misunderstanding your perception of semantic database, but there seems to be several out there.
Amongst others, Oracle supports semantic modeling (and graphs and ontologies) as features of Oracle spatial[^], if you can afford it.
BTW there's a .Net version called Neo4net if you don't want to get dirty with Java.
|
|
|
|
|
Jörgen Andersson wrote: but not null vertice.
I would still have vertices, it's just that some nodes are abstract (like abstract classes) and require a "is a kind of" relationship to another node, perhaps abstract, perhaps with some concrete properties.
Jörgen Andersson wrote: as features of Oracle spatial[^], if you can afford it.
I'm staying away from RDF and OWL as it's silly complex for structures that are more (and different) than just subject-predicate-object triples. This actually excludes a lot of graph databases, as about 50% of them seem to be tailored to working with RDF triples (there's a long long list on wikipedia, I'm of course also looking for something that hopefully works painlessly with .NET.)
Marc
|
|
|
|
|
Did you look at orientdb... it seems to be a mix between a document db and a graph db and a relational db
|
|
|
|
|
Member 3752561 wrote: Did you look at orientdb... it seems to be a mix between a document db and a graph db and a relational db
No, I hadn't. Thanks for providing the link. I'm impressed with their clean documentation and simple SQL-like query language. Much easier to understand than Neo4j's syntax!
Marc
|
|
|
|
|
i think the biggest problem for this style of project (orientdb, neo4j, mongodb etc) is the fact that client are develop and maintain by external developper (now mongodb have internal dev for each port of client and that s a very cool thing)
if you look at the binary client for orientdb in .net, the last release is 2 years ago .... I think if you choose oriendb , you must do your own client.
|
|
|
|