On 18.01.2017 14:43, Sidra shah wrote:
> Similarly, how can I make BestCategory as data property? When I take it as
> object property, it does not behave likely I really want.
Whatever this means.
(I'm not sure if you really understand the difference between object and
data property.)
> 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.
No no no, now we're at the same point and level we had in the discussion
with neha gupta.
Either your provide the whole ontology and the code, or we have to stop
here.
>
> 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.
Screenshots of Protege do not help us, since the "real" data including
URIs and naming would be missing.
Upload the WHOLE ONTOLOGY + the WHOLE RUNNING CODE somewhere.
>
> 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
>>>>
>>>>