实际上我想创建一个基于概念列表(String)和概念之间关系(Map)的本体。我有两种类型的关系“种类”和“子主题”。所以我尝试通过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,如:
Map<String,String> inst;
inst("concept")="authentication";
inst("instance")="topNet";
我怎么能在OWL中创建它。概念是OWLClass或OWLNamedIndividual。如果他们是OWLNamedIndividual所以实例是什么。此外,如果概念是OWLClass如何声明它们之间的关系?
答案 0 :(得分:0)
从您的示例中,我得到的结论是Authentication
和Validation
不是类,而是个人,而您拥有的是断言,而不是域和范围声明。
但是,声明多个域相当于声明列出的所有类的交集并将其指定为域;同样的范围。特定范围没有首选域。
您可以做的是,例如,编写身份验证的C类子类和all kind_of Validation
的子类,对于任何实例,它将断言kind_of
答案 1 :(得分:0)
class = concept, individual = instance(一个类,你实例化一个类来获取个人)
我将继续假设您考虑这些类/概念。
如果您只想说加密是一种加密技术,那么您只需要声明Ecryption subClassOf Cryptography。根本不需要对象属性。
如果您想要使用其他类型的关系,请说“hasRelationYTo”,您将编写公理,例如
像Ignazio说的那样,加密和hasRelationYTo some / only Cryptography(曼彻斯特语法)
域类表达式与之间没有特定的关系 范围类表达式,在OWL中
属性的范围和域(= relation = function)是通用的,用于防止错误。这意味着您无法指定
Domain1 - propA - Range1(但不是,说Domain2 - propA - Range1)
Domain2-propA -Range2
对象属性声明允许您仅声明,如{Domain1 U Domain2} - propA - {Range1 U Range2}。如果你真的需要做上面这样的事情,你将不得不使用2个不同的对象属性propA和propB。通常情况并非如此,将多个域和范围放在一起就足够了。
这是建模
的OWL文件“AUTHENTIFICATION”是一种“验证”
“ENCRYPTION”是一种“加密”
另外,你可能想看一下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#" >
] GT;
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// 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"/>