HowTo: Difference between revisions
No edit summary |
|||
Line 89: | Line 89: | ||
For the Context creation we asked Claude AI: {{Link|target=Book_Experiment}} resulting in {{Link|target=BookContext}} | For the Context creation we asked Claude AI: {{Link|target=Book_Experiment}} resulting in {{Link|target=BookContext}} | ||
== CityContext == | |||
[https://www.semantic-mediawiki.org/wiki/Category:City City pages] have been used to explain SemanticMediaWiki since 2012. | |||
To start we copy the Demo Pages locally: | |||
<source lang='bash'> | |||
wikipush -s smw -t contexts -q "[[Category:City]][[Demo:~*]][[Population::+]]" -wi -f | |||
copying 13 pages from smw to contexts | |||
1/13 ( 8%): copying ... Demo:Amsterdam✅ | |||
... | |||
copying image File:Tokyo-Tsukishima-0011.jpg ...✅ | |||
13/13 ( 100%): copying ... Demo:Würzburg✅ | |||
</source> | |||
== SMWCon == | == SMWCon == |
Revision as of 16:34, 8 August 2024
This page in other languages: de
How to Properly Semantify Your Data Gathering and Querying Needs using a Semantified Wiki to create a fitting Knowledge Graph
This guide outlines a systematic approach starting with your Needs and ending up with a fully operational Semantic MediaWiki that you may use as a prototype of even for production.
Steps
Start with gathering your needs
You can do this systematic (smartRQM), semi-systematic or fully freestyle in natural languages. Just make sure you get to an agreement between the stakeholders about what is relevant and capture the needs in computer readable form.
Set Up Your Wiki
Utilize ProfiWiki and py-mediawikidocker to set up your Semantic MediaWiki environment. This provides a solid foundation for your semantified wiki in a few minutes.
Create a Context for your project
You'll find examples context right in this wiki at List of Contexts Currently there are 16 example Contexts available:
Generate Semantic Structure
Use the y-principle generator to automatically create:
- Concept pages
- Templates
- Forms
- Help pages
- Properties
- List pages
That the Topic/Properties and TopicLinks needed for your Context. This approach ensures consistency and reduces redundancy in your wiki structure.
You'll get visualizations of your structure in UML and a prototype Wiki content as a result
Convert Existing Content
If you have existing content (like the SMWCon List of Attendees), convert it to use the newly created semantic structure. This may involve:
- Transforming existing content to semantic mediawiki pages (e.g by adapting existing templates or importing structured content)
- Replacing free-text information with property assignments
- Creating new pages for concepts that were previously only mentioned in free text
- changing the Structure to faciliated linking between contents to create a true knowled graph
Maintain Consistency
Regularly review and update your semantic structure. As your domain evolves, make sure to:
- Update the Context
- Regenerate semantic elements and the diagrams as needed
- Refactor existing content to match the updated structure
Tools
All tools being used are open source and have been used for many years in quite a few projects already.
wikipush Toolkit
py-sidif
py-sidif is used to parse Simple Data Interchange Format Triple files SiDIF is a simplified Triple serialization format in which
dad loves mom
is a valid triple declaration and the technical details are separate concern which is hidden. (note how the Resource Description Framework RDF does not follow this separtion of concerns but hard codes the use the Hypertext Transfer Protocol into it's design)
pymediawikidocker
pymediawikidocker automates the docker based setups of (Semantic) MediaWikis and supports migration from version to version by running multiple compatible wikis in parallel as a cluster.
pyMetaModel
PyMetaModel is a python library that can handle Contexts that are defined based on the MetaModel either directly from Template:SiDIF or ProfiWiki input
py-y-principle generator
AI / ChatBots
With AI and Chatbots following this process is even simpler, faster and more effective.
Examples
BookContext
In the WikiSon explanation
{{ Book | Lord of the Rings | 0261102389 }}
is given as an example Wiki notation for referencing the book Lord of the Rings.
We have formally gathered the Requirements for this example as:
- Project: BookProject
- Requirements: BookWithISBN
- Acceptance Criterion: BookLordOfTheRings
For the Context creation we asked Claude AI: Book_Experiment resulting in BookContext
CityContext
City pages have been used to explain SemanticMediaWiki since 2012. To start we copy the Demo Pages locally:
wikipush -s smw -t contexts -q "[[Category:City]][[Demo:~*]][[Population::+]]" -wi -f
copying 13 pages from smw to contexts
1/13 ( 8%): copying ... Demo:Amsterdam✅
...
copying image File:Tokyo-Tsukishima-0011.jpg ...✅
13/13 ( 100%): copying ... Demo:Würzburg✅
SMWCon
SMWCon is the acronym for the Semantic Mediawiki conference The lessons learned from the SMWCon experience and best practices in Semantic MediaWiki (SMW) are the basis for this example
Historical Context: SMWCon and List of Attendees
The journey of semantification for SMWCon began with the creation of the first SMWCon page using SemanticMediaWiki properties to capture information about SMWCon Events. https://www.semantic-mediawiki.org/wiki/SMWCon_Fall_2011 is an example for such a SMWCon page.
The proper way to handle the catalog of properties (Metadata management) has been much debated.
A self-reflective, semantified version of the Attendees list, as proposed by Pierre Racine (see Metadata management) of the List of Attendees at SMWCon Fal 2015 was a step forward. Over the years, additions were made, but unfortunately, SMWCon didn't fully embrace the power of self -reflective semantification.
Gathering the needs
We need to build on the existing pages from the categories
Creating the Context
SMWCon is the Context description in computer readable format it is based on
- https://www.semantic-mediawiki.org/wiki/List_of_Attendees
- https://wiki.bitplan.com/index.php/Attendee
and example properties such as:
As of 2024-08-03 we have simply asked Claude AI to create the wikipage with SiDIF format based on that input which only needed minor corrections and took a few minutes.
Lessons Learned from SMWCon
- Avoid Redundancy: Don't copy-paste content. Use semantic properties and queries to display information in multiple contexts.
- Eat Your Own Dog Food: If you're promoting semantification, use it extensively in your own wiki.
- Maintain Consistency: Regularly review and update your semantic structure to ensure it remains relevant and efficient.
- Automate Where Possible: Use tools like the y-principle generator to maintain consistency and reduce manual work.
- Embrace Self-Reflection: Implement a system where your wiki's structure is itself described semantically, allowing for easier management and evolution of your knowledge base.
Links
⚠️ LLM-generated content notice: Parts of this page may have been created or edited with the assistance of a large language model (LLM). The prompts that have been used might be on the page itself, the discussion page or in straight forward cases the prompt was just "Write a mediawiki page on X" with X being the page name. While the content has been reviewed it might still not be accurate or error-free.