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

利用Jena库从RDF/XML文档中提取URI

林玮
2023-03-14
    Model read = ModelFactory.createDefaultModel().read(my_url);
    StmtIterator si;
    si = read.listStatements();

其中url是RDF/XML web文档。

共有1个答案

邢昊焜
2023-03-14

正如Javadoc所说的,liststatements()将列出模型中的所有语句(即三元组)。

如果要列出所有URI,则需要考虑它们在RDF模型中的位置。这些你可能都想要,也可能不想要。对于给定的三元组,T,由主语、谓语和宾语组成:

  • T的主题将具有URI,除非它是匿名资源(bNode)
  • T的谓词将具有URI
  • T的对象将具有URI,如果它是资源而不是文字,并且如果它不是bnode
Set<String> uris = new HashSet<String>();
for (StmtIterator i = model.listStatements(); i.hasNext(); ) {
    Statement s = i.next();
    if (!s.getSubject().isAnon()) {
        uris.add( s.getSubject().getURI() );
    }
    uris.add( s.getPredicate().getURI() );
    if (s.getObject().isResource() && !s.getResource().isAnon()) {
        uris.add( s.getResource().getURI() );
    }
}
 类似资料:
  • 我需要帮助从RDF和Jena框架中获取一些信息。我有一个RDF内容是这样的: 我如何提取值test_id_test???如果我想用SPARQL,我怎么用Jena???

  • 然后连空白节点都是嵌套的,这是我不想要的。有什么方法可以使用Jena获得这种结构吗?或者有没有其他的Java库可以更好地处理这一点?

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

  • 问题内容: 这是示例xml文档: 我想提取文本而不指定元素,我该怎么做,因为我有10个这样的文档。我想要这样做是因为我的问题是用户正在输入一个我不知道的单词,必须在其各自文本部分的所有10个xml文档中进行搜索。为此,我应该在不知道元素的情况下知道文本的位置。所有这些文档都不同的另一件事。 请帮忙!! 问题答案: 您可以简单地去除所有标签: 但是,如果您只想在Linux中搜索文件中的某些文本,则可

  • 以下是从XML文档中提取内容和元数据的程序 - import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; impor