有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java OWL API:如何将域分配给OWLObjectProperty上的范围

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

例如,我有一个映射: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"; 我如何在猫头鹰中创建这个。概念是OWLClass或OWLNamedIndividual。如果它们是OWLNamedIndividual,那么实例是什么。此外,如果概念是OWLClass,如何声明它们之间的关系


共 (2) 个答案

  1. # 1 楼答案

    从您的示例中,我得到的印象是AuthenticationValidation不是类而是个体,您拥有的是断言,而不是域和范围声明

    然而,声明多个域相当于声明列出的所有类的交集并将其指定为域;范围也一样。没有特定范围的首选域

    您可以做的是,例如,编写一个C类的身份验证子类和all kind_of Validation的子类,在任何情况下,它将断言kind_of的域和范围等价

  2. # 2 楼答案

    类=概念, 个体=实例(对于一个类,您实例化一个类以获得个体)

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

    如果你只是想说加密是一种密码学,那么你只需要声明Ecryption子类密码学。完全不需要对象属性

    如果你想使用其他类型的关系,可以说“HasRelationTo”,然后写下公理,比如

    Encryption and hasRelationYTo some/only Cryptography (Manchester syntax)

    正如伊格纳齐奥所说

    There is no particular relation between a domain class expression and a range class expression, in OWL

    属性(=关系=函数)的范围和域是通用的,用于防止错误。这意味着您不能指定

    Domain1-propA-Range1(但不是说Domain2-propA-Range1)

    域2-propA-Range2

    对象属性声明只允许像{Domain1 U Domain2}-propA-{Range1 U Range2}这样的声明。如果你真的需要像上面那样做,你必须使用两种不同的对象属性propA和propB。通常情况并非如此,将多个域和范围放在一起就足够了

    下面是建模的OWL文件

    “认证”是一种“验证”

    “加密”是一种“加密”

    此外,你可能想看看protege pizza教程,更好地了解猫头鹰。如果我记得清楚的话,只需要大约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"/>