Searches the KB for terms matching the given text, and returns the result(s) as a data frame (see Value).

find_term(
  query,
  type = NA,
  definedBy = quote(!is.na(.)),
  matchBy = NA,
  matchTypes = NA,
  nomatch = NA,
  limit = 100,
  verbose = FALSE
)

Arguments

query

character, the search text

type

character, the type of term to find, as a IRI or using common namespace prefixes such as "owl", "rdf", etc. The default is NA, which will use the remote API's default, currently "owl:Class".

definedBy

character, the ontology in which a class has to be defined. Either IRIs, or a list of OBO ontology ID spaces (such as "UBERON", "ZFA", etc), which will be expanded to full IRIs using the OBO ontology IRI pattern. Alternatively, a call expression returning a logical vector, with a dot in the position where the isDefinedBy value is to be passed. The default is an expression that filters out rows with no isDefinedBy value. Can also be set to NA to suppress any filtering by ontology.

matchBy

character, the term's (metadata) properties against which to match. Provide as IRIs or using common namespace prefixes. The default is NA, which will use the remote API's default, currently "rdfs:label", "oboInOwl:hasExactSynonym", "oboInOwl:NarrowSynonym", and "oboInOwl:hasBroadSynonym". To match only against label, use c("rdfs:label").

matchTypes

character, the types of matches (exact, partial, broad) to accept. By default (value NA), no filtering by match type is performed. Use c("exact") to accept exact matches only.

nomatch

the value to return if there is no match returned by the remote API, or left after filtering.

limit

the maximum number of matches to process. Set to NA for (virtually) no limit.

verbose

logical; whether to issue a message if no matches found

Value

A data frame with columns "id", "label", "isDefinedBy", and "matchType" and one row for each term match.

Details

Matches can be filtered by type of term (class, property, etc), ontology in which the term is defined, and by type of match (exact, partial, etc). The term properties considered for matching can also be controlled.