在Protege中按照某些规则根据对象的属性对个人进行分类

问题描述

我在Protege 5.5中有一个示例本体(我在下面添加了它)。通过这种本体,我需要根据对象的属性对个体进行分类。我的规则就是这样;

如果单个A(subClassOf: A)具有精确的1对象属性hasRelation)与B(subClassOf: B)或单个B(subClassOf: B)具有精确的1对象属性hasRelation)和A(subClassOf: A),则它是subClassOf: OnetoOne

如果单个A(subClassOf: A)具有至少2个对象属性hasRelation)和B(subClassOf: B),则它是subClassOf: ManyToOne

如果单个B(subClassOf: B)具有至少2个对象属性hasRelation)和A(subClassOf: A),则它是subClassOf: OnetoMany

如果单个A(subClassOf: A)具有至少2个对象属性hasRelation),而A(subClassOf: A)和B(subClassOf: B)具有至少2个对象属性hasRelation)和A(subClassOf: A),则它是subClassOf: ManyToMany

我认为也许可以使用swrl完成此操作,但我无法使其正常工作。

任何想法表示赞赏。

Prefix: : <http://www.semanticweb.org/ontologies/example#>
Prefix: owl: <http://www.w3.org/2002/07/owl#>
Prefix: rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
Prefix: rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Prefix: xml: <http://www.w3.org/XML/1998/namespace>
Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>



Ontology: <http://www.semanticweb.org/ontologies/example>


ObjectProperty: hasRelation

    characteristics: 
        Symmetric
    
    
Class: A

    SubClassOf: 
        Data
    
    
Class: B

    SubClassOf: 
        Data
    
    
Class: Data

    
Class: ManyToMany

    SubClassOf: 
        RelationType
    
    
Class: ManyToOne

    SubClassOf: 
        RelationType
    
    
Class: OnetoMany

    SubClassOf: 
        RelationType
    
    
Class: OnetoOne

    SubClassOf: 
        RelationType
    
    
Class: RelationType

    
Individual: A1

    Facts:  
     hasRelation  B1
    
    
Individual: A2

    Facts:  
     hasRelation  B2
    
    
Individual: A3

    Facts:  
     hasRelation  B2
    
    
Individual: A4

    Facts:  
     hasRelation  B3,hasRelation  B4
    
    
Individual: B1

    
Individual: B2

    
Individual: B3

    
Individual: B4

    
disjointClasses: 
    ManyToMany,ManyToOne,OnetoMany,OnetoOne

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...