Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#124 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
52/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
sql, sqlite
Lĩnh vực
databases

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện các truy vấn được cung cấp trên ncbitaxon.db và envo.db, tập trung vào prefix table cũng như các ánh xạ trùng lặp và giữa các tài nguyên được liệt kê. So sánh dữ liệu prefix được tạo ra với quyền sở hữu tài nguyên và hành vi mở rộng dự kiến, sau đó xác minh rằng không có hàng trùng lặp và ánh xạ ngoài ý muốn nào trong cả hai cơ sở dữ liệu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Python
Star
70
Fork
7
Merge trung bình
4 giờ 18 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của INCATools/semantic-sql

Tất cả issue của INCATools/semantic-sql

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.