2025年11月14日金曜日

Apache Jena FusekiにOracle Graph Adapterを組み込んだコンテナを作成する

米国オラクル社から、Apache Jena FusekiのDatasetとしてOracle Databaseを使用するためのアダプタがリリースされています。

手作業による構成は記事「RDF Graph Support for Apache Jenaを使ってみる」で紹介しています。より簡単にOracle Graph Adapterを組み込んだApache Jena Fusekiを構築するため、Dockerfileを作成しました。

以下に利用手順を説明します。

APEX向けの構成スクリプトのリポジトリに、Apache Jena Fusekiのコンテナを作るためのファイルを追加しました。
git clone https://github.com/ujnak/apex-podman-setup
cd apex-podman-setup/jena
Oracle Graph Adapterを組み込んだApache Jena Fusekiのコンテナ・イメージの構築に使用する2つのファイルを、ディレクトリfiles以下に配置します。

mkdir -p files

jena % mkdir -p files

jena % 


ディレクトリfiles以下に配置するファイルの取得方法です。


(1) Oracle JDK-11
ダウンロード・サイト: https://www.oracle.com/java/technologies/downloads/#java11

プラットフォームのアーキテクチャ(x86-64またはarm64)に対応した、Compressed Archive(tar.gzで終わるファイル)をダウンロードします。



(2) Oracle Graph - Support Adapters and Plugins, Apache Jena Fuseki 3.12.0
ダウンロード・サイト:  https://www.oracle.com/database/graph/downloads.html

ダウンロード・サイトからOracle Graph - Support Adapters and Pluginsのリンクを開きます。RDF Graphのリンクはページの下の方にあります。


Oracle Graph - Support Adapters and Pluginsのリンクをクリックすると、Oracle Software Delivery Cloudへ移動します。Oracle Software Delivery Cloudにアクセスするには、Oracleプロファイルを作成する必要があります。

Standard Oracle License Agreementを確認し、I reviewed and accept the Oracle License Agreementをチェックします。

21.1.8_Oracle19c_Jena-3.12.0 for (GENERIC (All Platforms))V1052173-01.zipをダウンロードします。


ダウンロードした2つのファイルをディレクトリfiles以下に配置します。

以下の結果になります。

jena % ls -l files

total 666960

-rw-r--r--@ 1 *  staff  166816127 11月 14 11:47 jdk-11.0.29_linux-aarch64_bin.tar.gz

-rw-r--r--@ 1 *  staff  174664594 11月 14 11:47 V1052173-01.zip

jena % 


ファイルDockerfileがあるディレクトリjenaに、作業ディレクトリを移動します。

ファイルconfig-oracle.ttlに記載されているoracle:Datasetの設定のoracle:jdbcURLoracle:allGraphsを変更します。

以下は、ローカル環境のコンテナで実行されているOracle Database 26ai Freeに接続する例です。

oracle:jdbcURLHOSTとしてhost.containers.internalPORTとして1521SERVICE_NAMEとしてfreepdb1を指定します。oracle:UserはRDFグラフを作成したユーザーWKSP_APEXDEVoracle:PasswordはユーザーWKSP_APEXDEVのパスワードを指定します。oracle:Userの指定に限りませんが、オラクル・データベースに大文字として保存されている識別子については、大文字で指定します。

oracle:allGraphsoracle:firstModelMYTHoracle:networkOwnerWKSP_APEXDEVoracle:networkNameLOCALNETを指定します。

<#oracle> rdf:type oracle:Dataset;

    oracle:connection

    [ a oracle:OracleConnection ;

      oracle:jdbcURL "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host.containers.internal)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=freepdb1)))";

      oracle:User "WKSP_APEXDEV" ;

      oracle:Password "******"

    ];

    oracle:allGraphs [ oracle:firstModel "MYTH"; oracle:networkOwner "WKSP_APEXDEV"; oracle:networkName "LOCALNET" ] .


