Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lack of good forms-based end-user editor #53

Open
VladimirAlexiev opened this issue Jan 31, 2019 · 9 comments
Open

Lack of good forms-based end-user editor #53

VladimirAlexiev opened this issue Jan 31, 2019 · 9 comments
Labels
Category: tools For RDF tools higher-level Higher-level RDF should address this primarily-tools Tool makers should address this

Comments

@VladimirAlexiev
Copy link

VladimirAlexiev commented Jan 31, 2019

#35 basically talks of a Turtle editor.

However, end-users need elaborate forms for editing graph data.
Generating such forms from shapes is an important and promising task that I call "Declarative UIs". Declarative UIs should also be considered for views: object view, list view, etc.

Challenges of this "instance management" problem include:

  • How to do this on large KBs (eg 100M instances, 5B triples)
  • How to specify appropriate editing behaviors for target values (objects) depending on the target population, eg
    • how to restrict the potential objects (by class, by some attribute...)
    • for a small concept scheme, direct drop-down is best
    • for hundreds of potential values, an auto-complete is appropriate
    • for millions of potential values, a more advanced search is needed
  • How to mass-edit an array of objects; eg the best presentation may be a table

The problem is solved to some extent in Wikidata:

  • Wikidata items can be edited by end-users, with powerful autocompletion of property names and objects
  • However, the forms are not customized for a specific domain, and there's no mass-editing
  • Wikidata Query has a nice way to specify how query parameters are populated, using auxiliary queries.

Examples of related or similar implementations:

  • EntryScape (RDForms)
  • VivoLib
  • TopBraid Composer
  • VocBench
@dbooth-boston dbooth-boston added the Category: tools For RDF tools label Mar 3, 2019
@dbooth-boston
Copy link
Collaborator

Would Semantic MediaWiki be another example of an implementation that achieves part of what you seek?

dbooth-boston added a commit that referenced this issue Mar 3, 2019
@dbooth-boston dbooth-boston changed the title Lack of good end-user editor Lack of good forms-based end-user editor Mar 3, 2019
@VladimirAlexiev
Copy link
Author

SMW has a SemanticForms extension but it's not based on shapes and I'm not sure how good it is.

@dbooth-boston dbooth-boston added higher-level Higher-level RDF should address this primarily-tools Tool makers should address this labels Mar 11, 2019
@irenetq
Copy link

irenetq commented Mar 30, 2019

I think the direct implementation of what you are describing here is in TopBaid EDG, not in TopBraid Composer. It is web-based with the following features:

  • Forms are based on SHACL shapes. Different options for selecting the object values are supported: dropdown, autocomplete, search. In-line editing is available with all these options.
  • There are many other options that address the fact that some forms may have tons of property fields e.g., user can toggle to see all possible fields or only populated ones, fields can be organized in sections and these sections can be shown sequentially or as tabs, property and section descriptions are seen on a tooltip or user can toggle to see them directly in the form.
  • Because these are shaped-based, different views are supported. If there are multiple shapes that target a class that resource belongs to, user can toggle between different views. Or shapes could be associated with users' roles. Then, they see a view appropriate to their role.
  • Because these are shape-based, data validation is performed on edit (or, optionally on view).
  • Because these are shape-based, complex paths are also supported so the form fields are not only for direct property values of the subject.
    -Dynamic inferencing is supported - see https://www.topquadrant.com/graphql/values.html for the description of how this works, it also has one screenshot. The screenshot is from a previous release, current release has more options, but this gives a general idea.
  • Forms can have embedded editable tables - also shown in the above example
  • Tables also support inline editing for Excel-like data entry
  • Mass editing is possible by selecting search criteria and then editing resources that match it, or by selecting different rows in a table

There is also a source code panel for those that sometimes prefer to do this. It can be restricted to be shown only to some of the users (role-based). It checks the syntax on save, but does not yet have the syntax directed text entry. This is coming shortly though.

@dbooth-boston
Copy link
Collaborator

I also noticed RDForms, which seems to be LGPL licensed, but I have not tried it.

@nvbach91
Copy link

nvbach91 commented May 7, 2020

I think SPARQL/Update 1.1 is the way to go. I have been building (using React) HTML forms based on SPARQL query results and generating SPARQL update queries based on the changes to send back to the graph and update the source data. SPARQL Update is CRUD-like, and ideal for mass editing, too.

I'm working on an API engine to consume SPARQL Update queries and modify source ontology files and commit them via Git.

@VladimirAlexiev
Copy link
Author

@irenetq thanks for your detailed response! Could you also comment on "How to do this on large KBs"?

@namedgraph
Copy link

A form can be viewed as a application/x-www-form-urlencoded RDF serialization. RDF/POST specifies one, only a simple parser is required.

@carenini
Copy link

we made an experiment, tweaking a JSON Schema to let this forms generation tool https://koumoul-dev.github.io/vuetify-jsonschema-form/latest/examples/#files create JSON-LD instances according to the form data inserted by users. We can share the examples if you want

@namedgraph
Copy link

@nvbach91 Graph Store Protocol is more CRUD-like than SPARQL Update, but it does map to Update as well.

You may want to try out LinkedDataHub which allows editing form templates on the fly:
https://twitter.com/atomgraphhq/status/1547864864948772867

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: tools For RDF tools higher-level Higher-level RDF should address this primarily-tools Tool makers should address this
Projects
None yet
Development

No branches or pull requests

6 participants