> Hi Lorenz, I have provided the whole rule in earlier messages. That's not true, sorry. I cite you:
**** 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 )]"; ***** in that rule there was no String literal (modulo your formatting issues...) And even now you're not able to show the whole rule + the exception that you get. "Semicolon expected" can be some parse exception somewhere in your code, but according to your poor Java skills it can also be a Java compiler exception which means your code could never be compiled and therefore was never running - see http://bfy.tw/9TRa It's annoying that you continue ignoring my suggestion to upload the ontology, thus, I'm off - sorry but I'm not being paid for helping people here and there is still no end insight regarding this thread. Maybe somebody else can take over, Good luck > The error > comes when I use FACup as string. When I use it as resource, it gives the > result but in Annotation area. > > // when use as string > > -> (?x http://www.semanticweb.org/soccer#FavotiteLeague "FACup" ) //it > gives error ; expected TYPO TYPO TYPO in the URI of the property ... > > > //when use as resource > > -> (?x http://www.semanticweb.org/soccer#FavotiteLeague > http://www.semanticweb.org/soccer#FACup ) > > //Annotation problem here TYPO TYPO TYPO in the URI of the property ... > > > On Sat, Jan 14, 2017 at 2:13 PM, Lorenz B. < > buehm...@informatik.uni-leipzig.de> wrote: > >> I don't understand why you want to use Strings now. And what kind of >> error? An addition to the error stacktrace, we have to see the WHOLE >> rule. Is it so difficult to provide complete information? Can you >> imagine how difficult it is to help remotely if you omit all necessary >> things? >> >> And I still don't understand the problem before. Using resources should >> work, for all other people it's also working. >> >> >> It's the last time that I'll answer here if you continue ignoring my >> suggestions to >> >> 1. upload the current full ontology (the latest that leads to your problem) >> 2. show the COMPLETE rule that doesn't work as expected and produces >> annotations in Protege >> >>> Sorry I did mistake in previous email, I used string like this >>> >>> -> (?x http://www.semanticweb.org/soccer#FavioriteLeague >>> >>> "FACup" and it gives error. >>> >>> The string value in rule I found on web from link below: he used rules >> like >>> [rule: (?S rdf:type data:serveur), (?S data:identifiant-reseau >>> "POLO")-> (?S data:newproperty "TEST")] >>> >>> >>> http://stackoverflow.com/questions/24649785/jena-rules- >> test-a-literal-property-to-string >>> >>> >>> On Fri, Jan 13, 2017 at 6:09 PM, neha gupta <neha.bang...@gmail.com> >> wrote: >>>> Yes Andy, I tried this and it flushed an error message. Thats why I >> asked >>>> it if it is possible and if yes, in what way we can use the String in >> rule. >>>> + " -> (?x http://www.semanticweb.org/soccer#FavioriteLeague >>>> >>>> http://www.semanticweb.org/soccer# >>>> <http://www.semanticweb.org/soccer#FACup>"FACup" >>>> >>>> On Fri, Jan 13, 2017 at 5:25 PM, Andy Seaborne <a...@apache.org> wrote: >>>> >>>>> On 13/01/17 13:36, neha gupta wrote: >>>>> >>>>>> Hello Lorenz, I am sorry. >>>>>> >>>>>> Can we use FACup as string rather than a resource. >>>>>> >>>>> Have you tried this? >>>>> >>>>> You are asking something you can debug locally. >>>>> >>>>> I mean it is also >>>>>> possible, if allowed by rules, that we use something like this >>>>>> >>>>>> (?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# >>>>>> <http://www.semanticweb.org/soccer#FACup>"FACup" >>>>>> >>>>>> )]"; >>>>>> >>>>>> FACup, ChampLeague etc are just some plain strings. >>>>>> >>>>>> >>>>>> On Fri, Jan 13, 2017 at 12:26 AM, Lorenz Buehmann < >>>>>> buehm...@informatik.uni-leipzig.de> wrote: >>>>>> >>>>>> Again, you ignored my suggestion to UPLOAD THE WHOLE ONTOLOGY and SHOW >>>>>>> US THE WHOLE RULE that does not work. >>>>>>> >>>>>>> Not having an individual FACup in your ontology is not really an >>>>>>> explanation for me that a property will be rendered as annotation >>>>>>> property in Protege after rule execution and storing the data with >> Jena. >>>>>>> >>>>>>> On 12.01.2017 15:57, neha gupta 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. < >>>>>>>> buehm...@informatik.uni-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/ >>>>>>>>>> >>>>>>>>> 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 >>>>>>>>> >>>>>>>>> >>>>>>>>> >> -- >> 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