Package com.hp.hpl.jena.reasoner.rulesys

Examples of com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner


                + " (?standard qa:Ҫ���� ?key) "
                + " (?answer qa:Ҫ���� ?key) "
                + " noValue(?key qa:�÷�) " + " -> "
                + " (?key qa:�÷� ?points)" + "]";
            List rules = Rule.parseRules(ruleSrc);
            Reasoner reasoner = new GenericRuleReasoner(rules);
            InfModel inf = ModelFactory.createInfModel(reasoner,
                model);

            StmtIterator it = inf.getDeductionsModel()
                .listStatements();
            while (it.hasNext()) {
              Statement stmt = it.nextStatement();
              Literal obj = (Literal) stmt.getObject();
              docList.append(stmt.getSubject().getLocalName()
                  + "\t" + stmt.getPredicate().getLocalName()
                  + "\t " + obj.getString() + "��ȫ�֣�\n");
            }

            ruleSrc = "[rule2: (?keya rdf:type qa:��׼��Ҫ��) "
                + " (?keyb rdf:type qa:��׼��Ҫ��) "
                + " (?keyb qa:��ֵ ?points) "
                + " (?keya ?p ?keyb)"
                + " (?answer rdf:type qa:�Ծ�����Ļش�) "
                + " (?question rdf:type qa:�Ծ�����) "
                + " (?standard rdf:type qa:��׼��) "
                + " (?answer qa:�Ծ������� ?question)"
                + " (?question qa:��׼���� ?standard) "
                + " (?standard qa:Ҫ���� ?keya) "
                + " (?standard qa:Ҫ���� ?keyb) "
                + " (?answer qa:Ҫ���� ?keya) "
                + " noValue(?answer qa:Ҫ���� ?keyb) "
                + " product(?points, 0.5, ?wpoints ) " + " -> "
                + " (?keyb qa:�÷� ?wpoints) " + " ]";
            rules = Rule.parseRules(ruleSrc);
            reasoner = new GenericRuleReasoner(rules);
            InfModel inf2 = ModelFactory.createInfModel(reasoner,
                inf);
            it = inf2.getDeductionsModel().listStatements();
            while (it.hasNext()) {
              Statement stmt = it.nextStatement();
              Literal obj = (Literal) stmt.getObject();
              docList.append(stmt.getSubject().getLocalName()
                  + "\t" + stmt.getPredicate().getLocalName()
                  + "\t" + obj.getString() + "����֣�\n");
            }

            ruleSrc = "[rule3: (?key rdf:type qa:��׼��Ҫ��) noValue(?key qa:�÷�) -> (?key qa:�÷� 0.0) ]";
            rules = Rule.parseRules(ruleSrc);
            reasoner = new GenericRuleReasoner(rules);
            InfModel inf3 = ModelFactory.createInfModel(reasoner,
                inf2);
            it = inf3.getDeductionsModel().listStatements();
            while (it.hasNext()) {
              Statement stmt = it.nextStatement();
              Literal obj = (Literal) stmt.getObject();
              docList.append(stmt.getSubject().getLocalName()
                  + "\t" + stmt.getPredicate().getLocalName()
                  + "\t" + obj.getString() + "����֣�\n");
            }
            docList
                .append("------------------------------------------------------------\n");

            ruleSrc = "[rule4: (qa:�Ӱ� qa:�÷� ?jbpoints) "
                + " (qa:��������λ�� qa:�÷� ?wzpoints) "
                + " (qa:н�� qa:�÷� ?xcpoints) "
                + " (qa:�������� qa:�÷� ?hjpoints ) "
                + " sum(?jbpoints, ?wzpoints, ?temp1) "
                + " sum(?temp1, ?xcpoints, ?temp2) "
                + " sum(?temp2, ?hjpoints, ?score) "
                + " (?answer rdf:type qa:�Ծ�����Ļش�) "
                + " (?question rdf:type qa:�Ծ�����) "
                + " (?standard rdf:type qa:��׼��) "
                + " (?answer qa:�Ծ������� ?question)"
                + " (?question qa:��׼���� ?standard) " + " -> "
                + " (?answer qa:�÷� ?score) " + "]";
            rules = Rule.parseRules(ruleSrc);
            reasoner = new GenericRuleReasoner(rules);
            InfModel inf4 = ModelFactory.createInfModel(reasoner,
                inf3);
            it = inf4.getDeductionsModel().listStatements();
            while (it.hasNext()) {
              Statement stmt = it.nextStatement();
              Literal obj = (Literal) stmt.getObject();
              docList.append(stmt.getSubject().getLocalName()
                  + "\t" + stmt.getPredicate().getLocalName()
                  + "\t" + obj.getString() + "\n");
            }
            docList.append("�������");

          } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(frame,
                "�޷����ر���⣬��ȷ��qa.owl������ڵ�ǰĿ¼�¡�", "Error!",
                JOptionPane.ERROR_MESSAGE);
            ex.printStackTrace();
          } catch (Exception ex) {
            JOptionPane.showMessageDialog(frame,
                "���������鿴error.log�ļ���", "Error!",
                JOptionPane.ERROR_MESSAGE);
            ex.printStackTrace();
          }
        }
      }
    });

    run.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {

        new Thread() {
          public void run() {
            docList.setText("");
            docList.append("��ʼ����\n");
            OntModel model = ModelFactory
                .createOntologyModel(OntModelSpec.OWL_DL_MEM);
            try {
              model.read(new FileInputStream(new File("qa.owl")),
                  null);
              String prefix = "http://www.example.com/qa.owl#";
              PrintUtil.registerPrefix("qa", prefix);

              OntClass hd_c = model.getOntClass(prefix
                  + "�Ծ�����Ļش�");
              Individual zshd_i = hd_c.createIndividual(prefix
                  + "�����Ļش�");
              Individual wt_i = model.getIndividual(prefix
                  + "ͨ���������������Լ��Ĺ������");
              OntProperty wts_p = model.getOntProperty(prefix
                  + "�Ծ�������");
              zshd_i.addProperty(wts_p, wt_i);

              OntProperty ydy_p = model.getObjectProperty(prefix
                  + "Ҫ����");
              for (int i = 0; i < boxes.length; i++) {
                if (boxes[i].isSelected()) {
                  Individual yd_i = model
                      .getIndividual(prefix
                          + boxes[i].getLabel());
                  zshd_i.addProperty(ydy_p, yd_i);
                }
              }

              String ruleSrc = "[rule1: (?key rdf:type qa:��׼��Ҫ��) "
                  + " (?key qa:��ֵ ?points) "
                  + " (?answer rdf:type qa:�Ծ�����Ļش�) "
                  + " (?question rdf:type qa:�Ծ�����) "
                  + " (?standard rdf:type qa:��׼��) "
                  + " (?answer qa:�Ծ������� ?question)"
                  + " (?question qa:��׼���� ?standard) "
                  + " (?standard qa:Ҫ���� ?key) "
                  + " (?answer qa:Ҫ���� ?key) "
                  + " noValue(?key qa:�÷�) "
                  + " -> "
                  + " (?key qa:�÷� ?points)" + "]";
              List rules = Rule.parseRules(ruleSrc);
              Reasoner reasoner = new GenericRuleReasoner(rules);
              InfModel inf = ModelFactory.createInfModel(
                  reasoner, model);

              StmtIterator it = inf.getDeductionsModel()
                  .listStatements();
              while (it.hasNext()) {
                Statement stmt = it.nextStatement();
                Literal obj = (Literal) stmt.getObject();
                docList.append(stmt.getSubject().getLocalName()
                    + "\t"
                    + stmt.getPredicate().getLocalName()
                    + "\t " + obj.getString() + "��ȫ�֣�\n");
              }

              ruleSrc = "[rule2: (?keya rdf:type qa:��׼��Ҫ��) "
                  + " (?keyb rdf:type qa:��׼��Ҫ��) "
                  + " (?keyb qa:��ֵ ?points) "
                  + " (?keya ?p ?keyb)"
                  + " (?answer rdf:type qa:�Ծ�����Ļش�) "
                  + " (?question rdf:type qa:�Ծ�����) "
                  + " (?standard rdf:type qa:��׼��) "
                  + " (?answer qa:�Ծ������� ?question)"
                  + " (?question qa:��׼���� ?standard) "
                  + " (?standard qa:Ҫ���� ?keya) "
                  + " (?standard qa:Ҫ���� ?keyb) "
                  + " (?answer qa:Ҫ���� ?keya) "
                  + " noValue(?answer qa:Ҫ���� ?keyb) "
                  + " product(?points, 0.5, ?wpoints ) "
                  + " -> " + " (?keyb qa:�÷� ?wpoints) "
                  + " ]";
              rules = Rule.parseRules(ruleSrc);
              reasoner = new GenericRuleReasoner(rules);
              InfModel inf2 = ModelFactory.createInfModel(
                  reasoner, inf);
              it = inf2.getDeductionsModel().listStatements();
              while (it.hasNext()) {
                Statement stmt = it.nextStatement();
                Literal obj = (Literal) stmt.getObject();
                docList.append(stmt.getSubject().getLocalName()
                    + "\t"
                    + stmt.getPredicate().getLocalName()
                    + "\t" + obj.getString() + "����֣�\n");
              }

              ruleSrc = "[rule3: (?key rdf:type qa:��׼��Ҫ��) noValue(?key qa:�÷�) -> (?key qa:�÷� 0.0) ]";
              rules = Rule.parseRules(ruleSrc);
              reasoner = new GenericRuleReasoner(rules);
              InfModel inf3 = ModelFactory.createInfModel(
                  reasoner, inf2);
              it = inf3.getDeductionsModel().listStatements();
              while (it.hasNext()) {
                Statement stmt = it.nextStatement();
                Literal obj = (Literal) stmt.getObject();
                docList.append(stmt.getSubject().getLocalName()
                    + "\t"
                    + stmt.getPredicate().getLocalName()
                    + "\t" + obj.getString() + "����֣�\n");
              }
              docList
                  .append("------------------------------------------------------------\n");

              ruleSrc = "[rule4: (qa:�Ӱ� qa:�÷� ?jbpoints) "
                  + " (qa:��������λ�� qa:�÷� ?wzpoints) "
                  + " (qa:н�� qa:�÷� ?xcpoints) "
                  + " (qa:�������� qa:�÷� ?hjpoints ) "
                  + " sum(?jbpoints, ?wzpoints, ?temp1) "
                  + " sum(?temp1, ?xcpoints, ?temp2) "
                  + " sum(?temp2, ?hjpoints, ?score) "
                  + " (?answer rdf:type qa:�Ծ�����Ļش�) "
                  + " (?question rdf:type qa:�Ծ�����) "
                  + " (?standard rdf:type qa:��׼��) "
                  + " (?answer qa:�Ծ������� ?question)"
                  + " (?question qa:��׼���� ?standard) "
                  + " -> " + " (?answer qa:�÷� ?score) " + "]";
              rules = Rule.parseRules(ruleSrc);
              reasoner = new GenericRuleReasoner(rules);
              InfModel inf4 = ModelFactory.createInfModel(
                  reasoner, inf3);
              it = inf4.getDeductionsModel().listStatements();
              while (it.hasNext()) {
                Statement stmt = it.nextStatement();
View Full Code Here


        " noValue(?key qa:�÷�) " +
        " -> " +
        " (?key qa:�÷� ?points)"
        + "]";
    List rules = Rule.parseRules(ruleSrc);
    Reasoner reasoner = new GenericRuleReasoner(rules);
    InfModel inf = ModelFactory.createInfModel(reasoner, model);

    PrintUtil.printOut(inf.getDeductionsModel().listStatements());
    System.out.println("-------");

//    ruleSrc = "[rule2: (?key rdf:type qa:��׼��Ҫ��) noValue(?key qa:�÷�) -> (?key qa:�÷� 0.0) ]";
    ruleSrc = "[rule2: (?keya rdf:type qa:��׼��Ҫ��) " +
        " (?keyb rdf:type qa:��׼��Ҫ��) " +
        " (?keyb qa:��ֵ ?points) " +
        " (?keya ?p ?keyb)" +
        " (?answer rdf:type qa:�Ծ�����Ļش�) " +
        " (?question rdf:type qa:�Ծ�����) " +
        " (?standard rdf:type qa:��׼��) " +
        " (?answer qa:�Ծ������� ?question)" +
        " (?question qa:��׼���� ?standard) " +
        " (?standard qa:Ҫ���� ?keya) " +
        " (?standard qa:Ҫ���� ?keyb) " +
        " (?answer qa:Ҫ���� ?keya) " +
        " noValue(?answer qa:Ҫ���� ?keyb) " +   
        " product(?points, 0.5, ?wpoints ) " +
        " -> " +
        " (?keyb qa:�÷� ?wpoints) " +
        " ]";
    rules = Rule.parseRules(ruleSrc);
    reasoner = new GenericRuleReasoner(rules);
    InfModel inf2 = ModelFactory.createInfModel(reasoner, inf);
    PrintUtil.printOut(inf2.getDeductionsModel().listStatements());
    System.out.println("-------");
   
    ruleSrc = "[rule3: (?key rdf:type qa:��׼��Ҫ��) noValue(?key qa:�÷�) -> (?key qa:�÷� 0.0) ]";
    rules = Rule.parseRules(ruleSrc);
    reasoner = new GenericRuleReasoner(rules);
    InfModel inf3 = ModelFactory.createInfModel(reasoner, inf2);
    PrintUtil.printOut(inf3.getDeductionsModel().listStatements());
    System.out.println("-------");
   
    ruleSrc = "[rule4: (qa:�Ӱ� qa:�÷� ?jbpoints) " +
        " (qa:��������λ�� qa:�÷� ?wzpoints) " +
        " (qa:н�� qa:�÷� ?xcpoints) " +
        " (qa:�������� qa:�÷� ?hjpoints ) " +
        " sum(?jbpoints, ?wzpoints, ?temp1) " +
        " sum(?temp1, ?xcpoints, ?temp2) " +
        " sum(?temp2, ?hjpoints, ?score) " +
        " (?answer rdf:type qa:�Ծ�����Ļش�) " +
        " (?question rdf:type qa:�Ծ�����) " +
        " (?standard rdf:type qa:��׼��) " +
        " (?answer qa:�Ծ������� ?question)" +
        " (?question qa:��׼���� ?standard) " +
        " -> " +
        " (?answer qa:�÷� ?score) " +
        "]";
    rules = Rule.parseRules(ruleSrc);
    reasoner = new GenericRuleReasoner(rules);
    InfModel inf4 = ModelFactory.createInfModel(reasoner, inf3);
    PrintUtil.printOut(inf4.getDeductionsModel().listStatements());
    System.out.println("-------");
   
   
View Full Code Here

        Literal l = base.createLiteral("foo");
        Statement asserted = base.createStatement(r, p, l);
        r.addProperty(p, l);
       
        List<Rule> rules = Rule.parseRules("(?r eg:p ?v) -> (?v eg:q ?r).");
        GenericRuleReasoner reasoner = new GenericRuleReasoner(rules);
        InfModel inf = ModelFactory.createInfModel(reasoner, base);
        TestUtil.assertIteratorValues(this, inf.listStatements(), new Statement[]{asserted});
       
        Model deductions = inf.getDeductionsModel();
        TestUtil.assertIteratorValues(this, deductions.listStatements(), new Statement[]{});
View Full Code Here

  }

  public void testCreateInfModel()
  {
    final String rule = "-> (eg:r eg:p eg:v).";
    final Reasoner r = new GenericRuleReasoner(Rule.parseRules(rule));
    final InfGraph ig = r
        .bind(ModelFactory.createDefaultModel().getGraph());
    final InfModel im = ModelFactory.createInfModel(ig);
    JenaTestBase.assertInstanceOf(InfModel.class, im);
    Assert.assertEquals(1, im.size());
  }
View Full Code Here

        Literal l = base.createLiteral("foo");
        Statement asserted = base.createStatement(r, p, l);
        r.addProperty(p, l);
       
        List<Rule> rules = Rule.parseRules("(?r eg:p ?v) -> (?v eg:q ?r).");
        GenericRuleReasoner reasoner = new GenericRuleReasoner(rules);
        InfModel inf = ModelFactory.createInfModel(reasoner, base);
        TestUtil.assertIteratorValues(this, inf.listStatements(), new Statement[]{asserted});
       
        Model deductions = inf.getDeductionsModel();
        TestUtil.assertIteratorValues(this, deductions.listStatements(), new Statement[]{});
View Full Code Here

 
  protected MultiValueMap<ATermAppl, ATermAppl> run(Collection<ATermAppl> classes) {
    addClasses( classes );
    addClasses( m_Names.getAllAnons() );
   
    Reasoner reasoner = new GenericRuleReasoner(new ArrayList<Rule>(m_Rules));
   
    InfGraph inf = reasoner.bind( m_Facts );
    inf.prepare();
   
    MultiValueMap<ATermAppl, ATermAppl> subsumers = getSubsumptions(inf);
    for( ATermAppl c : classes ) {
      subsumers.add( ATermUtils.BOTTOM, c );     
View Full Code Here

 
  protected MultiValueMap<ATermAppl, ATermAppl> run(Collection<ATermAppl> classes) {
    addClasses( classes );
    addClasses( m_Names.getAllAnons() );
   
    Reasoner reasoner = new GenericRuleReasoner(new ArrayList<Rule>(m_Rules));
   
    InfGraph inf = reasoner.bind( m_Facts );
    inf.prepare();
   
    MultiValueMap<ATermAppl, ATermAppl> subsumers = getSubsumptions(inf);
    for( ATermAppl c : classes ) {
      subsumers.add( ATermUtils.BOTTOM, c );     
View Full Code Here

TOP

Related Classes of com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.