In simple words, do we need: inf.getResource(URI of FACup) ?
I did not use it so far. On Thu, Jan 12, 2017 at 5:57 PM, neha gupta <[email protected]> wrote: > I want to ask Lorenz, about the Then part of the rule: > > THEN -> team FavoriteLeague is FACup > > FACup is the resource in my owl (just followed Create Instance tab in > Protege and Protege has give it the default URI like other resources in the > file). > > Before we execute the rule, is it must that we should declare it in Java > code like we do in Jena class before using it in Rules like > OntClass team = model.getOntClass(ns + "Team") > > Because I am sure the problem lies in the resource FACup (or its URI). > > Regards > > On Thu, Jan 12, 2017 at 5:43 PM, Lorenz B. <[email protected] > leipzig.de> wrote: > >> 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/soc >> cer#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. < >> > [email protected]> 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/soc >> cer#FavioriteLeague >> >>> http://www.semanticweb.org/soccer#FACup )] >> >>> >> >>> >> >>> On Thu, Jan 12, 2017 at 1:03 AM, Lorenz Buehmann < >> >>> [email protected]> 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 < >> >>>>> [email protected]> 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 < >> >>>>>> [email protected]> >> >>>>>>> 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 >> >> >
