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 >>>>> >>>>> >>>>> >>> >>> >>
