Using Yild with several simultaneous providers.
Structured data example
Your chosen terms will appear below the field.

Let the rest of the internet know what your content is about by using already defined metadata-terms.

Benefits with this range from improved SEO to being able to create more complex ways of recommending content.

Yild’s taxonomy term reference widget lets you connect to an unlimited number of external ontologies using provider modules.

Wikidata, Dbpedia, Wikipedia and Finto (Finnish Ontology) provider modules is provided out of the box.

New provider modules are easy to write once you read through an example and allow you to connect any service to Yild.


  • UI for adding (looking up) tags in node edit form
  • Google knowledge graph provider module.
  • Wikidata provider module.
  • Sortable terms if you have jquery-ui "sortable" plugin installed.
  • Tagging progress bar to indicate the editor of an article has tagged with enough terms.
  • Auto suggestion support, which means the body text will be sent to an external analysis service that returns a bunch of relevant terms for that text. This isn't implemented in any out-of-the-box module, but Yle uses it internally, so contact us for an example / help with implementation.
  • Advanced term pages
    • Drupal's built in term pages will be overridden by Yild. The way it works is that provider modules that support it will go beyond listing only nodes with one specific term. Instead the term page for “Economy” might also list content tagged with bioeconomy, public economy, gray economy etc. It's up to the provider to determine how these related terms are selected and for starters, the Finto provider will be able to provider related terms on term pages as a proof of concept.
  • Recommendation block
    • Yild natively provides a block that will list content with many terms in common with the currently viewed node. So an article tagged with "Ukraine" and "War" might list several other articles tagged with common terms. The sorting order for the list is by amount of common terms and descending chronological.
    • The details for how terms are related are up to the individual providers.

Getting started

To get started, follow these steps in a Drupal 7 installation:

  1. Check out Yild (including four provider modules in the same package).
  2. Enable the Yild module using drush or from within Drupal.
  3. Enable one or more Yild providers (Wikidata, Dbpedia, Wikipedia, Finto).
  4. Go to any content that has (or needs) a Taxonomy Term Reference field. Add the taxonomy term reference field as needed.
  5. Choose the Yild widget for the field. In the widget settings you will be able to select all the enabled providers you wish to use for that field. Pick at least one.
  6. Test by adding content and starting to type something in your Yild autocomplete field.

Your chosen terms will appear below the field.

How others are using it

Parts of Yle (module sponsor) uses the meta data to build:

  • Dynamic menus (based on what terms currently being used in the content)
  • Recommendations across languages (Swedish - Finnish) and sites
  • Recommendations for similar content
  • Kickers for front pages
  • Grouping content for small niche content
  • structured data markup includes metadata tags (try an article at ) - images and articles

    Structured data example

  • For editors: recommend images to use in text content based on the terms used to describe the text content (Yle uses the same metadata for images and text)

Further reading:
Column in Swedish: This way Yle and newspapers could collaborate - the technology already exists” and how Yle migrated from Freebase to Wikidata.

Why use it?

  • It connects your content to a official ontology and this means your content will be compatible with other people's content if they use the same ontologies.
  • It ensures that different articles (or other content types) are tagged using the same terms. Yild will show you how many times a term has been used before and sort the most used ones at the top of the autocomplete list.
  • It guards against typos in terms.

Technical stuff

How invasive is Yild?

On install, it creates its own Vocabulary in the Drupal taxonomy system. The default name is yild_tags. It also adds three drupal fields and instances to this vocabulary: Id, provider name and disambiguator. A disambiguator is a string that separates two identical terms from each other by describing them a bit more. Such as Cats (Feline animal) and Cats (Musical). Unfortunately not all providers serve disambiguators.

How are the values stored?

Terms are stored exactly like Drupal native term references, as a combination of taxonomy terms and term references between nodes and terms.

Can I configure it?

Right now you can configure the language and if the provider supports it, you will get results in the language you picked. Use the official language code for your language, such as fi for Finnish, sv for Swedish, en for English (the default) etc. If you get no results from a provider, it's possible it doesn't contain data in your language. In that case it is up to the provider to fall back to English as needed. None of the pre packaged providers do this yet.
In the future we need to be able configure provider specific settings such as Api keys and perhaps provider specific language.

How do the providers fetch data?

Keyword lookups are done using each provider's open api. In all but one case we use REST. For dbpedia, to get language support, we are using Sparql. This is subject to change at any time, as we optimize the providers.

Yild stands for "Yild - Integrator for Linked Data".

Supporting organizations: 

Project Information