Searching in MURAL

Sarah Packowski
3 min readDec 24, 2022

Using the MURAL API and IBM Watson Discovery, you can search for murals based on text in stickies, widget shapes, colors, and so much more.

Samples: https://github.com/spackows/MURAL-API-Samples

Searching murals using Discovery in a sample Python Flask app
Searching murals using Discovery in a sample Python Flask app

MURAL

Mural is an online tool that is like a virtual whiteboard: you can draw shapes, stick notes, and move things around. It’s a fabulous tool for visually organizing ideas, designing solutions, and collaborating with teammates — in real time or asynchronously. I love using MURAL for team collaboration!

IBM Watson Discovery

Discovery is an IBM Cloud service that you can use to perform cognitive search, question-and-answer look up, data mining, and analytics on many different types of documents, including: PDF files, images, text files, JSON data, and HTML web pages. Discovery is easy to use right away. And it’s also full of powerful AI features for enriching your data, running natural language queries, relevancy training, and integrating language models customized for your domain-specific terminology.

Searching murals using Discovery

The following video steps through the instructions listed below:

Creating sample murals, ingesting search data to Discovery, searching

Prerequisites

  • Create a (free) IBM Cloud account and create an instance of IBM Cloud Pak for Data as a Service. You can do both at once here: Registration
  • Create an instance of: IBM Watson Discovery
    Note: Choose the Plus plan. The first Plus plan of Discovery in a given IBM Cloud account comes with a free 30-day trial.
  • Create a project in Cloud Pak for Data as a Service. See: Creating a project

Part 1: Create murals to search

In Cloud Pak for Data as a Service (also called Watson Studio), create a Python notebook from this url: Discovery_00-Create-sample-murals-to-search.ipynb

Follow the instructions in the notebook and run the cells in the notebook. This notebook uses the MURAL API to create four sample murals to search in:

Four sample murals to search in
Four sample murals to search in

Part 2: Ingest mural data to Discovery

2.1 Read live data from the murals

In Cloud Pak for Data as a Service, create a Python notebook from this url: Discovery_01-Read-data-from-MURAL.ipynb

Running the cells in this notebook uses the MURAL API to read mural metadata from the murals created in the previous step.

Reading murals and formatting each into a document for Discovery
Reading murals and formatting each into a document for Discovery

2.2 Upload data to Discovery

In Cloud Pak for Data as a Service, create a Python notebook from this url: Discovery_02-Upload-documents-to-Discovery.ipynb

Running the cells in this notebook uploads mural data and indexes it for search using the Discovery API.

Uploading documents to Discovery to index for search
Uploading documents to Discovery to index for search

Part 3: Experiment with searches

In Cloud Pak for Data as a Service, create a Python notebook from this url: Discovery_03-Search-murals-in-Discovery.ipynb

This notebook demonstrates how to use the Discovery query language, filters, and passages.

See also:

Searching mural documents in Discovery using Discovery query language
Searching mural documents in Discovery using Discovery query language

Part 4: Python Flask search app

This Python Flask app uses the same code as the notebooks above, but also provides a graphical interface that makes it easier to experiment with search text, filters, passages, and the Discovery query language: https://github.com/spackows/MURAL-search

Python Flask app for experimenting with searching murals
Python Flask app for experimenting with searching murals in Discovery

Conclusion

If you have a lot of murals on the go, being able to search for murals based on who the participants were, if the mural contains blue circles, or if any sticky notes include the word “retrospective” is really, really useful.

--

--

Sarah Packowski

Design, build AI solutions by day. Experiment with input devices, drones, IoT, smart farming by night.