This is one of the possible Use Cases.
1. Abstract
- Currently, aligning, mapping and merging ontologies on the semantic web are complicated undertakings that require significant manual effort from their designers. Concept representations tend to often differ both at the syntactic and at the semantic level. The differences may be due to authoring bias, varied shades of meaning in the real-world concept upon which the KBSs formal representations are based, or different orientations of the defining systems. As the semantic web grows, it is important that we facilitate the maintenance, reuse and interoperability of rules and rule sets by allowing higher-level knowledge about them to be expressed via more expressive rules.
2. Status
Originally proposed by: MalaMehrotra
- Based on clustering of ontologies and rule-based systems we have discovered important inter-relationships that can be useful drivers for efficient knowledge entry, maintenance and interoperabilty
3. Links to Related Use Cases
Automatically generated Rules: This use case focuses on automatic extraction of semantic annotations in the form of relations, ontologies and rules from partially structured and unstructured data from web. In our use case we are extracting higher-level knowledge from existing ontologies and knowledge bases.
Filling the Holes of OWL: This use case focuses on extending the knowledge base through reasoners. In our use case we are using only static analysis.
Ontology Mapping with OWL and Rules: This use case focuses on OWL-DL knowledge bases and alignments in an automated fashion for query purposes. It seems to be strongly related to our use case. We are focussing on the knowledge representation requirements in more detail.
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
CycL macropredicates
6. Benefits of Interchange
- Compact representation of rule sets and their inter-relationships can lead to more efficient and effective reuse of existing rules/knowledge
- Smart query systems can take advantage of the rich information represented in RIF
- Proliferation of redundant concepts and axioms can be controlled
7. Requirements on the RIF
Requirement 1: Rich Knowledge Representation allowing invocation of classes as individuals
Requirement 2: RIF should incorporate the ability to describe differences across rules and rule-sets
Requirement 3: RIF should have a broader notion of matching, that is, it should have the ability to do richer types of matching than invocation of rules. It should be able to match on rule sets as well as on rules
Requirement 4: RIF should support a rich set of meta-operations upon rules and rule sets in order to capture the subtleties of inter-rule relationships
8. Breakdown
8.1. Actors and their Goals
- Subject Matter Expert (SME)is trying to extend his/her rule base with the help of existing rules on the web.
8.2. Main Sequence
- SME searches existing ontologies and/or rule bases for similar concept(s) to the one he/she is about to add.
- All formal definitions for similar concepts are pulled up
- 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)))))))
- He can invoke this RIF rule with new values for various other types of equipments he anticipates adding in the future.
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.