#


以上で設定は完了です。

コンテナ・イメージoracle-jenaを作成します。

podman build -t oracle-jena .

jena % podman build -t oracle-jena .


[1/2] STEP 1/8: FROM oraclelinux:8 AS builder

[1/2] STEP 2/8: RUN dnf install -y tar unzip

--> Using cache 86c5dc4c451e1be3e3e016c086ed5942125eaf090a34630f15e360ebc048f8d4

--> 86c5dc4c451e

[1/2] STEP 3/8: ENV LANG en_US.UTF-8

--> Using cache 05c1b99293d2ed23c5917f0f8709fd5295c752a44abac93421c7a4bdca9ad1ef

--> 05c1b99293d2

[1/2] STEP 4/8: ENV JAVA_HOME=/usr/java/jdk-11

--> Using cache 299961c363d237e56bced35ae154989b82c166e1490580e730184bf35c3cf36c

--> 299961c363d2

[1/2] STEP 5/8: COPY files/jdk-11.*.tar.gz /tmp/

--> Using cache 0d77092eeb18b67d6cec749c4d00b0733f5f752f11673d914609344f2a7ac932

--> 0d77092eeb18

[1/2] STEP 6/8: RUN set -eux;     ARCH="$(uname -m)" &&     if [ "$ARCH" = "x86_64" ];     then     mv "$(ls /tmp/jdk-11*_linux-x64_bin.tar.gz)" /tmp/jdk.tar.gz ;     else     mv "$(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz)" /tmp/jdk.tar.gz ;     fi &&     mkdir -p "$JAVA_HOME";     tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1

--> Using cache d1998efd642e08fdcc56dbd12c635eeaa17de274c0c77cf92a9608b820cb1300

--> d1998efd642e

[1/2] STEP 7/8: COPY files/V1052173-01.zip /tmp/

--> 639ae3068bea

[1/2] STEP 8/8: RUN unzip -q -d /opt/oracle-jena /tmp/V1052173-01.zip

--> 5fef7f475acd

[2/2] STEP 1/13: FROM oraclelinux:8

[2/2] STEP 2/13: ENV LANG en_US.UTF-8

--> Using cache 3c9aed82232a0d4fea8b8643a42bf61575a15f8eb9dab83a53a3558801de4e32

--> 3c9aed82232a

[2/2] STEP 3/13: ENV JAVA_HOME=/usr/java/jdk-11

--> Using cache 8bcf0430ed2ca6f4506b22e3798a0e2b9049910e935c8bc2651c2eda9ace98c7

--> 8bcf0430ed2c

[2/2] STEP 4/13: ENV ORACLE_JENA_HOME=/opt/oracle-jena

--> 137a6cbb1f45

[2/2] STEP 5/13: ENV PATH $ORACLE_JENA_HOME/bin:$JAVA_HOME/bin:$PATH

--> 541c78a03a5a

[2/2] STEP 6/13: COPY --from=builder $JAVA_HOME $JAVA_HOME

--> b370d1e2b292

[2/2] STEP 7/13: COPY --from=builder $ORACLE_JENA_HOME $ORACLE_JENA_HOME

--> 8f047bd0a9a7

[2/2] STEP 8/13: RUN set -eux;     dnf -y update;     dnf install -y         freetype fontconfig         tar unzip     ;     rm -rf /var/cache/dnf;     ln -sfT "$JAVA_HOME" /usr/java/default;     ln -sfT "$JAVA_HOME" /usr/java/latest;     for bin in "$JAVA_HOME/bin/"*; do         base="$(basename "$bin")";         [ ! -e "/usr/bin/$base" ];         alternatives --install "/usr/bin/$base" "$base" "$bin" 20000;     done;     java -Xshare:dump;

+ dnf -y update

Oracle Linux 8 BaseOS Latest (aarch64)          7.1 MB/s | 148 MB     00:20    

