Jena使用总结

今天我在使用Jena的过程中出现了一些问题,现在我将我出现的问题进行如下总结:

1.要使用Jena,需要分别下载apache-jena和apache-jena-fuseki,因为fuseki和其他的功能模块不在同一个文件中。

还要在环境变量中配置JENA_HOME和path.

2.我们需要创建一个tdb目录,用于存放tdb数据。我们可以进入Jena的bat目录,使用命令将我们的RDF数据以TDB

的方式存储。命令如下:

.\tdbloader.bat --loc="D:\apache-jena-3.8.0\apache-jena-3.8.0\tdb"  "D:\D2RQ\kg_demo_movie.nt"

3.fuseki目录下的run目录中的databases使用的owl文件从protege中导出时应该选择turtle.导入目录中要将后缀名改为ttl。

4.fuseki目录下的run目录中的configuration下的ttl配置文件如下。我这里使用的是目前最新的版本3.5.0.这里如果使用其他版本会启动不了。或者查询不出内容。新版本的具体配置我也不知道。

@prefix :      <http://base/#> .
@prefix tdb:   <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja:    <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .


:service1        a                fuseki:Service ;
fuseki:dataset                    <#dataset> ;
fuseki:name                       "kg_demo_movie" ;
fuseki:serviceQuery               "query" , "sparql" ;
fuseki:serviceReadGraphStore      "get" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceUpdate              "update" ;
fuseki:serviceUpload              "upload" .


<#dataset> rdf:type ja:RDFDataset ;
    ja:defaultGraph <#model_inf> ;
    .

<#model_inf> a ja:InfModel ;
    ja:baseModel <#tdbGraph> ;

    #本体文件的路径
    ja:content [ja:externalContent <file:///D:/apache-jena-fuseki-3.5.0/apache-jena-fuseki-3.5.0/run/databases/ontology.ttl> ] ;
    
    #启用OWL推理机
    ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] .

<#tdbGraph> rdf:type tdb:GraphTDB ;
    tdb:dataset <#tdbDataset> ;
    .

<#tdbDataset> rdf:type tdb:DatasetTDB ;
    tdb:location "D:/apache-jena-3.5.0/apache-jena-3.5.0/tdb" ;
    .

猜你喜欢

转载自blog.csdn.net/qq_37050372/article/details/81431833