# Term Alternatives ### Description Produces a list of term alternatives, constructed from the given term list. Notice that this is different from synonyms, as it is a one-way relation. It assumes synonyms to be modeled as anonymous sets where a number of terms have a set of one-way alternatives: - `(altset1, term, fiets)` - `(altset1, term, stadsfiets)` - `(altset1, alternative, damesfiets)` - `(altset1, alternative, herenfiets)` This means: When query terms include `fiets` or `stadsfiets`, add `damesfiets` and `herenfiets`. ### Input - `DS [OBJ]`: the dataset where synonym relations are defined. - `SOURCE [STRING]`: a list of strings (single-token strings are expected) ### Output - `PAIRS [STRING,STRING]`: pairs of original terms and their alternatives. The original terms are not included here unless they have alternatives defined. - `EXPANDED [STRING]`: the original terms (always present) + the alternatives found. ### Parameters - `Property term`: the string property to identify synomyms. Default is `term`. - `Use sub-properties term`: when set to `true`, the values of all sub properties are also included. Sub-properties can be defined in the data with the `rdfs:subPropertyOf` relation. - `Language term`: when a language is selected, only the strings in this language are extracted. This uses the language tags that are defined in the data. - `Property alternative`: the string property to identify synomyms. Default is `alternative`. - `Use sub-properties alternative`: when set to `true`, the values of all sub properties are also included. Sub-properties can be defined in the data with the `rdfs:subPropertyOf` relation. - `Language alternative`: when a language is selected, only the strings in this language are extracted. This uses the language tags that are defined in the data. - `Stemming`: tokens can be stemmed for a specific language or left as they are - `Case-sensitive`: if set to `false`, upper/lower case is ignored