CLASS ndi.setup.NDIMaker.tableDocMaker
Folder: +ndi/+setup/+NDIMaker/
Superclasses
handle
Properties
Property | Description |
---|---|
session | The NDI session object (e.g., ndi.session.dir or ndi.database.dir) where documents will be added. |
variableMapFilename | |
variableMapStruct |
Methods
Method | Description |
---|---|
addlistener | addlistener Add listener for event. |
createOntologyTableRowDoc | CREATEONTOLOGYTABLEROWDOC Creates a single NDI 'ontologyTableRow' document for a row of table data. |
delete | DELETE Delete a handle object. |
eq | == (EQ) Test handle equality. |
findobj | FINDOBJ Find objects matching specified conditions. |
findprop | findprop Find property of MATLAB handle object. |
ge | >= (GE) Greater than or equal relation for handles. |
gt | > (GT) Greater than relation for handles. |
isvalid | ISVALID Test handle validity. |
le | <= (LE) Less than or equal relation for handles. |
listener | listener Add listener for event without binding the listener to the source object. |
lt | < (LT) Less than relation for handles. |
ne | ~= (NE) Not equal relation for handles. |
notify | NOTIFY Notify listeners of event. |
table2ontologyTableRowDocs | TABLE2ONTOLOGYTABLEROWDOCS Converts each row in a table into an NDI 'ontologyTableRow' document. |
tableDocMaker | TABLEDOCMAKER Constructor for this class. |
Methods help
addlistener - addlistener Add listener for event.
el = addlistener(hSource, Eventname, callbackFcn) creates a listener
for the event named Eventname. The source of the event is the handle
object hSource. If hSource is an array of source handles, the listener
responds to the named event on any handle in the array. callbackFcn
is a function handle that is invoked when the event is triggered.
el = addlistener(hSource, PropName, Eventname, Callback) adds a
listener for a property event. Eventname must be one of
'PreGet', 'PostGet', 'PreSet', or 'PostSet'. Eventname can be
a string scalar or character vector. PropName must be a single
property name specified as string scalar or character vector, or a
collection of property names specified as a cell array of character
vectors or a string array, or as an array of one or more
matlab.metadata.Property objects. The properties must belong to the
class of hSource. If hSource is scalar, PropName can include dynamic
properties.
For all forms, addlistener returns an event.listener. To remove a
listener, delete the object returned by addlistener. For example,
delete(el) calls the handle class delete method to remove the listener
and delete it from the workspace.
addlistener binds the listener's lifecycle to the object that is the
source of the event. Unless you explicitly delete the listener, it is
destroyed only when the source object is destroyed. To control the
lifecycle of the listener independently from the event source object,
use listener or the event.listener constructor to create the listener.
See also listener, event.listener, ndi.setup.ndimaker.tabledocmaker, matlab.metadata.Property, events
Help for ndi.setup.NDIMaker.tableDocMaker/addlistener is inherited from superclass handle
createOntologyTableRowDoc - CREATEONTOLOGYTABLEROWDOC Creates a single NDI 'ontologyTableRow' document for a row of table data.
DOC = CREATEONTOLOGYTABLEROWDOC(OBJ, TABLEROW, IDENTIFYINGVARIABLES, OPTIONS)
This method constructs an NDI document that links the data fields
from a single table row to ontology terms. The mapping from the
table's variable names (column headers) to ontology term identifiers
(e.g., "PREFIX:TermNameOrID") is performed using the 'obj.variableMapStruct'
loaded during the tableDocMaker's construction. Full ontology term
details (ID, name, prefix, shortName/codeName) are retrieved using
ndi.ontology.lookup.
The created NDI document is of type 'ontologyTableRow' and contains:
- 'names': A comma-separated string of full ontology term names.
- 'variableNames': A comma-separated string of full short/code names.
- 'ontologyNodes': A comma-separated string of full ontology IDs (e.g., "PREFIX:ID").
- 'data': A struct where field names are the 'variableNames' (shortName)
obtained from the ontology lookup, and values are the
corresponding data from the input 'tableRow'.
Inputs:
obj: An instance of the tableDocMaker class. It must have the
'variableMapStruct' property initialized, mapping table variable
names to ontology term identifiers, and a valid 'session' property.
tableRow: A 1xN MATLAB table representing a single row of data.
The variable names (column headers) of this table are used
for mapping to ontology terms.
identifyingVariables: A string, char array, or cellstr array of
variable names present in 'tableRow'. These variables
and their corresponding values in 'tableRow' are used
to query for an existing 'ontologyTableRow' document.
The combination of these variable values should
form a unique identifier for the row's data context.
Optional Name-Value Arguments:
Overwrite: Controls behavior if a document matching the 'identifyingVariables' is found:
- true: The existing document is removed, and a new one is created.
- false (default): The existing document is returned, and no
new document is created.
OldDocs: A cell array of existing documents in the database that match
the identifiying variables of the current document. Depending on the behavior
of Overwrite, the OldDocs will be returned or overwritten. Passing this argument
speeds up processing by reducing calls to the database.
Outputs:
doc: The NDI document object (ndi.document) of type 'ontologyTableRow'.
This will be the newly created document or the existing document
if found and 'options.Overwrite' is false.
inDatabase: Flag reporting whether the document already
exists in the database and Overwrite is false.
See also: ndi.ontology.lookup, ndi.document, ndi.query, tableDocMaker.table2ontologyTableRowDocs
delete - DELETE Delete a handle object.
DELETE(H) deletes all handle objects in array H. After the delete
function call, H is an array of invalid objects.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/ISVALID, CLEAR
Help for ndi.setup.NDIMaker.tableDocMaker/delete is inherited from superclass handle
eq - == (EQ) Test handle equality.
Handles are equal if they are handles for the same object.
H1 == H2 performs element-wise comparisons between handle arrays H1 and
H2. H1 and H2 must be of the same dimensions unless one is a scalar.
The result is a logical array of the same dimensions, where each
element is an element-wise equality result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = EQ(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/NE
Help for ndi.setup.NDIMaker.tableDocMaker/eq is inherited from superclass handle
findobj - FINDOBJ Find objects matching specified conditions.
The FINDOBJ method of the HANDLE class follows the same syntax as the
MATLAB FINDOBJ command, except that the first argument must be an array
of handles to objects.
HM = FINDOBJ(H, <conditions>) searches the handle object array H and
returns an array of handle objects matching the specified conditions.
Only the public members of the objects of H are considered when
evaluating the conditions.
See also FINDOBJ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER
Help for ndi.setup.NDIMaker.tableDocMaker/findobj is inherited from superclass handle
findprop - findprop Find property of MATLAB handle object.
p = findprop(H,PropName) finds and returns the matlab.metadata.Property
object associated with property name PropName of scalar handle object H.
PropName can be a string scalar or character vector. It can be the
name of a property defined by the class of H or a dynamic property
added to scalar object H.
If no property named PropName exists for object H, an empty
matlab.metadata.Property array is returned.
See also ndi.setup.ndimaker.tabledocmaker, ndi.setup.ndimaker.tabledocmaker/findobj, dynamicprops, matlab.metadata.Property
Help for ndi.setup.NDIMaker.tableDocMaker/findprop is inherited from superclass handle
ge - >= (GE) Greater than or equal relation for handles.
H1 >= H2 performs element-wise comparisons between handle arrays H1 and
H2. H1 and H2 must be of the same dimensions unless one is a scalar.
The result is a logical array of the same dimensions, where each
element is an element-wise >= result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = GE(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/EQ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/NE
Help for ndi.setup.NDIMaker.tableDocMaker/ge is inherited from superclass handle
gt - > (GT) Greater than relation for handles.
H1 > H2 performs element-wise comparisons between handle arrays H1 and
H2. H1 and H2 must be of the same dimensions unless one is a scalar.
The result is a logical array of the same dimensions, where each
element is an element-wise > result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = GT(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/EQ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/NE
Help for ndi.setup.NDIMaker.tableDocMaker/gt is inherited from superclass handle
isvalid - ISVALID Test handle validity.
TF = ISVALID(H) performs an element-wise check for validity on the
handle elements of H. The result is a logical array of the same
dimensions as H, where each element is the element-wise validity
result.
A handle is invalid if it has been deleted or if it is an element
of a handle array and has not yet been initialized.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/DELETE
Help for ndi.setup.NDIMaker.tableDocMaker/isvalid is inherited from superclass handle
le - <= (LE) Less than or equal relation for handles.
Handles are equal if they are handles for the same object. All
comparisons use a number associated with each handle object. Nothing
can be assumed about the result of a handle comparison except that the
repeated comparison of two handles in the same MATLAB session will
yield the same result. The order of handle values is purely arbitrary
and has no connection to the state of the handle objects being
compared.
H1 <= H2 performs element-wise comparisons between handle arrays H1 and
H2. H1 and H2 must be of the same dimensions unless one is a scalar.
The result is a logical array of the same dimensions, where each
element is an element-wise >= result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = LE(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/EQ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/NE
Help for ndi.setup.NDIMaker.tableDocMaker/le is inherited from superclass handle
listener - listener Add listener for event without binding the listener to the source object.
el = listener(hSource, Eventname, callbackFcn) creates a listener
for the event named Eventname. The source of the event is the handle
object hSource. If hSource is an array of source handles, the listener
responds to the named event on any handle in the array. callbackFcn
is a function handle that is invoked when the event is triggered.
el = listener(hSource, PropName, Eventname, callback) adds a
listener for a property event. Eventname must be one of
'PreGet', 'PostGet', 'PreSet', or 'PostSet'. Eventname can be a
string sclar or character vector. PropName must be either a single
property name specified as a string scalar or character vector, or
a collection of property names specified as a cell array of character
vectors or a string array, or as an array of one ore more
matlab.metadata.Property objects. The properties must belong to the
class of hSource. If hSource is scalar, PropName can include dynamic
properties.
For all forms, listener returns an event.listener. To remove a
listener, delete the object returned by listener. For example,
delete(el) calls the handle class delete method to remove the listener
and delete it from the workspace. Calling delete(el) on the listener
object deletes the listener, which means the event no longer causes
the callback function to execute.
listener does not bind the listener's lifecycle to the object that is
the source of the event. Destroying the source object does not impact
the lifecycle of the listener object. A listener created with listener
must be destroyed independently of the source object. Calling
delete(el) explicitly destroys the listener. Redefining or clearing
the variable containing the listener can delete the listener if no
other references to it exist. To tie the lifecycle of the listener to
the lifecycle of the source object, use addlistener.
See also addlistener, event.listener, ndi.setup.ndimaker.tabledocmaker, matlab.metadata.Property, events
Help for ndi.setup.NDIMaker.tableDocMaker/listener is inherited from superclass handle
lt - < (LT) Less than relation for handles.
H1 < H2 performs element-wise comparisons between handle arrays H1 and
H2. H1 and H2 must be of the same dimensions unless one is a scalar.
The result is a logical array of the same dimensions, where each
element is an element-wise < result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = LT(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/EQ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/NE
Help for ndi.setup.NDIMaker.tableDocMaker/lt is inherited from superclass handle
ne - ~= (NE) Not equal relation for handles.
Handles are equal if they are handles for the same object and are
unequal otherwise.
H1 ~= H2 performs element-wise comparisons between handle arrays H1
and H2. H1 and H2 must be of the same dimensions unless one is a
scalar. The result is a logical array of the same dimensions, where
each element is an element-wise equality result.
If one of H1 or H2 is scalar, scalar expansion is performed and the
result will match the dimensions of the array that is not scalar.
TF = NE(H1, H2) stores the result in a logical array of the same
dimensions.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/EQ, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/GT, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LE, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LT
Help for ndi.setup.NDIMaker.tableDocMaker/ne is inherited from superclass handle
notify - NOTIFY Notify listeners of event.
NOTIFY(H, eventname) notifies listeners added to the event named
eventname for handle object array H that the event is taking place.
eventname can be a string scalar or character vector.
H is the array of handles to the event source objects, and 'eventname'
must be a character vector.
NOTIFY(H,eventname,ed) provides a way of encapsulating information
about an event which can then be accessed by each registered listener.
ed must belong to the EVENT.EVENTDATA class.
See also NDI.SETUP.NDIMAKER.TABLEDOCMAKER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/ADDLISTENER, NDI.SETUP.NDIMAKER.TABLEDOCMAKER/LISTENER, EVENT.EVENTDATA, EVENTS
Help for ndi.setup.NDIMaker.tableDocMaker/notify is inherited from superclass handle
table2ontologyTableRowDocs - TABLE2ONTOLOGYTABLEROWDOCS Converts each row in a table into an NDI 'ontologyTableRow' document.
DOCS = TABLE2ONTOLOGYTABLEROWDOCS(OBJ, DATATABLE, IDENTIFYINGVARIABLES, OPTIONS)
This method iterates through each row of the input 'dataTable'.
For each row, it calls `obj.createOntologyTableRowDoc` to generate
an NDI document of type 'ontologyTableRow'. The resulting documents
are collected into a cell array.
Inputs:
obj: An instance of the tableDocMaker class.
dataTable: A MATLAB table. Each row will be processed to create
an 'ontologyTableRow' document.
identifyingVariables: A string, char array, or cellstr array of
variable names present in 'dataTable'. This is
passed directly to `createOntologyTableRowDoc`
for each row to identify potentially existing documents.
Optional Name-Value Arguments:
Overwrite: Flag passed directly to `createOntologyTableRowDoc`.
Controls whether existing documents matching the
'identifyingVariables' for a given row should be
overwritten. Default: false.
Outputs:
docs: A cell array with the same number of rows as 'dataTable'.
Each cell contains the NDI document object (ndi.document)
created by `createOntologyTableRowDoc` for the corresponding row.
See also: tableDocMaker.createOntologyTableRowDoc, ndi.gui.component.ProgressBarWindow
tableDocMaker - TABLEDOCMAKER Constructor for this class.
Initializes the tableDocMaker by loading a variable-to-ontology
mapping dictionary file specific to the given labName and associating
it with the provided NDI session.
Inputs:
session: An NDI session object (e.g., an instance of
ndi.session.dir or ndi.database.dir).
labName: A character vector specifying the name of the lab.
This is used to locate the ontology mapping dictionary file
(e.g., 'labName_tableDoc_dictionary.json')
in the 'NDI-MATLAB/+ndi/+setup/+conv/+labName' folder.
Outputs:
obj: An instance of the tableDocMaker class.
Example:
session = ndi.session.dir('/path/to/my/session');
labName = 'myLab';
docMaker = ndi.setup.NDIMaker.tableDocMaker(session, labName);
Documentation for ndi.setup.NDIMaker.tableDocMaker/tableDocMaker
doc ndi.setup.NDIMaker.tableDocMaker