Database Management (v.4.8 and below)

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/yyyy

    For 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.

FilterClass

To remove the class filter, you can return to viewing all entities by clicking ‘Clear Class.’

ClearClassFilter

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.

FilterLabel

To remove the label filter, you can return to viewing all entities by clicking ‘Clear Label.’

ClearLabelFilter

* 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)