begin
sem_apis.create_rdf_network(
network_name => 'LOCALNET',
network_owner => 'WKSP_APEXDEV',
tablespace_name => 'USERS'
);
end;
begin
sem_apis.drop_rdf_network(
network_name => 'LOCALNET',
network_owner => 'WKSP_APEXDEV',
cascade => false
);
end;
begin
sem_apis.create_rdf_graph(
rdf_graph_name => 'RAILWAYS',
table_name => null,
column_name => null,
network_name => 'LOCALNET',
network_owner => 'WKSP_APEXDEV'
);
end;
begin
sem_apis.drop_rdf_graph(
rdf_graph_name => 'RAILWAYS',
network_name => 'LOCALNET',
network_owner => 'WKSP_APEXDEV'
);
end;
Railways % podman run -d --name my-ora-jena -p 3030:3030 -v $PWD:/home/oracle/work oracle-jena
69ce9090e4de0f3e4235c89433e7572ecc5f307ce636aabbec0682d308d66163
Railways %
Apache Jena Fusekiが先ほど作成したRDFネットワークLOCALNETおよびRDFグラフRAILWAYSを参照するように、設定ファイルconfig.ttlを更新します。
Railways % podman exec -it my-ora-jena bash
[oracle@69ce9090e4de fuseki]$
vi /opt/oracle-jena/fuseki/run/config.ttl
[oracle@69ce9090e4de fuseki]$ vi /opt/oracle-jena/fuseki/run/config.ttl
config.ttl内のhostname、port_number、srvc_name、model_name、network_owner、network_nameを置き換えます。model_name、network_owner、network_nameは通常、大文字で指定します。
# Custom code.
[] ja:loadClass "oracle.spatial.rdf.client.jena.assembler.OracleAssemblerVocab" .
oracle:Dataset rdfs:subClassOf ja:RDFDataset .
<#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 "wksp_apexdevのパスワード"
];
oracle:allGraphs [ oracle:firstModel "RAILWAYS"; oracle:networkOwner "WKSP_APEXDEV"; oracle:networkName "LOCALNET" ] .
以上を設定した後、コンテナから抜けて再起動します。
[oracle@69ce9090e4de fuseki]$ exit
exit
Railways % podman restart my-ora-jena
my-ora-jena
Railways %
Apache Jena Fusekiには、以下のURLでアクセスできます。add dataから、Web画面からRDFデータの追加をできますが、今回はorardfldrを使用します。
作業はコンテナ内で実施します。コンテナmy-ora-jenaに接続します。接続後、作業ディレクトリへ移動します。
cd $HOME/work
Railways % podman exec -it my-ora-jena bash
[oracle@69ce9090e4de fuseki]$ cd $HOME/work
[oracle@69ce9090e4de work]$
export ORACLE_JENA_HOME=/opt/oracle-jena
export PATH=$ORACLE_JENA_HOME/bin:$PATH
[oracle@69ce9090e4de work]$ export ORACLE_JENA_HOME=/opt/oracle-jena
[oracle@69ce9090e4de work]$ export PATH=$ORACLE_JENA_HOME/bin:$PATH
[oracle@69ce9090e4de work]$
uedayou.net/jrslod/東海旅客鉄道/東海道新幹線.ttl
[oracle@69ce9090e4de work]$ wget -x -nc https://uedayou.net/jrslod/%E6%9D%B1%E6%B5%B7%E6%97%85%E5%AE%A2%E9%89%84%E9%81%93/%E6%9D%B1%E6%B5%B7%E9%81%93%E6%96%B0%E5%B9%B9%E7%B7%9A.ttl
--2025-11-17 07:01:40-- https://uedayou.net/jrslod/%E6%9D%B1%E6%B5%B7%E6%97%85%E5%AE%A2%E9%89%84%E9%81%93/%E6%9D%B1%E6%B5%B7%E9%81%93%E6%96%B0%E5%B9%B9%E7%B7%9A.ttl
Resolving uedayou.net (uedayou.net)... 49.212.223.188
Connecting to uedayou.net (uedayou.net)|49.212.223.188|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/turtle]
Saving to: ‘uedayou.net/jrslod/東海旅客鉄道/東海道新幹線.ttl’
uedayou.net/jrslod/東海旅客鉄道/東海 [ <=> ] 124.87K --.-KB/s in 0.1s
2025-11-17 07:01:41 (1.21 MB/s) - ‘uedayou.net/jrslod/東海旅客鉄道/東海道新幹線.ttl’ saved [127864]
[oracle@69ce9090e4de work]$
バルクローダーを実行し、東海道新幹線.ttlをRDFグラフRAILWAYSにアップロードします。--fileDirにはttlファイルではなく、ttlファイルを含むディレクトリを指定します。
orardfldr --modelName=RAILWAYS --fileDir=./uedayou.net/jrslod/東海旅客鉄道 \
--lang=TURTLE --jdbcUrl="jdbc:oracle:thin:@host.containers.internal:1521/freepdb1" \
--user=WKSP_APEXDEV --password=<パスワード> \
--networkName=LOCALNET --networkOwner=WKSP_APEXDEV
[oracle@479a913ee992 work]$ orardfldr --modelName=RAILWAYS --fileDir=./uedayou.net/jrslod/東海旅客鉄道 \
> --lang=TURTLE --jdbcUrl="jdbc:oracle:thin:@host.containers.internal:1521/freepdb1" \
> --user=WKSP_APEXDEV --password=oracle \
> --networkName=LOCALNET --networkOwner=WKSP_APEXDEV
log4j:WARN No appenders could be found for logger (oracle.spatial.rdf.client.jena.Parameters).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
loadRDF: enabling parallel DDL/DML/query for session [0]
loadRDF: truncating staging tables
loadRDF in parallel: PrepareWorker [0] running
PrepareWorker: thread [0] done to 0, file = ./uedayou.net/jrslod/東海旅客鉄道/東海道新幹線.ttl in (ms) 956
loadRDF: preparing for bulk load
loadRDF: starting bulk load
loadRDF: bulk load flags="PARSE"
loadRDF: bulk load completed in (ms) 1079
[oracle@479a913ee992 work]$
PREFIX gsp: <http://www.opengis.net/ont/geosparql#>
SELECT ?s ?p ?o
WHERE {
<https://uedayou.net/jrslod/東海旅客鉄道/東海道新幹線> gsp:asWKT ?o
}
select t.s$rdfterm name, sdo_util.from_wktgeometry(t.o$rdfclob) geom
from table(sem_match(
query => q'[
SELECT ?s ?o
WHERE
{ ?s gsp:asWKT ?o }
]'
, models => SEM_MODELS('RAILWAYS')
, rulebases => null
, aliases => SEM_ALIASES(
SEM_ALIAS('gsp','http://www.opengis.net/ont/geosparql#')
)
, filter => null
, options =>' PLUS_RDFT=VC '
, network_owner => 'WKSP_APEXDEV'
, network_name => 'LOCALNET'
)) t
where t.s$rdfterm = '<https://uedayou.net/jrslod/東海旅客鉄道/東海道新幹線>';
<a href="https://uedayou.net/">© uedayou</a>
<a href="https://www.maptiler.com/copyright">© MapTiler</a>
<a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors</a>














