Similarly, how can I make BestCategory as data property? When I take it as
object property, it does not behave likely I really want.
When I take BestCategory as data property and execute the rule, it saves my
BestCategory as Annotation property. I have made the Domain of BestCategory
property as Category and range as String.

I do not know when taken as object property, it is saved as objectproperty
assertions and when taken as data property, it is saved as Annotations.
I wish I could share the screen shot of my ontology so that you get more
clear picture of my problem.

Best regards

On Wed, Jan 18, 2017 at 4:14 PM, Sidra shah <[email protected]> wrote:

> Hello Lorenz, its not giving me the exception now but it does not display
> the message JOption,. It does not read the  * if (s1=="CatPhysics")*
>
>
> RDFNode phFav=indiv.getPropertyValue(favcat);
>              if (phFav!=null){
>               RDFNode l1=phFav.asResource();
>
>
>               String s1=l1.toString();
>               }
>
>     if (s1=="CatPhysics"){
>              JOptionPane.showMessageDialog(null, "Phyics category");
>               }
>
>
>
> On Wed, Jan 18, 2017 at 2:12 PM, Sidra shah <[email protected]>
> wrote:
>
>> Thank you Lorenz, let me read the document you mention here. I will come
>> back after reading and applying.
>>
>> Best regards
>>
>> On Wed, Jan 18, 2017 at 1:46 PM, Lorenz B. <[email protected]
>> ig.de> wrote:
>>
>>> What is for you the "value of a resource"? The URI?
>>>
>>> There is only one good source for developers, and that's Javadoc [1] -
>>> that's why we always refer to if people have questions.
>>>
>>> asResource() converts the RDFNode object to a resource
>>>
>>> [1]
>>> https://jena.apache.org/documentation/javadoc/jena/org/apach
>>> e/jena/rdf/model/RDFNode.html
>>>
>>> > Hello Lorenz, this was the question I was expected to ask? I mean
>>> values of
>>> > BestCategory are resources.
>>> > Kindly if you can guide me how to get the value, I searched it on the
>>> web
>>> > but could not found any related resources.
>>> >
>>> > Kind regards
>>> >
>>> > On Wed, Jan 18, 2017 at 10:57 AM, Lorenz B. <
>>> > [email protected]> wrote:
>>> >
>>> >>> OntModel model2=ModelFactory.createOntologyModel(
>>> >> OntModelSpec.OWL_DL_MEM);
>>> >>>    InputStream in =FileManager.get().open("F://20-8.owl");
>>> >>>             if (in==null) {
>>> >>>                 throw new IllegalArgumentException( "File: " +  " not
>>> >>> found");
>>> >>>             }          model2.read(in,"");
>>> >>>
>>> >>>              String ns="
>>> >>> http://www.semanticweb.org/t/ontologies/2016/7/myOWL#";;
>>> >>>
>>> >>>        OntProperty favcat=model2.getOntProperty(ns+ "BestCategory");
>>> >>> String  name=jTextField1.getText();
>>> >>> Individual indiv = user1.createIndividual(ns + name);
>>> >>>               RDFNode phFav=indiv.getPropertyValue(favcat);
>>> >>>              if (phFav!=null){
>>> >>>               Literal l1=phFav.asLiteral();
>>> >> If BestCategory is an object property, why do you cast the value as
>>> >> literal?!
>>> >>>                s1=l1.toString(); }
>>> >>>              }
>>> >>>     if (s1=="CatPhysics"){
>>> >>>              JOptionPane.showMessageDialog(null, "Physics");
>>> >>>               }
>>> >>>
>>> >>> The rule itself is
>>> >>>
>>> >>> String rule ="[rule1: ( ?x http://www.semanticweb.org/
>>> >>> t/ontologies/2016/7/myOWL#Physics_Preferred_Category  ?cat1 )" +
>>> >>>  "( ?x http://www.semanticweb.org/t/ontologies/2016/7/myOWL#
>>> >>> Chem_Preferred_Category  ?cat2 )" +
>>> >>>         "( ?x http://www.semanticweb.org/t/o
>>> ntologies/2016/7/myOWL#Geo_
>>> >>> Preferred_Category  ?cat3 )" +
>>> >>>         "greaterThan(?cat1,?cat2), greaterThan(?cat1,?cat3)"
>>> >>>          + " ->  (?x  http://www.semanticweb.org/t/
>>> >>> ontologies/2016/7/myOWL#BestCategory   http://www.semanticweb.org/t/
>>> >>> ontologies/2016/7/myOWL#BestCategory#Physics   )]";
>>> >>>
>>> >>>
>>> >>> The BestCategory is object property.
>>> >>>
>>> >>> Regards
>>> >>>
>>> >>>
>>> >>> On Tue, Jan 17, 2017 at 8:16 PM, Andy Seaborne <[email protected]>
>>> wrote:
>>> >>>
>>> >>>> A Complete, Minimal Example please.
>>> >>>>
>>> >>>>
>>> >>>> Partial code, no data is not complete.
>>> >>>> It must compile and run to be complete.
>>> >>>>
>>> >>>> Minimal means only what is necessary to ask the question not the
>>> whole
>>> >>>> data or whole application.
>>> >>>>
>>> >>>>     Andy
>>> >>>>
>>> >>>> On 17/01/17 17:14, Sidra shah wrote:
>>> >>>>
>>> >>>>> I am surprise that when there is no value in BestCategory, it
>>> gives me
>>> >> no
>>> >>>>> error and when the rule executes and value comes in BestCategory,
>>> it
>>> >> gives
>>> >>>>> me now *"RequiredLiteralException*"
>>> >>>>>
>>> >>>>> The code I used here is
>>> >>>>>
>>> >>>>>  OntProperty favcat=model2.getOntProperty(ns+ "BestCategory");
>>> >>>>>
>>> >>>>> RDFNode phFav=indiv.getPropertyValue(favcat);
>>> >>>>>              if (phFav!=null){
>>> >>>>>               Literal l1=phFav.asLiteral();
>>> >>>>>
>>> >>>>>                s1=l1.toString();}
>>> >>>>>
>>> >>>>>     if (s1=="CatPhysics"){
>>> >>>>>              JOptionPane.showMessageDialog(null, "Physics");
>>> >>>>>               }
>>> >>>>>
>>> >>>>> Best regards
>>> >>>>>
>>> >>>>> On Tue, Jan 17, 2017 at 5:53 PM, Sidra shah <
>>> [email protected]>
>>> >>>>> wrote:
>>> >>>>>
>>> >>>>> Hello Chris, thanks a lot for your suggestion.
>>> >>>>>> Best regards.
>>> >>>>>>
>>> >>>>>> On Tue, Jan 17, 2017 at 5:37 PM, Chris Dollin <
>>> >>>>>> [email protected]> wrote:
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>> On 17/01/17 13:30, Sidra shah wrote:
>>> >>>>>>>
>>> >>>>>>> Hi Lorenz, I am sorry but with much regards, you discussed here
>>> the
>>> >>>>>>>> problem, not the solution  :) :)
>>> >>>>>>>>
>>> >>>>>>>> I know this if there is no value, there must be Null exception,
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>> This is not true.
>>> >>>>>>>
>>> >>>>>>> but can you suggest me a way where we dodge the compiler
>>> >>>>>>>
>>> >>>>>>> No "dodging" of the compiler is required. Instead, just write
>>> >>>>>>> perfectly ordinary code that tests to see if the result of
>>> >>>>>>> getPropertyValue is null, and take one action if it isn't and
>>> >>>>>>> a different one if it is.
>>> >>>>>>>
>>> >>>>>>> There's nothing special about this. You don't need to use
>>> >>>>>>> break (which is for escaping from loops); just an if
>>> >>>>>>> with suitable then and else parts.
>>> >>>>>>>
>>> >>>>>>> I know this is more a Java problem, but any help I will
>>> appreciate.
>>> >>>>>>>
>>> >>>>>>> Find someone /local/ doing the same or similar course and talk to
>>> >>>>>>> them (and have them talk to you) about programming and this
>>> >>>>>>> problem. I don't mean copy each other's work; I mean use each
>>> >>>>>>> other to understand what the problem is about and how the code
>>> >>>>>>> works. Each of you will know things that the other doesn't;
>>> share.
>>> >>>>>>>
>>> >>>>>>> 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
>>>
>>>
>>
>

Reply via email to