将命令作为参数输入到另一个应用程序
Entering command as a parameter to another application
我使用的是Virtuoso引擎。要在Virtuoso引擎中输入查询,需要执行以下操作:
虚拟引擎启动并给出命令提示:
[myMachine]$ ./isql 1111
Connected to OpenLink Virtuoso
Driver: 07.20.3213 OpenLink Virtuoso ODBC Driver
OpenLink Interactive SQL (Virtuoso), version 0.9849b.
Type HELP; for help and EXIT; to exit.
SQL>
用户输入查询"sparql select ?a?b?c where{graph ?g{?a ?b ?c} };"
如下:
[myMachine]$ ./isql 1111
Connected to OpenLink Virtuoso
Driver: 07.20.3213 OpenLink Virtuoso ODBC Driver
OpenLink Interactive SQL (Virtuoso), version 0.9849b.
Type HELP; for help and EXIT; to exit.
SQL> sparql select ?a?b?c where{graph ?g{?a ?b ?c} };
现在,为了将查询插入Virtuoso的过程自动化,我将用户输入的值:"sparql select ?a?b?c where{graph ?g{?a ?b ?c} };"
写入一个文本文件(mytext.txt
(,并使用以下命令:
[myMachine]$ ./isql 1111 < mytext.txt
然而,Virtuoso提示仍然显示如下——要求我输入查询字符串:
[myMachine]$ ./isql 1111 < mytext.txt
Connected to OpenLink Virtuoso
Driver: 07.20.3213 OpenLink Virtuoso ODBC Driver
OpenLink Interactive SQL (Virtuoso), version 0.9849b.
Type HELP; for help and EXIT; to exit.
SQL>
在linux或c++中有没有某种方法:通过使用shell脚本(用于linux(或系统调用c++,我可以将查询字符串输入到Virtuoso中。我需要运行10000个查询,因此在Virtuoso中手动输入10000个查询是一件痛苦的事情。
(这个问题也在Virtuoso支持论坛上提出。(
您可以通过多种方式编写与Virtuoso(由我的雇主OpenLink Software制作(的交互脚本,无论是否涉及iSQL。
根据您正在运行的特定查询以及您计划对结果执行的操作,有些方法可能比其他方法更好,例如将curl
与SPARQL查询请求URI一起使用,这些URI包括用于结果输出文件的数据序列化指令(例如,CSV、Turtle、TriG(。这里没有足够的信息来知道该朝哪个方向发展。
StackOverflow通常不是解决特定于产品的非编程问题的最佳场所。Virtuoso特定的问题通常最好向Virtuoso用户邮件列表、公开的OpenLink软件支持论坛或机密的支持案例提出。
isql
的手册页非常清晰:
isql可用于向数据源提交SQL,并格式化/输出结果可以在批量或交互模式下使用
和:
-b nbsp 批处理模式。它不会进行任何提示。
这正是你想要的,不是吗?
[myMachine]$ ./isql 1111 -b < mytext.txt
稍微令人困惑的是,有一个将数据管道传输到isql
的示例,即使没有-b
:
cat MySql|isql WebDB MyID MyPWD-w
MySql中的每一行都必须包含一个sql命令,但最后一行必须为空。
免责声明:我不知道OpenLink Virtuoso是什么或做什么;我只是在为你表演阅读理解
- 如何将一个窗口保留在另一个应用程序窗口的前面
- 将库链接到另一个应用程序时,CMAKE 找不到库
- 调试控制台 ChessEngine.exe "used"在另一个应用程序(国际象棋 GUI)中
- 在 Windows 10 中将一个应用程序放在另一个应用程序前面
- 将数据从一个应用程序单向发送到另一个应用程序的最佳做法
- 当电子的窗口隐藏时如何激活另一个应用程序窗口
- 与 Python 中子进程中的另一个应用程序的交互式会话
- 如何将Qt嵌入到另一个应用程序中(非阻塞方式)
- 调试从 Linux 中的另一个C++应用程序启动的 python 脚本
- 另一个应用程序用 c++ 在 Windows 上的线程中破坏 QTimer
- 发送消息WM_SETTEXT不适用于 MFC 应用程序的另一个应用程序
- 在Qt和C++中从另一个应用程序启动一个应用软件会产生问题
- 在另一个应用程序中嵌入python时,如何在子模块(即scipy.optimize.nnls)中导入或调用函数
- 如何从Windows上的Windows API上的另一个应用程序获得应用程序宽度和高度
- QT应用程序在OSX中启动另一个应用程序
- mfc c++通过编辑控件设置另一个应用程序的HWND地址
- 并行运行一个应用程序,同时用 C++ 启动另一个应用程序
- 以弹出窗口的形式启动另一个应用程序
- 如何将消息从一个 Windows 控制台应用程序发送到另一个应用程序
- 从另一个应用程序读取状态栏