标签: owl

我无法删除Jena中数据类型属性的值

我试图通过我在java中创建的接口删除实例的数据类型属性的值,但它不起作用.它给了我一个

Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException.
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.你能解释一下我有什么问题吗?

这是我删除按钮的代码:

//Button Remove
public class ActionRemove implements ActionListener
{

    public void actionPerformed(ActionEvent evt)
    {

        StmtIterator iter = onto.model.listStatements();

        while (iter.hasNext()) 
        {
            Statement stmt  = iter.nextStatement(); 

            Resource  subject = stmt.getSubject(); 
            Property  predicate = stmt.getPredicate();  
            RDFNode object  = stmt.getObject();  
            if(subject.toString().equals (onto.uriBase+"#"+tabTF[0].getText()))
            {

                onto.model.remove(stmt);

            }

    }
}
}
Run Code Online (Sandbox Code Playgroud)

我的完整代码:

import java.util.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.ontology.impl.*;
import com.hp.hpl.jena.util.*;
import java.io.*;
import java.awt.*;  
import java.awt.event.*; 
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.XSD;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;




public class FamilyModel extends Frame …
Run Code Online (Sandbox Code Playgroud)

java rdf owl awt jena

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

工作流程图如RDF?

我是RDF的新手,或许,我的问题太愚蠢了.

我有以下工作流程,我试图将其表示为RDF.我理解RDF背后的理论及其用途,但我仍然坚持如何开始为这个图创建一个RDF.我将不胜感激任何帮助.

提前致谢.

〜Codera

网络图

workflow rdf owl semantic-markup semantics

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

OWL:基于价值的财产限制:是否可能?

我寻找一个明确的OWL解决方案来定义一个属性,该属性是另一个属性的限制,类似于等价的类.限制基于域或范围的数据属性.受限制的财产绝对是一个子财产,必须推断.

"孩子","母亲","父亲"是人的父亲.gender ="男性"数据属性mother.gender ="女性"

(男性子类人员=等同类别"性别价值"男性")

父亲父母或儿童'对象关系母亲父母子女'对象关系

如何定义fatherOf属性,基于parentOf和父亲的性别?显然,它是parentOf的子属性.

但是,Protégé中的等效对象属性编辑器不允许设置属性查询,即使我不知道这是否可以通过属性链解决.

将fatherOf定义为subproperty并且(手动)设置fatherOf而不是parentOf不是一个选项,因为这个系列示例是更复杂场景的简化情况.

<Declaration>
    <Class IRI="#Person"/>
</Declaration>
<Declaration>
    <ObjectProperty IRI="#fatherOf"/>
</Declaration>
<Declaration>
    <ObjectProperty IRI="#parentOf"/>
</Declaration>
<Declaration>
    <DataProperty IRI="#gender"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#father"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#kid"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#mother"/>
</Declaration>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#father"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#kid"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#mother"/>
</ClassAssertion>
<ObjectPropertyAssertion>
    <ObjectProperty IRI="#parentOf"/>
    <NamedIndividual IRI="#father"/>
    <NamedIndividual IRI="#kid"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
    <ObjectProperty IRI="#parentOf"/>
    <NamedIndividual IRI="#mother"/>
    <NamedIndividual IRI="#kid"/>
</ObjectPropertyAssertion>
<DataPropertyAssertion>
    <DataProperty IRI="#gender"/>
    <NamedIndividual IRI="#father"/>
    <Literal datatypeIRI="&rdf;PlainLiteral">male</Literal>
</DataPropertyAssertion>
<DataPropertyAssertion> …
Run Code Online (Sandbox Code Playgroud)

semantic-web owl protege4

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

OWL限制中的枚举

我试图使用Protege3.x在本体中添加属性限制.

我在指定限制内​​的枚举时遇到问题.例如,尝试指定枚举以这种方式限制可能的数据元素:

在此输入图像描述

它将整个表达式视为单个字符串:

在此输入图像描述

在另一个例子中,我试图通过使用多个表达式和它们之间的"或"来解决问题,这似乎是合适的.但在前一个版本中,不允许使用"或".

在此输入图像描述

如何使用枚举来满足这种需求?谢谢!

owl ontology manchester-syntax protege

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

从dbpedia查询城市及其国家/地区

我正在尝试在国家和城市的OWL中构建一个本体(如果已经存在这样的实现,请指向我)

为了获取数据,我正在尝试使用带有以下代码的sparql:

SELECT ?c WHERE {
   ?c rdfs:label ?name .
   ?c dbpedia-owl:country <http://dbpedia.org/resource/Country> .
}
Run Code Online (Sandbox Code Playgroud)

我是sparql和dbpedia的新手.上面的代码并没有让我回到所有城市和他们所在的国家.我真的需要使用dbpedia来实现这一目标.

有什么建议吗?

rdf owl sparql dbpedia

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

推理中的推理

我有一个简单的本体如下

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY assignment "http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#" >
]>

