Jena javadoc 探索(一)

2019-08-31   77 次阅读


官方javadoc:http://jena.apache.org/documentation/javadoc/jena/

(PS:谷歌翻译在这里面无效,全都是阅读理解得来的)

ModelFactory

createDefaultModel
具体用法: Model model=ModelFactory.createDefaultModel();
用于返回一个默认规格的新模型(fresh model)

createInfModel(InfGraph g)
从推理图表g中获取一个推理模型

createInfModel(Reasoner reasoner, Model model)
将给定的RDF模型model附加到给定的推理器reasoner上来获取一个推理模型
具体用法:
InfModel infmodel=ModelFactory.createInfModel(reasoner,data);

createInfModel(Reasoner reasoner, Model schema, Model model)
(官方函数解释和上面一个函数一致,但是参数多了一个schema模型,目前不确定是什么意思,在后续会实践验证)

createOntologyModel()
返回一个加载了用默认本体语言(OWL)表达的内存模型的本体模型(可以理解为默认OnModelSpec spec参数为OWL)

createOntologyModel(OntModelSpec spec)
根据所给定的参数设定建立新的本体模型

createOntologyModel(OntModelSpec spec, Model base)
根据所给定的参数设定建立新的本体模型,并且以给定的模型base中的数据作为初始数据

createRDFSModel(Model model)
在所给模型model中所有可导出的RDFS语法(RDFS entailments derivable)都可行的情况下返回一个模型

createRDFSModel(Model schema, Model model)
在模型schema和model的可导出RDFS语法(RDFS entailments derivable)都可行的情况下返回模型

Interface Reasoner

bindSchema(Graph tbox)
将一个本体(ontology)附加到一个推理器(reasoner)上的最普遍方法

bindSchema(Model tbox)
与上述函数同理
用法: reasoner=reasoner.bindSchema(schema);

setDerivationLogging(boolean logOn)
设置drivation logging的开关

setParameter(Property parameterUri, Object value)
设置推理器的参数
比如设置RDFS推理器的等级

reasoner.setParameter(ReasonerVocabulary.PROPsetRDFSLevel,
                      ReasonerVocabulary.RDFS_SIMPLE);  

FileManager

可以从一个系统资源加载RDF数据到一个已经存在的模型或者新建立的模型
FileManage和LocationMapper一同工作

get()
获取全局文件管理者(global file manager)

loadModel(String filenameOrURI)
loadModel(String filenameOrURI, String rdfSyntax)
loadModel(String filenameOrURI, String baseURI, String rdfSyntax)

用法(来自Jena官方文档推理api):
Model schema = FileManage.get().loadModel("file:data/owlDemoSchema.owl");

从一个文件中加载模型
参数解释:
baseURI:加载RDF模型的基本URI
rdfSynatax: RDF Serialization synatax----RDF序列化语法(翻译自百度翻译)

readModel(Model model, String filenameOrURI)
readModel(Model model, String filenameOrURI, String rdfSyntax)
readModel(Model model, String filenameOrURI, String baseURI, String syntax)
读取若干RDF数据并导入模型model中
参数解释同上述loadModel

Model InfModel

在Jena中推理的主要作用是给RDF数据集增加限制,这些需求只是以推理模型中附加的RDF数据的形式出现
举个例子:如果一个推理引擎可以确定一个叫做“foo”的资源是“fooClass”
那么当三元组 foo rdf:type fooClass .在数据集中时 ,所有Model API 比如说listStatments或者getProperty应当act(不知道咋翻译)

listStatements(Resource subject, Property predicate, RDFNode object, Model posit)
返回一个迭代器,包含该模型中所有的statements
参数:
subject:主语
predicate:谓语
object:宾语
类似于三元组的(s,p,o)

Model

RDF模型

add(List<Statement> statements)
将List中所有的statement都添加到模型中

add(Model m)
将模型m中所有的statement都添加到当前模型中

add(Statement s)
单单添加s语句到模型中

add(StmtIterator iter)
将该迭代器中所有statements添加到当前模型中

close()
关闭模型并释放资源所占用的内存

contains(Resource s, Property p)
布尔型函数,判断模型中是否含有resource为s,property为p的statement

contains(Resource s, Property p, RDFNode o)
布尔型函数,判断模型中是否含有(s,p,o)模式的语句

contains(Statement s)
布尔型函数,判断模型中是否含有该语句

containsAll(Model model)
布尔型函数,判断当前model是否包含参数中model的所有语句(个人感觉应该是用来判断是否包含)

createResource()
创建一个新的匿名Resource
具体用法(注:rdfsExample是一个Model实例):
rdfsExample.createResource(NS+"a")

createStatement(Resource s, Property p, RDFNode o)
创建一个新的statement

difference(Model model)
创建一个新的,独立的模型包含当前模型所有的而参数中模型中没有的statements

getProperty(Resource s, Property p)
返回一个resource为s,Property为p的statement(s,p,?o)

getResource(String uri)
根据参数中的url返回对应的资源resource

independent()
布尔型函数,判断该模型是否独立

isEmpty()
布尔型函数,判断模型是否为空

listObjects()
列举出模型中所有的object(类型为NodeIterator)

listStatements(Resource s, Property p, RDFNode o)
列举出满足特定条件的所有statement(类型为StmtIterator)

listSubjects()
列举出模型中所有的subject(类型为ResIterator)

query(Selector s)
创建一个包含满足某个特定查询的所有语句的新模型

read(InputStream in, String base)
从指定输入流文档中读取statements

remove(List<Statement> statements)
将该List中所有的statement从模型中移去(适用于一次性移去大规模statement)

remove(Statement s)
将s从该模型中移去

removeAll()
将当前模型中所有语句都移除

setNsPrefix(String prefix, String uri)
为指定URI prefix设定prefix name

size()
返回当前模型的大小(statement语句的数量)

union(Model model)
将当前模型和参数中的model进行联合

write(Writer writer)
将当前模型写成XML文档

ReasonerRegistry

感觉和ModelFactory类似,用于reasoner的注册(即创建)
一般用法:
Reasoner reasoner = ReasonerRegistry.getRDFSReasoner();

getOWLReasoner()
预建立一个标准配置的默认OWL推理器

getRDFSReasoner()
预建立一个标准配置的默认RDFS推理器

create(String uri, Resource configuration)
创建并返回一个被给定uri标记的reasoner

创建配置资源格式:

Resource config = ModelFactory.createDefaultModel()
                              .createResource()
                              .addProperty(ReasonerVocabulary.PROPsetRDFSLevel, "simple");  

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议