-
Notifications
You must be signed in to change notification settings - Fork 23
User_manual
Semantic_forms is both a generic semantic web navigation and annotation application, and a framework to build business applications centered on forms (input and display only). All data and data model (ontologies) leverage on W3C's semantic web recommandations.
Regarding the implementation, Semantic_forms leverages on Jena TDB, Play! Framework and Scala.
Semantic_forms is fonctional out the box, once you've built it from sources. You can navigate in your RDF (Turtle, Json-LD) data loaded in Jena TDB as easily as navigating FOAF profiles on internet, or mixing both.
https://github.com/jmvanel/semantic_forms/tree/master/scala/forms_play
Pasting into the field "URI to display" a downloadable URI, say <U1>, be it a dbpedia , or FOAF profile, or an ontology, displays the triples
<U1> ?P ?O .
as dbPedia web application itself does. Then, you can navigate from links to links, also like dbPedia.
The next main thing to understand for using the app is that navigating and displaying a downloadable URI, also loads it into the Jena TDB database. And then, downloaded data is used for all application's purposes: displaying triples, forms, labels (from rdfs:label and other predicates), searching, ...
The Jena TDB database acts as a cache for Internet RDF data, which means:
- displaying the second time is much quicker;
- taking into account HTTP headers, the data can be reloaded if the remote source is changed
Inside the RDF (SPARQL) database, the triples downloaded from URI <U1> are loaded into a named graph whose name is also <U1>.
When displaying a subject URI, click on the link near "Properties for" to display an input form for this URI. You can modify any triple, create multiple values with "+" button. When finished editing, the SAVE button updates the database.
Once you've uploaded an ontology, you can paste a class URI in the "create instance" field , and the inferred form for the class will be displayed. You can also select in the nearby pulldown menu one a the pre-defined classes (G=FOAF classes, etc).
Literal (string) fields are entered according to their data type ( plain string, number, date, ... ). And resource fields (semantic links) are entered either by:
- pasting an URI from elsewhere,
- choosing a possible URI value that is proposed near the field, and that has been inferred from rdfs:range and rdf:type triples,
- entering any string, that will be added in the database as an URI with spaces replaced by underscores; the rdf:type of this new URI is set according to the ontologies in database (upon saving the form)