Ieben Smessaert
Traditional single structure where all the data is defined using a single vocabulary
Three-part view, constisting of a form (for display), shape (for validation), and footprint (for reasoning) part
Display part not tied to one rendering environment
Dataset
resource
N3 conversion
rules resource
Form description
resource
using HTML in the browser
text-based via the command line
@prefix ex: <http://example.org/> .
@prefix pol: <https://www.example.org/ns/policy#> .
@prefix fno: <https://w3id.org/function/ontology#>.
{
?id ex:event ex:Submit.
} => {
ex:HttpPolicy pol:policy [
a fno:Execution ;
fno:executes ex:httpRequest ;
ex:method "POST" ;
ex:url <https://httpbin.org/post> ;
ex:contentType "application/ld+json"
].
}.
import { Quad } from '@rdfjs/types';
{
export interface IQueryOptions {
blogic?: boolean;
outputType?: 'string' | 'quads'
output?: undefined |'derivations'|'deductive_closure'|'deductive_closure_plus_rules'|
'grounded_deductive_closure_plus_rules'
}
declare module "eye-mock" {
export function n3reasoner(data: Quad[] | string, query?: Quad[] | string | undefined,
options?: IQueryOptions): Promise<Quad[] | string>;
}
The FormGenerator app is easy to use, especially because of the drag-and-drop functionality
The FormRenderer app is straightforward to use, easy to use, and clear
I did not notice that the app is using Solid and Linked Data behind the scenes
I was unaware that schema alignment tasks were being performed
As a restaurant owner, I don't want to know what bindings are
"min count" and "max count" are confusing in the SHACL forms
It is not entirely clear what the Subject URI is used for
https://formgenerator.smessie.com/
https://formrenderer.smessie.com/
Supervisors: Ruben Verborgh,
Ruben Taelman
Counsellors: Patrick Hochstenbach,
Pieter Colpaert