我正在尝试using virtual graphs的Stardog教程。
按照说明,我设置了$STARDOG_EXT
环境变量。
JDBC设置
Stardog不附带JDBC驱动程序,因此您需要手动将包含RDBMS驱动程序的JAR文件复制到Stardog服务器的类路径。首选方式是通过将
STARDOG_EXT
环境变量设置为指向目录到Stardog安装目录之外,然后复制jar在那里存放文件:$ export STARDOG_EXT=/opt/stardog/ext $ mkdir $STARDOG_EXT $ cp JDBC_JAR_FILE $STARDOG_EXT
我将JAR文件复制到上述位置,如下所示。
bilesh@vm-ubuntu:~$ echo $STARDOG_EXT
/opt/stardog/ext
bilesh@vm-ubuntu:~$ cd $STARDOG_EXT
bilesh@vm-ubuntu:/opt/stardog/ext$ ls -la
total 916
drwxr-xr-x 2 root root 4096 Feb 19 20:22 .
drwxr-xr-x 9 stardog stardog 4096 Feb 19 20:21 ..
-rw-r--r-- 1 stardog root 927447 Feb 19 20:22 postgresql-42.2.10.jar
但是尝试使用PostgreSQL创建虚拟图时出现错误Unable to load class: org.postgresql.Driver
。
bilesh@vm-ubuntu:~$ sudo /opt/stardog/stardog-server.sh start
Starting stardog
Starting Stardog server in background, see /var/opt/stardog//stardog.log for more information.
bilesh@vm-ubuntu:~$ cd Workspace/Stardog/pgsql_demo
bilesh@vm-ubuntu:~/Workspace/Stardog/pgsql_demo$ stardog-admin virtual add music.properties music_mappings.ttl
Unable to load class: org.postgresql.Driver from ClassLoader:sun.misc.Launcher$AppClassLoader@619a5dff;ClassLoader:java.net.URLClassLoader@3b63d1de
我的PostgreSQL属性文件(music.properties
)和映射文件(music_mappings.ttl
)位于-~/Workspace/Stardog/pgsql_demo
。
为了使其正常工作,我将JAR文件(postgresql-42.2.10.jar
)放置在$JAVA_HOME/jre/lib/ext/
中并重新启动了服务器。
此后,我能够成功创建虚拟图。
不确定这是否是我今后必须要做的事情。
使用包装时,您需要将STARDOG_EXT
设置为其他值。如果仅在shell中进行设置,它将对守护程序环境不可见。在此处查看文档:https://www.stardog.com/docs/#_package_layout
此外,以这种方式安装时,您也应该使用systemd / systemctl启动服务器