SMW+ is a semantic enterprise wiki that lets you create and share knowledge with your team.
Unprecedented semantic technology allows you tagging data, like milestone dates, sales figures and customers, in wiki documents or include data from third party applications, like CRM or BI systems. You and your team mates can re-use this data as statistics or automatically updated lists in other documents.
3. How can Semantic MediaWiki (SMW) help? A simple number A simple link in MediaWiki pointing to another article
4. How can Semantic MediaWiki (SMW) help? A typed link (relation) in SMW adding semantics Similar semantic markup for an attribute value FactBox: semantic annotations of an article at one glimpse Category annotation (also available in MW) Semantic Annotations
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Editor's Notes
Main problem of traditional wikis: Only mark up for the layout of wiki contents, but these say nothing about their meaning and semantics --> Hidden knowledge locked up in content! Current action in Wikipedia necessary for answering the question: Manually look-up all capitals in the EU, order those according to their population and take the top 10.
Wikipedia article of London
Semantic markup in SMW makes knowledge machine processable. Automatic unit conversion for area attribute Querying for alle articles belonging to category „City“ or all articles having a certain population
In order to get „real“ capitals (and not such cities as ‚Munich‘) we have to specify via a subquery [[Capital of::<q>[[Category:Country]]</q>]]
Especially useful when creating large tables (since wiki-text syntax is complicated)
Auto-completion (on namespace, categories, concepts, values already used) (Forms for creating semantic properties, categories and templates) Enter company “Yahoo!” via Form:Organization or “Jürgen” via Form:Person
annotate Vulcan wiki article with category annotation (e.g. category “investment company”) and object property: e.g. location(Seattle), foundedBy(Paul Allen) aimed for the End-User / Non-Techie
aimed for the Wikitext user / Techie / Ontologist show page annotated before via AAM (e.g. Vulcan) in the edit mode explain semantic toolbar go to page http://localhost/mediawiki/index.php?title=Property:Assignee&action=edit Most important is to define the type of a property (e.g. page, text, number, date etc.)! Definition of domain and range Property characteristics: inverse, symmetric, transitive Show other possibilites: define a category as sub-category / super-category
On page “SMWplus Workshop” open page in WYSIWYG mode Embed a sample query: show all events taking place this quarter (i.e. between July and September 09) Explain results preview Explain layout manager and different results formats (e.g. timeline, pie-chart, further: vCard, vCal, BibTex) Embed another query showing tasks and their “percentage complete” (using google bar and max, min, avg, sum result printers) embed a sample document (e.g. workshop registration.pdf), explain meta-data fields contained in rich media extension show and explain RM box with file embedded
Explain sections for category, instance and property constraints Mention lightweight reasoning (i.e. query expansion via sub-categories and sub-properties), for query: [[Category:Locatable entity]] Sample queries: query for all events taking place in June and July (show timeline and eventline result printer) query for all tasks and their percentage complete (show google-pie and google-bar result printer), show min, max, sum and avg printer show page “ Projects_dashboard” for various uses of inline queries other result printers: vCard, iCalendar, BibTex, graphs Demonstrate usage of query for Semantic Notifications (e.g. <ask>[[Category:Event]] [[Start date::+]]</ask> (must be enabled before), awareness feature
search is based on Lucene for fast retrieval (normale MW suche ist z.b. eher langsam und ineffektiv) auto-completion search for “wokshop” -> spell checking explain search features (filtering, preview etc.) Path search: Discover relations between search terms based on the ontology (direct and indirect relations) Type in the terms ‘Joe Mystery’ and ‘John Doe’ and find out how they are related Briefly point to create new page link / page
show semantic treeview: http://smwdemo.ontoprise.com/index.php/MediaWiki:NavTree http://smwdemo.ontoprise.com/index.php?title=MediaWiki:NavTree&action=edit Persons / Organizations are fetched via ASK query (query for [[Category:Person]] …) Content Dashboard: Tree is assembled via transitive “subsectionOf” Property http://smwforum.ontoprise.com/smwforum/index.php/Help:SMW%2B_User_Manual Not only structures but also icons can be customized
further functions available when logged in as WikiSysop simply browse a little bit with the ontology browser
further functions available when logged in as WikiSysop simply browse a litte bit through the functions of the Gardening Framework import and export should be round-trip safe with OntoStudio
show quickly ACL special page: http://smwdemo.ontoprise.com/index.php/Special:ACL
no demo of Excel Client
Import data from a CSV file assume you want to import an existing vocabulary go to the import vocabulary page at “Special:TermImport” select “ConnectLocal” and then “ReadCSV” choose the file C:Dokumente und EinstellungenphizaDesktoparticles.csv on the new window cycle through the import sets and select “All” since we want to import all terms, no input policy (for filtering) is needed define the mapping policy enter “term_import_mapping” as mapping article and click “edit” enter and save the following text on the mapping page --- snip --- ==Description== <mapping properties=&quot;content&quot;> {{{content}}} </mapping> <mapping properties=&quot;author&quot;> ==About this term== This term was defined by [[author::{{{author}}}]]. </mapping> --- snip --- define “overwrite” as conflict policy specify the attributes (i.e. columns of the CSV file) you want to import: ArticleName, Content and Author check the preview list of articles to be imported finally click the button “Click to start the import” to import the data proceed to the gardening page “Special:Gardening” for checking the status of the import process check via the corresponding gardening log which articles were created open the created page “Cell” and inspect the imported data
Szenario: WeatherForecast Web Service integrieren Go to http://localhost/mediawiki/index.php/Special:SpecialPages Special:DefineWebService Switch to existing WS Definition Go to http://localhost/mediawiki/index.php/Special:WebServiceRepository Select WebService:WeatherForecast Go through the definition and explain settings Embed WebService:WeatherForecast in sample Article and display results (see page http://localhost/mediawiki/index.php/WebserviceTest) Library of examples für weitere web services: http://smwforum.ontoprise.com/smwforum/index.php/Example:Library_of_webservices see page http://localhost/mediawiki/index.php/DataImport_example for RSSFeed
SPARQL is more powerful than original ASK query language of SMW (e.g. graph patterns, property value filtering with REGEX) Reasoning helps you to infer missing knowledge (-> saves you redundant annotating in SMW) Beispiel Anfragen mit ASK und zum Vergleich mit SPARQL (unter Ausnutzung von Reasoning) symmetric property (e.g. knows) inverse property transitive property (e.g. LocationIsContainedIn) http://localhost/mediawiki/index.php?title=TestPage&action=purge (for examples) Special:TSA (for TSC init) Query for all people who know each other go to the Query Interface and ask [[Knows::+]] embed the query expression into a new page add same query with “#sparql” instead of “#ask” and see inferred results inferred results because the property Knows is symmetric , i.e. Knows(bob, alice) <-> Knows(alice, bob) Query for all persons having a task assigned go to the Query Interface and ask [[Category:Person]] [[Is assignee of::+]] embed the query expression into a new page add same query with “#sparql” instead of “#ask” and see inferred results inferred results because the property “Is assignee of” is inverse of property “Assignee” (which is used in the facts), i.e. Assignee(task1, bob) <-> Is assignee of(bob, task1)