cayleygraph / web Goto Github PK
View Code? Open in Web Editor NEWWeb interface for Cayley
Home Page: https://cayley-ui.netlify.com
Web interface for Cayley
Home Page: https://cayley-ui.netlify.com
When an operation fails an error message should appear.
cayleygraph/cayley#110
When there are too many results, the result panel cannot be scrolled with a mouse wheel when using Firefox (tested on 69.0.1 and 70.0b12). It works perfectly fine in Chrome. Scrolling with mouse by dragging the scroll bar works on FF as well.
Currently, UI saves your last query, which is good. However, it saves the query globally, regardless of the query language.
Instead, saved query should be bound to a query language, so changing the query language should load the last query in that language.
Not that it's different from #5 that allows saving arbitrary number of queries and is not bound to the query language.
Currently, you can only write data in nquads format in the UI. We should allow switching the format.
All available formats are exposed via /api/v2/formats
endpoint. Note the binary
field: it shouldn't be possible to write data in editor for the binary format.
Since the UI is now a separate project and requires a separate build process, we need to setup an automated build (in Travis CI) for all releases.
This will help embed the UI in Cayley as well: instead of hacking build scripts in Cayley to build UI, we can instead download an archive with the latest UI release, unpack and embed it directly.
Similar to a "Write" tab, we should allow dumping quads from a database.
It probably doesn't make sense to have a editor in this case - the dataset can be relatively large, so we should focus on saving the dump to a file instead (downloading it in the browser?).
The list of supported formats is exposed via /api/v2/formats
endpoint.
Also, given that this functionality is literally a button and a format switch, we should consider merging it with a "Write" tab. Call it "Data" maybe? Later we can allow uploading the dataset from a URL.
Allow saving queries
Currently, the query results panel doesn't expand to the full height when resizing a window.
The only way to write data in the new UI is the editor, which is a regression from the old UI.
Note that old UI used a Write API v1, which accepts only multipart requests. The new UI should use Write API v2 instead.
Datatypes are entities that represent atomic data types. They should have a special entity page.
A small thing, but the logo is missing in the new UI :)
The Query API allows to set a limit for a number of query results returned. We should probably allow setting it from the UI as well.
Clicking on the item in the result history should set the query and the language to the query editor.
Currently, the graph view ignores literal values. It should display them like IRIs.
Clicking "Run" when the "Query history" tab is selected should switch the tab back to the "Results" tab.
Display the time it took for the query to execute in the Query tab.
OWL Union of Classes are classes that represent the union of two classes. They are represented as an ID pointing to a list of classes.
In our previous experiment for the UI we added a cool dev-oriented feature: the "Write" and "Dump" views were showing how you can make the same request as the UI on your own.
For example, for "Read" we showed something like this:
GET /api/v2/read?format=nquads
It was written in a tiny grey font, so it wasn't too distracting, but gave a clue how you can achieve the same from other systems. I think this was a great way to emphasize that the focus of the project is on the application developers.
For the new UI, I think it doesn't make a lot of sense to add this grey text. Instead, we can add some kind of button that brings up this tip. In this case we will have more space for information and can add a curl
command that does the same request as well.
I think it makes sense to make the "Query Shape" view a tab in query results view, similar to #12.
The way it can be done is to add another button called "Explain" or "Profile" that will run this query shape request and switch to a "Visualize" tab automatically. Alternatively, the "Run" button can be switchable and show this option in a drop-down menu.
I think it will make it more familiar to users, since it's similar to how SQL does it.
I propose to make the "Visualize" view a tab in the query results. It's definitely more convenient and is a more standard way of doing it (see Neo4j and Dgraph UIs).
All the views with two panels currently place them vertically (two rows). This uses the screen space inefficiently on wide displays, especially for long queries and large number of query results.
I propose changing the layout of those panels to horizontal (two columns), at least for wide screens.
@iddan mentioned that the new UI was designed to resemble the BigQuery which done a lot of UX research and picked the vertical design.
I believe this is still not exactly a fair comparison: BigQuery operates on a tabular data, so seeing all column names is more important than seeing more results, thus vertical layout makes more sense.
However I think it's not true for Cayley: results are shown as JSON and are usually <10 levels deep, so the horizontal space is not used at all. Making the layout horizontal will address this issue.
Switching from "Query" to other main views clears the query results, which is very inconvenient when using Write/Visualize tabs extensively.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.