Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Public editor: https://aurint.ca/ari-editor/
This repository contains the curated autoimmune disease data, ontology artifacts, and generated reports that support the ARI Disease Metadata Manager v2 shown on the public site.
The editor is the main interface for reviewing and maintaining autoimmune disease metadata. It presents the curated registry as a searchable, editable catalog with disease detail panels and source-linked outputs.
This repository supports the curated disease model behind the editor:
| Path | Purpose | In git? |
|---|---|---|
data/0-archive/ | Superseded working material | no |
data/1-master/ | The curated master list, and a snapshot of the registry site's symptom lists | yes |
data/2-databases/ | Large raw ontology release dumps — local scratch, re-downloadable | no |
data/3-meta-database-sources/ | Supporting source tables | yes |
data/4-reports/ | Generated report outputs | yes |
data_model/ | Reference spreadsheets and model snapshots | yes |
mappings/ | Every curated cross-reference judgment | yes |
notebook/ | Notebook-driven data preparation and grounding scripts | yes |
ontologies/ | The ARI ontology — the sole authority — as modules (see Ontology modules) | yes |
sparql/ | SPARQL queries and generated term sets | yes |
data/ mixes both kinds, which is worth knowing before going looking for
something: 2-databases/ holds roughly 11 GB of downloaded release dumps and is
git-ignored in full, while its siblings are curated and tracked. See
data/2-databases/README.md.
data/4-reports/1_Core_ARI_Diseases.xlsxdata/4-reports/2_Proposed_Diseases.xlsxdata/4-reports/3_Proposed_Changes.xlsxdata/4-reports/4_Additional_Info_Index.xlsxdata/4-reports/5_DOID_Mapping.xlsxdata/4-reports/6_DOID_Matches_All.xlsxdata/4-reports/7_SNOMED_Matches_All.xlsxdata/4-reports/10_Master_List_Comparison.xlsxdata/4-reports/12_Research_Gaps.xlsx — what each disease still needs, field by field against the data modeldata/4-reports/13_Non_Symptom_Review.tsv — every entry judged not a symptom, for a curator to decide what becomes of itThe grounding pipeline in notebook/ari-grounding/ builds local DOID and SNOMED matches
from repository data only.
Scripts run in this order:
parse_doid_local.pyground_doid.pyground_snomed.pymake_match_reports.pyPrimary inputs are the master list in data/1-master/ and the supporting files in
data/3-meta-database-sources/, ontologies/, mappings/, and sparql/results/.
.github/scripts/validate_mappings.py checks the two mapping exports against each other
and against the ontology. It needs only the standard library:
python .github/scripts/validate_mappings.py
Add --since main to report only the rows a branch changed. Two workflows run it:
| Workflow | Trigger | Scope |
|---|---|---|
Validate mappings | pull requests touching mappings/ or ontologies/ | rows the branch added or rewrote — fails the check |
Audit mappings | Mondays 07:00 UTC, or on demand | every row, so the standing backlog stays visible |
OWL format | pull requests touching ontologies/ or tools/ | every ontologies/*.owl is in the canonical layout (see below) |
What it catches:
curie_map.mesh:null and other placeholders, doubled
prefixes such as MONDO:MONDO:0014523, ids that do not fit their vocabulary's shape,
and ICD-9 codes filed under the icd10cm prefix.ari.sssom.tsv and ari.equivalencies.tsv, which is how spreadsheet
round-trips show up: 362.50 losing its trailing zero, 0111157 losing its leading
ones.ARI_SynonymWithdrawn marker on the same disease, shaped
<synonym> | <reason> | <note> where <reason> is subtype, broader, distinct or
non-disease; the marker is itself append-only, so the review stays on record.ARI_ID has seven digits (ARI:0001234).
A disease is renumbered by changing its ARI_ID and adding an ARI_FormerID holding the
old one, so the deletion check follows the record to its new id. ARI_FormerID is
append-only, and a former id may not still be in use.The validator reads the ontology as XML, not line by line, so it works on any RDF/XML
layout. With --since, an ontology finding counts as new only when the statement on its
line (subject, property, value) is new, so re-laying-out the file reports nothing.
The ontology is a set of files in ontologies/, one per domain. Each opens on its own in Protégé
and loads in owlready2 with its imports. Open ari_disease.owl: it imports the rest.
| File | Holds | Edited by |
|---|---|---|
ari_core.owl | The key classes and every property declaration | curators (Protégé) |
ari_disease.owl | Diseases and their per-disease entries (symptoms, antibodies, antigens, biomarkers, tissues) | the editor app, curators |
ari_symptoms.owl | One ARIS_… class per symptom, linked to SYMP and HPO | curators (Protégé) |
ari_anatomy.owl | Tissue and system classes, linked to UBERON | curators (Protégé) |
ari_biomarkers.owl | Biomarker concepts (empty for now; see notebook/biomarker-concepts/) | curators (Protégé) |
ari_symp.owl, ari_uberon.owl | Slices of SYMP and UBERON, generated, never edited by hand | the builder scripts |
ari_pr.owl, ari_chebi.owl, ari_hgnc.owl, ari_loinc.owl | Slices of the Protein Ontology, ChEBI, HGNC and LOINC, generated, never edited by hand | build_biomarker_slices.py |
A per-disease entry points at its shared concept with sharedConcept. Every property is declared
once, in the core. notebook/ontology-modules/README.md
covers opening, loading and which tool writes which file; the design is in
docs/superpowers/specs/2026-10-18-ontology-modules-design.md.
The app (owlready2), Protégé and scripts each write RDF/XML in their own layout. So that
a diff only ever shows content, every ontologies/*.owl is kept in one layout: the one
ROBOT writes, at the version pinned in
tools/robot.version. Same content, same bytes, whichever tool
saved the file.
tools/format-owl.sh ontologies/ari_disease.owl # format in place
tools/format-owl.sh --check ontologies/*.owl # exit 1 if any would change
It needs Java 11 or newer on PATH (Protégé's bundled Java does not count), and it
downloads the pinned ROBOT jar into .cache/robot/ on first use. Imports resolve
through ontologies/catalog-v001.xml, which Protégé
also reads.
| Where | What runs |
|---|---|
| Your clone | The pre-commit hook formats any staged ontologies/*.owl. Install it once: git config core.hooksPath .githooks |
| The editor app | Formats the file before it pushes a curator's PR branch |
OWL format workflow | Pull requests touching ontologies/ or tools/ — fails if a file is not in the canonical layout |
If the check fails, run tools/format-owl.sh on the file it names and push again.
Scripts that change the ontology edit it as XML and leave the layout to the formatter.
Bumping tools/robot.version re-lays-out every file, so do it in its own PR with that
reformat commit, and bump the app's deploy/install-robot.sh to the same release.
.env files unless explicitly authorized.