Welcome to ohi
ohi is an ontology package manager for people, applications and AI agents. It helps you find ontologies, download their files and keep track of the versions and dependencies used by your project.
Download your first ontology
Basic concepts
Section titled “Basic concepts”Ontology
Section titled “Ontology”An ontology defines concepts and relationships in a domain. For example, the
Organization ontology describes organizations and the people who
belong to them. Both are kinds of foaf:Agent, a concept it shares with
FOAF.
org:hasMemberPublication
Section titled “Publication”A publication is an immutable release of an ontology on ohi.dev. It includes the ontology’s files, metadata and dependencies. Once published, its contents stay unchanged.
Several publications can share the original publisher’s version tag. This can happen when the publisher changes a source file without updating the tag, or when ohi updates a generated file. ohi adds timestamps to distinguish these publications. For example, FOAF could keep its version tag through these changes:
2014-01-14Referencing a specific publication ensures you receive identical files each time, even if a newer publication becomes available.
Artifact
Section titled “Artifact”An artifact is one downloadable ontology file. Its format combines a modeling language with a file syntax.
Take “a person is a subclass of an agent.” In OWL + Turtle (owl-turtle), it looks like this:
foaf:Person a owl:Class ; rdfs:subClassOf foaf:Agent .The same statement in OWL + RDF/XML (owl-rdfxml):
<owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent" /></owl:Class>The language is still OWL. Only the syntax changed. In LinkML + YAML (linkml-yaml), you’d write:
classes: Person: is_a: Agentohi.dev supports OWL in Turtle or RDF/XML, RDFS in Turtle, and LinkML or Apache Ossie in YAML. Choose an available artifact in a format your tools can read.
Dependency
Section titled “Dependency”A dependency is another ontology that your chosen ontology builds on.
DCAT, for example, describes datasets such as a city’s bus timetables.
It uses Dublin Core’s title property to name them.
You need both ontologies to use those definitions. ohi records the exact publication of each dependency so your project can use the same definitions again later.