This is weird. If the query is wrong like you showed here, how can you
get a parse exception?! And as Chris said,
PRINT THE VALUE OF soln.getLiteral("goals") by Java and show us the output.
On 28.09.2016 13:58, neha gupta wrote:
> Here is the code, I have typed it so might have some mistakes.
>
>
> OntModel model=ModelFactory.createOntologyModel();
> InputStream in =FileManager.get().open("D://ont/soccer.owl");
> if (in==null) {
> throw new IllegalArgumentException( "File: " + " not
> there");
> } model.read(in,"");
> String
> ns="http://www.semanticweb.org/neha/ontologies/2016/6/untitled-ontology-11#";
>
> OntClass team = model.getOntClass(ns + "Team");
> OntProperty goals=model.getOntProperty(ns+ "Goals");
> OntProperty wins=model.getOntProperty(ns+ "Wins");
>
> //Goals and Wins are entered by admin, so I want to sum the newly
> entered //goals with previous stored in ontology.
> //This is why I need integer values from these properties.
>
> SELECT *" +
> " WHERE { ?x rdf:type ont:Team . ?x ont:Goals ?goal
> . ?x ont:Wins ?wins} filter(?goal>10 && ?wins<?goal ) ";
> //the query also gives error , not recognizing Filter.
>
> Query query = QueryFactory.create(queryString) ;
> QueryExecution qexec =
> QueryExecutionFactory.create(query, model);
> ResultSet results = qexec.execSelect() ;
> while(results.hasNext()){
> QuerySolution soln = results.nextSolution() ;
> int lit = soln.getLiteral("goal").getInt() ;
> int lit2=soln.getLiteral("wins").getInt() ;
> System.out.println("goals"+lit);
>
> Inline image 2
>
>
>
>
> On Wed, Sep 28, 2016 at 4:28 AM, Chris Dollin
> <[email protected] <mailto:[email protected]>>
> wrote:
>
> On 28/09/16 12:15, neha gupta wrote:
>
> I just want to get the integer value from data property "Goals".
>
>
> I know. You said that. But you have ignored my suggestion.
>
> //Goals is already a data property in my owl file and it has
> integer value.
>
>
> How do you know? Show us the data. Show us the code. Show us what
> soln.getLiteral("goals") is. Maybe it isn't the integer you think it
> is.
>
> OntProperty goals=model.getOntProperty(ns+ "Goals");
>
> How can I get this integer value for future arithmetic operations.
>
> On Wed, Sep 28, 2016 at 12:11 AM, Chris Dollin
> <[email protected]
> <mailto:[email protected]>
>
> wrote:
>
>
> On 27/09/16 21:59, neha gupta wrote:
>
> int l = soln.getLiteral("goals").getInt() ;
>
> "goals" contain integer value but it gives me exception:
>
> Error converting typed value to a number.
>
>
> Print soln.getLiteral("goals") so that we can see the lexical
> form and type of the literal. Note that spaces are not
> permitted
> in integer lexical forms -- make sure there's no extra spaces
> in your print.
>
>
> Chris
>
> --
> "Always a BOM tomorrow."
> Unsaid
> /Babylon 5/
>
> 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)
>
>
>
> --
> "A facility for quotation covers the absence of original
> thought."/Gaudy Night/
>
>
> 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)
>
>