Ontology "dataspectsSupportOntology"

From dataspects::Wiki
C1672515669
Jump to navigation Jump to search


Templates Properties
Concepts
Forms
Categories Main
Modules MediaWiki
Talk

Story

  1. Support agents, in the SearchContext "Support", search for <search_string> including error codes and/or symptoms reported by a customer.
  2. If the support engine sets the SearchContext to "Support", the following match profiles will be boosted:
    • Boost 10: HasEntityType::Problem AND (mTBC OR MentionsErrorCode::*<search_string>*)
    • Boost 5: HasEntityType::Solution AND mTBC
    • Boost 0: mTBC
    (mTBC = HasEntityTitle::*<search_string>* OR HasEntityBlurb::*<search_string>* OR HasEntityContent::*<search_string>*)
  3. For results of HasEntityType::Problem either solutions or caused problems are displayed.
  4. For results of HasEntityType::Solution corresponding problems are displayed.



Components

SupportDashboard

SupportDashboard
<includeonly>=== [[SupportDashboard]] ===</includeonly>
{{#formlink:form=Problem|link text=Add new problem|link type=link}} | {{#formlink:form=Solution|link text=Add new solution|link type=link}}
; Problems
{| class="wikitable" width="100%"
{{#ask:
 [[HasEntityType::Problem]]
 |format=template
 |template=ProblemItem
 |link=none
}}
|}
; Solutions
{| class="wikitable" width="100%"
{{#ask:
 [[HasEntityType::Solution]]
 |format=template
 |template=SolutionItem
 |link=none
}}
|}<noinclude>[[Category:dataspectsSupportOntology]][[Category:Dashboard]]</noinclude>
Template:ProblemItem
|-
|[[{{{1}}}]]
{{#ask:[[-Has subobject::{{{1}}}]][[HintedByErrorCode::+]]
|mainlabel=-
|?HintedByErrorCode
|format=template
|template=HintingErrorCodeForProblemItem
|link=none
}}
|
{{#ask:[[-Has subobject::{{{1}}}]][[HasSolution::+]]
|mainlabel=-
|?HasSolution
|?SuggestedBy
|format=template
|template=SolutionForProblemItem
|link=none
}}
{{#ask:[[-Has subobject::{{{1}}}]][[CanBeCausedByProblem::+]]
|mainlabel=-
|?CanBeCausedByProblem
|?SuggestedBy
|format=template
|template=ProblemCausingProblemItem
|link=none
}}
|-<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>
Template:HintingErrorCodeForProblemItem
* is hinted by error code <span style="background-color:pink;">{{{1}}}</span><noinclude>[[Category:dataspectsSupportOntology]]</noinclude>
Template:SolutionForProblemItem
* has <span style="background-color:lightgreen;">[[{{{1}}}]]</span> {{#if:{{{2|}}}| <sup>suggested by [[{{{2}}}]]</sup>|}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>
Template:ProblemCausingProblemItem
* can be caused by underlying <span style="background-color:pink;">[[{{{1}}}]]</span>{{#if:{{{2|}}}| <sup>suggested by [[{{{2}}}]]</sup>|}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

Problems

Template:Problem

<includeonly>{{METADATA|Keywords={{{HasKeyword|}}}|HasEntityTitle={{{HasEntityTitle}}}|HasEntityBlurb={{{HasEntityBlurb|}}}|HasEntityType=Problem}}
* {{#ask:[[-Has subobject::{{FULLPAGENAME}}]][[HintedByErrorCode::+]]
|mainlabel=-
|?HintedByErrorCode
|format=template
|template=HintingErrorCodeForProblemItem
|link=none
}}
{{#ask:[[-Has subobject::{{FULLPAGENAME}}]][[HasSolution::+]]
|mainlabel=-
|?HasSolution
|?SuggestedBy
|format=template
|template=SolutionForProblemItem
|link=none
}}
{{#ask:[[-Has subobject::{{FULLPAGENAME}}]][[CanBeCausedByProblem::+]]
|mainlabel=-
|?CanBeCausedByProblem
|?SuggestedBy
|format=template
|template=ProblemCausingProblemItem
|link=none
}}
[[Category:Problem]]
</includeonly>
<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

Template:SolutionForProblemItem

* has <span style="background-color:lightgreen;">[[{{{1}}}]]</span> {{#if:{{{2|}}}| <sup>suggested by [[{{{2}}}]]</sup>|}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

Template:ProblemCausingProblemItem

* can be caused by underlying <span style="background-color:pink;">[[{{{1}}}]]</span>{{#if:{{{2|}}}| <sup>suggested by [[{{{2}}}]]</sup>|}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

Form:Problem

{{{info|add title=New Problem|edit title=Edit Problem|page name=C<unique number;random;10>}}}

{|class=wikitable width=100%
!width=33%|Has solutions
!width=33%|Can be caused by problems
!Is hinted by error codes
|-
|{{{for template|SolutionForProblem|multiple}}}
* Solution: {{{field|HasSolution|input type=dropdown|values from category=Solution|mapping property=HasEntityTitle}}}
* Suggested by: {{{field|SuggestedBy|input type=dropdown|values from namespace=User}}}
{{{end template}}}
|{{{for template|ProblemCausingProblem|multiple}}}
{{{field|CanBeCausedByProblem|input type=dropdown|values from category=Problem}}}
{{{end template}}}
|{{{for template|ErrorCodeHintingProblem|multiple}}}
{{{field|HintedByErrorCode|input type=text}}}
{{{end template}}}
|}

{{FormHeader|Problem}}
{{StandardFormSections}}
{{FormFooter}}

<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

The following two subobject implementations allow for reification, in this case by specifying who suggested a solution or an underlying problem.

Template:SolutionForProblem

{{#subobject:
|HasSolution={{{HasSolution}}}
|SuggestedBy={{#if:{{{SuggestedBy|}}}|User:{{{SuggestedBy}}}|}}
}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

Template:ProblemCausingProblem

{{#subobject:
|CanBeCausedByProblem={{{CanBeCausedByProblem}}}
|SuggestedBy={{#if:{{{SuggestedBy|}}}|User:{{{SuggestedBy}}}|}}
}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>

MongoDB collection record

{
  ...
  "annotations": [
    {
      "_id": "5cc2e8632ed16e62f65c7e56",
      "id": "",
      "subject": "Problem002#0##_83def6efc257a68bef693e0eabafbd3a",
      "predicate": "HasSolution",
      "object": "Solution003#"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e55",
      "id": "",
      "subject": "Problem002#0##_83def6efc257a68bef693e0eabafbd3a",
      "predicate": "SuggestedBy",
      "object": "Admin#2##"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e54",
      "id": "",
      "subject": "Problem002#0##_a1ed44e1e5b3af3ced2a05f433a13ad7",
      "predicate": "CanBeCausedByProblem",
      "object": "Problem123#"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e53",
      "id": "",
      "subject": "Problem002#0##_81f0415b9979c36185a1d4076f88921e",
      "predicate": "HintedByErrorCode",
      "object": "5530"
    }
  ]
  ...
}
Elasticsearch index document
{
  ...
  "HasEntityAnnotations": [
    {
      "_id": "5cc2e8632ed16e62f65c7e56",
      "id": "",
      "subject": "Problem002#0##_83def6efc257a68bef693e0eabafbd3a",
      "predicate": "HasSolution",
      "object": "Solution003#"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e55",
      "id": "",
      "subject": "Problem002#0##_83def6efc257a68bef693e0eabafbd3a",
      "predicate": "SuggestedBy",
      "object": "Admin#2##"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e54",
      "id": "",
      "subject": "Problem002#0##_a1ed44e1e5b3af3ced2a05f433a13ad7",
      "predicate": "CanBeCausedByProblem",
      "object": "Problem123#"
    },
    {
      "_id": "5cc2e8632ed16e62f65c7e53",
      "id": "",
      "subject": "Problem002#0##_81f0415b9979c36185a1d4076f88921e",
      "predicate": "HintedByErrorCode",
      "object": "5530"
    }
  ]
  ...
}

Solutions

Template:Solution
<includeonly>{{METADATA|Keywords={{{HasKeyword|}}}|HasEntityTitle={{{HasEntityTitle}}}|HasEntityBlurb={{{HasEntityBlurb|}}}|HasEntityType=Solution}}
{{#ask:[[HasSolution::{{FULLPAGENAME}}]]
|?SuggestedBy
|format=template
|template=ProblemForSolutionItem
|link=none
}}
[[Category:Solution]]
</includeonly>
<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>
Template:ProblemForSolutionItem
* solves <span style="background-color:pink;">[[{{#explode:{{{1}}}|#_|0}}]]</span> {{#if:{{{2|}}}| <sup>suggested by [[{{{2}}}]]</sup>|}}<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>
Form:Solution
{{{info|add title=New Solution|edit title=Edit Solution|page name=C<unique number;random;10>}}}

{{FormHeader|Solution}}
{{StandardFormSections}}
{{FormFooter}}

<noinclude>[[Category:dataspectsSupportOntology]]</noinclude>