Search Mailing List Archives
[protege-discussion] SWRL Disjonction
narjess touzani
narjess_tz at yahoo.fr
Sat Apr 4 01:20:19 PDT 2009
Hi,
Thank you for the response.
I'm modelling pedagogical knowledge for the design of a pedagogical scenarios, and among identified concepts : learning activities, support activity (because I'm working in the distance learning context),......
Each learning activity has a type (production, execution,...). I elaborated also a classification of the activities within each activity type.
So, among the classes of my ontology I have the following classes:
Learning_ activity (class), with instances : case_study, analysis, brainstorming,....
activity_type (class), with instances : production, execution....
Furthermore, the I would like to provide assistance in designing pedagogical scenarios. That is why I thought to write SWRL rules in order to infer them and provide assistances. So, among elaborated rules, I have :
activity_type(Production) --> Activity(case_Study) OR Activity(analysis)
Futhermore, in my rules, I need to to be able to express disjonctions. This is not possible with SWRL (as shown in the given example) !
Any help is welcome :)
--- En date de : Sam 4.4.09, Biswanath Dutta <dutta2005 at gmail.com> a écrit :
De: Biswanath Dutta <dutta2005 at gmail.com>
Objet: Re: [protege-discussion] SWRL Disjonction
À: "User support for Core Protege and the Protege-Frames editor" <protege-discussion at lists.stanford.edu>
Date: Samedi 4 Avril 2009, 0h35
Hi,
When your model is defined explicitly and your requirements can be meet by just running the queries on the Asserted knowledge (as exactly, Protege SPARQL tab does), then yes, you no need to write any rules (e.g., SWRL, N3) on top of your ontology. But when you need to infer some new knowledge from the existing knowledge, then, if you have to have the rules on top of your ontology. For example,
hasMother(?x, ?y) ^ hasBrother(?y, ?z) → hasUncle(?x, ?z)
Regarding your second question, yes, sometime it's become difficult to decide whether something to be considered as a Class or an Instance. But again it's not that difficult to decide. Decision comes from your requirement or purpose in desigining the model. What kind of knowledge you are going to infer from your knowledge-base. After few exercises in modelling, it becomes easy to judge that.
Hope this will help you.
With regards,
Biswanath Dutta (bisu)
On Thu, Apr 2, 2009 at 10:59 PM, narjess touzani <narjess_tz at yahoo.fr> wrote:
I use SWRL rules in oder to infer knwoledge. I have to model pedagogical knowledge, then infer them to provide assistance.
So, if i had understand right, there is no need to write SWRL rules? and only from resonnig ontology i can extract whatever information I want?
Anotehr question, I want to know when must I use class or instance? how can I decide to use the one or the other? Because in my example, I used "case_study" and "analysis" as instances of the class "Activity" , and "Production" instance of the class "activity_type". In your mail you propose me a different hierarchy:
Activity
Production
case_study
analysis
where all of them are classes. What is the difference?
I thought that in an ontology, i must specify class instances. furthermore, by specifying instances I will be able to write SWRL rules, that is?
Best regards
--- En date de : Jeu 2.4.09, Thomas Russ <tar at ISI.EDU> a écrit :
De: Thomas Russ <tar at ISI.EDU>
Objet: Re: [protege-discussion] SWRL Disjonction
À: "User support for Core Protege and the Protege-Frames editor" <protege-discussion at lists.stanford.edu>
Date: Jeudi 2 Avril 2009, 18h21
On Apr 2, 2009, at 1:46 AM, narjess touzani wrote:
> Dear Mr.Thomas,
> Thank you for your response.
> I am modelling pedagogical knowledge. And I want to express and
> infer rules on these knowledge. So I want to express rules like :
> if activity_type is "production" then activity can be a "case study"
> one OR an "Analysis" one. If we write this rule in SWRL:
> activity_type(Production) --> Activity(case_Study) OR
> Activity(analysis)
> So, in this case I need the disjonction operator.
OK. So how does it help you in further reasoning?
There isn't anything you can conclude based on the results of this
rule. So what do you want this to be able to tell you? If you asked
if the activity is a "case study", any logical reasoner would have to
return unknown (or even worse false if you used a closed world
reasoning system).
Now, if what you are trying to do is narrow things down a bit, then
you either need to make assertions about the activity being in the
complement of those types which it is now known NOT to be.
Alternately, you would need to introduce another class which is the
union of the case_study and analysis classes, and write your rule to
assert membership in that class:
Analytical_Activity <=> unionOf case_study analysis
By introducing this disjunctive parent of case_study and analysis, you
can introduce a controlled measure of disjunction, but in a positive
way that allows you to use the information in further reasoning.
It also seems a bit odd to be using a relation for noting type
information. In Frames or OWL, it would be more natural to model
types as classes and have the built-in class and type reasoning
mechanisms available to you. In fact, from your example rule, I'm
wondering why you don't just build a class hierarchy like:
Activity
Production
case_study
analysis
and not even bother with SWRL rules at all.
_______________________________________________
protege-discussion mailing list
protege-discussion at lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/protege-discussion
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
_______________________________________________
protege-discussion mailing list
protege-discussion at lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/protege-discussion
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
-----La pièce jointe associée suit-----
_______________________________________________
protege-discussion mailing list
protege-discussion at lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/protege-discussion
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20090404/3220054e/attachment.html>
More information about the protege-discussion
mailing list