当前位置: 首页 > 知识库问答 >
问题:

RDF/XML Jena getValue

穆才良
2023-03-14

我需要帮助从RDF和Jena框架中获取一些信息。我有一个RDF内容是这样的:

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ts="http://www.test.com/testModel.owl#">  
<ts:Entity rdf:ID="1234_test"> 
 <....>
</ts>
</rdf:RDF>
Model model = ModelFactory.createDefaultModel();
InputStream requestBody = new ByteArrayInputStream(request.getBytes());
String BASE = "http://www.test.com/testModel.owl#";
model.read(requestBody,BASE);
requestBody.close();

StmtIterator iter = model.listStatements();
 while (iter.hasNext()) {

        Statement stmt      = iter.nextStatement();  // get next statement
        Resource  subject   = stmt.getSubject();     // get the subject
        Property  predicate = stmt.getPredicate();   // get the predicate
        RDFNode   object    = stmt.getObject();      // get the object

            System.out.println(subject + " | "+predicate);

     }
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:ts="http://www.test.com/testModel.owl#">  
<ts:Entity rdf:ID="1234_test"> 
   <ts:Resource> 
       <ts:testProp rdf:datatype="http://www.w3.org/2001/XMLSchema#string">test_ID_test</ts:testProp>
 </ts>
</ts>
</rdf:RDF>

我如何提取值test_id_test???如果我想用SPARQL,我怎么用Jena???

共有1个答案

班经亘
2023-03-14

怎么样:

Resource ENTITY_TYPE = model.getResource("http://www.test.com/testModel.owl#Entity");
StmtIterator iter = model.listStatements(null, RDF.type, ENTITY_TYPE);
while (iter.hasNext()) {
    String entityID = iter.next().getSubject().getURI();
    System.out.println(entityID);
}

它将获取每个实体的URI。

 类似资料:
  • 我正在使用Jena框架来操作RDF文件,但我找不到一种方法来用您各自的RDF模式验证RDF。我正在尝试这个方法: 但它总是返回true。

  • Redland 是一套 C 语言的库,用来提供对 RDF (Resource Description Framework) 的操作支持。 主要特性有: 模块化, object based libraries and APIs for manipulating the RDF graph, triples, URIs and Literals. Storage for graphs in memor

  • RAP - RDF API for PHP 资源描述框架(RDF)是用于描述网络资源的 W3C 标准,比如网页的标题、作者、修改日期、内容以及版权信息。 RAP是一套基于 GNU LESSER GENERAL PUBLIC LICENSE (LGPL)开源协议、用PHP开发的,解析、查询、操作、序列化RDF文档的软件包。 包含如下特性: 表述类方法:将RDF模型视为三元组进行操作; 资源类方法:将

  • 下面是java代码: 这有帮助吗?我真的不知道了...

  • 我想把xml文件转换成RDF。我认为JENA GRDDL可以使用,但我不知道它是如何工作的!我没有找到任何例子!你能帮助我请开始使用这个API或显示我任何可能的解决方案!

  • 我用一个递归函数尝试过它,它迭代语句,当语句不是文字时,它会跟随对象到达下一个节点。像这样: 但不知怎的,我用这个方法没有什么进展。非常感谢你的每一次洞察。