Tag: rdf

在TDB Triple Store中加载RDF三元组时出错

我有一个问题问你: 我在TDB Triple Store中加载了我的文件RDF: Dataset dataset = TDBFactory.createDataset(directory); Model model = dataset.getNamedModel(“http://nameFile”); TDBLoader.loadModel(model, file ); 现在,我想实现一个程序,检查图表是否在三重商店。 我写了这段代码: String queryStr = “select * {graph { ?s ?p ?o }}”; Dataset dataset = TDBFactory.createDataset(directory); Query query = QueryFactory.create(queryStr); QueryExecution qexec = QueryExecutionFactory.create(query, dataset); qexec.getContext().set(TDB.symUnionDefaultGraph, true); /*Execute the Query*/ ResultSet results = qexec.execSelect(); if (!results.hasNext()) { Model model […]

Sparql Select Query适用于Sesame-Workbench但不适用于Java

我正在尝试创建一个Sparql-Query来获取与讲座相关的所有消息。 我是整个“语义网”故事的新手,所以如果使用命名空间完全错误,请耐心等待。 我尝试执行的查询是: PREFIX siocNS: PREFIX rdfPred: PREFIX purlPred: PREFIX purlPredLecture: <http://purl.org//lecture/> select ?post ?title ?content ?time ?creator where { ?post rdfPred:type siocNS:Post. ?post purlPred:title ?title. ?post purlPred:content ?content. ?post purlPred:created ?time. ?post purlPred:creator ?creator. ?post purlPred:context purlPredLecture:1337-7331. } 其中1337-7331是一个ID。 在Sesame-Workbench上,查询似乎工作正常(因为我得到了我预期的2行)。 在Java上,使用Jena,似乎我的QueryExecuion不正确。 这是我的代码: String prefix = “PREFIX siocNS: \n” + “PREFIX rdfPred: \n” + “PREFIX […]

将年龄(整数文字)添加到Jena RDF三元组,并使用SPARQL查询它们

我正在尝试学习使用Jena和RDF Triples的基础知识。 还使用Oracle数据库,因此按照他们的指南我运行了一些示例程序,例如Example7-18 SPARQL OPTIONAL Query 。 该示例在写入时工作正常。 它允许匹配查询,如 where {?s ?o} where { } 我想做的是给John,Mary和Jill一个年龄,以便我可以查询和过滤年龄,如SPARQL中所述:例如:备忘单 ,第10页: A . B . FILTER ( …expr… ) where {?s ?o . ?o ?a . filter ( ?a < 20 ) } 使用三元组的当前代码,我只能添加字符串/ URI节点,虽然我可以创建一个三元组,例如 ,但我无法过滤并与之比较,例如,那个年龄的<操作员,所以它不是很有用。 我一直在寻找一段时间,我怀疑这样做非常简单,但很难找到代码示例。

Apache Jena框架的推理示例存在问题

我有一个严重的问题,让任何推理器运行起来。 此外,文档中的示例: https : //jena.apache.org/documentation/inference/在此处不起作用。 我将示例转移到unit testing中,以便可以更容易地再现问题。 推理仅限于某些环境,如空间JDK等,或者我遇到了什么问题? 谢谢 这里的示例代码(作为javaunit testing): import static org.junit.Assert.assertNotNull; import java.io.PrintWriter; import java.util.Iterator; import org.junit.Before; import org.junit.Test; import com.hp.hpl.jena.rdf.model.InfModel; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.reasoner.Derivation; import com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner; import com.hp.hpl.jena.reasoner.rulesys.Rule; import com.hp.hpl.jena.vocabulary.RDFS; public class ReasonerTest { String NS = “urn:x-hp-jena:eg/”; // Build a […]

从信号中提取三次

我有这种格式的解析文本,我通过使用Standford nlp得到它。 (ROOT (S (NP (DT A) (NN passenger) (NN plane)) (VP (VBZ has) (VP (VBD crashed) (ADVP (RB shortly)) (PP (IN after) (NP (NP (NN take-off)) (PP (IN from) (NP (NNP Kyrgyzstan) (“ `) (NNP scapital) (, ,) (NNP Bishkek))))) (, ,) (VP (VBG killing) (NP (NP (DT a) (JJ large) (NN number)) (PP […]

发送到virtuoso端点的CONSTRUCT查询与发送给Jena端点的查询之间是否存在差异?

我试图根据以下CONSTRUCT查询推断一些新的三元组: PREFIX rdf: PREFIX dc: PREFIX dcterms: PREFIX gpml: PREFIX wp: PREFIX xsd: CONSTRUCT { ?line rdf:type wp:DirectedInteraction . } WHERE { ?pathway dc:identifier ?wpIdentifier .{ SELECT DISTINCT * WHERE { ?datanode2 dc:identifier ?dn2Identifier . ?datanode2 rdf:type gpml:DataNode . ?datanode2 dcterms:isPartOf ?pathway . ?datanode2 gpml:graphid ?dn2GraphId . ?line gpml:graphref ?dn2GraphId . FILTER (?datanode2 != ?datanode1) […]

Java n-triple RDF解析

我想解析一个n-tripleforms的RDF文件。 我可以编写自己的解析器,但我宁愿使用一个库,Jena似乎为此目的而复杂化(或者至少我看不到他们的文档解释如何以合理的方式读取n-triples)。 你可以请我指出任何有用的图书馆,或者如果你了解芝麻或耶拿,你可能知道如何解决这个问题。

如何使用java从RDF文件中获取特定的标签相关信息

我使用Jena读取RDF文件,但我想获取信息只是特定的语句。 下面是我读取sample.rdf示例代码。 sample.rdf : 4 6588 network, specific mechanisms for implementing VoIP applications. Topics include imple-menting a [applications. Topics include imple- menting a ]VoIP[ network, specific mechanisms for implementing] Cisco IOS 2 Cisco IOS 将sample.rdf加载到Jena模型中的Java代码: public class FirstRDFReader extends Object { public static void main (String args[]) { String inputFile=”C://Sample.rdf”; Model model = ModelFactory.createDefaultModel(); try{ […]

SPARQL:返回由指定或等效类完成的所有交叉点

如果我将ABC和CDE类定义为A,B,C,D,E类的交叉点,如下所示: 如何查询SPARQL中给定输入类集满足其限制的所有交集类? 例如,如果我将A,B,C,D,E,F,G输入此查询,我希望能够回来 ABC A B C CDE C D E 另外两个皱纹:如果我查询A,Z,C,其中Z是B的等价类,那么这应该匹配并理想地返回 ABC A Z C 其次,结果应该只返回最大匹配; 因此,如果存在ABCD类并且我在A,B,C,D之间进行查询,则它将返回ABCD而不是ABC。 提前致谢! 更新: 为了澄清,除非所有组成类都在提供的输入列表中,否则我不希望与交集类匹配。 例如,如果我向查询提供A,B,我不想让ABC回来。 如果我提供A,B,C,D,我确实希望得到ABC。 我的用例是这样的:我有一组数据点,在每个数据点中我都识别出一些任意的基本概念A,B,C,D等等,每个都具有不同的可能性。 我想问一下本体“这个列表包含哪些更高级别的概念(即交叉点)?” 目前,我的查询看起来像这样(考虑到我在上面概述的本体中的限制和onProperty): SELECT DISTINCT ?intclass ?inputclasses WHERE { ?intclass owl:equivalentClass / owl:intersectionOf / rdf:rest*/rdf:first / owl:someValuesFrom ?inputclasses } ORDER BY ?intclass BINDINGS ?inputclasses { (:A) (:B) (:C) (:D) } 不幸的是,这回馈了我的本体中包含任何输入类的每个交集。 我认为这是因为rest […]

使用在SPARQL查询中使用查询字符串外部声明的变量 – 使用JSP和Java Servlet

我有2个jsp页面。 在索引页面中,我选择一个下拉值并将所选值作为url参数传递给SearchResults页面。 http://localhost:8080/SearchResults.jsp?jobCat=InformationTechnology 我正在使用下面的代码捕获传递的参数InformationTechnology 。 查询应显示表单中所选值的结果。 (我正在选择一个工作类别,结果应显示所选工作类别下的候选人) String jobCategory = request.getParameter(“jobCat”); 以下是我的查询 String queryString = “Select ?a ?b”+ ” Where { ….”+ ” Filter (?a = “+ jobCategory +”)”+// jobCategory is the String variable ” }”; 但我得到ParseException错误。 com.hp.hpl.jena.query.QueryParseException: Encountered ” “in” “In “” at line 1, column 559. Was expecting one of: … … … […]