> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Import an OWL/SKOS Ontology | OpenMetadata Knowledge Graph Guide

> Import an existing OWL or SKOS ontology into a glossary as glossary terms and typed relations.

# Import an OWL/SKOS Ontology

If your organization already maintains an ontology or taxonomy as an OWL (Web Ontology Language) or SKOS (Simple Knowledge Organization System) file, OpenMetadata lets you import it directly into a glossary instead of recreating it by hand. OpenMetadata converts the ontology's concepts, classes, and relationships into glossary terms and typed relations.

Import an ontology from the glossary's manage menu, or use the API.

## What Gets Imported

| Ontology construct | Becomes |
| - | - |
| `skos:Concept` or `owl:Class` | A glossary term |
| `skos:broader` or `rdfs:subClassOf` | The term's parent in the glossary hierarchy |
| `skos:closeMatch`, `skos:exactMatch`, and other `skos:*Match` properties | A concept mapping on the term |
| `owl:ObjectProperty` edges | A typed related term |
| `owl:DatatypeProperty` definitions | Per-concept attributes |

If [RDF (Resource Description Framework) indexing](/v2.0.x/deployment/rdf-knowledge-graph) is enabled on your instance, the glossary terms created by the import are automatically mirrored into the RDF triplestore, the same as terms created any other way.

## Importing an Ontology

You need **Edit All** permission on the target glossary. Only an admin can introduce new relation types or custom properties. Non-admin imports use the types and properties already defined.

1. Open the target glossary from **Govern** > **Glossary**.
2. Open the glossary's manage (**⋮**) menu and select **Import Ontology**.
3. Upload an ontology file. The dialog detects its format and runs a dry run without saving changes.
4. Review the import summary for terms, relationships, concept mappings, custom properties, and any reported issues.
5. Click **Import** to apply the changes.

## Importing Through the API

Send the ontology file's contents as the request body to:

```
PUT /api/v1/glossaries/name/{glossaryName}/importRdf
```

| Query parameter | Values | Default |
| - | - | - |
| `format` | `turtle`, `rdfxml`, `ntriples` | `turtle` |
| `dryRun` | `true`, `false` | `true` |

The `format` query parameter selects the parser and defaults to `turtle`. Set it explicitly for other syntaxes: RDF/XML fails to parse without `format=rdfxml`. Set the `Content-Type` header to match the file's syntax, such as `text/turtle`, `application/rdf+xml`, or `application/n-triples`. A file with a DOCTYPE declaration is rejected.

The `dryRun` parameter defaults to `true`. A dry run validates the ontology and reports what it would do, without creating or changing anything. Set `dryRun=false` explicitly once you've reviewed the dry-run result and are ready to persist the import.

```bash theme={null}
curl -X PUT "$OM_HOST/api/v1/glossaries/name/product-taxonomy/importRdf?format=turtle&dryRun=false" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: text/turtle" \
  --data-binary @taxonomy.ttl
```

This example imports into an existing glossary named `product-taxonomy`.

## Import Result

The response summarizes what the import did (or would do, for a dry run):

| Field | Meaning |
| - | - |
| `dryRun` | Whether this was a dry run |
| `glossariesCreated` | Glossaries created (zero for the existing-glossary flow documented here) |
| `termsCreated` | New glossary terms created |
| `termsUpdated` | Existing glossary terms updated |
| `relationsAdded` | Parent and related-term relations added |
| `conceptMappingsAdded` | Concept mappings (`skos:*Match`) added |
| `relationTypesRegistered` | New relation types registered to represent `owl:ObjectProperty` edges |
| `customPropertiesCreated` | New custom properties created |
| `messages` | Warnings or notes about the import, such as constructs that couldn't be mapped |

<Card title="Ontology Explorer" href="/v2.0.x/how-to-guides/data-governance/ontology">
  Visualize the imported terms and their relationships as a graph.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.