Hi Fan Li,
this is a very complex topic. I guess you need to decide which technology to use to create the client code, and another to handle the edits on the server. There are so many choices. SWP can in principle be used both to generate HTML but also to implement services that take input values and turn them into RDF triples. But GraphQL mutations already do the latter too. So if you have relatively simple forms where each input field matches a GraphQL field then you could use any 3rd party technology such as React to implement the client. Having said this you could even do everything in React or vanilla JavaScript and have the client create SPARQL UPDATE requests.
Really hard to answer without a longer discussion about your
requirements. A related question is if you even consider using SWP
then could your requirements be handled by a plugin to EDG, and if
yes then what is missing about using EDG directly.
Holger
Hello Irene & Holger, I need to create a web page of a data entry form (with SHACL validation) based on EDG for end users. I am confused if such custom development should be done via SWP or GraphQL. My understanding is that SWP will generate the UI directly whereas GraphQL needs a separate front-end app (such as built in React). Would you please provide some clarification & recommendation? --
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/7165f71d-36b0-48c3-8349-8887ced487e9n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/7b3d2689-854a-2aab-f73b-fafa1dc2f7ee%40topquadrant.com.
For such a simple form, you could even do an almost static HTML
page, which calls the GraphQL mutation service. You can check the
network traffic when you save changes on an EDG form, and your
form could call something similar. The GraphQL mutation will first
perform a "dry run" of the change to see if it would cause
violations. If none are reported, it will commit the change. Here
is an example snippet that will perform validation and only commit
if there are no violations.
mutation saveFormChanges { ... do your actual changes here, try it out on the GraphiQL editor's auto-complete results { message severity focusNode { label uri } path pathLabel value { label uri } constraintComponentName sourceShape { label uri } } commit(message: "Form edits for XY", strict: true) }
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAC95LqU4Z3e-XUhfXgAMtMo_O9gu9-UetVokfoSW6EfuDA1kfw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/e7d76da1-57e8-f289-78a4-7adf18404900%40topquadrant.com.