Oracle Linux 8 Application Stream (aarch64)     6.6 MB/s |  66 MB     00:09    

Last metadata expiration check: 0:00:10 ago on Fri 14 Nov 2025 02:58:53 AM UTC.

Dependencies resolved.

================================================================================

 Package          Arch    Version                       Repository         Size

================================================================================

Upgrading:

 bash             aarch64 4.4.20-6.el8_10               ol8_baseos_latest 1.5 M

 bind-export-libs aarch64 32:9.11.36-16.el8_10.6        ol8_baseos_latest 1.1 M

 ca-certificates  noarch  2025.2.80_v9.0.304-80.2.el8_10

  

[中略]


Installed:

  libxkbcommon-0.9.1-1.el8.aarch64       shared-mime-info-1.9-4.el8.aarch64    

  trousers-0.3.15-2.el8.aarch64          trousers-lib-0.3.15-2.el8.aarch64     

  xkeyboard-config-2.28-1.el8.noarch    


Complete!

+ dnf install -y freetype fontconfig tar unzip

Last metadata expiration check: 0:00:21 ago on Fri 14 Nov 2025 02:58:53 AM UTC.

Package tar-2:1.30-11.el8_10.aarch64 is already installed.

Dependencies resolved.

================================================================================

 Package                  Arch     Version             Repository          Size

================================================================================

Installing:

 fontconfig               aarch64  2.13.1-4.el8        ol8_baseos_latest  272 k

 freetype                 aarch64  2.9.1-10.el8_10     ol8_baseos_latest  369 k

 unzip                    aarch64  6.0-48.0.1.el8_10   ol8_baseos_latest  189 k

Installing dependencies:

 dejavu-fonts-common      noarch   2.35-7.el8          ol8_baseos_latest   74 k

 dejavu-sans-fonts        noarch   2.35-7.el8          ol8_baseos_latest  1.5 M

 fontpackages-filesystem  noarch   1.44-22.el8         ol8_baseos_latest   16 k

 libpng                   aarch64  2:1.6.34-5.el8      ol8_baseos_latest  119 k


Transaction Summary

================================================================================

Install  7 Packages


Total download size: 2.5 M

Installed size: 8.1 M

Downloading Packages:

(1/7): dejavu-fonts-common-2.35-7.el8.noarch.rp 469 kB/s |  74 kB     00:00    

(2/7): fontpackages-filesystem-1.44-22.el8.noar 434 kB/s |  16 kB     00:00    

(3/7): fontconfig-2.13.1-4.el8.aarch64.rpm      1.3 MB/s | 272 kB     00:00    

(4/7): libpng-1.6.34-5.el8.aarch64.rpm          1.8 MB/s | 119 kB     00:00    

(5/7): freetype-2.9.1-10.el8_10.aarch64.rpm     2.0 MB/s | 369 kB     00:00    

(6/7): unzip-6.0-48.0.1.el8_10.aarch64.rpm      1.7 MB/s | 189 kB     00:00    

(7/7): dejavu-sans-fonts-2.35-7.el8.noarch.rpm  2.2 MB/s | 1.5 MB     00:00    

--------------------------------------------------------------------------------

