okram
https://www.theregister.com/2021/02/23/apache_tinkerpop_spee...
Why would Amazon want the founder off the project? See the following presentation which interestingly enough, is no longer indexed by DuckDuckGo nor Google:
https://www.slideshare.net/slidarko/mmadt-a-virtual-machinea...
Tech is dead.
Mm-ADT: A Multi-Model Abstract Datatype
I recently gave a talk on mm-ADT at ApacheCon: https://www.slideshare.net/slidarko/mmadt-a-multimodel-abstr...
OWL was a foolish mistake. Triple is a clean and simple idea, but in practice -- reification and URI character hell becoming mind numbing. The RDF-guys did nail it with SPARQL. That is such a pretty query language. Simple, intuitive. I haven't studied the recent path expression advances. I should.
But yea, lots of ways of fugglin' with the data.
This behavior seems particular to the graph space (vs. document, wide-column, relational, key/value, etc.). While this speaks to the complexity of the type of problems you can solve with graphs, thinking back, I believe this was a cultural anomaly. When it was Neo4j, OrientDB, TinkerPop: the language trifurcation occurred.
I'm excited that Neo4j is continuing to take the query language seriously. In an age when software development is about making it easy for the 90% of developers out there with REST APIs, GraphQL, and overly SQL'd embeddings, ... graph is still searching for "that best way."
I, personally, have moved on from language-level. However, our new work is going to help my fellow data system colleagues get there languages exposed to as many developers as possible regardless of data model. It is important to me that people can come to respect the numerous ways in which we think about data and has the language we use is so important. The difference between living in Plato's Cave or not.
In an effort to support query languages in general, I'll be working on mm-ADT designing a new cluster-oriented virtual machine architecture for storage, processing, and query language developers. I see a veritable Tower of Babel on the horizon!
Congrats Neo4j on reaping the benefits of your hard work. I hope our work will converge in for a positive collaboration in 2020.
An Open Source Funding Solicitation (Apache TinkerPop4)
But yes, there is a lot of related work out there. Hopefully, my approach and introduced novelties can inspire in a way others have not.
At page 5, the stream ring is defined as a product of the coefficient ring and the function ring and from there, the notation gets heavy and there was little I could do. Hopefully by building confidence in the reader up to page 5, they would have the patience to forge ahead because the true nuggets of value are in the latter parts of the article.
Finally, to the "Captain" comment -- this article was written while in the Sea of Cortez aboard the S/V Red Herring: http://svredherring.com and https://twitter.com/SV_RedHerring.
The Future of Apache TinkerPop
(->> ($alice) (assoc $friends) (assoc $friends) (filter (> age 20)) (count))
...in Gremlin is: g.V(alice).out("friends").out("friends").has("age",gt(20)).count()http://thinkaurelius.com/2013/11/01/a-letter-regarding-nativ...
Some graph databases have direct references in-memory and thats great, but a poor organization on-disk and thats bad.
out("knows").aggregate("friends").out("knows").where(not(within("friends")))
OR out("knows").aggregate("friends").
out("knows").where(not(within("friends")))
Note the "." concatenation that ties the two lines together into a chain. When nesting parallel traversals (e.g. match()), the traversal patterns are delineated by ",". . = AND
, = OR
Ha. Thats a generally neat way to think of "." and "," in computing. mult and + ...the algebra.http://tinkerpop.incubator.apache.org/
The two big things:
1. Gremlin language is much cleaner and easier to use.
2. It supports OLTP graph databases (e.g. Titan/Neo4j/Stardog) and OLAP graph processors (e.g. Hadoop/Spark/Giraph).