SIS - Application Programmatic Interface, Reference Manual - ICS ...
SIS - Application Programmatic Interface, Reference Manual - ICS ...
SIS - Application Programmatic Interface, Reference Manual - ICS ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>SIS</strong>-<strong>Application</strong> <strong>Programmatic</strong> <strong>Interface</strong>, <strong>Reference</strong> <strong>Manual</strong><br />
set_tl_cond( sessionID,FAIL(sessionID));<br />
set_fl_cond( sessionID,<br />
BELONGS( sessionID,<br />
LINK( sessionID,"PhysicalObj","Parts"),<br />
GET_CLASSES( sessionID, SET_ID( sessionID, 0))<br />
)<br />
);<br />
set_tv_cond( sessionID,<br />
OR( sessionID,<br />
EQ( sessionID,<br />
VAL(sessionID,1),<br />
CARD(sessionID,<br />
GET_LINK_TO(sessionID, SET_ID(sessionID,0))<br />
)<br />
),<br />
BELONGS( sessionID,<br />
SYS_ID(sessionID,0),<br />
SET_ID(sessionID,3)<br />
)<br />
)<br />
);<br />
6.3.6 Special recursive queries<br />
There are some recursive queries, special cases of the general recursive query, that are<br />
frequently used and are explicitly implemented for efficiency. The only condition<br />
taking into account in these queries is the category or the meta-category of the<br />
traversed links. These categories must have been defined with set_categories().<br />
When traversing is done with restricted depth, the nodes which have links that could<br />
be traversed but this didn’t happed because of the depth, are accumulated into an<br />
edge_set at the server site and can be given to the client application with the<br />
These functions return APIFail(-1) on error or the set identifier of the temporary<br />
set where the answer is stored.<br />
return_edge_node() described below.<br />
int get_traverse_by_category(int sessionID, int set_id, int isa)<br />
Before calling this query function some categories must have been defined<br />
with the set_categories() function. If set_id is 0, starts from the current node<br />
and traverses all the links whose category is one of those previously defined<br />
with the set_categories() function. With the set_depth() function the depth of<br />
traversing can be controlled. The isa argument can be any of UPWARDS,<br />
DOWNWARDS, UP_DOWN or NOISA. If UPWARDS is used, then for each node visited<br />
on traversing, all superclasses of this node are visited too. If DOWNWARDS is<br />
used, then for each node visited on traversing, all subclasses of this node are<br />
visited too. In case of UP_DOWN both all superclasses and all subclasses for<br />
each node are traversed. Nothing of these two happens when NOISA is used.<br />
The answer set contains the system identifiers of all the traversed links.<br />
If set_id is a positive integer, apply get_traverse_by_category() on each<br />
object in temporary set set_id.<br />
int get_traverse_by_meta_category(int sessionID, int set_id, int isa)<br />
August 2002/v2.2.2 -29- <strong>ICS</strong>-FORTH