Workflow "How to model a business domain in SMW from scratch"
Community:Component0607566289
Jump to navigation
Jump to search
|
Content
Goal "The need to know how to start"
When promoting SMW for organizational knowledge management, a customer's power user needs a guide on how to start.
Reasoning "Facet-Driven Inside-Out-Bottom-Up"
- Organizational knowledge management with SMW is about structured information.
- So, how to start to structure information? Work inside-out-bottom-up along the principles, concepts and modalities conveyed by the dataspects Knowledge Management Framework.
Effective attitudes
Learning bite:
Your attitudes are equally important as your skills are.
|
![]() This is a screenshot taken from the video "Agile is Dead" by Dave Thomas. |
Example domain
Document SMWCon Fall 2017 so that its information can be efficiently consumed by purposeful aspects, e.g.
Learning bite:
A documentation is not a document, but it can be.
- Who was there in what role?
- Who presented what?
- Which community to do items were identified?
- …
Start with an instance!
Learning bite:
Be object oriented before being class oriented.
- What is there?
- Participants!
# smw.com/wiki/new_page
Fletcher
- What is "Fletcher"?
- It's a surname!
Surname=Fletcher
- A surname of what?
- Of a person!
# smw.com/wiki/new_page
{{Person
|Surname=Fletcher
}}
- What's the relationship between "surname" and "person"?
- It's "Has"!
# smw.com/wiki/new_page
{{Person
|HasSurname=Fletcher
}}
- What else is there?
Promoting SMW to Anglo-Saxon politicians
- What is this?
- It's a talk!
# smw.com/wiki/new_page
{{Person
|HasSurname=Fletcher
}}
{{Talk
|Promoting SMW to Anglo-Saxon politicians
}}
- What aspect of a talk is "Promoting SMW to Anglo-Saxon politicians"?
- It's the talk's working title! The final title is still pending.
# smw.com/wiki/new_page
{{Person
|HasSurname=Fletcher
}}
{{Talk
|HasWorkingTitle=Promoting SMW to Anglo-Saxon politicians
|HasFinalTitle=_pending
}}
- Are persons and talks related?
- Yes! A talk is delivered by a person!
- That's terminological talk. Please provide an assertion example!
# smw.com/wiki/new_page
{{Person
|HasSurname=Fletcher
}}
{{Talk
|HasWorkingTitle=Promoting SMW to Anglo-Saxon politicians
|HasFinalTitle=_pending
|IsDeliveredBy=Fletcher
}}
- Do we spot that a "a person can have multiple talks but one talk is typically delivered by one person"?
- Premature optimization is the root of all evil!
- Yes!
- Then let
smw.com/wiki/fletcher
be a "person page"! (http://everypageispageone.com/the-book)
# smw.com/wiki/new_page
{{Person # This template is now understood as declaring this page as being of type "Person"!
|HasSurname=Fletcher
}}
{{Talk
|HasWorkingTitle=Promoting SMW to Anglo-Saxon politicians
|HasFinalTitle=_pending
|IsDeliveredBy={{PAGENAME}}
}}
- Now is the time to move from object orientation to class orientation!
smw.com/wiki/Template:Person
{{#set:HasType=Person}} {{#set:HasSurname={{{HasSurname}}}}} {{DISPLAYTITLE:Person "{{{HasSurname}}}"}}{{#default_form:Person}} # <-- This implements type-hinting!
smw.com/wiki/Template:Talk
{{#set:HasType=Talk}} {{#set:HasWorkingTitle={{{HasWorkingTitle}}}}} {{#set:IsDeliveredBy={{{IsDeliveredBy}}}}} {{DISPLAYTITLE:Talk "{{{HasWorkingTitle}}}"}}{{#default_form:Talk}}
- Now is the time to create the first facets! (Type instances lists are trivial.)
- Create your first 2 ask queries:
- talks by person
- person by talk
- Switch gears to "facet-driven business domain modeling in SMW"!