-
Notifications
You must be signed in to change notification settings - Fork 23
User_manual
Manuel utilisateur en Français
Semantic_forms is both a generic semantic web navigation and annotation application, and a framework to build business applications centered on forms (input forms or read only). All data, and all data models (ontologies) leverage on W3C's semantic web recommendations: https://en.wikipedia.org/wiki/Semantic_Web
Regarding the implementation, Semantic_forms leverages on Jena TDB, the Play! Framework, Scala and Banana-RDF.
Semantic_forms is functional out the box, once you've built it from sources. No need to install separately a database or other components. You can navigate in your RDF data (Turtle, Json-LD, RDF/XML) loaded in Jena TDB as easily as navigating FOAF profiles on Internet, or mixing both. Semantic_forms is like the dbPedia pages (e.g. http://dbPedia.org/resource/Cycas), but where one can also edit all fields, and load data from anywhere, including data models (RDF vocabularies) and forms.
The code and how to build from sources is here : https://github.com/jmvanel/semantic_forms/tree/master/scala/forms_play
A sandbox is here: http://163.172.179.125:9111/
One can also download and launch the distribution, see [Installation of the semantic_forms
generic application]((https://github.com/jmvanel/semantic_forms/blob/master/doc/en/install.md)
The usages can be personal (via the zip distribution that is a web application), or collective when hosted on a server. With only the default models and related forms, the usages are possible:
- contact manager,
- project manager,
- blog engine,
- notes manager,
- ...
It allows to create one's FOAF profile, navigate on the Web of Data and keeping track, or any structured data management.
Before doing anything, you must be authenticated and / or register with a user name and a password.
NOTE: at the moment there is no email associated with the account. However, the user name can be your email, preceded by mailto: , thus turned into an URL.
WARNING you must choose a user name that is an absolute URI (such as u:uu
). Some things will not work with a relative URI (like blah
or /ble
).
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.
Try dragging and dropping this URI in field "URI to display": http://dbpedia.org/resource/Bobby_Bland
There are some starting points in the input field "URI to display", click on the triangle on the right.
The next main thing to understand for using the application 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, ... Typically, these downloadable URI are:
- FOAF profile personal profiles
- dbpedia.org entries
- URL's from a LDP container (linked Data Platform)
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>.
You can have a look at the named graphs from the tools page here in the sandbox : http://163.172.179.125:9111/tools
When displaying a subject URI, click on the link right after "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 of the pre-defined classes (FOAF classes, etc). Try looking for an RDF class in LOV or Swoogle search engines, and dragging and drop dropping it in the "create instance" field; for exemple drag'n'drop this URL for creating a biological Species : http://dbpedia.org/ontology/Species
NOTE: by default many useful ontologies are pre-loaded, like dbPedia ontology (see in README to load more ). In the case were the ontology is not pre-loaded, you can load it like any data from its URL/URI, as explained above in Navigating .
Literal (string) fields are entered according to their data type ( plain string, number, date, ... ) with HTML5 compliant input fields . The "EDIT" button nearby opens a popup window for entering a multi-line text.
Resource fields (semantic links) are entered either by:
- choosing a possible URI value that is proposed near the field, and that has been inferred from rdfs:range and rdf:type triples,
- pasting an URI from elsewhere,
- 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).
Option 3 creates a new resource in the database that may already exist; better look first in pulldown menu for an already existing resource.
Pay attention to the fields marked with "dbpedia completion", like competences and point of interest. There, one types a few letters, and it is completed with relevant concepts from Wikipedia. CAUTION: the completion widget works only on Firefox, not Chrome(Chromium) nor Opera nor Android.