Sparql减法实例

Sparql减法实例,sparql,ontology,Sparql,Ontology,我有一本选集,我创建了一个评估界面,或者有一个提交按钮。此按钮允许您计算旧值和值20之间的差值。我尝试用sparql选择一个实例,然后计算一个实例的值减去旧值20 valider.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Model m=ModelFactory.createMemModelMaker()

我有一本选集,我创建了一个评估界面,或者有一个提交按钮。此按钮允许您计算旧值和值20之间的差值。我尝试用sparql选择一个实例,然后计算一个实例的值减去旧值20

valider.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            Model m=ModelFactory.createMemModelMaker().createModel(null);
            FileManager.get().readModel( m, owlFile );
            String myOntologyName = "ProjetHela";
            String uri="file:///C:/Project/Krs1.owl";
            // Définition de prefixe pour simplifier l'utilisation de SPARQL
            String reuses = "maj: <"+RDF.getURI()+">" ;
            // String myOntologyPrefix = "PREFIX "+myOntologyName+": <"+myOntologyNS+">" ;
            String myOntologyPrefix = "PREFIX "+myOntologyName+": <"+uri+">" ;
            // if (liste.getSelectedItem().toString().equals("GMP: Puissance=60352 Watt,limite supérieure= 73500 Watt")) {
            String queryString= 
                "PREFIX maj: <http://www.owl-ontologies.com/reuses.owl#>"
                + "SELECT ?hasnameevaluated"
                + " WHERE "
                + "{"
                + "?Besoin maj:hasnameevaluated ?hasnameevaluated "
                +"FILTER (?hasnameevaluated - 20)  "
                + " } ";
            Query query = QueryFactory.create(queryString) ;

            QueryExecution qexec = QueryExecutionFactory.create(query, m) ;
            try  {
                ResultSet rs = qexec.execSelect() ;

                // Affichage des resultats
                for ( ; rs.hasNext() ; ){
                //System.out.print("");
                QuerySolution rb = rs.nextSolution() ;
                String y = rb.getLiteral("hasnameevaluated").getString();
                System.out.println( " " + y);
                }}  finally {
                    qexec.close() ;

                    }
                }   
            }


    );
valider.addActionListener(新ActionListener()
{
已执行的公共无效操作(操作事件e)
{
Model m=ModelFactory.createMemModelMaker().createModel(空);
FileManager.get().readModel(m,owlFile);
字符串myOntologyName=“ProjetHela”;
字符串uri=”file:///C:/Project/Krs1.owl";
//Déprefixe de pour simplifier l’SPARQL的使用
字符串重用=“maj:”;
//字符串myOntologyPrefix=“前缀”+myOntologyName+:”;
字符串myOntologyPrefix=“前缀”+myOntologyName+:”;
//如果(liste.getSelectedItem().toString().equals(“GMP:Puissance=60352瓦,limite supérieure=73500瓦”)){
字符串查询字符串=
“前缀maj:”
+“选择?已评估”
+“哪里”
+ "{"
+“?Besoin maj:hasnameevaluated?hasnameevaluated”
+“过滤器(?hasnameevaluated-20)”
+ " } ";
Query=QueryFactory.create(queryString);
QueryExecution qexec=QueryExecutionFactory.create(query,m);
试一试{
ResultSet rs=qexec.execSelect();
//结果附加
对于(;rs.hasNext();){
//系统输出打印(“”);
QuerySolution rb=rs.nextSolution();
字符串y=rb.getLiteral(“hasnameevaluated”).getString();
系统输出打印项次(“+y”);
}}最后{
qexec.close();
}
}   
}
);
但它不起作用 请帮帮我

过滤器(?hasname-20)

是一种测试,而不是赋值

您是否打算使用:

绑定(?hasnameevaluated-20作为新值)

选择?hasnameevaluated(?hasnameevaluated-20作为?newvalue),其中


我只想得到一个新的值?hasnameevaluated=?hasnameevaluated-20