<rdf:RDF xmlns="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#"
 xml:base="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:assignment="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment"/>

<!-- 
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
 -->

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#channel_of -->
<owl:ObjectProperty rdf:about="&assignment;channel_of">
    <rdfs:domain rdf:resource="&assignment;Channels"/>
    <rdfs:range rdf:resource="&assignment;Television"/>
    <owl:inverseOf rdf:resource="&assignment;has_channels"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_channels -->
<owl:ObjectProperty rdf:about="&assignment;has_channels">
    <rdfs:range rdf:resource="&assignment;Channels"/>
    <rdfs:domain rdf:resource="&assignment;Television"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_inet_connection -->
<owl:ObjectProperty rdf:about="&assignment;has_inet_connection">
    <rdfs:range rdf:resource="&assignment;InternetConnection"/>
    <rdfs:domain rdf:resource="&assignment;Person"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_television …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web owl protege

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

如何指定一系列关系意味着另一个关系

假设我正在为家庭关系定义一个OWL本体,我已经定义了"姐妹"和"父母"之间的关系.我现在想定义一个关系"阿姨",并指定这种关系是由另外两个链的隐含.换句话说:如果X"姐妹 - "Y,和Y"父母 - "Z,那么X"阿姨 - "Z.

有没有办法做到这一点?它类似owl:TransitiveProperty但显然不起作用.在定义属性之间的关系方面,它与"owl:inverseOf"具有相同的一般性.

编辑

我想我正在寻找的是一种指定一个属性(在本例中为"aunt-of")是其他属性的组合的方法,但我仍然无法在OWL中找到一种方法.

rdf semantic-web owl

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

从RDF节点拉出字符串

我在使用与Jena的SPARQL查询时尝试以更易读的格式获取数据,但是我不知道如何以正确的方式提取数据.至于现在,输出是:

" http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#SaucelitoCanyon "

相反,我想把"SaucelitoCanyon"作为输出.

public JenaQuery() {

    String wineRegion = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
            + "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"
            + "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n"
            + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
            + "PREFIX wine:<http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#>\n"
            + "SELECT  ?region ?winery \n"
            + "WHERE {?wine wine:locatedIn ?region . \n"
            + "?region wine:locatedIn wine:CaliforniaRegion  . \n"
            + "?wine wine:hasMaker  ?winery}";

    String inputFileName = "wine.rdf";
    // create an empty model

    Model model = ModelFactory.createDefaultModel();
    // use the FileManager to find the input file
    InputStream in;
    in = FileManager.get().open(inputFileName);
    if (in …
Run Code Online (Sandbox Code Playgroud)

java owl ontology sparql jena

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

Sparql查询没有显示结果

我有一个本体(dgo.owl)和一个简单的程序(SparqlQuery.java)来查询相同的本体.在运行查询时,我没有得到任何结果.经过长时间的调试后,我认为将它放入社区是件好事.

查询脚本如下:

OntModel ontmodque = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
        InputStream in=FileManager.get().open("ontologies/dgo.owl");
        if (ontmodque.isEmpty())
        {
        ontmodque.read(in,"RDF/XML");
        }
        String qr= "PREFIX ssn: <http://purl.oclc.org/NET/ssnx/ssn#>\n" +
                   "PREFIX dgo: <http://www.iiitd.edu.in/~haroonr/ontologies/DGO#>\n" +
                 "SELECT \n"+
                   "?property  \n"+ 
                    "WHERE\n"+
                    "{ \n"+
                    "dgo:DiningRoom ssn:hasProperty ?property .\n " +
                    "}";

        Query qy = QueryFactory.create(qr);
        QueryExecution qe = QueryExecutionFactory.create(qy,ontmodque);
        ResultSet rs= qe.execSelect();
        ResultSetFormatter.out(System.out, rs, qy) ;
        ontmodque.close();
        qe.close();
Run Code Online (Sandbox Code Playgroud)

获得的输出是:


在此输入图像描述

我知道hasProperty对象关系存在于所述本体中.此外,DiningRoom的可能属性应返回Illuminance,Temperature,Co2Content,AbsoluteHumidity.

rdf owl ontology sparql jena

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

保护的自反财产

是我用protege 5创建的本体论.

如果我做cl1cl2不相交,那么本体就是不一致的,但是如果我取消is_friend_of反复,那么本体就不再是不一致了.什么是我的本体错误?

我只希望cl1班上的人拥有is_friend_of财产.

semantic-web owl ontology protege

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