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 <[email protected]> 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 <[email protected]> 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 < >>>> [email protected]> 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. < >>>>>> [email protected]> 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. < >>>>>>>> [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/ >>>>>>>>>> >>>>>>>>> soccer#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 >>>>>>> >>>>>>> >>>>>>> >>>>> -- Lorenz Bühmann AKSW group, University of Leipzig Group: http://aksw.org - semantic web research center
