SMWCon Fall 2015 FForms
-
Upload
open-university-in-the-netherlands -
Category
Software
-
view
500 -
download
0
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
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