Master Entity Operations: Create, Delete, Label, Filter, and Search Entities in Innoslate's Database View (v.4.8 and below).
Sections Available in this Section
Feature | Description |
---|---|
Creating an Entity | Creating an entity in Innoslate allows you to add a new element to your project, providing a structured representation of a system elements. |
Deleting an Entity | Deleting an entity in Innoslate allows you to remove a specific elements from your project's database. |
Labeling Entities | Labeling entities in Innoslate allows you to categorize and tag specific elements, facilitating easier organization, filtering, and identification. |
Search Entities | Searching entities in Innoslate empowers you to quickly locate specific elements within your project's database |
Filter Entities | Filtering entities in Innoslate enables you to selectively display and focus on specific elements based on various criteria. |
Creating an Entity
1. Within ‘Database View,’ users can create a new entity by clicking the ‘+ New Entity’ button on the top left of the page.
2. This will open a drop-down menu of ‘Entity’ type options to create. This example will use the ‘Action’ class moving forward; however, the overall process is the same regardless of the selected class.
3. Once you have selected your entity type, a dialog will open. Here, enter at least a ‘Name’ for your new ‘Action’ entity.
4. Fill in the other attributes as necessary, add relationships and labels if need be, and then click the green ‘Save’ button to persist your new entity to your project’s database.
5. Once you have saved it, you will be navigated back to ‘Database View,’ where you will be able to find your new entity displayed as a row in your project’s database.
Deleting an Entities
To delete an entity/remove it from the database and references it across all projects, focus your attention on the toolbar. Find the red button labeled Delete and click it.
Upon clicking, a new pop-up will appear asking if you are sure about deleting it. If you confirm, the entity will be deleted and you will be returned to the previous page.
Labeling Entities
1. From the sidebar in ‘Entity View’ or any ‘Metadata’ tab, found in the left sidebar throughout Innoslate, locate the ‘Labels’ section, and click on the name of a label to add the label to an entity.
2. The label will highlight in blue, as shown below, to indicate the label has been successfully added.
3. Click the ‘Save’ button (sometimes just a green checkmark) located on the entity row or toolbar throughout Innoslate to persist your changes to your project’s database.
Removing a Label
1. From the sidebar in ‘Entity View’ or any ‘Metadata’ tab, found in the left sidebar throughout Innoslate, locate the ‘Labels’ section, and click on the ‘X’ of a label, which is highlighted blue, to remove the label from an existing entity.
2. The label will no longer be highlighted in blue, which indicates the label has been successfully removed.
3. Click the ‘Save’ button (sometimes just a green checkmark) located on the entity row or toolbar throughout Innoslate to persist your changes to your project’s database.
Search Entities
Innoslate provides the ability to perform searches for specific entities within your project’s database via the ‘Search’ feature.
You will find the ‘Search’ field used to enter your search criteria at the top center of the toolbar in ‘Database View.’
You can search based on a number, a word or group of words, a label, a class, or both class and label in any combination you wish. Simply type your search criteria in the search box and hit ‘Enter’ on your keyboard or click the magnifying glass button to the right of your entered text to display your search results.
Basic Searches
- By Number
Searching for a number checks the number, name, and description of every entity in your database looking for your search criteria.
For example:
2.3.2.0 – Matches entities that contain the number 2.3.2.0.
- By Word(s)
Searching for a word or group of words checks the number, name, and description of every entity in your database looking for your search criteria.
For example:
Stakeholder – Matches entities that contain the word stakeholder.
OR
preliminary design – Matches entities that contain the word preliminary and the word design.
Basic Searches with Qualifiers
- Label
You can narrow your search results by labels, using the label qualifier. Since entities can have multiple labels you can also use multiple of these qualifiers.
For example:
planning label:Activity – Matches entities with the word planning that are also labeled as an Activity.
OR
label:Activity label:Process – Matches entities with both the Activity and Process labels.
- Class
You can narrow your search results by class, using the class qualifier. Combine this with a label qualifier to further refine results.
For example:
mitigate risk class:Action – Matches entities with the word mitigate and the word risk that are of the schema-based class Action.
OR
power class:Requirement label:“Functional Requirement” – Matches entities with the word power that are of the schema-based class Requirement and also labeled as a Functional Requirement.
Advanced Searches
- AND and OR
When a more advanced search is required, it is possible to use the AND and OR search modifiers for more precise and refined results. The AND modifier requires both values on either side of the AND to be found. The OR modifier requires only one (1) of the values on either side of the OR to be found. These modifiers can also be used in combination with a single word, class qualifier, and/or label qualifier.
For example:
label:Facility AND label:Infrastructure – Matches entities that are labeled with both the Facility and Infrastructure labels.
OR
distribution label:System OR label:Subsystem – Matches entities with the word distribution that are also labeled either as a System or a Subsystem.
- NOT
The NOT modifier will find the inverse of the following search term.
For example:
NOT is:root – Matches entities that are not roots in hierarchies.
OR
NOT refined class:Action – Matches entities that do not have the word ‘refined’ and are of the schema-based class Action.
- Wildcards
Wildcard searches allow you to search for a combination of characters. Innoslate supports the percent(%) character to search for any number of non-whitespace characters before or after a set of characters.
For example:
Name: App% – Matches entities with any name with string ‘App’
OR
Number: 2% – Matches entities with any number that has a ‘2’.
- Prefix
Prefix searches allow you to search for a combination of characters after a prefix. Innoslate supports the asterisk(*) character to search for any number of non-whitespace characters after the previous characters. With this, you can search for numbers that start with specific characters.
For example:
number:5.* – Matches entities with numbers that start with ‘5.’.
OR
number:SRS.* class:Statement – Matches entities with numbers that start with ‘SRS.’ and are of the schema-based class Statement.
- Stop Words
Stop words are words or characters that are automatically filtered out of the search string. These words are usually linking verbs, conjunctions, or pronouns.
The List of stop words are the following:
i, me, my, myself, we, our, ours, ourselves, you, your, yours, yourself, yourselves, he, him, his, himself, she, her, hers, herself, it, its, itself, they, them, their, theirs, themselves, what, which, who, whom, this, that, these, those, am, is, are, was, were, be, been, being, have, has, had, having, do, does, did, doing, a, an, the, and, but, if, or, because, as, until, while, of, at, by, for, with, about, against, between, into, through, during, before, after, above, below, to, from, up, down, in, out, on, off, over, under, again, further, then, once, here, there, when, where, why, how, all, any, both, each, few, more, most, other, some, such, no, nor, not, only, own, same, so, than, too, very, s, t, can, will, just, don, should, now
To search for a stop word used the percent sign after the stop word.
For example:
been% – Matches entities with that the stop word ‘been’.
OR
s% – Matches entities that contain the stop character ‘s’.
- Attribute Search
Attribute searches allow you to search for attributes contained in entities. Innoslate supports the >, <, >=, <=, or = characters to search for attributes or attributes in ranges. The list below outlines the searches that can be performed on each attribute type. Attribute type can be found under the Type column in class or relation in the schema. Classes and Attributes names are case sensitive, whereas the values are not. Classes with spaces are pascal cased to perform the search by class with attributes.
- TEXT: Matches entities in a class with the attribute that contains the string of text.
Operators Supported: =For example:
Characteristic:“Units=meter” – Matches entities in Characteristic class that have the attributes Units that contain the value meter.
- NUMBER: Matches entities in a class with the attribute that evaluates as true.
Operators Supported: >, <, >=, <=, =For example:
Conduit:“Capacity>=50” – Matches entities in Conduit class that have the attributes Capacity that is greater than or equal to 50.
- BIG_TEXT:Matches entities in a class with the attribute that contains the string of text.
Operators Supported: =For example:
Decision:“Assumptions=acceptable” – Matches entities in Decision class that have the attributes Assumptions that contain the value acceptable.
- HTML: Matches entities in a class with the attribute that contains the string of text.
Operators Supported: =For example:
Website:“Title=Welcome” – Matches entities in Website class that have the attributes Title that contain the value Welcome.
- ENUMERATION: Matches entities in a class with the attribute that contains the enumeration text.
Operators Supported: =For example:
Requirement:“Status=Draft” – Matches entities in Requirement class that have the attributes Status that contain the value Draft.
- PERCENT: Matches entities in a class with the attribute that evaluates as true.
Operators Supported: >, <, >=, <=, =For example:
Action:“Percent Complete>75” – Matches entities in Action class that have the attributes Percent Complete that is greater than 75.
- DATETIME: Matches entities in a class with the attribute that evaluates as true. DateTime accepts 12 different DateTime formats. These formats can be seen in the list below. Time is standard to military time so 12 am is 00 and 12 pm is 12.
Important: Entities with attributes of datetime created before 4.3 will need to have the entities updated to be able to be evaluated correctly. Updates can be any change to the entity and not necessary to the DateTime attribute.
Operators Supported: >, <, >=, <=, =
DateTime Supported Formats:
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm
yyyy-MM-dd
MM-dd-yyyy HH:mm:ss
MM-dd-yyyy HH:mm
MM-dd-yyyy
yyyy/MM/dd HH:mm:ss
yyyy/MM/dd HH:mm
yyyy/MM/dd
MM/dd/yyyy HH:mm:ss
MM/dd/yyyy HH:mm
MM/dd/yyyyFor example:
Action:“Start<2020-12-25 13:45:30” – Matches entities in Action class that have the attributes Start that is less than 1:45.30 pm on December 25, 2020.
- URI: Matches entities in a class with the attribute that contains the string of text.
Operators Supported: =For example:
Virtual:“URI=google” – Matches entities in Virtual class that have the attributes URI that contain the value google.
- FILE: Matches entities in a class with the attribute that contains a file attachment.
Operators Supported: =For example:
Artifact:“File=True” – Matches entities in Artifact class that have the attribute File that contains a file attachment.
OR
Artifact:“File=Yes” – Matches entities in Artifact class that have the attribute File that contains a file attachment.
- DURATION: Matches entities in a class with the attribute that evaluates as true.
Operators Supported: >, <, >=, <=, =
Important: Entities with attributes of duration created before 4.3 will need to have the entities updated to be able to be evaluated correctly. Updates can be any change to the entity and not necessary to the duration attribute.
For example:
Action:“Duration>=1.5 Hours” – Matches entities in Action class that have the attributes Duration that is greater than or equal to 1.5 hours.
- GEOPOINT: Matches entities in a class with the attribute that evaluates as true. GeoPoint attribute search can be searched by a single value or pair of values separated by a comma.
Operators Supported: >, <, >=, <=, =For example:
Physical:“Coordinates>37.0902” – Matches entities in Physical class that have the attributes Coordinate that greater than 37.0902.
OR
Physical:“Coordinates=37.0902, 95.7129” – Matches entities in Physical class that have the attributes Coordinate that equal 37.0902 and 95.7129.
- QUALITY: Matches entities in a class with the attribute that contains the value Yes or No, or True or False.
Operators Supported: =For example:
Requirement:“Clear=True” – Matches entities in Requirement class that have the attribute Clear that contains the value of Yes.
OR
Requirement:“Clear=Yes” – Matches entities in Requirement class that have the attribute Clear that contains the value of Yes.
- MULTIPLICITY: Matches entities in a class with the attribute that contains the string of text.
Operators Supported: =For example:
Vehicle:“Wheels=2..4” – Matches entities in Vehicle class that have the attributes Wheels that contain the value 2..4.
- USER_TEAM: Matches entities in a class with the attribute that contains the string of users or teams.
Operators Supported: =
Important: Entities with attributes of user_team created before 4.3 will need to have the entities updated to be able to be evaluated correctly. Updates can be any change to the entity and not necessary to the user_team attribute.
For example:
Issue:“Assignee=support” – Matches entities in Issue class that have the attribute Assignee that contains the user support. - MULTISELECT: Matches entities in a class with the attribute that contains the enumeration text.
Operators Supported: =
Important: Entities with attributes of multiselect created before 4.3 will need to have the entities updated to be able to be evaluated correctly. Updates can be any change to the entity and not necessary to the multiselect attribute.
For example:
Flag:“Color=green” – Matches entities in Color class that have the attributes Color that contain the values green.
Diagrams Type |
Supported Diagram Name |
A0_DIAGRAM |
icom, icom diagram |
IDEF0_DIAGRAM |
idef0, idef0 diagram |
LAYER |
layer, layer diagram |
LML_ACTION |
action, action diagram |
LML_ASSET |
asset, asset diagram |
LML_HIERARCHY |
hierarchy, hierarchy chart, hierarchy diagram |
LML_I2 |
i2, i2 diagram, i-squared, i-squared diagram |
LML_ICD |
icd, interface control, interface control diagram |
LML_N2 |
n2, n2 diagram, n-squared, n-squared diagram |
LML_PHYSICAL_INPUT_OUTPUT_DIAGRAM |
physical, physical diagram, physical i/o, physical i/o diagram |
LML_RISK |
risk, risk diagram |
LML_SPIDER_DIAGRAM |
spider, spider diagram |
LML_TIMELINE |
timeline, timeline diagram |
RADAR_DIAGRAM |
radar, radar diagram |
SYSML_ACTIVITY |
activity, activity diagram |
SYSML_BDD |
bdd, bdd diagram, block definition, block definition diagram |
SYSML_IBD |
ibd, ibd diagram, internal block, internal block diagram |
SYSML_PACKAGE |
package, package diagram |
SYSML_PARAMETRIC |
parametric, parametric diagram |
SYSML_REQUIREMENTS |
requirement, requirements, requirement diagram, requirements diagram |
SYSML_SEQUENCE |
sequence, sequence diagram |
SYSML_STATE_MACHINE |
state machine, state machine diagram |
SYSML_USE_CASE |
use case, use case diagram |
TREE |
tree, tree diagram |
UML_CLASS |
class, class diagram |
List of Available Qualifiers
The table below outlines of all the search qualifiers supported by the Innoslate search system.
Search Qualifier |
Example Search |
Returns |
id:value |
Id:1 |
Entities where the id is equal to specified value. |
attributeid:”attribute id=value” |
Attributeid:”1=1″ |
Entities where the specified attribute value equals the searched value. |
class:”attribute name=value” |
Action:”Percent Complete=45″ |
Entities where the specified attribute value equals the searched value. See Attribute Search above for more details. |
class:name |
class:Action |
Entities of the specified schema-based class. |
diagram:diagram type |
diagram:LML_ACTION |
Entities that have that specific diagram enum. See Diagram Search above for more details. |
diagram:diagram name |
diagram:”Action Diagram” |
Entities which have that specific diagram name. See Diagram Search above for more details. |
relationshipid:relation Id |
relationshipid:1 |
Entities that contain the relationship type. |
relationship:relation name |
relationship:”decomposed by” |
Entities that contain the relationship type. |
order:type |
order:number |
Orders the results by either name, number, or modified in ascending order. Including a minus after the type (ex. order:number-) will sort descending. |
is:crossproject |
is:crossproject |
Entities with cross project relationships. |
is:diagram |
is:diagram |
Entities that have a generated diagram within Innoslate. |
is:leaf |
is:leaf |
Entities with no children (no target relationships on decomposed by). |
is:orphan |
is:orphan |
Entities with no target relationships to any other entity. |
is:root |
is:root |
Entities with no parents (no target relationships on decomposes). |
label:name |
label:Activity |
Entities with the specified label applied. |
is:top |
is:top |
Entities which are the top of an overall hierarchy (documents, root diagrams, etc.). |
number:number |
number:5.1 |
Entities with the specified number. |
globalid:global Id |
globalid:I_1E3MYNY9MGHV_9WCAZFAFXJW6C |
Entities which have the supplied global id. |
Database Variances
Innoslate supports multiple databases. Each database behaves slightly differently when it comes to searching and stop words. The table below is to help illustrate these differences. Four entities were created for this search example. The first three entities had the name, number, or description filled in with “Innoslate is an MBSE tool”. The fourth had the number field filled in with I.1.12.
Without Stop Words | With Stop Words | |||
Microsoft SQL | PostgreSQL | Microsoft SQL | PostgreSQL | |
Name: | ||||
Name:is | X | X | E | E |
Name:"is*" | X | X | P | X |
Name:"is%" | X | X | P | X |
Name:"%is%" | X | X | X | X |
Name:"*is*" | X | X | X | X |
Name:Innoslate | X | X | X | X |
Name:Inn* | X | X | X | X |
Name:Inn% | X | X | X | X |
Name:_n* | X | X | X | X |
Name:_n% | X | X | X | X |
Name:"MB*" | X | X | X | X |
Name:"MB%" | X | X | X | X |
Name:"*MB*" | X | X | X | X |
Name:"%MB%" | X | X | X | X |
Name:"MBSE" | X | X | X | X |
Name:"MBSE tool" | X | X | X | X |
Name:"Innoslate is a MBSE tool" | X | X | X | X |
Number: | ||||
Number:2 | X | X | X | X |
Number:2. | X | X | X | X |
Number:2* | X | X | * | X |
Number:2% | X | X | * | X |
Number:is | X | X | X | X |
Number:"is*" | X | X | X | X |
Number:"is%" | X | X | * | X |
Number:"*is*" | X | X | X | X |
Number:"%is%" | X | X | X | X |
Number:_.* | X | X | X | X |
Number:_.% | X | X | X | X |
Number:Innoslate | X | X | X | X |
Number:Inn* | X | X | X | X |
Number:Inn% | X | X | X | X |
Number:_n* | X | X | X | X |
Number:_n% | X | X | X | X |
Number:"MB*" | X | X | X | X |
Number:"MB%" | X | X | X | X |
Number:"*MB*" | X | X | X | X |
Number:"%MB%" | X | X | X | X |
Number:"MBSE" | ** | X | ** | X |
Number:"MBSE tool" | ** | X | ** | X |
Number:"Innoslate is a MBSE tool" | X | X | X | X |
Description: | ||||
Description:is | X | X | E | E |
Description:"is*" | X | X | X | X |
Description:"is%" | X | X | X | X |
Description:"*is*" | X | X | X | X |
Description:"%is%" | X | X | X | X |
Description:Innoslate | X | X | X | X |
Description:Inn* | X | X | X | X |
Description:Inn% | X | X | X | X |
Description:*Inn* | ** | ** | ** | ** |
Description:%Inn% | X | X | X | X |
Description:_n* | ** | X | ** | X |
Description:_n% | ** | X | ** | X |
Description:"MB*" | X | X | X | X |
Description:"MB%" | X | X | X | X |
Description:"*MB*" | X | X | X | X |
Description:"%MB%" | X | X | X | X |
Description:"MBSE" | X | X | X | X |
Description:"MBSE tool" | X | X | X | X |
Description:"Innoslate is a MBSE tool" | X | X | X | X |
ALL: | ||||
is | X | X | E | E |
"is*" | X | X | X | X |
"is%" | X | X | X | X |
"*is*" | X | X | X | X |
"%is%" | X | X | X | X |
Innoslate | X | X | X | X |
Inn* | X | X | X | X |
Inn% | X | X | X | X |
*Inn* | ** | ** | ** | ** |
%Inn% | X | X | X | X |
_n* | X | X | X | X |
_n% | X | X | X | X |
"MB*" | X | X | X | X |
"MB%" | X | X | X | X |
"*MB*" | X | X | X | X |
"%MB%" | X | X | X | X |
MBSE | X | X | X | X |
"MBSE" | X | X | X | X |
"MBSE tool" | X | X | X | X |
Innoslate is a MBSE tool | X | X | X | X |
"Innoslate is a MBSE tool" | X | X | X | X |
_.* | X | X | X | X |
_.% | X | X | X | X |
Innoslate is a MB* | X | X | X | X |
Innoslate is a MB% | X | X | X | X |
E: Stop word, so all results are true
|
P: Partial with words that start with word, but wont contain the stopwords itself
|
* Give less than original verison
|
** Invalid Searches
|
Filtering Entities
Filter by Class
To filter which entities display in ‘Database View’ by schema-based class, select a ‘Class’ name in the left sidebar, under the ‘Filter’ tab.
To remove the class filter, you can return to viewing all entities by clicking ‘Clear Class.’
Filter by Label
To filter which entities display in ‘Database View’ by schema-based label, select a ‘Label’ name in the left sidebar, under the ‘Filter’ tab.
To remove the label filter, you can return to viewing all entities by clicking ‘Clear Label.’
* Note: The schema-based labels are available to filter depending on which class you are currently filtering by. Labels that are assigned to at least one class from the ‘Schema Editor’ must have that class filter enabled in ‘Database View’ in order to show up as a filter option. Labels that are not assigned to any classes will show up regardless of the class filter.
To continue learning about Database View, Click Here.
(Next Article: Advanced Search Editor)