Total                                           3.6 MB/s | 2.5 MB     00:00     

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

  Preparing        :                                                        1/1 

  Installing       : fontpackages-filesystem-1.44-22.el8.noarch             1/7 

  Installing       : dejavu-fonts-common-2.35-7.el8.noarch                  2/7 

  Installing       : dejavu-sans-fonts-2.35-7.el8.noarch                    3/7 

  Installing       : libpng-2:1.6.34-5.el8.aarch64                          4/7 

  Installing       : freetype-2.9.1-10.el8_10.aarch64                       5/7 

  Installing       : fontconfig-2.13.1-4.el8.aarch64                        6/7 

  Running scriptlet: fontconfig-2.13.1-4.el8.aarch64                        6/7 

  Installing       : unzip-6.0-48.0.1.el8_10.aarch64                        7/7 

  Running scriptlet: unzip-6.0-48.0.1.el8_10.aarch64                        7/7 

  Running scriptlet: fontconfig-2.13.1-4.el8.aarch64                        7/7 

  Verifying        : dejavu-fonts-common-2.35-7.el8.noarch                  1/7 

  Verifying        : dejavu-sans-fonts-2.35-7.el8.noarch                    2/7 

  Verifying        : fontconfig-2.13.1-4.el8.aarch64                        3/7 

  Verifying        : fontpackages-filesystem-1.44-22.el8.noarch             4/7 

  Verifying        : freetype-2.9.1-10.el8_10.aarch64                       5/7 

  Verifying        : libpng-2:1.6.34-5.el8.aarch64                          6/7 

  Verifying        : unzip-6.0-48.0.1.el8_10.aarch64                        7/7 


Installed:

  dejavu-fonts-common-2.35-7.el8.noarch                                         

  dejavu-sans-fonts-2.35-7.el8.noarch                                           

  fontconfig-2.13.1-4.el8.aarch64                                               

  fontpackages-filesystem-1.44-22.el8.noarch                                    

  freetype-2.9.1-10.el8_10.aarch64                                              

  libpng-2:1.6.34-5.el8.aarch64                                                 

  unzip-6.0-48.0.1.el8_10.aarch64                                               


Complete!

+ rm -rf /var/cache/dnf

+ ln -sfT /usr/java/jdk-11 /usr/java/default

+ ln -sfT /usr/java/jdk-11 /usr/java/latest

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jar

+ base=jar

+ '[' '!' -e /usr/bin/jar ']'

+ alternatives --install /usr/bin/jar jar /usr/java/jdk-11/bin/jar 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jarsigner

+ base=jarsigner

+ '[' '!' -e /usr/bin/jarsigner ']'

+ alternatives --install /usr/bin/jarsigner jarsigner /usr/java/jdk-11/bin/jarsigner 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/java

+ base=java

+ '[' '!' -e /usr/bin/java ']'

+ alternatives --install /usr/bin/java java /usr/java/jdk-11/bin/java 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/javac

+ base=javac

+ '[' '!' -e /usr/bin/javac ']'

+ alternatives --install /usr/bin/javac javac /usr/java/jdk-11/bin/javac 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/javadoc

+ base=javadoc

+ '[' '!' -e /usr/bin/javadoc ']'

+ alternatives --install /usr/bin/javadoc javadoc /usr/java/jdk-11/bin/javadoc 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/javap

+ base=javap

+ '[' '!' -e /usr/bin/javap ']'

+ alternatives --install /usr/bin/javap javap /usr/java/jdk-11/bin/javap 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jcmd

+ base=jcmd

+ '[' '!' -e /usr/bin/jcmd ']'

+ alternatives --install /usr/bin/jcmd jcmd /usr/java/jdk-11/bin/jcmd 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jconsole

+ base=jconsole

+ '[' '!' -e /usr/bin/jconsole ']'

+ alternatives --install /usr/bin/jconsole jconsole /usr/java/jdk-11/bin/jconsole 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jdb

+ base=jdb

+ '[' '!' -e /usr/bin/jdb ']'

+ alternatives --install /usr/bin/jdb jdb /usr/java/jdk-11/bin/jdb 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jdeprscan

+ base=jdeprscan

+ '[' '!' -e /usr/bin/jdeprscan ']'

+ alternatives --install /usr/bin/jdeprscan jdeprscan /usr/java/jdk-11/bin/jdeprscan 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jdeps

+ base=jdeps

+ '[' '!' -e /usr/bin/jdeps ']'

+ alternatives --install /usr/bin/jdeps jdeps /usr/java/jdk-11/bin/jdeps 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jfr

+ base=jfr

+ '[' '!' -e /usr/bin/jfr ']'

