Skip to main content

ontology_loader

Project description

ontology_loader

Suite of tools to configure and load an ontology from the OboFoundary into the data object for OntologyClass as specified by NMDC schema.

Development Environment

Pre-requisites

  • =Python 3.9

  • Poetry
  • Docker
  • MongoDB
  • NMDC materialized schema
  • ENV variable for MONGO_PASSWORD (or pass it in via the cli/runner itself directly)
% docker pull mongo
% docker run -d --name mongodb-container -p 27018:27017 mongo

Basic mongosh commands

% docker ps
% docker exec -it [mongodb-container-id] bash
% mongosh mongodb://admin:root@mongo:27017/nmdc?authSource=admin
% show dbs
% use nmdc
% db.ontology_class_set.find().pretty()
% db.ontology_relation_set.find().pretty()

Command line

% poetry install
% poetry run ontology_loader --help
% poetry run ontology_loader --source-ontology "envo"
% poetry run ontology_loader --source-ontology "go"

Running the tests

% make test

Running the linter

% make lint

python example usage

pip install nmdc-ontology-loader
from  nmdc_ontology_loader.ontology_loader import OntologyLoader
import tempfile

def test_load_ontology():
    """Test the load_ontology method."""
    ontology_loader = OntologyLoader(
        source_ontology="envo",
        output_directory=tempfile.gettempdir(),
        generate_reports=True,
    )
    ontology_loader.load_ontology()
    assert ontology_loader.ontology_class_set
    assert ontology_loader.ontology_relation_set
    assert ontology_loader.ontology_class_set.count() > 0
    assert ontology_loader.ontology_relation_set.count() > 0

Reset collections in dev

% docker exec -it mongodb-container bash
% mongosh mongodb://admin:root@mongo:27017/nmdc?authSource=admin
% db.ontology_class_set.drop()
% db.ontology_relation_set.drop()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ontology_loader-0.1.7.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ontology_loader-0.1.7-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file ontology_loader-0.1.7.tar.gz.

File metadata

  • Download URL: ontology_loader-0.1.7.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for ontology_loader-0.1.7.tar.gz
Algorithm Hash digest
SHA256 a361140c3f9b53d32bfce68a833d81c7c84ff11b76464dfb76be9658cd485c31
MD5 9b6d95dc704d1d975072b814f0537982
BLAKE2b-256 69aca8727be4392e586f5e10800a6a615d315b3a6a3ef7966db17f60d2efbfe1

See more details on using hashes here.

File details

Details for the file ontology_loader-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for ontology_loader-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 618eb86d64930a2a1b2fcf8e95b7ad0b5823a9a4d3fc60e384fb4f7b4275ecf1
MD5 fb22c9b7a7f16ce7633f4311e4bf1683
BLAKE2b-256 fc9f1c7681657e3f15f2c809c64c39d7cf1a2bb521c4bb9fc1874d47857c59e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page