SMWCon Fall 2015 FForms

26
Fresnel Forms (FForms) A Protégé Semantic Web Ontology Editor Plugin for Wiki Interface Specification Lloyd Rutledge

Transcript of SMWCon Fall 2015 FForms

Fresnel Forms (FForms)A Protégé Semantic Web Ontology Editor Plugin for

Wiki Interface SpecificationLloyd Rutledge

Protégé Fresnel Forms workflow

Protégé

Sem

antic

For

ms

Info

box

Tem

plat

e

Semantic Web tool history at SMWCon

• Fall 2010 Amsterdam– Ontology and interface made in wiki with Forms– Form: Semantic Friendly Forms extension

• Fall 2013 Berlin– Process online ontology file into wiki– Form: OWL Wiki Forms extension

• Fall 2015 Barcelona– Edit ontology and interface style in GUI as Semantic Web– Export to wiki– Form: Protégé ontology editor plugin

Pagina 3

Fresnel Forms (FForms) in a nutshell

• Plugin for Protégé Semantic Web ontology editor– Easy to download and install, open source in Java– Download or edit Semantic Web ontology in Protégé

• FForms tab in Protégé – Default wiki interface – Edit interface: Forms and CSS– Save as Fresnel for future adaptation– Export as wiki XML with SMW and Semantic Forms

• Import to wiki– Semantic Forms with ontology-derived interface assistance– Export to RDF linked to source Semantic Web

Pagina 4

Why use FForms?

• You want your wiki to export RDF to a given ontology– Just press a few buttons

• There is an ontology with a desired model for your wiki– Just press a few buttons

• To extend an ontology for your wiki– Edit with Protégé, then click buttons

• A Model-driven Development approach for your wiki– Start with designing model (ontology)– Design variations from default interface

Pagina 5

Algemeen voorbeeld van Protégé-OWL

Default browser

• Property order not normalized• Property display for type• No tailored CSS• Simple two-column table

Pagina 8

Wikipedia Fresnel Forms, default

Automating best property order for a box

• Compares algorithms for sorting ontology properties in browsers• Wikipedia infoboxes are truth set• Simple heuristic outperforms various text-processing algorithms• An ABI student’s research context assignment will apply this to

Fresnel Forms• Resulting Fresnel Forms makes a better default interface• Especially for Wikipedia, albeit with chicken-egg paradox• Falco Paul’s BPM&IT Master’s thesis

Pagina 9

Default Form

Pagina 10

• Order same as browser• Shows all properties

– Browser only those with values

• Input fields special for data types• Cardinality min/max =1

– Optional or mandatory– List or single

• Autocompletion to class members

Formatting properties

Pagina 13

13

name (title)

text-align:center;

Cardinality

Pagina 14

owf:isList false ;

owf:isList false ; owf:isMandatory true ;

Edited browser

• Property order easy to change• CSS

– Fits in Fresnel standard– <div>-based better than table

• “Awards” is more page link than data annotation

• Maybe with SPARQL queries– Age calculation– Honorific acronyms

• Ordering of multiple values works– But via the wiki code– Not via Semantic Web

Pagina 15

Wikipedia Fresnel Forms, edited

That’s fine for one infobox, but what about all the others*?• Fresnel Forms scales to process the entire DBpedia ontology

– Default GUI display appears in a few minutes– Fresnel generation takes about a half hour– Protégé on special server makes wiki in about an hour

• The new, improved Wikipedia interface is right here on my laptop– Jimmy Wales just needs to import the wiki XML– And install a few Semantic MediaWiki extensions– Existing infoboxes share same foundational syntax

• Wikibots can automate some simple cleanup• And/or modified existing infobox templates can map to new ones

– DBpedia ontology needs to be up-to-date– Default interface could use some tailoring

Pagina 17

* ~3992 from Fresnel Forms algorithm applied to the DBpedia ontology

Mapping SW to SMWIdentifierPrefix

Namespace (2ary level)

Ontology (2ary level)Source URI (2ary level)New sublevel

Default Frensel Cascading Fresnel

PropertyCategoryData display table/templateForm for data entry

owl:oneOf

PlacedUn- Removed

Sorted

owl:ObjectPropertyowl:DataPropertyowl:AnnotationProperty

:Boolean:uri:image:externalLink String

In separate inverse propertyWith same property

Helps user register self

mandatory SF

min

min

