INCATools / INCATools/semantic-sql

SQLite console opens (0.1.7)

Open
#46 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
69
Forks
7
Avg merge
8m
Merged PRs (30d)
1

Description

## Overview
When using `semsql`, the SQLite console opens. I need to exit it manually in order for the command to continue. Since this is running in a pipeline that is meant to be automated, I shouldn't use `semsql` until I can fix this.

## Log
Problem beings at `sqlite>`:
```
sh [run.sh](http://run.sh/) semsql make mirror/doid.db; beep
cat /usr/local/lib/python3.10/dist-packages/semsql/builder//sql_schema/semsql.sql | sqlite3 .template.db.tmp && \
sqlite3 -echo .template.db.tmp -cmd ".mode csv" -cmd ".import /usr/local/lib/python3.10/dist-packages/semsql/builder//prefixes/prefixes.csv prefix" -cmd ".exit" && \
mv .template.db.tmp .template.db
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
sqlite>

relation-graph --disable-owl-nothing true \
--ontology-file mirror/doid.owl\
--output-file mirror/doid-relation-graph.tsv.ttl.tmp \
--equivalence-as-subclass true \
--output-subclasses true \
--reflexive-subclasses true && \
riot --out RDFXML mirror/doid-relation-graph.tsv.ttl.tmp > mirror/doid-relation-graph.tsv.owl.tmp && \
sqlite3 mirror/doid-relation-graph.tsv.db.tmp -cmd ".mode csv" ".import /usr/local/lib/python3.10/dist-packages/semsql/builder//prefixes/prefixes.csv prefix" && \
rdftab mirror/doid-relation-graph.tsv.db.tmp < mirror/doid-relation-graph.tsv.owl.tmp && \
sqlite3 mirror/doid-relation-graph.tsv.db.tmp -cmd '.separator "\t"' -cmd '.header on' "SELECT subject,predicate,object FROM statements " > mirror/doid-relation-graph.tsv.tmp && \
mv mirror/doid-relation-graph.tsv.tmp mirror/doid-relation-graph.tsv && \
rm mirror/doid-relation-graph.tsv.*.tmp
ls
2022.08.10 14:30:55:858 zio-default-async-1 INFO org.renci.relationgraph.Main.program:57
Running reasoner
2022.08.10 14:31:01:715 zio-default-async-1 INFO org.renci.relationgraph.Main.program:60
Done running reasoner
2022.08.10 14:31:27:450 zio-default-async-4 INFO org.renci.relationgraph.Main.program:70
Computed relations in 25.638s
beep
cp .template.db mirror/doid.db.tmp && \
rdftab mirror/doid.db.tmp < mirror/doid.owl && \
sqlite3 mirror/doid.db.tmp -cmd '.separator "\t"' ".import mirror/doid-relation-graph.tsv entailed_edge" && \
gzip mirror/doid-relation-graph.tsv && \
cat /usr/local/lib/python3.10/dist-packages/semsql/builder//indexes/*.sql | sqlite3 mirror/doid.db.tmp && \
mv mirror/doid.db.tmp mirror/doid.db
```

## Additional information
Version: `0.1.7`: Using this version because I'm [not currently able to use the next highest version, `0.2.0`](https://github.com/INCATools/semantic-sql/issues/41#issuecomment-1210868093).

I have to exit using Ctrl+D. @hrshdhgd Do you happen to have this issue? Do you know of any other way to exit the SQLite console? Also, this causes a bug if I have a chained command, where my terminal window freezes and I have to close it. For example, I'm doing `semsql make mirror/doid.db; beep`. The `; beep` part makes a sound after running so I know it's done. But if there is a `;` or an `&&` and I use Ctrl+D to exit the console, instead of it continuing, my terminal freezes at this point.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing `semsql make mirror/doid.db` on version 0.1.7 and inspect the generated SQLite pipeline around the `sqlite3` commands shown in the log. Trace why the console remains interactive, then verify that the automated command completes and chained `;` or `&&` commands continue without requiring Ctrl+D or freezing the terminal.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, sqlite
Domain
cli, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.