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

Reply via email to