Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
<?xml version="1.0"?>
<methodCall>
   <methodName>termwebapi2.setSourceLanguage</methodName>
   <params>
     <param><value><string>123456789abc</string></value></param>
	 <param><value><string>fra<<param><value><string>eng</string></value></param>
   </params>
</methodCall>

...

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
  <params>
    <param><value>fra<<param><value>eng</value></param>
  </params>
</methodResponse>

Searching terms

With the method getIndexTerms you can retrieve a list of IndexTerm objects, corresponding to the items in the termlist in the GUI. From the index terms you can then retrieve the full concept or term objects. To getIndexTerms you can specify a search expression which filters the result. An empty search expression returns the full list.

Info

At most 1000 entries are returned by a call to getIndexTerms. To retrieve more, do subsequent calls to getIndexTerms and set the fromPos parameter in the Search condition struct.

 

Example: Search for the term "fish"

Code Block
languagexml
<?xml version="1.0"?>
<methodCall>
   <methodName>termwebapi2.getIndexTerms</methodName>
   <params>
     <param><value><string>123456789abc</string></value></param>
	 <param><value><string>fish</string></value></param>
   </params>
</methodCall>

Response:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
  <params>
    <param><value><array><data><value>
		<struct>
		<member><name>__objtype</name><value>IndexTerm</value></member>
		<member><name>term</name><value>fish</value></member>
		<member><name>conceptEntryID</name><value>436</value></member>
		<member><name>termEntryID</name><value>437</value></member>
		</struct>
	</value></data></array></value></param>
  </params>
</methodResponse>

You can also use wildcards (asterisk for any string, question mark for any single character) in the search expression.

Anchor
searchcond
searchcond
Search condition struct

You can also pass a struct as argument to getIndexTerms. The struct consists of the search expression and an integer specifying from which index in the termlist the returned result should start.

Example: Search for all terms containg "fish" but skip the five first results

Code Block
languagexml
<?xml version="1.0"?>
<methodCall>
   <methodName>termwebapi2.getIndexTerms</methodName>
   <params>
     <param><value><string>123456789abc</string></value></param>
	 <param><value><struct>
  		<member><name>searchExp</name><value><string>*fish*</string></value></member>
  		<member><name>fromPos</name><value><int>5</int></value></member>
	 </struct></value></param>
   </params>
</methodCall>

Translating results

It is also possible to return the index terms in a target language. By specifying a target language code after the search condition struct, the result contains all terms in the target language, from the concepts corresponding to the found index terms in the source language.

Example: Search for the term "fish" and return result in French

Code Block
languagexml
<?xml version="1.0"?>
<methodCall>
   <methodName>termwebapi2.getIndexTerms</methodName>
   <params>
     <param><value><string>123456789abc</string></value></param>
	 <param><value><struct>
  		<member><name>searchExp</name><value><string>fish</string></value></member>
  		<member><name>fromPos</name><value><int>0</int></value></member>
	 </struct></value></param>
     <param><value><string>fra</string></value></param>
   </params>
</methodCall>

Response:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
  <params>
    <param><value><array><data><value>
		<struct>
		<member><name>__objtype</name><value>IndexTerm</value></member>
		<member><name>term</name><value>poisson</value></member>
		<member><name>conceptEntryID</name><value>436</value></member>
		<member><name>termEntryID</name><value>440</value></member>
		</struct>
	</value></data></array></value></param>
  </params>
</methodResponse>

Getting concept and term entries

For retrieving concepts and terms the following custom methods exist:

MethodReturnsReturn typeDescription
getConceptEntry(sessionID, objID)A concept entrystructReturns the concept entry with specified oid from current dictionary.
Same as generic method call getObject(sessionID, 'conceptentry', objID)
getConceptEntryByCID(sessionID, conceptID) A concept entrystructReturns the concept entry with specified concept ID from current dictionary.
getTermEntry(sessionID, objID)A term entrystructReturns the term entry with specified oid from current dictionary.
Same as generic method call
getObject(sessionID, 'termentry', objID) 
getTermEntryByTID(sessionID, termID)A term entrystructReturns the term entry with specified term ID from current dictionary.
getTermEntries(sessionID, searchCondition, targetLang)List of term entriesarrayReturns the matching term entries for the specified search condition and translated into the specified target language.

Filters

For more advanced search functionality you can use search filters. With the generic methods getAllgetObjectgetObjectByNamegetSelected and setSelected you can retrieve existing filters and set a filter to be applied when searching.

Creating and updating filters

To create a new filter for search, you construct a data object for filter, including the filter criteria for the fields you wish to include, and then call the create method. No value is needed for id fields in Filter or FilterCriteria.

To update, you modify the filter criteria in an existing method, and then call the update method.

Info

To find the IDs for dictionary and fields to include in the data objects you retrieve the Dictionary data object.

Remember to call setSelected to apply the new or updated filter.