+ alternatives --install /usr/bin/jfr jfr /usr/java/jdk-11/bin/jfr 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jhsdb

+ base=jhsdb

+ '[' '!' -e /usr/bin/jhsdb ']'

+ alternatives --install /usr/bin/jhsdb jhsdb /usr/java/jdk-11/bin/jhsdb 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jimage

+ base=jimage

+ '[' '!' -e /usr/bin/jimage ']'

+ alternatives --install /usr/bin/jimage jimage /usr/java/jdk-11/bin/jimage 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jinfo

+ base=jinfo

+ '[' '!' -e /usr/bin/jinfo ']'

+ alternatives --install /usr/bin/jinfo jinfo /usr/java/jdk-11/bin/jinfo 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jjs

+ base=jjs

+ '[' '!' -e /usr/bin/jjs ']'

+ alternatives --install /usr/bin/jjs jjs /usr/java/jdk-11/bin/jjs 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jlink

+ base=jlink

+ '[' '!' -e /usr/bin/jlink ']'

+ alternatives --install /usr/bin/jlink jlink /usr/java/jdk-11/bin/jlink 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jmap

+ base=jmap

+ '[' '!' -e /usr/bin/jmap ']'

+ alternatives --install /usr/bin/jmap jmap /usr/java/jdk-11/bin/jmap 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jmod

+ base=jmod

+ '[' '!' -e /usr/bin/jmod ']'

+ alternatives --install /usr/bin/jmod jmod /usr/java/jdk-11/bin/jmod 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jps

+ base=jps

+ '[' '!' -e /usr/bin/jps ']'

+ alternatives --install /usr/bin/jps jps /usr/java/jdk-11/bin/jps 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jrunscript

+ base=jrunscript

+ '[' '!' -e /usr/bin/jrunscript ']'

+ alternatives --install /usr/bin/jrunscript jrunscript /usr/java/jdk-11/bin/jrunscript 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jshell

+ base=jshell

+ '[' '!' -e /usr/bin/jshell ']'

+ alternatives --install /usr/bin/jshell jshell /usr/java/jdk-11/bin/jshell 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jstack

+ base=jstack

+ '[' '!' -e /usr/bin/jstack ']'

+ alternatives --install /usr/bin/jstack jstack /usr/java/jdk-11/bin/jstack 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jstat

+ base=jstat

+ '[' '!' -e /usr/bin/jstat ']'

+ alternatives --install /usr/bin/jstat jstat /usr/java/jdk-11/bin/jstat 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/jstatd

+ base=jstatd

+ '[' '!' -e /usr/bin/jstatd ']'

+ alternatives --install /usr/bin/jstatd jstatd /usr/java/jdk-11/bin/jstatd 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/keytool

+ base=keytool

+ '[' '!' -e /usr/bin/keytool ']'

+ alternatives --install /usr/bin/keytool keytool /usr/java/jdk-11/bin/keytool 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/pack200

+ base=pack200

+ '[' '!' -e /usr/bin/pack200 ']'

+ alternatives --install /usr/bin/pack200 pack200 /usr/java/jdk-11/bin/pack200 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/rmic

+ base=rmic

+ '[' '!' -e /usr/bin/rmic ']'

+ alternatives --install /usr/bin/rmic rmic /usr/java/jdk-11/bin/rmic 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/rmid

+ base=rmid

+ '[' '!' -e /usr/bin/rmid ']'

+ alternatives --install /usr/bin/rmid rmid /usr/java/jdk-11/bin/rmid 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/rmiregistry

+ base=rmiregistry

+ '[' '!' -e /usr/bin/rmiregistry ']'

+ alternatives --install /usr/bin/rmiregistry rmiregistry /usr/java/jdk-11/bin/rmiregistry 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/serialver

+ base=serialver

+ '[' '!' -e /usr/bin/serialver ']'

+ alternatives --install /usr/bin/serialver serialver /usr/java/jdk-11/bin/serialver 20000