ClassAny of the classesClass intersection

Status:

autocomplete on category=... SFPulldown shows pages from

Key

implemented PlannedTools: MW MediaWiki, SMW Semantic MediaWiki, SF Semantic Forms, OWF OWF-only1 :string, :normalizeString, :XMLLiteral, :Name, :token, :NMTOKEN, :NCName, 2 :gYearMonth, :gMonthDay, :gDay, :gMonth3 :double, :float, :int, :integer, :long, :short, :negativeInteger, :positiveInteger, :nonPositiveInteger, :nonNegativeInteger, :unsignedLong, :unsignedInt, :unsignedShort

Union of classesMultiple classes autocomplete SF

Disjointness Unique name assumption for wiki page names SMW

owl:

RD

FS-P

lus C

hain

s

Car

dina

lity

= 1

Val

ues

User must enter exactly one

max User cannot enter more than one

> 1 by default not User can enter more than one

User must enter at least given numberDefault User can enter any number without restrictions

Set

In ra

nge Single class

:FunctionalPropertyData entry prevents duplication of keys OWF:InverseFunctionalProperty

:hasKey

Equ

iv

:DataRange w/ :oneOf[[Allows value::...]] SMW User selects from fixed values

:allValuesFromautocomplete on category=… SF Pull down list shows current pages in target class(es)

:someValuesFrom #arraymap/list SF repeated fields SF

by default by default not User must enter something

Template also shows incoming links:SymmetricProperty

:TransitiveProperty Chained query or assignment SMW Template shows all pages in chain with property:sameAs

All data and content put on unified page on wiki OWF

:inverseOfInverse property query SMW

:EquivalentClass:EquivalentProperty

:hasValue #forminput: SF Form for new member of class has prefilled valuescurrent user as property value

restricted SF User cannot change value

Key

owl:oneOf owf:oneOf [[Allows value::...]] SMW User selects from fixed valuesowf:datatype Geographic coordinate, Code, Temperature Proper entry and display for given data type

:URI

:val

ue URL

sho

ws

as Linked URL text MW

Fresnel not automatically generated from ontology

Image MW Image itself appears directlyUnlinked URL text SMW

:language, date parts 2

:date(Time) Date Form for entering date components and displayed as date:time:Boolean Boolean Select from two values

[[Allows value::...]] SMW User selects from fixed valuesnumeric3

Number Entered and displayed as number:gYear

:subPropertyOf [[Subproperty of::...]] on property page SMW Queries using property also recognize superpropertiesGrouped together on forms and templates by default OWF

:rang

e va

lue

is

Classautocomplete on category=... SF Pull down list shows current pages in target class(es)[[Has default form::...]] on property SF Clicking to new pages leads to given form for data entry

[[Has

type

::...]

] SMW

Page Entered as wiki page name

Default w/o:range

Links to wiki page

StringEntered and displayed as unlinked string

Literal

owf:d

atat

ype

xsd:

textual1

:LensCategory:... MW , also: [[Category:...]] in template MW

Template:... MW (if domain)

:dom

ain

:showPropertiesAsssign property in template OWF Properties in template and

forms areFresnel not automatically generated from ontology

[[Category:...]] on individuals MW

:sub

- :subClassOf [[Category:...]] on category page MW Wiki and queries recognize as subcategoryNested form access OWF

:hideProperties:showProperties rdf:List Sort properties in template OWF

:mergeProperties:alternateProperties Template row queries multiple properties for one display SF Values from muliiple properties display as if from one

rdfs

:rd

f:

:type [[Category:]] MW Wiki page is member of given categoryContainers :member in :showProperties #arraymap/list SF User can enter sorted list as comma-delimited

Form:... SF (if domain):classLensDomain [[Has default form::...]] on category SF Clicking to new pages leads to given form for data entry

Check box to assign classes if not domain OWF

:Property

Pag

e

Property: SMW

Recognized in wiki data system as

:Class

CS

S

Psuedo-classes

CS

S M

W

Link style MW

:containerStyle

For template and form tabelSF

Whole table:resourceStyle

Row Multiple

:propertyStyle Single:labelStyle

Cel

l Left:valueStyle Right , class= SF for forms

Text

rdfs:labelskos:prefLabelrdfs:comment Mouseover on label OWF, content on page OWF Shows descriptionxml:lang Selection of text display from user for label, comment, etc. Adapts language to user

