Sorry, but the answer is too obvious, especially for a student in computer science.
What about checking if the literal is NULL before calling toString()? > Hello, I asked about this rule few days ago. > String rule ="[rule1: ( ?x http://www.semanticweb.org/t/o > ntologies/2016/7/myOWL#Physics_Preferred_Category ?cat1 )" + > "( ?x http://www.semanticweb.org/t/ontologies/2016/7/myOWL#Chem_Pr > eferred_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 saved but as you know a user will select all the three > categories in the quiz, then the rule will execute, otherwise the user the > user will have not the property BestCategory. > > When I want to extract the value of BestCategory for some operation, for > first time users to the quiz, it gives me Null Pointer Exception, and > rightly so because the user has no value of BestCategory. > > RDFNode physicsBestCat=indiv.getPropertyValue(bestcat); > Literal l1=physicsBestCat.asLiteral(); > > //*here I think is the exception is* > String s1=l1.toString(); > > if (s1=="Physics"){ > } > > How should I handle this problem please? > > Much regards > -- Lorenz Bühmann AKSW group, University of Leipzig Group: http://aksw.org - semantic web research center