+ for bin in "$JAVA_HOME/bin/"*

++ basename /usr/java/jdk-11/bin/unpack200

+ base=unpack200

+ '[' '!' -e /usr/bin/unpack200 ']'

+ alternatives --install /usr/bin/unpack200 unpack200 /usr/java/jdk-11/bin/unpack200 20000

+ java -Xshare:dump

narrow_klass_base = 0x0000000800000000, narrow_klass_shift = 3

Allocated temporary class space: 1073741824 bytes at 0x00000008c0000000

Allocated shared space: 3221225472 bytes at 0x0000000800000000

Loading classes to share ...

Loading classes to share: done.

Rewriting and linking classes ...

Rewriting and linking classes: done

Number of classes 1218

    instance classes   =  1158

    obj array classes  =    52

    type array classes =     8

Updating ConstMethods ... done. 

Removing unshareable information ... done. 

Scanning all metaspace objects ... 

Allocating RW objects ... 

Allocating RO objects ... 

Relocating embedded pointers ... 

Relocating external roots ... 

Dumping symbol table ...

Dumping objects to closed archive heap region ...

Dumping objects to open archive heap region ...

Relocating SystemDictionary::_well_known_klasses[] ... 

Removing java_mirror ... done. 

mc  space:      8192 [  0.1% of total] out of     65536 bytes [ 12.5% used] at 0x0000000800000000

rw  space:   3847072 [ 32.0% of total] out of   3866624 bytes [ 99.5% used] at 0x0000000800010000

ro  space:   7157720 [ 59.5% of total] out of   7208960 bytes [ 99.3% used] at 0x00000008003c0000

md  space:      2560 [  0.0% of total] out of     65536 bytes [  3.9% used] at 0x0000000800aa0000

st0 space:    413696 [  3.4% of total] out of    413696 bytes [100.0% used] at 0x00000007bfe00000

oa0 space:    212992 [  1.8% of total] out of    212992 bytes [100.0% used] at 0x00000007bfc00000

bm  space:    196616 [  1.6% of total] out of    196616 bytes [100.0% used] at 0x0000000000000000

total    :  11642232 [100.0% of total] out of  12029960 bytes [ 96.8% used]

--> 0d4add3e6d9d

[2/2] STEP 9/13: COPY config-oracle.ttl /opt/oracle-jena/fuseki/run/config.ttl

--> 2d530392c734

[2/2] STEP 10/13: COPY shiro.ini         /opt/oracle-jena/fuseki/run/shiro.ini 

--> 1f2898bdb7b5

[2/2] STEP 11/13: EXPOSE 3030

--> ba71b065d449

[2/2] STEP 12/13: WORKDIR ${ORACLE_JENA_HOME}/fuseki

--> 2c9bd7c5ed98

[2/2] STEP 13/13: CMD ["sh","fuseki-server"]

[2/2] COMMIT oracle-jena

--> 576bfdd5eacd

Successfully tagged localhost/oracle-jena:latest

576bfdd5eacdc1c8600152dc2ab9fff372be14542cb0666f0cdad5a11195a8e5

ynakakoshi@Ns-Macbook jena % 


作成したコンテナ・イメージoracle-jenaを元に、コンテナmy-ora-jenaの作成と実行をします。ホスト・ポートの3030番で接続を待ち受けます。

podman run -d --name my-ora-jena -p 3030:3030 oracle-jena

jena % podman run -d --name my-ora-jena -p 3030:3030 oracle-jena

aff1b23d7f973f5c351236d9b92e8d9870828aaad5588c0459947f7a5738809b

jena % 


以下のURLから、Apache Jena Fusekiにアクセスします。


Apache Jena Fusekiのページが開きます。Datasetとして/oracleが見つかります。


以上で、Oracle Graph Adapterが組み込まれたApache Jena Fusekiのコンテナを作成することができました。