EMWConTalk2023-04
view EMWConTalk2023-04 as slides
Wolfgang Fahl
- Computer Scientist
- Expert
- Trainer for Software Architecture and Requirements Engineering
- PhD Candidate at RWTH Aachen i5
BITPlan GmbH
- Inception: 1999
- Focus on Software-Engineering Training, Consulting, Projects …
- Switch from Lotus Notes to Semantic Mediawiki in 2013
- ProfiWiki since 2015
Agenda
SMW and Wikidata storage
- Both systems use triples: subject, predicate and object
- It's a girl revisited:
The princess of cambridge was born on [[is born::2015-05-03]] Her rank inline to the throne is [[throne rank is::4]]. Her mother is [[mother is::Duchess Kate]].
- http://royal-family.bitplan.com/index.php/Princess_Charlotte_of_Cambridge
- http://family.bitplan.com/index.php/Princess_Charlotte_of_Cambridge
SMW as a database?
Compare to a relational database:
- Tables are dynamically created via ask-queries e.g.List of Persons
- A page corresponds to a row in a table
SMW relational operations
Row and Column definition operations
Operation | Manually | Via Api | Via Wikipush |
---|---|---|---|
Create | create page and use markup to set property ✓ | edit ✓ | wikipush, wikiupload, wikirestore ✓ |
Read | visit link of page ✓ | read html or markup {Done}} | wikibackup, wikipush, wikiedit ✓ |
Update | modify page via edit | edit ✓ | wikiedit, wikirestore, wikipush ✓ |
Delete | delete page ✓ | delete {Done}} | wikinuke ✓ |
Column value operations
Operation | Manually | Via Api | Via Wikipush |
---|---|---|---|
Create | reate property page and modify concept, template, form, help ✓ | edit ✓ | wikipush, wikiupload, wikirestore ✓ |
- Read - - use ask queries to retrieve property values ✓
- Update - modify
- Delete - delete property ✓ - modify content pages to remove property Δ
Modifying a Single triple
- py-3rdparty-mediawiki issue #91 wikiedit allow to modify single parameter of a macro WikiSon
- http://family.bitplan.com/index.php/Alexandra_of_Denmark
wikiedit -t family --template Person --property label --value "Alexandra of Denmark" -p Alexandra_of_Denmark
editing 1 pages in family (dry run)
1/1 (100.00%): editing Alexandra_of_Denmark ...👍 |childOf=F74
|parentOf=F2
|spouse=Q20875
+|label=Alexandra of Denmark
}}
[[Category:frontend]]
wikiedit -t family --template Person --property label --value "Alexandra of Denmark" -p Alexandra_of_Denmark -f
editing 1 pages in family (forced)
1/1 (100.00%): editing Alexandra_of_Denmark ...✅
Example Usecases
- Royal Family
- Scholary communication
Example: Scholary communication
How SMWSync works
- Self describing Properties
- Mapping SMW Properties to Wikidata properties
- Command Line Tool
Self describing Properties
MetaModel, SiDIF, LinkML
Mapping SMW Properties to Wikidata properties
Command Line Tool
Links
- https://wiki.bitplan.com/index.php/PySMWSync
- https://wiki.bitplan.com/index.php/PyMetaModel
- https://wiki.bitplan.com/index.php/Py-yprinciple-gen