Fresnel Forms SMW extension

From SW_OWF
Revision as of 16:48, 28 December 2017 by Lloyd Rutledge (talk | contribs) (start as copy OWF user manual →‎User manual)
Jump to navigation Jump to search

This is a work in progress.

Install instructions

  1. Download and install the prerequisites:
    1. MediaWiki
    2. Semantic MediaWiki
    3. Page Forms
    4. ParserFunctions
    5. Character Escapes
  2. git from https://github.com/LloydRutledge/FresnelForms/ the directory FresnelForms into the extensions directory
  3. Arrange a SPARQL endpoint server
    1. OWF is developed and tested with Jena/Fuseki
    2. The Fuseki quickstart instructions below can get you going with Fuseki (and OWF) fast
    3. The endpoint must match these requirements
      1. Supports SPARQL 1.1 that your OWF installation can CLEAR and LOAD to it
      2. Performs RDFS and OWL reasoning. Note that 4store does not support the required reasoning.
      3. Note: This SPARQL endpoint does not have to be the same as the one used by your Semantic MediaWiki, nor does your Semantic MediaWiki need to be using any SPARQL endpoint.
  4. Add to your wiki's LocalSettings.php file the following lines:
    require_once("$IP/extensions/FresnelForms/FresnelForms.php" );
    $wgRawHtml = true;
    $owfgSparqlQueryEndpoint = 'http://localhost:3030/OWF/sparql';
    $owfgSparqlUpdateEndpoint = 'http://localhost:3030/OWF/update';
  5. Replace the query and update endpoint URIs with those of the endpoint you installed for use by OWF
  6. Go to the page "Special:FresnelForms" on your wiki and try it out

Fuseki quickstart instructions

  1. Full instructions are at http://jena.apache.org/documentation/serving_data/index.html
  2. Go to the SNAPSHOT directory at https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-fuseki/
  3. Download one of the distribution compressed directory files
  4. Decompress it to a directory suited for downloaded Java programs
  5. Copy the file config-OWL.ttl from the OWF directory to the Fuseki directory
  6. cd to the Fuseki directory
  7. Enter the commands:
    export FUSEKI_HOME=.;
    ./fuseki-server --config=config-OWF.ttl &
  8. Fuseki is now running and ready for OWL Wiki Forms
  9. The variable assignment code above for LocalSettings.php should work as is with the default Fuseki server these quickstart instructions lead to

User manual

Welcome to the OWL Wiki Forms user manual for version 0.2. This page offers instructions for OWL Wiki Forms in the form of an example interface creation session. It has a sequence of screen dumps with explanations. Users should be able to replicate this session after an OWL Wiki Forms v0.2 installation.

Generating an interface

To generate an interface, enter on the OWF special URIs for online RDF files to process. The special page then displays a table of links to wiki pages for the generated interface components. The URIs entered include address of files of the ontologies for which the interface is to be generated. They can also include address of files that include user-tailored Fresnel style triples that cascade on top of the default triples OWF generates.

Enter URIs

Entering the FOAF ontology URI in the OWL Wiki Forms special page

After installing OWF, start a session by going to the Special:OWLwikiForms page on your wiki. In the field "URIs of ontologies to generate interface from", enter a list of URIs separated by commas. The the list is entered, click on "Generate". OWF will then generate an interface for the ontologies that the files at these URIs define.

Get links to generated interface

Report displayed after OWF generates the default interface for the FOAF ontology

After a click on the "Generate" button, the OWF special page shows a table of links to the category, informbox, form and property pages that OWF created for the interface. The user can click these links to look at the new pages, or to get started with annotating uses the forms created. The original URI entry field en "Generate" button remain at the bottom of this page to enable entering more ontology URIs to make more interface pages from.

The portion of the generated default Fresnel code for the FOAF ontology that applies to the class foaf:person is as follows:

:defaultLenshttpxmlnscomfoaf01Person
  rdf:type                fresnel:Lens ;
  fresnel:classLensDomain foaf:Person  ;
  fresnel:showProperties  foaf:currentProject , foaf:familyName ,foaf:family_name ,
                          foaf:firstName , foaf:geekcode , foaf:img , foaf:knows ,
                          foaf:lastName , foaf:myersBriggs , foaf:pastProject ,
                          foaf:plan , foaf:publications , foaf:schoolHomepage ,
                          foaf:surname , foaf:workInfoHomepage , foaf:workplaceHomepage .


Default interface

The following subsections show components from the default interface that OWF generates for our example. All the user does to make this interface is enter URIs for the ontologies to generate the interface from.

Fill in a form

Example of filling in a default FOAF Person form, with autocompletion for the property field "knows"

OWF creates form pages that used the Semantic Forms extension of Semantic Mediawiki. Each form conforms to a given class and lets the user enter values of properties with that class as their domain. A form field has autocompletion to pages of a given wiki category when the field corresponds with an object property whose range includes the ontology's class that corresponds with that category. In this figure, the "knows" field has autocompletion to wiki pages in the category Person.

The informbox wiki page code that this example generates is:

{{Informbox Person
|familyName=Berners-Lee
|firstName=Tim
|img=http://upload.wikimedia.org/wikipedia/commons/8/83/Tim_Berners-Lee-Knight-crop.jpg
|knows=Conway Berners-Lee, Mary Lee Woods
}}


View an informbox

The default informbox display for a FOAF person

Once the user fills a form and save it, it creates an informbox display show the page's new annotations.

Tailored interface

The administrator can fine tune the default interface OWF generates by writing Fresnel triples that define additional interface style that cascades over the default. To give OWF access to these cascading Fresnel triples, put them in an RDF file and include the URI of that file in the list of URIs given to OWF to generate an interface from.

Cascade Fresnel to hide undesired properties

FOAF person form resulting from cascading Fresnel style hiding undesired properties

One possibility for cascading Fresnel style overriding the default style is the use of the fresnel:hideProperties property. To do so, make an RDF file with fresnel:hideProperties from the form lens for the undesired properties, and include a URI to that file in the list of ontologies to generate the interface from. The screendump here compared to the screendump in the "Fill in a form" section above has fewer displayed properties.

The Fresnel code that overrides default use of certain properties in the example here is:

:defaultLenshttpxmlnscomfoaf01Person 
  rdf:type               fresnel:Lens ;
  fresnel:hideProperties foaf:currentProject , foaf:family_name , foaf:geekcode , 
                         foaf:lastName ,  foaf:myersBriggs , foaf:pastProject , 
                         foaf:plan , foaf:publications , foaf:schoolHomepage , 
                         foaf:surname , foaf:workInfoHomepage , foaf:workplaceHomepage .


Cascade Fresnel to override property display defaults

Informbox display from cascading Fresnel style formatting foaf:img as an image

Default OWF interfaces render object property values as wiki page names. Cascading Fresnel style can override this default by assigning the fresnel:value property associated with the property to display with a fresnel value how how the wiki should display it. In the screendump here, the foaf:img property gets displayed as an image instead of a page name, as it was in the screendump in the "View an informbox" section above .

The Fresnel code that overrides defaults to show images as images rather than URIs is:

:imgFormat rdf:type                     fresnel:Format ;
           fresnel:value                fresnel:image  ;
           fresnel:propertyFormatDomain foaf:img         .


Feature table

This table shows how OWF maps ontologies to default Fresnel, and how it maps Frensel triples to semantic wiki interface components.

OWFFeatureTable.png