Features
Official Apps
Here is the list of types of Document you can create in NextGraph, and their corresponding Viewers and Editors. In parenthesis is the type of underlying CRDT used by that type. See the CRDTs article for more details about CRDTs.
Document type | Viewers | Editors |
---|---|---|
Post or Article (YXml) | Post | Post Editor |
XML source | ||
Markdown (YXml) | Post | Post MD Editor |
Markdown source | ||
XML source | ||
Plain Text (YText) | Text | Text Editor |
Data / Graph (Graph) | Turtle | SPARQL Update |
SPARQL Query | ||
Data / Container (Graph) | Container (***) | SPARQL Update |
Turtle | ||
SPARQL Query | ||
Data / JSON (Automerge) | JSON (*) | JSON Editor (*) |
JSON source | ||
Data / Object (YMap) | JSON (**) | JSON Editor (**) |
JSON source | ||
Data / Array (YArray) | JSON (**) | JSON Editor (**) |
JSON source | ||
Code / Rust (YText) | Source Code | Text Editor |
Code / JavaScript (YText) | Source Code | Text Editor |
Code / TypeScript (YText) | Source Code | Text Editor |
Code / Svelte (YText) | Source Code | Text Editor |
Code / React (YText) | Source Code | Text Editor |
Note: (*) The JSON Editor (in read-write or read-only) is very primitive for now, it has been developed in one day, to showcase the easy binding of JSON data to some Svelte components. It lacks important features like ( insert in array at position. remove at position in array. splice range. remove from map. change type or name of property in map ). Also the general UX is ugly. But it is functional and demonstrate the potential of CRDT on JSON data, that will be leveraged by app developers. Once it will be improved, this Editor and Viewer will be reused for all Data types, including the Yjs based ones, and the Graph one. It also showcases that no matter what the App is doing, you own the data and can always go to see it and even modify it, or export it. That’s what a data-centric framework is about.
Note: (**) The JSON Editor (in read-write or read-only) used here for the Yjs types, is based on svelte-jsoneditor which isn’t so easy to use. But it is a good demonstration that the GUIs can be anything. The data layer works fine and that’s the most important for now.
Note: (***) Containers are used for the Public Store, Protected Store and Private Store homepages.
Please note that apart from those 3 stores, creating new containers is not really useful yet as you have to add the triple ldp:contains
manually with SPARQL Update if you want any document to be part of the container. There is no GUI yet to add and remove Documents to a Container.
Planned features
Category | Document type | details | crdt | status | ETA | gitea issue |
---|---|---|---|---|---|---|
Group | planned | |||||
doc:compose | YArray | planned | ||||
Other | post:asciidoc | YText | postponed | |||
Pro | page | A Page and Site builder | YXml | postponed | ||
Apps | app:z | Application | Elmer? | postponed | ||
Data | class | custom Class | Graph | planned | ||
Data | schema | RDFS / OWL ontology | Graph | planned | ||
Data | schema:shacl | Graph | postponed | |||
Data | schema:shex | Graph | postponed | |||
Code | service:rust | YText | planned | |||
Code | service:deno | YText | planned | |||
Pro | contract | YText | planned | |||
Data | query:sparql | Saved SPARQL Update | YText | planned | ||
Data | query:sparql_update | Saved SPARQL Update | YText | planned | ||
Data | query:graphql | Saved GraphQL Query | YText | postponed | ||
Search | query:text | Saved Text Search | Graph | postponed | ||
Search | query:web | Saved Web Search | Graph | postponed | ||
Data | data:xml | XML (Yjs) | YXml | planned | ||
Data | data:table | Data Table (columns and rows) | Automerge | planned | ||
Data | data:collection | Collection | Graph | planned | ||
Data | data:container | Container | Graph | planned Editor | ||
Data | data:board | Board | Graph | planned | ||
Data | data:grid | Grid | Graph | planned | ||
Data | data:geomap | Geo Map | Graph | planned | ||
Messenger | e:email | Email content and headers | Graph | planned | ||
e:link | Weblink preview | Graph | planned | |||
e:web | Web Archive | Graph | postponed | |||
Data | e:rdf | RDF Archive from HTTP | Graph | planned | ||
MC | mc:text | Text Selection in MC | Graph | planned | ||
MC | mc:link | Link to doc in MC | Graph | planned | ||
Diagram | diagram:mermaid | YText | postponed | |||
Diagram | diagram:drawio | YXml | postponed | |||
Diagram | diagram:graphviz | YText | postponed | |||
Diagram | diagram:excalidraw | Automerge | postponed | |||
Diagram | diagram:gantt | Automerge | postponed | |||
Diagram | diagram:flowchart | YText | postponed | |||
Diagram | diagram:sequence | YText | postponed | |||
Diagram | diagram:markmap | YText | postponed | |||
Diagram | diagram:mymind | YText | postponed | |||
Diagram | diagram:jsmind | Automerge | postponed | |||
Viz | viz:cytoscape | Automerge | postponed | |||
Viz | viz:vega | Automerge | postponed | |||
Viz | viz:vizzu | Automerge | postponed | |||
Viz | viz:plotly | Automerge | postponed | |||
Viz | viz:avail | Automerge | postponed | |||
Chart | chart:frappecharts | Automerge | postponed | |||
Chart | chart:financial | Automerge | postponed | |||
Chart | chart:apexcharts | Automerge | postponed | |||
Chart | chart:billboard | Automerge | postponed | |||
Chart | chart:echarts | Automerge | postponed | |||
Chart | chart:chartjs | Automerge | postponed | |||
Other | doc:pdf | Graph | planned | |||
Other | doc:odf | Graph | planned | |||
Other | doc:latex | Graph | postponed | |||
Other | doc:ps | Postscript | Graph | postponed | ||
Other | doc:music:abc | YText | postponed | |||
Other | doc:music:guitar | YText | postponed | |||
Other | doc:maths | YText | postponed | |||
Other | doc:chemistry | YText | postponed | |||
Other | doc:ancientscript | YText | postponed | |||
Other | doc:braille | YText | postponed | |||
Media | media:image | Graph | planned | |||
Media | media:reel | Graph | planned | |||
Media | media:video | Graph | planned | |||
Media | media:album | Graph | planned | |||
Media | media:audio | Graph | planned | |||
Media | media:song | Graph | planned | |||
Media | media:subtitle | Graph | planned | |||
Media | media:overlay | Graph | planned | |||
Social | social:activity | Graph | planned | |||
Social | social:channel | Graph | planned | |||
Social | social:stream | Graph | planned | |||
Social | social:contact | Graph | planned | |||
Social | social:event | Graph | planned | |||
Social | social:calendar | Graph | planned | |||
Social | social:scheduler | Graph | planned | |||
Social | social:reaction | Graph | planned | |||
Social | social:chatroom | Graph | planned | |||
Social | social:live | Graph | planned | |||
Pro | prod:task | Graph | planned | |||
Pro | prod:project | Graph | planned | |||
Pro | prod:issue | Graph | planned | |||
Pro | prod:form | Graph | planned | |||
Pro | prod:filling | Graph | planned | |||
Pro | prod:cad | Automerge | postponed | |||
Pro | prod:spreadsheet | Automerge | postponed | |||
Pro | prod:slides | Graph | planned | |||
Pro | prod:question | Graph | planned | |||
Pro | prod:answer | Graph | planned | |||
Pro | prod:poll | Graph | planned | |||
Pro | prod:vote | Graph | planned | |||
Other | file | Graph | planned | |||
Other | file:text | binary file that has text | Graph | planned |