标签: jena

三重商店与关系数据库

我想知道在关系数据库中使用Triple Stores有什么好处?

semantic-web sparql relational-database jena

40
推荐指数
3
解决办法
2万
查看次数

Jena/ARQ:模型,图形和数据集之间的差异

我开始使用Jena Engine,我想我已经掌握了语义是什么.然而,我很难理解在Jena和ARQ中代表一堆三元组的不同方法:

  • 你在开始时偶然发现的第一件事就是Model文档说出了RDF图的Jenas名称.
  • 然而,Graph当我想查询模型联合时,似乎也是必要的工具,但是它似乎没有共享一个共同的接口Model,尽管可以得到Graph一个Model
  • 然后是DataSetARQ,它似乎也是某种三元组的集合.

当然,有些人在API中查找,我找到了以某种方式从一个转换为另一个的方法.但是我怀疑它还有3个不同的接口用于相同的事情.

所以,问题是:这三者之间的关键设计差异是什么?我什么时候应该使用哪一个?特别是:当我想要保持单个三元组但是将它们视为一大堆(联合)时,我应该使用哪些数据结构(以及为什么)?另外,当从一个"转换"到另一个时,我"松散"任何东西(例如,确实model.getGraph()包含的信息少于某些方式model)?

java jena

26
推荐指数
2
解决办法
7153
查看次数

OWL API,Jena API,Protege API,使用哪一个

我正在尝试使用本体来实现基于eclipse的应用程序.(我的主题是语义标注).我需要向用户显示本体(作为树)并在本体类和某些模式之间建立链接.

因为我只有基本的编程技能,所以我现在有点不知所措,关于如何设计应用程序...... 1.问题:使用哪些API?我找到了OWL API和Jena API.在其中一篇文章中(是否有任何库可以轻松更改和更新OWL文件?)Michael说"OWLAPI超过Jena.Jena有OWL支持,但它不是 OWL 设计,这使得它使用起来有点麻烦."你怎么看?2.此外,还有ProtégéAPI.乍一看,它似乎更适合我,因为它已经提供了一些GUI工具等.但我有点困惑:当试图找到更多信息时,我发现这个http://protegewiki.stanford.edu/wiki/P4APIOverview.在那里它说"正在进行中",但该页面最后一次在2009年更改.如何理解这一点?有没有人与ProtégéAPI合作并可以分享他/她的经历?

非常感谢提前!

owl jena protege owl-api

22
推荐指数
1
解决办法
1万
查看次数

我在哪里测试我的用SPARQL编写的RDF的查询

我是语义Web技术的初学者,我的问题可能是一个非常基本的问题,但我真的很难搞清楚.我有一个我用XML创建的RDF文件,并使用w3.org RDF VALIDATOR对其进行了验证.我的问题是如何使用SPARQL在我的RDF文档上运行查询.在线资源http://demo.openlinksw.com/sparql不起作用,我不知道如何或如何找到有关此信息.

rdf sparql jena

20
推荐指数
1
解决办法
8886
查看次数

构造成命名图

我试图使用SPARQL Construct查询从现有的查询创建一个新的命名图.我查询的数据库包含http://graph.com/old现有的命名图.我使用Jena TDB作为数据库,通过Jena Fuseki端点访问.以下查询给出了一个错误:

CONSTRUCT
{
    GRAPH <http://graph.com/new> {
        ?s ?p ?o
    }
}

WHERE
{
    GRAPH <http://graph.com/old> {
        ?s ?p ?o
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我从CONSTRUCT块中删除图形语句,查询工作正常,但我想将三元组放入我指定的命名图形而不是默认图形.

据我所知,CONSTRUCT上的SPARQL 1.1部分没有说明构建命名图的任何内容.有没有办法做到这一点?

rdf sparql jena fuseki named-graphs

15
推荐指数
1
解决办法
5014
查看次数

如何编写SPARQL查询,有效地匹配字符串文字而忽略大小写

我正在使用Jena ARQ编写针对从Jena TDB读取的大型本体的SPARQL查询,以便找到与基于rdfs标签的概念相关联的类型:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> "aspirin" .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)

这很好用,实际上非常快(<1秒).不幸的是,对于某些术语,我需要以不区分大小写的方式执行此查询.例如,因为标签"Tylenol"位于本体中,而不是"tylenol",所以以下查询为空:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> "tylenol" .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)

我可以使用FILTER语法编写此查询的不区分大小写的版本,如下所示:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> ?term .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
 FILTER ( regex (str(?term), "tylenol", "i") )
}
Run Code Online (Sandbox Code Playgroud)

但现在查询需要一分钟才能完成!有没有办法以更有效的方式编写不区分大小写的查询?

rdf sparql jena arq tdb

14
推荐指数
2
解决办法
1万
查看次数

按SPARQL中的日期范围过滤

我正在使用Jena的SPARQL引擎并尝试编写一个查询来过滤日期范围,因为我需要在固定日期之后找到属性的值.

我的日期属性采用以下格式:

 Fri May 23 10:20:13 IST 2014 
Run Code Online (Sandbox Code Playgroud)

如何编写SPARQL查询以获取日期大于此值的其他属性?

datetime rdf sparql jena

11
推荐指数
1
解决办法
1万
查看次数

如何在Java中创建本体?

我有一些数据三元组,我想用某种基本的OWL本体编写.我有三胞胎喜欢:

Delhi is part of India 
Run Code Online (Sandbox Code Playgroud)

要么

India is an Asian country
Run Code Online (Sandbox Code Playgroud)

请注意,我的关系类似于"is-a","part-of"或"related-to".构建本体的最简单方法是什么?任何工作示例或对示例网站的引用都将是很有帮助的!

java ontology jena

10
推荐指数
2
解决办法
1万
查看次数

DBpedia SPARQL查询特定的rdfs:标签

基本上我有一个有效工作的查询(如下所示).但是,我希望我的搜索更准确,标签是实际字符串'yago',而不是包含字符串'yago'.如果可能的话,我想尝试不使用过滤器,因为我认为使用FILTER会使查询DBpedia需要更长的时间.

SELECT ?uri ?label 
WHERE {
?uri rdfs:label ?label.
?label bif:contains "'yago'" .
}
Run Code Online (Sandbox Code Playgroud)

sparql jena dbpedia arq

10
推荐指数
2
解决办法
7271
查看次数

Apache Jena vs Apache Marmotta

Apache Jena和Apache Marmotta有什么区别?

根据我的读数,两者都可用于语义Web目的.两者都支持RDF,Triple store等.两者都基于Java.我希望这个问题对于那些不熟悉语义网的人来说是有价值的.

  • 有哪些主要区别?
  • 如何选择使用哪一个?

请注意,我不是问哪一个更好,我问的是如何根据使用/要求/因素选择一个而不是另一个

rdf semantic-web jena linked-data apache-marmotta

10
推荐指数
1
解决办法
1538
查看次数