Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

prefix table: 774 redundant rows, and 3 prefixes carrying another resource's base

オープン
#124 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
sql, sqlite
領域
databases

調査の方向性

まず、提供されたクエリを ncbitaxon.db と envo.db に対して再現し、prefix table と、列挙された重複およびリソース間マッピングに焦点を当てます。生成された prefix データを、期待されるリソースの所有権と展開動作と比較し、その後、両方のデータベースに重複行や意図しないマッピングが存在しないことを確認します。

索引モデルが issue の本文から書いたものです。

説明

The prefix table ships 1,275 rows that reduce to 489 distinct prefixes. Two separable problems: redundant rows, and prefixes with more than one expansion.

Identical in every build checked, so this is the shipped map rather than ontology content.

SELECT COUNT(*) AS rows, COUNT(DISTINCT prefix) AS distinct_prefixes,
       COUNT(DISTINCT prefix||' '||base) AS distinct_pairs FROM prefix;
rows distinct_prefixes distinct_pairs
1275 489 501

1. Redundant rows: 774 of 1,275

Same prefix, same base, repeated.

SELECT SUM(extra) AS exact_duplicate_rows FROM
  (SELECT COUNT(*)-1 AS extra FROM prefix GROUP BY prefix, base HAVING COUNT(*)>1);

774. 247 prefixes appear exactly 4 times, one appears 8 times.

2. Twelve prefixes have two different expansions

SELECT prefix, COUNT(DISTINCT base) AS n_bases FROM prefix
GROUP BY prefix HAVING n_bases > 1 ORDER BY prefix;

Nine are alternate expansions of the same resource, which may be intended:

prefix expansions
CHEMINF obo/CHEMINF_, semanticscience.org/resource/CHEMINF_
FMA obo/FMA_, purl.org/sig/ont/fma/fma
MESH id.nlm.nih.gov/mesh/, identifiers.org/mesh/
RESID obo/RESID_, proteininformationresource.org/cgi-bin/resid?id=
SWO obo/SWO_, ebi.ac.uk/swo/SWO_
dbpedia dbpedia.org/, dbpedia.org/resource/
qudt qudt.org/schema/qudt#, qudt.org/schema/qudt/
reactome.biopax reactome.org/biopax/77/48887#, .../81/48887#
schema http://schema.org/, https://schema.org/

None collapse under case normalisation (still 12 with lower(base)).

3. Three prefixes carry a different resource's base

prefix own base also mapped to
complexportal obo/complexportal_ obo/wikipathways_
drugbank obo/drugbank_ obo/drugcentral_
pathbank obo/pathbank_ obo/kegg.genome_

wikipathways, drugcentral and kegg.genome have no prefix rows of their own:

SELECT DISTINCT prefix, base FROM prefix
WHERE prefix IN ('wikipathways','drugcentral','kegg.genome');

Returns nothing. Each of those three resources exists in the table only as a base attached to a different prefix.

This resembles the symptom reported in https://github.com/INCATools/semantic-sql/issues/71 (a prefix picking up a neighbouring entry's expansion), which was closed by shipping a newer semsql through ODK rather than by changing the table. I am not claiming the same root cause, only that the shape is still present in current builds.

Relevant because the map is not configurable: https://github.com/INCATools/semantic-sql/issues/51 is still open.

Impact

Any lookup of the form SELECT base FROM prefix WHERE prefix = ? can return either expansion, decided by row order. For the three above it can return a different resource entirely.

Checked against

ncbitaxon.db (downloaded 2026-05-19) and envo.db (downloaded 2026-09-01) from the SemanticSQL CDN. Both give byte-identical prefix sets and the same 1,275 rows, so this is not specific to one ontology or one build date.

主要言語
Python
スター
70
フォーク
7
平均マージ
4時間 18分
マージ済み PR(30日)
1

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

INCATools/semantic-sql のほかの issue

INCATools/semantic-sql の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。