This is an archive of an inactive wiki and cannot be modified.

This is one of the possible Use Cases.

1. Abstract

2. Status

3. Links to Related Use Cases

4. Relationship to OWL/RDF Compatibility

A rich knowledge representation language is needed to capture the subtleties in inter-concept/rule/rule-set relationships, so that meaningful reuse of existing rules/concepts on the semantic web can be enabled. OWL/RDF will need to support richer representation requirements.

5. Examples of Rule Platforms Supporting this Use Case

6. Benefits of Interchange

7. Requirements on the RIF

8. Breakdown

8.1. Actors and their Goals

8.2. Main Sequence

  1. SME searches existing ontologies and/or rule bases for similar concept(s) to the one he/she is about to add.
  2. All formal definitions for similar concepts are pulled up
  3. The similarities and differences across the concepts are expressed through RIF rules

8.3. Alternative Sequence

To be elaborated later.

8.3.1. Factoring out commonalities across rules

A knowledge engineer is trying to factor out common portions from similar rules in order to simplify their maintenance

8.3.2. Searching for interoperable concepts across knowledge bases

Joe is looking for common concepts across two different ontologies/rulebases so as to interoperate across them

9. Narratives

An SME, Joe, is trying to add an OWL rule for airplane equipment types to his knowledge base. He issues a query for searching for rules on equipment types. He gets back OWL rules on MaritimeEquipmentType, ElectronicEquipmentType and MiscellaneousEquipmentType in the following form:

(owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MaritimeEquipmentType
  (rdfs:subClassOf
    (owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#AbstractEquipmentType))
  (rdfs:subClassOf
    (owl:Class
      (owl:intersectionOf rdf:parseType = Collection
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MaritimeEquipmentTypeCategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:minCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MaritimeEquipmentTypeSubcategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))))))


(owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#ElectronicEquipmentType
  (rdfs:subClassOf
    (owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#AbstractEquipmentType))
  (rdfs:subClassOf
    (owl:Class
      (owl:intersectionOf rdf:parseType = Collection
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#ElectronicEquipmentTypeCategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:minCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#ElectronicEquipmentTypeSubcategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))))))


(owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MiscellaneousEquipmentType
  (rdfs:subClassOf
    (owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#AbstractEquipmentType))
  (rdfs:subClassOf
    (owl:Class
      (owl:intersectionOf rdf:parseType = Collection
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MiscellaneousEquipmentTypeCategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:minCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:allValuesFrom rdf:resource = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#MiscellaneousEquipmentTypeSubcategoryCode))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))))))

Joe notices that all the rules have very similar declarations. They are all subclasses of AbstractEquipmentType. They all share the same property and cardinality restrictions on category and subcategory code. Using RIF he constructs a rule that encapsulates the similarity and differences across the various rules along the following lines:

(owl:Class rdf:about = <slot 1> 
  (rdfs:subClassOf
    (owl:Class rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#AbstractEquipmentType))
  (rdfs:subClassOf
    (owl:Class
      (owl:intersectionOf rdf:parseType = Collection
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:allValuesFrom rdf:resource = <slot 2>))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:minCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#CategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:allValuesFrom rdf:resource = <slot 3>))
        (owl:Restriction
          (owl:onProperty
            (owl:DatatypeProperty rdf:about = http://www.pragati-inc.com/dummy-namespace/jc3iedm-3.0-oo-entities.owl#SubcategoryCode))
          (owl:maxCardinality rdf:datatype = http://www.w3.org/2001/XMLSchema#nonNegativeInteger
            (1)))))))

10. Commentary

RIF needs to incorporate a way to express differences across rules as open slots, and the similarity across rules as a template shown above.