Let me explain a bit.
String rule = "[rule1:(?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.semanticweb.org#Employee) "
+ "( ?x http://www.semanticweb.org#Salary ?salary )"
+ "greaterThan(?salary, 10,00) "
+ " -> (?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.semanticweb.org#QualifiedEmployee. )]"
Classes in my ontology are
Employee (Super class of all employees)
* ContractEmployee* (Subclass of Employee)
FinanceManager
ITManager (Subclasses of ContractEmployee)
* PermanantEmployee *(Subclass of Employee)
Analyst
Programmer
In this case, will I use ?x rdf:type Employee or ?x rdf:type
ContractEmployee
All the instances are either from subclasses * FinanceManager , ITManager
or Analyst, Programmer*
*Is it must that if I use ?x rdf:type Employee, then FinanceManager &
ITManager should also be sub classes of general super class "Employee" ?*
On Tue, Nov 22, 2016 at 5:30 PM, Dave Reynolds <[email protected]>
wrote:
> On 22/11/16 10:12, tina sani wrote:
>
>> Inline image 1
>>
>
> The mail list doesn't support attachments so the image didn't come through.
>
> However, I'm guessing it included a class Employee with sub-classes
> ContractEmployee and PermanantEmployee.
>
> I have this ontology: Now if I want to use some rules like
>>
>> if x rdf:type Employee and ?x salary>Euro10,000. then ?x
>> QualifiedEmployee.
>>
>> My question here is should I use ?x rdf:type Employee or ?x rdf:type
>> ContractEmployee or PermanantEmployee
>>
>
> Depends on your set up.
>
> You could have an inference model with the appropriate configuration to
> deduce membership of employee and then query that with SPARQL or with a
> second inference model with your own rules in.
>
> If you want just one layer of rules and want to combine OWL/RDFS with your
> custom rules then that's possible (so long as you set all the appropriate
> flags, see documentation) but make sure that your own rules are backward
> not forward rules. [The default Jena rule sets for RDFS and OWL are hybrid
> rules so some of the inferences are only available to backward rules in the
> same rule set.]
>
> Or if you don't want the cost of full inference then you can indeed
> rewrite the "natural" query to explicitly check for the base memberships.
>
> Dave
>