If the point is to easily reconstruct geometry, then mimicking humans should mean using 3D imagery (same object seen from two eyes) to get a better idea of its shape. Wonder if that might some day become part of best practice in computer vision too.
It appears this is based on that cssselect library mentioned above, compiling CSS selectors to XPath. That is, performance should approximate XPath, while convenience should be higher.
> If CSS selectors needed only a few enhancements to compete with XPath
You may want to try ParslePy, it combines CSS/XPath functionality, allowing you to declaratively specify the selector paths in a JSON file.
I just made a PR to allow YAML over JSON, but not sure if Pip picked up on it yet.
What I find interesting about their sample data sets is the Social Graph one, which uses a model of data that afaik only the Chinese government would have access to: tying everything to a person's identity including where they've slept and how they've traveled.
They then demonstrate a sample query on this dataset, called 'connection mining', identifying people who have enough data in common with a given person.
Now, although the Datanami article does not particularly state the Beijing government as making use of TigerGraph's services, it does mention his clients as including 2 Chinese state-owned companies, State Grid and China Mobile.
Given it's been established his clientele includes Chinese state-owned companies and no-one but the Chinese government has the data described in this 'Social Graph' data set though, let's say this may have been made for Beijing. Sounds like they might be using this query to track dissidents by association.
Dunno if it's just me, but I read these Vue articles and all I see is a bunch of hypocrites with an identity crisis, criticizing React for fragmentation, Angular for having 'one Right Way'. So they're better than React for offering one Right Way, then they're better than Angular for offering fragmentation? I mean, jeez, pick one stance and stick with it.
Idris language encourages type-driven development, and can make guesses about holes in your program based on the types. I expect (and hope) we'll be seeing more of that in programming in the future. It's not a silver bullet, but should definitely help.
I tried typing functional programming library Ramda using TS, and got frustrated it still had some limitations (e.g. needing overload codegen in lieu of variadic support).
I tried finding what TS can do now, and figured out type-level tuple iteration, among a few others. The current roadblock seems to be getting function return types. Progress, for anyone interested:
https://github.com/Microsoft/TypeScript/issues/16392
At this point I'm amazed how close we are to typing anything, despite having only 5 (!) type-level operators, with their respective warts.
I'm reading the Idris book now, and one cool thing there is guessing bits of implementation based on the type declarations (there written before implementation).
I imagine in a visual environment, being able to make useful suggestions on potential ways to use/combine different nodes/types would help as well as an auto-complete for the user's intent.
I bring this up because I see you covered visualizing the steps, while they focused on showing the data (though after finishing a transformation the script could be generalized into a reusable function). I wonder if adding a dimension like that could be helpful for Luna as well.
If you target non-programmers, showing things as concrete as possible (e.g. their data transformed by whatever function they just pulled together) sounds like it might help make things even more accessible.
I'd be interested to ask, since this project identifies as distinguishing itself in terms of performance, would you have any benchmarks on how it fits in with some of its peers?
I saw it also supports both row-oriented and columnar modes. Does that mean this is meant both as a transactional and as an analytics-oriented database?
Would be interested to see this as well. Looks like TPC-DS would a big benchmark in SQL, though apparently aimed toward transaction processing... maybe more relevant when they add update/delete then.