Delimiters Additional content delimiter= SF

Put text: before, after, between, starting, ending, if empty OWF

rdfs:isDefinedBy

owl:importsLoaded as part of ontology to process OWF

rdfs:seeAlso Link from page for property or category OWF

Fragment identifier:label Pagename MW , Label on form & template OWF Labels for property and class on templates and forms

Ontology Fresnel MediaWiki and extensions        Description     

UR

Is

Whole [[EquivalentURI::...]] SMWOntology URI's used in RDF export

Foun

datio

n

Namespace Identifier/prefix specs OWF [[Imported from::...]] SMW

Wiki page name prefixes MW Secondary prefix for class and property page names

Each gets own template and formfor domainless properties OWF

Form and template for general properties from ...

Wiki page name namespace has levels

owl:Thing :allProperties Top level form and template:hideProperties

owl:Ontology

IdentifierPrefix

Namespace (2ary level)

Ontology (2ary level)Source URI (2ary level)New sublevel

Default Frensel Cascading Fresnel

Status:

Ontology Fresnel MediaWiki and extensions        Description     

UR

Is

Whole [[EquivalentURI::...]] SMWOntology URI's used in RDF export

Foun

datio

n

Namespace Identifier/prefix specs OWF [[Imported from::...]] SMW

Wiki page name prefixes MW Secondary prefix for class and property page names

Each gets own template and formfor domainless properties OWF

Form and template for general properties from ...

Wiki page name namespace has levels

owl:Thing :allProperties Top level form and template:hideProperties

owl:Ontologyrdfs:isDefinedBy

owl:importsLoaded as part of ontology to process OWF

rdfs:seeAlso Link from page for property or category OWF

Fragment identifier:label Pagename MW , Label on form & template OWF Labels for property and class on templates and forms

Text

rdfs:labelskos:prefLabelrdfs:comment Mouseover on label OWF, content on page OWF Shows descriptionxml:lang Selection of text display from user for label, comment, etc. Adapts language to user

Delimiters Additional content delimiter= SF

Put text: before, after, between, starting, ending, if empty OWF

CS

S

Psuedo-classes

CS

S M

W

Link style MW

:containerStyle

For template and form tabelSF

Whole table:resourceStyle

Row Multiple

:propertyStyle Single:labelStyle

Cel

l Left:valueStyle Right , class= SF for forms

Key

implemented PlannedTools: MW MediaWiki, SMW Semantic MediaWiki, SF Semantic Forms, OWF OWF-only1 :string, :normalizeString, :XMLLiteral, :Name, :token, :NMTOKEN, :NCName, 2 :gYearMonth, :gMonthDay, :gDay, :gMonth3 :double, :float, :int, :integer, :long, :short, :negativeInteger, :positiveInteger, :nonPositiveInteger, :nonNegativeInteger, :unsignedLong, :unsignedInt, :unsignedShort

PropertyCategoryData display table/templateForm for data entry

owl:oneOf

PlacedUn- Removed

Sorted

owl:ObjectPropertyowl:DataPropertyowl:AnnotationProperty

:Boolean:uri:image:externalLink String

Status:

Ontology Fresnel MediaWiki and extensions        Description     

rdfs

:rd

f:

:type [[Category:]] MW Wiki page is member of given categoryContainers :member in :showProperties #arraymap/list SF User can enter sorted list as comma-delimited

Form:... SF (if domain):classLensDomain [[Has default form::...]] on category SF Clicking to new pages leads to given form for data entry

Check box to assign classes if not domain OWF

:Property

Pag

e

Property: SMW

Recognized in wiki data system as

:Class

:LensCategory:... MW , also: [[Category:...]] in template MW

Template:... MW (if domain)

:dom

ain

:showPropertiesAsssign property in template OWF Properties in template and

forms areFresnel not automatically generated from ontology

[[Category:...]] on individuals MW

:sub

- :subClassOf [[Category:...]] on category page MW Wiki and queries recognize as subcategoryNested form access OWF

:hideProperties:showProperties rdf:List Sort properties in template OWF

:mergeProperties:alternateProperties Template row queries multiple properties for one display SF Values from muliiple properties display as if from one

:subPropertyOf [[Subproperty of::...]] on property page SMW Queries using property also recognize superpropertiesGrouped together on forms and templates by default OWF

:rang

e va

lue

is

