I don't understand your problem now, sorry. It's too confusing. You said that you changed the whole ontology: upload it somewhere such that we can see it
Show the final rule that doesn't work, not in pseudo-syntax but how you use it in Jena. Upload the code somewhere > I am sorry for any inconvenience I have created. I really dont know how to > create minimal code snippet or uses Github. > > Coming to the problem, what I noticed is the problem is in the object i-e > FACup here. > team1 FavoriteLeague FACup > > Because I made changes and coming to the down, used different properties > (in place of FavoriteLeague), and made the rule simple to: > If x is a Team, then x FavoriteLeague is FACup , > If x is a Team, then x Wins is FACup etc just for simplicity. > > In a nutshell, changed everything except object of rule FACup and it > appears in Annotation area so the problem for sure is in the URI of FACup. > > Now about resources FACup, PremierLeague, ChampionsLeague, these are not > associated with anything in the ontology (neither Types of anything, nor > data/object assertions), rather I just created it in Protege with URI like > other resources. > URI of Team Class: http://www.semanticweb.org/soccer#Team > URI of FavoriteCategory : http://www.semanticweb.org/soccer#FavoriteCategory > and URI of FACup: http://www.semanticweb.org/soccer#FACup > > So I dont know if it is mandatory to get the value of resource > http://www.semanticweb.org/soccer#FACup first before the rules executes > because simple putting it in the rules not working for me. > > Sorry once again. > > > On Thu, Jan 12, 2017 at 12:12 PM, Lorenz B. < > buehm...@informatik.uni-leipzig.de> wrote: > >> in your last answer you wrote >> >> *String ns="http://www.semanticweb.org/soccer >> <http://www.semanticweb.org/soccer#FACupGoals>#";* >> >> if you provide us no information and the information that you provide is >> of such poor quality, then it's not possible to help you. >> >> Last time that I'll write this here: >> >> 1. provide the WHOLE ontology (there are many services only where you >> can put your file online for free) >> 2. show the minimal code snippet that makes it possible to see that it >> doesn't work >> >> Or put everything into a Github project >> >> >>> Hi Lorenz, the ns is wrong, how? >>> >>> String ns="http://www.semanticweb.org/soccer# >>> >>> Rule: >>> >>> (?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type http:// >>> www.semanticweb.org/soccer#Team) " >>> >>> + "( ?x http://www.semanticweb.org/soccer#FACupGoals ?goals )" + >>> >>> "greaterThan(?goals,30) >>> + " -> (?x http://www.semanticweb.org/soccer#FavioriteLeague >>> http://www.semanticweb.org/soccer#FACup )] >>> >>> >>> On Thu, Jan 12, 2017 at 1:03 AM, Lorenz Buehmann < >>> buehm...@informatik.uni-leipzig.de> wrote: >>> >>>> On 11.01.2017 22:10, neha gupta wrote: >>>>> Hello Lorenz, I am sure I have used the FavoriteLeague as Data Property >>>> in >>>>> Protege and it has the same URI as other data properties and other >>>>> resources in the ontology ie http://www.semanticweb.org/soccer# >>>>> <http://www.semanticweb.org/soccer#FACupGoals>FavoriteLeague. >>>>> >>>>> I have changed the spelling of FavoriteLeague. to FavoLeague, >> favLeague, >>>>> but every time the same disappointing result. >>>>> My namespace is also same in whole program: >>>>> >>>>> *String ns="http://www.semanticweb.org/soccer >>>>> <http://www.semanticweb.org/soccer#FACupGoals>#";* >>>> Ehm that's a totally wrong namespace declaration. To be honest, I don't >>>> understand why you don't see this...and the namespace in the rule is >>>> obviously NOT the same then >>>>> favleague is declared as: >>>>> >>>>> *OntProperty favleague=model.getOntProperty(ns+ "FavoriteLeague");* >>>> Please tell me, what do you think is the concatenation of the String in >>>> the variable ns and the String "FavoriteLeague" ? >>>> >>>> >>>>> //All my data properties are declared like this and it works. For ex: >>>> Goal >>>>> property >>>>> OntProperty goals=model.getOntProperty(ns+ "Goals"); >>>>> >>>>> >>>>> On Wed, Jan 11, 2017 at 9:41 PM, Lorenz Buehmann < >>>>> buehm...@informatik.uni-leipzig.de> wrote: >>>>> >>>>>> Chris is right. It's beginning to become annoying if youalways ignore >>>>>> our advices to show data + the code - all the code. Even now you >> omitted >>>>>> information like >>>>>> >>>>>> * the declaration of the variable ns >>>>>> >>>>>> * the declaration of the variable favcat >>>>>> >>>>>> >>>>>> And indeed the data. IF you have anywhere in the code and/or data a >>>>>> typo, the rule not "fire", thus no data will be inferred. In your >> case, >>>>>> I'm pretty sure that data is inferred (you said that Protege shows it >> as >>>>>> annotation) - but the inferred property is nowhere declared as >>>>>> owl:DatatypeProperty in the ontology. This is mandotory for OWL/OWL >>>>>> API/Protege >>>>>> >>>>>> >>>>>> On 11.01.2017 16:48, neha gupta wrote: >>>>>>> I used like this >>>>>>> >>>>>>> *OntProperty favleague=model.getOntProperty(ns+ >> "FavioriteLeague");* >>>>>>> Then I wrote this rule: >>>>>>> >>>>>>> (?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type >>>>>>> http://www.semanticweb.org/soccer#Team) " >>>>>>> >>>>>>> + "( ?x http://www.semanticweb.org/soccer#FACupGoals ?goals )" + >>>>>>> >>>>>>> "greaterThan(?goals,30) >>>>>>> + " -> (?x http://www.semanticweb.org/ >>>> soccer#FavioriteLeague >>>>>>> http://www.semanticweb.org/soccer#FACup )]"; >>>>>>> //FACupe is resource in the ontology: >>>>>>> >>>>>>> Then >>>>>>> *inf.listStatements(null,favcat,(RDFNode)null);* >>>>>>> >>>>>>> >>>>>>> I think the problem is not in typo because I run similar rule for >>>> another >>>>>>> data property FavioriteStadium and it also saves in Annotation area. >>>>>>> >>>>>>> On Wed, Jan 11, 2017 at 6:31 PM, Chris Dollin < >>>>>> chris.dol...@epimorphics.com> >>>>>>> wrote: >>>>>>> >>>>>>>> On 11/01/17 15:15, neha gupta wrote: >>>>>>>> >>>>>>>>> Even this not works >>>>>>>>> >>>>>>>>> inf.listStatements(null,favleague,(RDFNode)null); >>>>>>>>> >>>>>>>>> Gives the result but in Annotation area of Protege >>>>>>>>> >>>>>>>> COMPLETE MINIMAL EXAMPLE, please. You have so many >>>>>>>> errors & omissions in the code you show us we can't >>>>>>>> tell which one is the one you're asking about. >>>>>>>> >>>>>>>> If Protege is putting things in the annotation area >>>>>>>> I'd guess that means the thing isn't declared as either >>>>>>>> a DataProperty or an ObjectProperty. Given your erratic >>>>>>>> spelling that's quite likely. >>>>>>>> >>>>>>>> >>>>>>>> Chris >>>>>>>> >>>>>>>> -- >>>>>>>> "He could not weigh up which was worse and so tried not to think >> about >>>>>>>> either." >>>>>>>> /The Spellgrinder's >>>>>>>> Apprentice/ >>>>>>>> >>>>>>>> Epimorphics Ltd, http://www.epimorphics.com >>>>>>>> Registered address: Court Lodge, 105 High Street, Portishead, >> Bristol >>>>>> BS20 >>>>>>>> 6PT >>>>>>>> Epimorphics Ltd. is a limited company registered in England (number >>>>>>>> 7016688) >>>>>>>> >> -- >> Lorenz Bühmann >> AKSW group, University of Leipzig >> Group: http://aksw.org - semantic web research center >> >> -- Lorenz Bühmann AKSW group, University of Leipzig Group: http://aksw.org - semantic web research center