0

事实上,我想创建一个基于概念列表(字符串)和概念之间的关系(映射)的本体。我有两种类型的关系“种类”和“子主题”。所以我尝试通过 owl api 创建这个本体。为了在两个 OWL 类之间创建关系,我使用了 OWLObjectPreportyDomain 和 OWLObjectProprertyRange 并通过 OWLObjectProperty 指定了一个关系。我的问题是当我创建一个具有许多域和许多范围的关系时,我没有找到一种将每个域分配给每个范围的方法。我想为此找到解决方案。有人能给我一个想法吗?

例如,我有这个 Map :Map<String, String> relation = new HashMap<String, String>;它包含两个概念和彼此之间的关系。 LinkedList<Map<String, String>> listRelation = new LikedList<Map<String,String>>; 此列表包含概念之间的关系列表。 relation("concept1")="AUTHETICATION"; realtion("relation")="kind of"; relation("concept2")="VALIDATION"; listRelation.add(relation); relation = new HashMap<String, String>; relation("concept1")="ENCRYPTION"; realtion("relation")="kind of"; relation("concept2")="CRYPTHOGRAPHY"; listRelation.add(relation); 我创建了另一个地图,其中包含概念和他的实例,例如: Map<String,String> inst; inst("concept")="authentication"; inst("instance")="topNet"; 我怎么能在 OWL 中创建它。概念是 OWLClass 或 OWLNamedIndividual。如果它们是 OWLNamedIndividual 那么实例就是什么。此外,如果概念是 OWLClass 如何声明它们之间的关系?

4

2 回答 2

0

从您的示例中,我得到的印象不是类而是个人,Authentication并且Validation您拥有的是断言而不是域和范围声明。

但是,声明多个域相当于声明所有列出的类的交集并将其分配为域;范围相同。特定范围没有首选域。

您可以做的是,例如,编写 Authentication 的 C 类子类和 的子类all kind_of Validation,对于任何实例,它将断言域和范围等效于kind_of

于 2014-04-08T06:30:00.190 回答
0

类=概念,个体=实例(一个类,你实例化一个类来得到一个个体)

我将继续假设您考虑这些类/概念。

如果只想说 Encryption 是 Cryptography 的一种,那么只需要声明 Ecryption subClassOf Cryptography 即可。根本不需要对象属性。

如果您想使用其他类型的关系,请说“hasRelationYTo”,您将编写公理,例如

加密和 hasRelationYTo 某些/仅加密(曼彻斯特语法)

正如伊格纳齐奥所说,

在 OWL 中,域类表达式和范围类表达式之间没有特定的关系

属性的范围和域 (=relation=function) 是通用的,旨在防止错误。这意味着您不能指定

Domain1 - propA - Range1(但不是,比如 Domain2 - propA - Range1)

Domain2-propA-Range2

对象属性声明允许您使用{Domain1 U Domain2} - propA - {Range1 U Range2} 之类的声明。如果您真的需要执行上述操作,则必须使用 2 个不同的对象属性 propA 和 propB。通常情况并非如此,将多个域和范围放在一起就足够了。

这是建模的 OWL 文件

“AUTHENTIFICATION”是一种“VALIDATION”

“加密”是一种“加密”

此外,您可能想看看 protege Pizza 教程,以更好地了解 OWL 。如果我没记错的话,它只需要大约20分钟。

<?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#" >

]>

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




<!-- http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#is_a_kind_of -->

<owl:ObjectProperty rdf:about="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#is_a_kind_of"/>



<!-- 
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
 -->




<!-- http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#AUTHENTIFICATION -->

<owl:Class rdf:about="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#AUTHENTIFICATION">
    <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#is_a_kind_of"/>
            <owl:someValuesFrom rdf:resource="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Validation"/>
        </owl:Restriction>
    </rdfs:subClassOf>
</owl:Class>



<!-- http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Cryptography -->

<owl:Class rdf:about="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Cryptography">
    <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#is_a_kind_of"/>
            <owl:someValuesFrom rdf:resource="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Encryption"/>
        </owl:Restriction>
    </rdfs:subClassOf>
</owl:Class>



<!-- http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Encryption -->

<owl:Class rdf:about="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Encryption"/>



<!-- http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Validation -->

<owl:Class rdf:about="http://www.semanticweb.org/tudose/ontologies/2014/3/untitled-ontology-59#Validation"/>

于 2014-04-09T11:05:52.230 回答