Classautocomplete on category=... SF Pull down list shows current pages in target class(es)[[Has default form::...]] on property SF Clicking to new pages leads to given form for data entry

[[Has

type

::...]

] SM

WPage Entered as wiki page name

Default w/o:range

Links to wiki page

StringEntered and displayed as unlinked string

Literal

owf:d

atat

ype

xsd:

textual1

:language, date parts 2

:date(Time) Date Form for entering date components and displayed as date:time:Boolean Boolean Select from two values

[[Allows value::...]] SMW User selects from fixed valuesnumeric3

Number Entered and displayed as number:gYear

owl:oneOf owf:oneOf [[Allows value::...]] SMW User selects from fixed valuesowf:datatype Geographic coordinate, Code, Temperature Proper entry and display for given data type

:URI

:val

ue URL

sho

ws

as Linked URL text MW

Fresnel not automatically generated from ontology

Image MW Image itself appears directlyUnlinked URL text SMW

Key

implemented PlannedTools: MW MediaWiki, SMW Semantic MediaWiki, SF Semantic Forms, OWF OWF-only1 :string, :normalizeString, :XMLLiteral, :Name, :token, :NMTOKEN, :NCName, 2 :gYearMonth, :gMonthDay, :gDay, :gMonth3 :double, :float, :int, :integer, :long, :short, :negativeInteger, :positiveInteger, :nonPositiveInteger, :nonNegativeInteger, :unsignedLong, :unsignedInt, :unsignedShort

In separate inverse propertyWith same property

Helps user register self

mandatory SF

min

min

ClassAny of the classesClass intersection

Status:

Ontology Fresnel MediaWiki and extensions        Description      Template also shows incoming links:SymmetricProperty

:TransitiveProperty Chained query or assignment SMW Template shows all pages in chain with property:sameAs

All data and content put on unified page on wiki OWF

:inverseOfInverse property query SMW

:EquivalentClass:EquivalentProperty

:hasValue #forminput: SF Form for new member of class has prefilled valuescurrent user as property value

restricted SF User cannot change value

Key

:FunctionalPropertyData entry prevents duplication of keys OWF:InverseFunctionalProperty

:hasKey

Equ

iv

:DataRange w/ :oneOf[[Allows value::...]] SMW User selects from fixed values

:allValuesFromautocomplete on category=… SF Pull down list shows current pages in target class(es)

:someValuesFrom #arraymap/list SF repeated fields SF

by default by default not User must enter something

Car

dina

lity

= 1

Val

ues

User must enter exactly one

max User cannot enter more than one

> 1 by default not User can enter more than one

User must enter at least given numberDefault User can enter any number without restrictions

Set

In ra

nge Single class

autocomplete on category=... SFPulldown shows pages from

Key

implemented PlannedTools: MW MediaWiki, SMW Semantic MediaWiki, SF Semantic Forms, OWF OWF-only1 :string, :normalizeString, :XMLLiteral, :Name, :token, :NMTOKEN, :NCName, 2 :gYearMonth, :gMonthDay, :gDay, :gMonth3 :double, :float, :int, :integer, :long, :short, :negativeInteger, :positiveInteger, :nonPositiveInteger, :nonNegativeInteger, :unsignedLong, :unsignedInt, :unsignedShort

Union of classesMultiple classes autocomplete SF

Disjointness Unique name assumption for wiki page names SMW

owl:

RD

FS-P

lus C

hain

s

Pagina 23

Source code at https://svnext.ou.nl/INF_Studenten_ABI_team30/source/

Pagina 24

In Semantic Web Collaborate Spaces post-proceedings, coming soon

Further with Fresnel Forms

• Implement the pink bits of the spreadsheet table– Catching/keeping up with Semantic Forms (and vice versa ;)? )

• Formalize mapping OWL to SMW & Semantic Forms– As Fresnel extension in OWL

• My research– Business Rules– Semantic Web context– My faculty: Enterprise architecture, Business Intelligence

• With you?– Case study for BPM&IT Masters student research– Code on GitHub– Project context

Pagina 25

Thanks to

• ABI (Bachelors Thesis) Team 28– Thomas Brenninkmeijer– Tim Zwanenberg– Supervisor: Harold Pootjes

• ABI (Bachelors Thesis) Team 30– Alex Mekkering, Protégé guru– Teun Theunissen, Semantic Web guru– Joop van de Heijning, SMW guru– Supervisor: Rik Bos

Pagina 26