Description
Rya's backward-chaining inference engine 1) recognizes statements with certain OWL/RDFS terms as providing relevant schema information; 2) holds this schema information in memory; and 3) applies the associated reasoning semantics for those terms by rewriting individual queries as appropriate. Currently, only a subset of ontology terms are supported (rdfs:subClassOf, rdfs:subPropertyOf, owl:sameAs, owl:equivalentProperty, owl:propertyChainAxiom, owl:inverseOf, owl:SymmetricProperty, owl:TransitiveProperty). Many of the remaining RDFS/OWL terms could be implemented with the same strategy, thereby expanding Rya's reasoning capability while preserving the advantages of the current approach (scales with respect to instance data, performs reasoning only when needed, is robust to changes in instance data).
Each of these OWL terms refers to a specific class and/or predicate. At a minimum, the inference engine should detect query patterns that specifically reference such classes or predicates and apply the relevant rule, as it does for the currently supported terms. In particular, the current inference engine will expand a statement pattern of the form "?X rdf:type :C" if :C is known to have subclasses (resources belonging to any of the subclasses should be returned), but it should also check whether :C corresponds to a property restriction, intersection, domain/range of some predicate, etc., and rewrite appropriately.
Attachments
1.
|
Implement owl:hasValue inference | Resolved | Jesse Hatfield | |
2.
|
Implement owl:intersectionOf inference | Closed | Eric White | |
3.
|
Implement owl:unionOf inference | Resolved | Jesse Hatfield | |
4.
|
Implement owl:someValuesFrom inference | Resolved | Jesse Hatfield | |
5.
|
Implement owl:allValuesFrom inference | Closed | Jesse Hatfield | |
6.
|
Implement owl:hasSelf inference | Resolved | Andrew Smith | |
7.
|
Implement owl:equivalentClass inference | Resolved | Jesse Hatfield | |
8.
|
Implement rdfs:domain inference | Resolved | Jesse Hatfield | |
9.
|
Implement rdfs:range inference | Resolved | Jesse Hatfield | |
10.
|
Implement owl:oneOf inference | Resolved | Eric White | |
11.
|
Implement owl:ReflexiveProperty inference | Resolved | Jesse Hatfield |