Workflow "How to model a business domain in SMW from scratch"

From SMW CindyKate by dataspects
Community:Component0607566289
Jump to navigation Jump to search
[edit]
Keywords/Contexts

Design

Annotations
{{#compound_query:Community:Component0607566289Property "-Has subobject" has a restricted application area and cannot be used as annotation property by a user.UseCaseMotivation;?HasDirection;?IsMotivating;?IsMotivatedBy;?HasReasoning
Property "-Has subobject" has a restricted application area and cannot be used as annotation property by a user.Workflow "How to model a business domain in SMW from scratch";?HasDirection;?IsMotivating;?IsMotivatedBy;?HasReasoning Property "-Has subobject" has a restricted application area and cannot be used as annotation property by a user.Workflow "How to model a business domain in SMW from scratch";?HasDirection;?IsMotivating;?IsMotivatedBy;?HasReasoning
name=MotivationsDeclaredOnThisPageResultItem|link=none}}
Motivations
Lua error in Module:Motivations at line 23: attempt to concatenate field 'hasReasoning' (a nil value).
[edit]

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.

dataspects-semantic-business-domain-modeling-dssbdm.png

Effective attitudes

Learning bite:

Your attitudes are equally important as your skills are.

  • Start simple.
  • Be clear.
  • Name well.
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}}
Concept "DSKMF Annotations"
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"!