Queries¶
The resolve
function will only return the top match for a given input. However, sometimes multiple resolvers will
match an input (e.g. the name resolvers), and individual resolvers can even return multiple results. The query
function will return every result:
>>> cirpy.query('CCO', 'stdinchikey')
[Result(resolver='smiles', value='InChIKey=LFQSCWFLJHTTHZ-UHFFFAOYSA-N'), Result(input='CCO', resolver='name_by_cir', value='InChIKey=BGDMJXZYDKFEGJ-UHFFFAOYSA-N')]
As with the resolve
function, it is possible to specify which resolvers are used:
>>> cirpy.query('2,4,6-trinitrotoluene', 'formula', ['name_by_opsin','name_by_cir'])
[Result(resolver='name_by_opsin', value='C7H5N3O6'), Result(resolver='name_by_cir', value='C7H5N3O6')]
Results¶
The query
function results a list of Result
objects. Each Result
has a value
attribute that corresponds
to what the resolve
function would return:
>>> results = cirpy.query('2,4,6-trinitrotoluene', 'formula')
>>> results[0]
Result(resolver='name_by_opsin', value='C7H5N3O6')
>>> results[0].value
'C7H5N3O6'
Each Result
also has input
, representation
, resolver
, input_format
and notation
attributes.
See the full API documentation for information on these attributes.