Skip to content

Support multiple languages in CSV representations of ontologies #295

Description

@jvendetti

The CSV representations that we generate for ontology submissions only include English content for preferred labels — the writer selects the English-tagged label, falling back to an untagged label, then the first available (see #288 / #292). Now that multilingual ontology support has been introduced in BioPortal, we've received a request from an end user to extend the CSV representations to include preferred labels in additional languages.

The request concerns the RadLex ontology, currently available in English and German:

... I know I said that including the German preferred term as well is not as important as getting the English preferred terms. But of course now we have a German who is interested in reviewing all the translations for us and asks for a spreadsheet with both. The new one does have the German synonyms, but not the preferred terms. I don't know how much trouble it would be to add those as well, but if it wouldn't be too much extra, we would love to have those as well as a separate column.

As the user notes, the current CSV output already includes German synonyms (synonym values are written as-is, without language filtering), while preferred labels are limited to English.

Two approaches have been suggested so far:

  1. Per-language columns — what the end user requested: keep the existing Preferred Label column (English-first, backward compatible) and add separate columns for other languages, e.g., Preferred Label (de).
  2. Language-tagged values in existing columns — suggested in CSV Format Change: prefLabel Field Now Contains List Instead of String Value #218 (comment): keep the columns singular, but have each cell contain multiple values with language tags attached (e.g., colon @en|kolon @de), applied uniformly to all multilingual fields including synonyms. This would not be backward compatible.

Open design questions:

  • Which of the two approaches above to adopt (or a hybrid)
  • Whether the change should extend beyond preferred labels to synonyms, definitions, and other annotation properties
  • Whether to include all languages present in the data or only declared submission languages
  • How much weight to give backward compatibility for existing CSV consumers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions