Difference between revisions of "PrF UG classes view relations"
(15 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== Viewing Class Relations == | == Viewing Class Relations == | ||
− | {{PrF_UG_TOC_classes}}<div id='prf_ug'> | + | <noinclude>{{PrF_UG_TOC_classes}}<div id='prf_ug'></noinclude> |
− | If Class_A has a direct slot of type <b>Class</b> or an <b>Instance</b> | + | If Class_A has a direct slot of type <b>Class</b> |
− | that includes Class_B in the allowed class(es) of the slot, | + | or an <b>Instance</b> that includes Class_B |
+ | in the allowed class(es) of the slot, | ||
we say that Class_B is <i>related</i> to Class_A. | we say that Class_B is <i>related</i> to Class_A. | ||
− | The <b>Relations | + | The <b>Relations</b> menu, |
available by clicking on the arrow to the right of the class buttons, | available by clicking on the arrow to the right of the class buttons, | ||
− | allows you to choose which relation between classes to show in the | + | allows you to choose which relation between classes to show |
− | [[PrF_UG_classes_class_browser|Class Browser]]. | + | in the [[PrF_UG_classes_class_browser|Class Browser]]. |
This help topic describes the choices on the <b>Relations</b> menu. | This help topic describes the choices on the <b>Relations</b> menu. | ||
− | <div>[[Image:PrF_UG_classes_class_relations_icon.png| | + | <div>[[Image:PrF_UG_classes_class_relations_icon.png|frame|none| |
+ | Class Relations icon]]</div> | ||
=== Example === | === Example === | ||
− | For example, | + | For example, the <i>responsible_for</i> slot at the <b>Editor</b> class |
− | the <i>responsible_for</i> slot at the <b>Editor</b> class is a class of type <b>Instance</b> that has <b>Employee</b> as an | + | is a class of type <b>Instance</b> that has <b>Employee</b> |
− | [[PrF_UG_slots_value_type_instance#Setting_the_Value_Type_to_Instance|allowed class]]; | + | as an [[PrF_UG_slots_value_type_instance#Setting_the_Value_Type_to_Instance|allowed class]]; |
this means that <b>Employee</b> is related to <b>Editor</b>. | this means that <b>Employee</b> is related to <b>Editor</b>. | ||
− | <div>[[Image:PrF_UG_classes_class_relations_editor.png| | + | <div>[[Image:PrF_UG_classes_class_relations_editor.png|thumb|600px|none| |
+ | Relations Menu for Editor]]</div> | ||
− | The picture below shows the Class Relationship menu for the class <b>Editor</b> in the Newspaper example. | + | The picture below shows the Class Relationship menu |
+ | for the class <b>Editor</b> in the Newspaper example. | ||
<b>Editor</b> has two <b>Instance</b> slots, | <b>Editor</b> has two <b>Instance</b> slots, | ||
<b>responsible_for</b> and <b>sections</b>. | <b>responsible_for</b> and <b>sections</b>. | ||
− | <div>[[Image:PrF_UG_classes_class_relations_menu.png| | + | <div>[[Image:PrF_UG_classes_class_relations_menu.png|frame|none| |
+ | Class Relationship menu, "Show Relation responsible_for" selected]]</div> | ||
− | <b>Note:</b> If the highlighted class does not have any related classes, | + | <b>Note:</b> |
+ | If the highlighted class does not have any related classes, | ||
the menu only displays <b>Show Class Hierarchy</b> and <b>Show all Relations</b>. | the menu only displays <b>Show Class Hierarchy</b> and <b>Show all Relations</b>. | ||
− | Selecting <b>Show Relations responsible_for</b> changes the Class Hierarchy | + | Selecting <b>Show Relations responsible_for</b> changes the Class Hierarchy window |
+ | to display only the classes that are related to <b>Editor</b> | ||
+ | through the <i>responsible_for</i> slot. | ||
− | <div>[[Image:PrF_UG_classes_class_relations_browser.png| | + | <div>[[Image:PrF_UG_classes_class_relations_browser.png|frame|none| |
+ | Class Browser, "Editor" selected]]</div> | ||
=== The Relations Menu === | === The Relations Menu === | ||
Line 41: | Line 50: | ||
==== Show Class Hierarchy ==== | ==== Show Class Hierarchy ==== | ||
− | The default <b>Show Class Hierarchy</b> displays the subclass-superclass hierarchy of your knowledge base. | + | The default <b>Show Class Hierarchy</b> displays the subclass-superclass hierarchy |
− | All the classes in the knowledge base appear in the displayed tree. (Some classes may be hidden. | + | of your knowledge base. |
− | You can choose whether or not hidden classes are displayed in the Class Browser by choosing <b>Configure</b> from the <b>Project</b> menu, | + | All the classes in the knowledge base appear in the displayed tree. |
+ | (Some classes may be hidden. | ||
+ | You can choose whether or not hidden classes are displayed in the Class Browser | ||
+ | by choosing <b>Configure</b> from the <b>Project</b> menu, | ||
going to the <b>Display</b> tab, | going to the <b>Display</b> tab, | ||
and toggling the <b>Display Hidden Classes</b> option.) | and toggling the <b>Display Hidden Classes</b> option.) | ||
Line 49: | Line 61: | ||
==== Show All Relations ==== | ==== Show All Relations ==== | ||
− | <b>Show All Relations</b> displays a hierarchy of classes that are related to the selected class via its slots, | + | <b>Show All Relations</b> displays a hierarchy of classes |
− | as follows: | + | that are related to the selected class via its slots, as follows: |
<ul class='a'> | <ul class='a'> | ||
<li><p> | <li><p> | ||
− | The root is the class (<b>Class_A</b>) that was highlighted when <b>Show All Relations</b> was selected. | + | The root is the class (<b>Class_A</b>) that was highlighted |
+ | when <b>Show All Relations</b> was selected. | ||
</p> | </p> | ||
<li><p> | <li><p> | ||
− | The next level (direct children) consists of any classes (<b>Class_B1</b>, | + | The next level (direct children) consists of any classes |
− | + | (<b>Class_B1</b>, <b>Class_B2</b>, etc.) | |
− | + | that are related to <b>Class_A</b> through one or more of its slots. | |
</p> | </p> | ||
<li><p> | <li><p> | ||
− | The next level consists of any classes (<b>Class_C1</b>, | + | The next level consists of any classes |
− | + | (<b>Class_C1</b>, <b>Class_C2</b>, etc.) | |
− | + | that are related to one of the classes on the previous level | |
− | + | (<b>Class_B1</b>, <b>Class_B2</b>, etc.), | |
− | |||
through one of the slots of <b>Class_A</b>. | through one of the slots of <b>Class_A</b>. | ||
Note the following: | Note the following: | ||
Line 85: | Line 97: | ||
<li><p> | <li><p> | ||
Only classes related through the slots of <b>Class_A</b> are shown; | Only classes related through the slots of <b>Class_A</b> are shown; | ||
− | if <b>Class_X</b> is related to <b>Class_B</b> through a slot that is <i>not</i> attached to <b>Class_A</b>, | + | if <b>Class_X</b> is related to <b>Class_B</b> through a slot |
+ | that is <i>not</i> attached to <b>Class_A</b>, | ||
it will not appear. | it will not appear. | ||
</p> | </p> | ||
Line 91: | Line 104: | ||
<li><p> | <li><p> | ||
− | Subsequent levels continue the tree of classes that are related to the higher classes via the slots of <b>Class_A</b>. | + | Subsequent levels continue the tree of classes that are related |
+ | to the higher classes via the slots of <b>Class_A</b>. | ||
</p> | </p> | ||
</ul> | </ul> | ||
− | It is possible | + | It is possible (and sometimes useful) |
− | (and sometimes useful) | ||
to have a <i>recursive</i> relation: | to have a <i>recursive</i> relation: | ||
<b>Class_A</b> appears somewhere subordinate to <b>Class_A</b> on the tree. | <b>Class_A</b> appears somewhere subordinate to <b>Class_A</b> on the tree. | ||
− | This can happen, | + | This can happen, for example, if <b>Class_B</b> is related to <b>Class_A</b>, |
− | for example, | ||
− | if <b>Class_B</b> is related to <b>Class_A</b>, | ||
which in turn is related to <b>Class_B</b> through a different slot. | which in turn is related to <b>Class_B</b> through a different slot. | ||
− | In this case, | + | In this case, all the levels are shown from <b>Class_A</b> to <b>Class_A</b> |
− | all the levels are shown from <b>Class_A</b> to <b>Class_A</b> and the second instance is labeled <b>(recursive)</b>. | + | and the second instance is labeled <b>(recursive)</b>. |
==== Show Relation <i>slot</i> ==== | ==== Show Relation <i>slot</i> ==== | ||
Line 113: | Line 124: | ||
The slot-specific view can be read as "parent-relation-child", | The slot-specific view can be read as "parent-relation-child", | ||
where "relation" is the slot selected on the <b>Relations</b> menu. | where "relation" is the slot selected on the <b>Relations</b> menu. | ||
− | For example, | + | For example, in the <i>responsible_for</i> view, |
− | in the <i>responsible_for</i> view, | ||
<b>Editor</b> - is <i>responsible for</i> - <b>Employee</b>. | <b>Editor</b> - is <i>responsible for</i> - <b>Employee</b>. | ||
Line 136: | Line 146: | ||
<li><p> | <li><p> | ||
− | There are a number of additional classes that are related to <b>Class_B</b> through <i>slot_a</i>. | + | There are a number of additional classes that are related |
+ | to <b>Class_B</b> through <i>slot_a</i>. | ||
</p> | </p> | ||
</ul> | </ul> | ||
Line 144: | Line 155: | ||
<ul class='a'> | <ul class='a'> | ||
<li><p> | <li><p> | ||
− | <b>Show All Relations</b> will display <b>Class_A</b> and <b>Class_B</b> in a two-level recursion; | + | <b>Show All Relations</b> will display <b>Class_A</b> and <b>Class_B</b> |
+ | in a two-level recursion; | ||
the class relations from <i>slot_a</i> at <b>Class_B</b> are not shown. | the class relations from <i>slot_a</i> at <b>Class_B</b> are not shown. | ||
</p> | </p> | ||
<li><p> | <li><p> | ||
− | <b>Show Relation <i>slot_a</i></b> will show the classes that are related to <b>Class_B</b> through <i>slot_a</i> and any children of those classes. | + | <b>Show Relation <i>slot_a</i></b> will show the classes that are related |
+ | to <b>Class_B</b> through <i>slot_a</i> and any children of those classes. | ||
</p> | </p> | ||
</ul> | </ul> | ||
− | It is also possible to view a list of all the frames that | + | It is also possible to view a list of all the frames |
− | [[PrF_UG_classes_view_references|reference]] | + | that [[PrF_UG_classes_view_references|reference]] a highlighted class, |
− | a highlighted class, | + | using the References Class |
− | using the References | + | ([[Image:PrF_UG_classes_class.view_references.gif|classes_class.view_references]]) button. |
− | + | See [[PrF_UG_classes_view_references|Viewing References]] for more information. | |
− | |||
− | See | ||
− | [[PrF_UG_classes_view_references|Viewing References]] | ||
− | for more information. | ||
− | </div> | + | |
+ | <noinclude></div></noinclude> |
Latest revision as of 16:40, November 13, 2008
Viewing Class Relations
If Class_A has a direct slot of type Class or an Instance that includes Class_B in the allowed class(es) of the slot, we say that Class_B is related to Class_A. The Relations menu, available by clicking on the arrow to the right of the class buttons, allows you to choose which relation between classes to show in the Class Browser. This help topic describes the choices on the Relations menu.
Example
For example, the responsible_for slot at the Editor class is a class of type Instance that has Employee as an allowed class; this means that Employee is related to Editor.
The picture below shows the Class Relationship menu for the class Editor in the Newspaper example. Editor has two Instance slots, responsible_for and sections.
Note: If the highlighted class does not have any related classes, the menu only displays Show Class Hierarchy and Show all Relations.
Selecting Show Relations responsible_for changes the Class Hierarchy window to display only the classes that are related to Editor through the responsible_for slot.
The Relations Menu
Show Class Hierarchy
The default Show Class Hierarchy displays the subclass-superclass hierarchy of your knowledge base. All the classes in the knowledge base appear in the displayed tree. (Some classes may be hidden. You can choose whether or not hidden classes are displayed in the Class Browser by choosing Configure from the Project menu, going to the Display tab, and toggling the Display Hidden Classes option.)
Show All Relations
Show All Relations displays a hierarchy of classes that are related to the selected class via its slots, as follows:
The root is the class (Class_A) that was highlighted when Show All Relations was selected.
The next level (direct children) consists of any classes (Class_B1, Class_B2, etc.) that are related to Class_A through one or more of its slots.
The next level consists of any classes (Class_C1, Class_C2, etc.) that are related to one of the classes on the previous level (Class_B1, Class_B2, etc.), through one of the slots of Class_A. Note the following:
A class Class_C1 is shown as a child of the class it is related to.
If a class is related to more than one class on the previous level, it is shown everywhere it occurs (multiple superclasses).
Only classes related through the slots of Class_A are shown; if Class_X is related to Class_B through a slot that is not attached to Class_A, it will not appear.
Subsequent levels continue the tree of classes that are related to the higher classes via the slots of Class_A.
It is possible (and sometimes useful) to have a recursive relation: Class_A appears somewhere subordinate to Class_A on the tree. This can happen, for example, if Class_B is related to Class_A, which in turn is related to Class_B through a different slot. In this case, all the levels are shown from Class_A to Class_A and the second instance is labeled (recursive).
Show Relation slot
Selecting a slot from the menu will show the hierarchy of classes, starting at the selected class, that are related to each other only through the slot selected on the menu. The slot-specific view can be read as "parent-relation-child", where "relation" is the slot selected on the Relations menu. For example, in the responsible_for view, Editor - is responsible for - Employee.
This view is not necessarily a subset of the Show All Relations view. If Show All Relations has recursion, the view restricted to a single slot can be quite different and possibly more extensive. Consider the following situation:
Class_A and Class_B both have slot_a and slot_b.
Class_B is related to Class_A through slot_a.
Class_A is related to Class_B through slot_b.
There are a number of additional classes that are related to Class_B through slot_a.
In this case:
Show All Relations will display Class_A and Class_B in a two-level recursion; the class relations from slot_a at Class_B are not shown.
Show Relation slot_a will show the classes that are related to Class_B through slot_a and any children of those classes.
It is also possible to view a list of all the frames that reference a highlighted class, using the References Class () button. See Viewing References for more information.