HowTo: Difference between revisions

From wiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
of even for production.
of even for production.


== The Ideal Process ==
= Steps  =


=== Start with gathering your needs ===
== Start with gathering your needs ==
You can do this systematic, semi-systematic or fully freestyle in natural languages. Just make sure you get to an agreement between the stakeholders about
You can do this systematic, 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.
what is relevant and capture the needs in computer readable form.


=== Set Up Your Wiki ===
== Set Up Your Wiki ==
Utilize ProfiWiki and py-mediawikidocker to set up your Semantic MediaWiki environment.  
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.
This provides a solid foundation for your semantified wiki in a few minutes.


=== Create a Context for your project ===
== Create a Context for your project ==
You'll find examples context right in this wiki at {{Link|target=List of Contexts}}
You'll find examples context right in this wiki at {{Link|target=List of Contexts}}
Currently there are {{#ask: [[Concept:Context]]|format=count}} example Contexts available:
Currently there are {{#ask: [[Concept:Context]]|format=count}} example Contexts available:
Line 26: Line 26:
|order=ascending
|order=ascending
}}
}}
=== Generate Semantic Structure ===
== Generate Semantic Structure ==


Use the y-principle generator to automatically create:
Use the y-principle generator to automatically create:
Line 41: Line 41:
You'll get visualizations of your structure in UML and a prototype Wiki content as a result
You'll get visualizations of your structure in UML and a prototype Wiki content as a result


=== Convert Existing Content ===
== 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:
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)
* Transforming existing content to semantic mediawiki pages (e.g by adapting existing templates or importing structured content)
Line 49: Line 48:
* changing the Structure to faciliated linking between contents to create a true knowled graph
* changing the Structure to faciliated linking between contents to create a true knowled graph


=== Maintain Consistency ===
== Maintain Consistency ==
Regularly review and update your semantic structure. As your domain evolves, make sure to:
Regularly review and update your semantic structure. As your domain evolves, make sure to:
* Update the Context
* Update the Context
Line 55: Line 54:
* Refactor existing content to match the updated structure
* Refactor existing content to match the updated structure


=== Tools ===
= Tools =
All tools being used are open source and have been used for many years in quite a few projects already.
All tools being used are open source and have been used for many years in quite a few projects already.
==== wikipush Toolkit ====
== wikipush Toolkit ==
[https://wiki.bitplan.com/index.php/Py-3rdparty-mediawiki wikipush toolkit at github]
[https://wiki.bitplan.com/index.php/Py-3rdparty-mediawiki wikipush toolkit at github]


==== py-sidif ====
== py-sidif ==
[https://wiki.bitplan.com/index.php/Py-sidif py-sidif]  is used to parse [https://wiki.bitplan.com/index.php/SiDIF '''Si'''mple '''D'''ata '''I'''nterchange ''F''ormat] Triple files
[https://wiki.bitplan.com/index.php/Py-sidif py-sidif]  is used to parse [https://wiki.bitplan.com/index.php/SiDIF '''Si'''mple '''D'''ata '''I'''nterchange ''F''ormat] Triple files
SiDIF is a simplified Triple serialization format in which
SiDIF is a simplified Triple serialization format in which
Line 66: Line 65:
is a valid triple declaration and the technical details are separate concern which is hidden. (note how the [https://en.wikipedia.org/wiki/Resource_Description_Framework Resource Description Framework RDF] does not follow this separtion of concerns but hard codes the use the [https://en.wikipedia.org/wiki/HTTP Hypertext Transfer Protocol] into it's design)
is a valid triple declaration and the technical details are separate concern which is hidden. (note how the [https://en.wikipedia.org/wiki/Resource_Description_Framework Resource Description Framework RDF] does not follow this separtion of concerns but hard codes the use the [https://en.wikipedia.org/wiki/HTTP Hypertext Transfer Protocol] into it's design)


==== pymediawikidocker ====
== pymediawikidocker ==
[https://wiki.bitplan.com/index.php/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.
[https://wiki.bitplan.com/index.php/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.


==== py-y-principle generator ====
== py-y-principle generator ==


==== AI / ChatBots ====
== AI / ChatBots ==
With AI and Chatbots following this process is even simpler, faster and more effective.
With AI and Chatbots following this process is even simpler, faster and more effective.



Revision as of 08:56, 7 August 2024

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, 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:

Contextsinceupdatedmaster
BookContext7 August 20248 August 2024https://contexts.bitplan.com/index.php/BookContext
CityContext22 August 201529 October 2024https://contexts.bitplan.com/index.php/CityContext
ConfIDentMetadataSchema15 April 20207 August 2024https://contexts.bitplan.com/index.php/ConfIDentMetadataSchema
CrSchema22 July 202021 March 2023http://cr.bitplan.com
FamilyContext13 January 20157 August 2024https://contexts.bitplan.com/index.php/FamilyContext
Infrastructure27 July 202421 August 2024https://contexts.bitplan.com/index.php/Infrastructure
MetaModel23 January 20157 August 2024https://contexts.bitplan.com/index.php/MetaModel
OpenSourceProjectsContext31 October 201718 December 2022http://contexts.bitplan.com/index.php/OpenSourceProjectsContext
Presentation10 January 201522 December 2017https://contexts.bitplan.com/index.php/Presentation
QueryContext19 March 202319 March 2023https://contexts.bitplan.com/index.php/QueryContext
ResearchContext4 August 20207 August 2024https://contexts.bitplan.com/index.php?title=ResearchContext
SMWCon30 October 20157 August 2024https://contexts.bitplan.com/index.php/SMWCon
TeachingSchema16 January 20235 April 2023https://contexts.bitplan.com/index.php/TeachingSchema
WebContext31 October 2017http://wiki.bitplan.com/index.php/WebContext
WikiContext19 August 20157 August 2024https://contexts.bitplan.com/index.php/WikiContext
SmartRQM1 January 19968 July 2024http://rq.bitplan.com

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

wikipush toolkit at github

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.

py-y-principle generator

AI / ChatBots

With AI and Chatbots following this process is even simpler, faster and more effective.

Examples

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

Lessons Learned from SMWCon

  1. Avoid Redundancy: Don't copy-paste content. Use semantic properties and queries to display information in multiple contexts.
  2. Eat Your Own Dog Food: If you're promoting semantification, use it extensively in your own wiki.
  3. Maintain Consistency: Regularly review and update your semantic structure to ensure it remains relevant and efficient.
  4. Automate Where Possible: Use tools like the y-principle generator to maintain consistency and reduce manual work.
  5. 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