最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

owl - Disjoint properties for different domains - Stack Overflow

programmeradmin2浏览0评论

I want to develop an ontology with Protégé. My class tree is as follows:

├── Binary
├── Function
├── Plugin

My property tree is:

├── available_function
├── needs_binary
├── restricted_function

In this ontology, I want to model that a Plugin needs a certain binary and for the implementation of the binary I can use the function linked to it. However, I also want to model, that certain functions are forbidden from being used in the plugin. I now want to make sure, that an available function is not a restricted function. I was thinking about using the disjoint with construct for properties, however, I did not find anything regarding more complex structures (using the property expression editor) for it.

Also, I also realize, that in this example, the ontology is not properly structured. However, this is just a subset of the bigger ontology in which I want to achieve the discussed constraint.

How can I achieve this?

I want to develop an ontology with Protégé. My class tree is as follows:

├── Binary
├── Function
├── Plugin

My property tree is:

├── available_function
├── needs_binary
├── restricted_function

In this ontology, I want to model that a Plugin needs a certain binary and for the implementation of the binary I can use the function linked to it. However, I also want to model, that certain functions are forbidden from being used in the plugin. I now want to make sure, that an available function is not a restricted function. I was thinking about using the disjoint with construct for properties, however, I did not find anything regarding more complex structures (using the property expression editor) for it.

Also, I also realize, that in this example, the ontology is not properly structured. However, this is just a subset of the bigger ontology in which I want to achieve the discussed constraint.

How can I achieve this?

Share Improve this question edited yesterday Mark Rotteveel 109k226 gold badges155 silver badges219 bronze badges asked yesterday macmanmacman 1231 gold badge1 silver badge8 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

You can achieve this by introducing classes AvailableFunction and Restricted Function that are disjoint and subclasses of Function. Then the range of available_function is set to AvailableFunction and that of restricted_function as RestrictedFunction.

To model that a Plugin needs some function we introduce a needs object property with range Binary. To state that Plugin needs a Binary and its implementation is an available function we state the following axioms:

Class: Plugin 
   SubClassOf: 
     hasAvailableFunction some AvailableFunction,
     needs some Binary 

Here is the complete ontology:

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: so: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl>
Prefix: xml: <http://www.w3.org/XML/1998/namespace>
Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>
Prefix: : <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl>



Ontology: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl>
<https://henrietteharmse.com/79424806/v0.0.1/disjoint-properties-for-different-domains>

ObjectProperty: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasAvailableFunction>

    SubPropertyOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasFunction>
    
    Range: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#AvailableFunction>
    
    
ObjectProperty: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasFunction>

    
ObjectProperty: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasRestrictedFunction>

    SubPropertyOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasFunction>
    
    Range: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#RestrictedFunction>
    
    
ObjectProperty: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#needs>

    Range: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Binary>
    
    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#AvailableFunction>

    SubClassOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Function>
    
    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Binary>

    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Function>

    DisjointUnionOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#AvailableFunction>, <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#RestrictedFunction>
    
    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Implementation>

    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Plugin>

    SubClassOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#hasAvailableFunction> some <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#AvailableFunction>,
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#needs> some <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Binary>
    
    
Class: <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#RestrictedFunction>

    SubClassOf: 
        <https://henrietteharmse.com/SO/79424806/disjoint-properties-for-different-domains.owl#Function>
    
    
发布评论

评论列表(0)

  1. 暂无评论