Taggers
Taggers add Tags (annotations) to Blocks (content). These tags can be queried and composed later.
Using Taggers
To use a tagger, create an instance within your workspace and then apply it to a file. Note that a file must first have Blocks, either by direct creation or using a Blockifier.
from steamship import Steamship, File
client = Steamship(workspace="my-workspace-handle")
file = File.create(client, blocks=[Block(text="some text to tag")])
# Create the tagger instance
tagger = client.use_plugin('tagger-handle')
# Apply the tagger to the file
tagger_task = file.tag(tagger.handle)
tagger_task.wait()
# Refresh the file to see new tags
file.refresh()
# and/or Query across the persisted tags returned from tagging.
file.query('blocktag AND name "paragraph"')
Input
The input to a tag
operation is a File
. Most Taggers
by default will tag all Blocks
within that file.
Output
When you call tag
on a file or via a PluginInstance
, the object that is returned is a Task
. You can wait()
on
this task, or continue on to do other work.
The output to a tag
operation is more Tags on that file. However, since the tag operations happens asynchronously on the back-end, you will
need to refresh()
the file to see the output:
tagger_task = file.tag(tagger.handle)
tagger_task.wait()
# Refresh the file to see new tags
file.refresh()