On 22/03/17 20:07, Dimov, Stefan wrote:
There's a second question here. Apparently, I'm not there yet, but let me put
here the contents of inference_rules.rules. I'm trying to define a simple
transitive rule - if (A is a B) and (B is a C), then A is a C:
@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
@prefix ex: http://example.com/
@prefix xs: http://www.w3.org/2001/XMLSchema#
@prefix ao: http://ao.com/
[isA:
(?a ao:isA ?b)
(?b ao:isA ?c)
->
(?a ao:isA ?c)
]
Did I define it correctly?
The rule looks correct for making ao:isA a transitive property.
[Aside: Be careful when using predicates called "isA". In the early days
of semantic networks people used an informal notion of "is a" before
they realized it conflates different concepts e.g. generalization
(rdfs:subClsssOf) v.s. instantiation (rdf:type).]
Dave