以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  [求助]一个基于jena的推理程序,编译不过,请大侠帮忙看看,万分感谢  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=59073)


--  作者:kimini
--  发布时间:2/22/2008 4:59:00 PM

--  [求助]一个基于jena的推理程序,编译不过,请大侠帮忙看看,万分感谢
我在protege3.3.1下编写了一个简单的本体:
owl文件如下所示:

<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.owl-ontologies.com/Ontology1203599724.owl#"
  xml:base="http://www.owl-ontologies.com/Ontology1203599724.owl">
  <owl:Ontology rdf:about=""/>
  <owl:Class rdf:ID="Component"/>
  <owl:Class rdf:ID="DOS">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Windows"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Unix">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Operating_System"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Windows">
    <rdfs:subClassOf rdf:resource="#Operating_System"/>
  </owl:Class>
  <owl:Class rdf:ID="Windows_NT">
    <rdfs:subClassOf rdf:resource="#Windows"/>
  </owl:Class>
  <owl:Class rdf:ID="Windows_9x">
    <rdfs:subClassOf rdf:resource="#Windows"/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="Use_OS">
    <rdfs:domain rdf:resource="#Component"/>
    <rdfs:range rdf:resource="#Operating_System"/>
  </owl:ObjectProperty>
  <Windows_NT rdf:ID="Windows_XP"/>
  <Windows_NT rdf:ID="Windows_2000_Server"/>
  <Windows_9x rdf:ID="windows_95"/>
  <DOS rdf:ID="MS_DOS"/>
  <Windows_NT rdf:ID="Windows_2000_Professional"/>
  <Component rdf:ID="Component_A">
    <Use_OS rdf:resource="#MS_DOS"/>
  </Component>
  <Component rdf:ID="Component_C">
    <Use_OS>
      <Windows_9x rdf:ID="windows_98"/>
    </Use_OS>
  </Component>
  <Component rdf:ID="Component_D">
    <Use_OS>
      <Windows_9x rdf:ID="windows_Me"/>
    </Use_OS>
  </Component>
  <Component rdf:ID="Component_B">
    <Use_OS rdf:resource="#windows_95"/>
  </Component>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.3.1, Build 430)  http://protege.stanford.edu -->

其中,Component类有4个实例,Windows_9x子类有3个实例。我想做的推理规则如下:

[Rule1:(?x Use_OS ?y),(?y Individual ?z) -> (?x Use_OS ?z)]

大概意思就是说,如果Component类的一个实例  Use_OS   Windows_9x类的一个实例 (例如:
如果 (component_B  Use_OS windows_95),并且(windows_95 Individual Windows_9x),则(component_B Use_OS Windows_9x) ),
那么Component Use_OS Windows_9x

我的程序代码如下:

import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.util.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.reasoner.*;

public class inference_os {
    public static void main(String[] args){
        Model data = ModelFactory.createDefaultModel();
     data.read(new FileInputStream(new File("os.owl")), "");
     String rule = "[Rule1:(?x Use_OS ?y),(?y Individual ?z) -> (?x Use_OS ?z)]";
     Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rule));
     reasoner.bindSchema(data);
     InfModel infmodel = ModelFactory.createInfModel(reasoner,data);
     for (StmtIterator i = infmodel.listStatements(null,Use_OS,null);i.hasNext();){
      Statement stmt = i.nextStatement();
      System.out.println(PrintUtil.print(stmt));
      }
     } 
 }

Jena用的是2.5.4版本

出错信息如下:
--------------------Configuration: <Default>--------------------
C:\Jena-2.5.4\src\com\hp\hpl\jena\rdf\model\impl\Util.java:35: 软件包 org.apache.xerces.util 不存在
import org.apache.xerces.util.XMLChar;
                              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:22: 软件包 org.apache.xerces.impl.dv.util 不存在
import org.apache.xerces.impl.dv.util.Base64;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:23: 软件包 org.apache.xerces.impl.dv.util 不存在
import org.apache.xerces.impl.dv.util.HexBin;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:24: 软件包 org.apache.xerces.impl.dv.xs 不存在
import org.apache.xerces.impl.dv.xs.DecimalDV;
                                    ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:25: 软件包 org.apache.xerces.impl.dv.xs 不存在
import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;
                                    ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:26: 软件包 org.apache.xerces.impl.dv 不存在
import org.apache.xerces.impl.dv.*;
^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:27: 软件包 org.apache.xerces.impl.validation 不存在
import org.apache.xerces.impl.validation.ValidationState;
                                         ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:28: 软件包 org.apache.xerces.util 不存在
import org.apache.xerces.util.SymbolHash;
                              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:30: 软件包 org.apache.xerces.parsers 不存在
import org.apache.xerces.parsers.XMLGrammarPreparser;
                                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:31: 软件包 org.apache.xerces.xni.grammars 不存在
import org.apache.xerces.xni.grammars.XMLGrammarDescription;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:32: 软件包 org.apache.xerces.xni.parser 不存在
import org.apache.xerces.xni.parser.XMLInputSource;
                                    ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:33: 软件包 org.apache.xerces.xs 不存在
import org.apache.xerces.xs.XSConstants;
                            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:34: 软件包 org.apache.xerces.xs 不存在
import org.apache.xerces.xs.XSTypeDefinition;
                            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:35: 软件包 org.apache.xerces.xs 不存在
import org.apache.xerces.xs.XSNamedMap;
                            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:36: 软件包 org.apache.xerces.xni.grammars 不存在
import org.apache.xerces.xni.grammars.XSGrammar;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:191: 找不到符号
符号: 类 XSSimpleType
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    protected XSSimpleType typeDeclaration;
              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:197: 找不到符号
符号: 类 DecimalDV
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    static final DecimalDV decimalDV = new DecimalDV();
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:233: 找不到符号
符号: 类 XSSimpleType
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    public XSDDatatype(XSSimpleType xstype, String namespace) {
                       ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:334: 找不到符号
符号: 类 XMLInputSource
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    private static List loadUserDefined(XMLInputSource source, TypeMapper tm) throws DatatypeFormatException {
                                        ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:369: 找不到符号
符号: 类 ValidatedInfo
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    public Object convertValidatedDataValue(ValidatedInfo validatedInfo) throws DatatypeFormatException {
                                            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:491: 找不到符号
符号: 类 XSTypeDefinition
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    private XSTypeDefinition getFoundingType() {
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\shared\impl\PrefixMappingImpl.java:14: 软件包 org.apache.xerces.util 不存在
import org.apache.xerces.util.XMLChar;
                              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\OntDocumentManager.java:30: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\OntDocumentManager.java:31: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\OntDocumentManager.java:32: 软件包 org.apache.xerces.util 不存在
import org.apache.xerces.util.XMLChar;
                              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\OntDocumentManager.java:121: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.ontology.OntDocumentManager
    private static Log log = LogFactory.getLog( OntDocumentManager.class );
                   ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\util\FileManager.java:11: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.*;
^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\DriverRDB.java:28: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\DriverRDB.java:29: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\DriverRDB.java:30: 软件包 org.apache.xerces.util 不存在
import org.apache.xerces.util.XMLChar;
                              ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\util\FileManager.java:64: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.util.FileManager
    private static Log log = LogFactory.getLog(FileManager.class) ;
                   ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\util\LocationMapper.java:16: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.*;
^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\SQLCache.java:21: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\SQLCache.java:22: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\DriverRDB.java:222: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.db.impl.DriverRDB
   protected static Log logger = LogFactory.getLog( DriverRDB.class );
                    ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\util\LocationMapper.java:37: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.util.LocationMapper
    static Log log = LogFactory.getLog(LocationMapper.class)  ;
           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\SQLCache.java:77: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.db.impl.SQLCache
    static protected Log logger = LogFactory.getLog( SQLCache.class );
                     ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\ResultSetIterator.java:19: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\ResultSetIterator.java:20: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\db\impl\ResultSetIterator.java:67: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.db.impl.ResultSetIterator
    protected static Log logger = LogFactory.getLog( ResultSetIterator.class );
                     ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\impl\OntModelImpl.java:44: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\impl\OntModelImpl.java:45: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\ontology\impl\OntModelImpl.java:76: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.ontology.impl.OntModelImpl
    static private Log s_log = LogFactory.getLog( OntModelImpl.class );
                   ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\dig\DIGReasoner.java:30: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\FBRuleInfGraph.java:29: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\FBRuleInfGraph.java:30: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\BasicForwardRuleInfGraph.java:22: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\BasicForwardRuleInfGraph.java:23: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPBRuleEngine.java:17: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPBRuleEngine.java:18: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\FBRuleInfGraph.java:81: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.FBRuleInfGraph
    static Log logger = LogFactory.getLog(FBRuleInfGraph.class);
           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Rule.java:26: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Rule.java:27: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\BasicForwardRuleInfGraph.java:60: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.BasicForwardRuleInfGraph
    protected static Log logger = LogFactory.getLog(BasicForwardRuleInfGraph.class);
                     ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPBRuleEngine.java:67: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.impl.LPBRuleEngine
    static Log logger = LogFactory.getLog(LPBRuleEngine.class);
           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPInterpreter.java:18: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPInterpreter.java:19: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Rule.java:90: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.Rule
    static Log logger = LogFactory.getLog(Rule.class);
           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Functor.java:16: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.Log;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Functor.java:17: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\impl\LPInterpreter.java:70: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.impl.LPInterpreter
    static Log logger = LogFactory.getLog(LPInterpreter.class);
           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\reasoner\rulesys\Functor.java:52: 找不到符号
符号: 类 Log
位置: 类 com.hp.hpl.jena.reasoner.rulesys.Functor
    protected static Log logger = LogFactory.getLog(Functor.class);
                     ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\util\FileUtils.java:12: 软件包 org.apache.commons.logging 不存在
import org.apache.commons.logging.LogFactory;
                                  ^
C:\Jena-2.5.4\src\inference_os.java:16: 找不到符号
符号: 类 GenericRuleReasoner
位置: 类 inference_os
        Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rule));
                                ^
C:\Jena-2.5.4\src\inference_os.java:16: 找不到符号
符号: 变量 Rule
位置: 类 inference_os
        Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rule));
                                                    ^
C:\Jena-2.5.4\src\inference_os.java:19: 找不到符号
符号: 变量 Use_OS
位置: 类 inference_os
        for (StmtIterator i = infmodel.listStatements(null,Use_OS,null);i.hasNext();){
                                                           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\graph\query\BufferPipe.java:9: 软件包 EDU.oswego.cs.dl.util.concurrent 不存在
import EDU.oswego.cs.dl.util.concurrent.*;
^
C:\Jena-2.5.4\src\com\hp\hpl\jena\graph\query\BufferPipe.java:21: 找不到符号
符号: 类 BoundedBuffer
位置: 类 com.hp.hpl.jena.graph.query.BufferPipe
    private BoundedBuffer buffer = new BoundedBuffer( 5 );
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\rdf\model\impl\Util.java:71: 找不到符号
符号: 变量 XMLChar
位置: 类 com.hp.hpl.jena.rdf.model.impl.Util
            if (XMLChar.isNCNameStart(ch)) {
                ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\rdf\model\impl\Util.java:87: 找不到符号
符号: 变量 XMLChar
位置: 类 com.hp.hpl.jena.rdf.model.impl.Util
        { return !XMLChar.isNCName( ch ); }
                  ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDhexBinary.java:14: 软件包 org.apache.xerces.impl.dv.util 不存在
import org.apache.xerces.impl.dv.util.HexBin;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDbase64Binary.java:14: 软件包 org.apache.xerces.impl.dv.util 不存在
import org.apache.xerces.impl.dv.util.Base64;
                                      ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:197: 找不到符号
符号: 类 DecimalDV
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
    static final DecimalDV decimalDV = new DecimalDV();
                                           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:209: 找不到符号
符号: 变量 SchemaDVFactory
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        typeDeclaration = SchemaDVFactory.getInstance().getBuiltInType(typeName);
                          ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:245: 找不到符号
符号: 类 ValidationContext
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            ValidationContext context = new ValidationState();
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:245: 找不到符号
符号: 类 ValidationState
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            ValidationContext context = new ValidationState();
                                            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:246: 找不到符号
符号: 类 ValidatedInfo
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            ValidatedInfo resultInfo = new ValidatedInfo();
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:246: 找不到符号
符号: 类 ValidatedInfo
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            ValidatedInfo resultInfo = new ValidatedInfo();
                                           ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:249: 找不到符号
符号: 类 InvalidDatatypeValueException
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        } catch (InvalidDatatypeValueException e) {
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:303: 找不到符号
符号: 类 XMLInputSource
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        return loadUserDefined(new XMLInputSource(null, uri, uri, reader, encoding), tm);
                                   ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:320: 找不到符号
符号: 类 XMLInputSource
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        return loadUserDefined(new XMLInputSource(null, uri, uri), tm);        
                                   ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:335: 找不到符号
符号: 类 XMLGrammarPreparser
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        XMLGrammarPreparser parser = new XMLGrammarPreparser();
        ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:335: 找不到符号
符号: 类 XMLGrammarPreparser
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        XMLGrammarPreparser parser = new XMLGrammarPreparser();
                                         ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:336: 找不到符号
符号: 变量 XMLGrammarDescription
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
        parser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
                                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:338: 找不到符号
符号: 类 XSGrammar
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            XSGrammar xsg = (XSGrammar) parser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, source);
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:338: 找不到符号
符号: 类 XSGrammar
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            XSGrammar xsg = (XSGrammar) parser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, source);
                             ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:338: 找不到符号
符号: 变量 XMLGrammarDescription
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            XSGrammar xsg = (XSGrammar) parser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, source);
                                                               ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:339: 软件包 org.apache.xerces.xs 不存在
            org.apache.xerces.xs.XSModel xsm = xsg.toXSModel();
                                ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:340: 找不到符号
符号: 类 XSNamedMap
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            XSNamedMap map = xsm.getComponents(XSTypeDefinition.SIMPLE_TYPE);
            ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:340: 找不到符号
符号: 变量 XSTypeDefinition
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            XSNamedMap map = xsm.getComponents(XSTypeDefinition.SIMPLE_TYPE);
                                               ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:344: 找不到符号
符号: 类 XSSimpleType
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
                XSSimpleType xstype = (XSSimpleType) map.item(i);
                ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:344: 找不到符号
符号: 类 XSSimpleType
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
                XSSimpleType xstype = (XSSimpleType) map.item(i);
                                       ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\impl\XSDGenericType.java:12: 软件包 org.apache.xerces.impl.dv 不存在
import org.apache.xerces.impl.dv.XSSimpleType;
                                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\impl\XSDGenericType.java:36: 找不到符号
符号: 类 XSSimpleType
位置: 类 com.hp.hpl.jena.datatypes.xsd.impl.XSDGenericType
    public XSDGenericType(XSSimpleType xstype, String namespace) {
                          ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:371: 找不到符号
符号: 变量 XSConstants
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            case XSConstants.BASE64BINARY_DT:
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:372: 找不到符号
符号: 变量 Base64
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
                byte[] decoded = Base64.decode(validatedInfo.normalizedValue);
                                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:375: 找不到符号
符号: 变量 XSConstants
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            case XSConstants.BOOLEAN_DT:
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:378: 找不到符号
符号: 变量 XSConstants
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            case XSConstants.HEXBINARY_DT:
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:379: 找不到符号
符号: 变量 HexBin
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
                decoded = HexBin.decode(validatedInfo.normalizedValue);
                          ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\datatypes\xsd\XSDDatatype.java:382: 找不到符号
符号: 变量 XSConstants
位置: 类 com.hp.hpl.jena.datatypes.xsd.XSDDatatype
            case XSConstants.UNSIGNEDSHORT_DT:
                 ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\assembler\assemblers\ReasonerFactoryAssembler.java:102: 警告:最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
对于 varargs 调用,应使用 java.lang.Class
对于非 varargs 调用,应使用 java.lang.Class[],这样也可以抑制此警告
            { return (ReasonerFactory) c.getMethod( methodName, null ).invoke( null, null ); }
                                                                ^
C:\Jena-2.5.4\src\com\hp\hpl\jena\assembler\assemblers\ReasonerFactoryAssembler.java:102: 警告:最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
对于 varargs 调用,应使用 java.lang.Object
对于非 varargs 调用,应使用 java.lang.Object[],这样也可以抑制此警告
            { return (ReasonerFactory) c.getMethod( methodName, null ).invoke( null, null ); }
                                                                                     ^
注意:某些输入文件使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:某些输入文件使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
100 错误
2 警告

Process completed.


--  作者:kimini
--  发布时间:2/22/2008 7:08:00 PM

--  
大侠出来帮帮小弟,谢谢
--  作者:jpz6311whu
--  发布时间:2/22/2008 8:34:00 PM

--  
Jena所需要的包没有完全加到程序的classpath里面
--  作者:kimini
--  发布时间:2/22/2008 9:53:00 PM

--  
我检查了classpath,已将/lib下的 *.jar 全部加进去了

是不是我的 import语句中,在加入jena的某个类时,是不是不能用 .* ,而应该具体某个类

还有,我对我的推理规则语句,不是很有把握,我想请问一下 如果x是y的一个实例,是不是可以写成   ?x  Individual  ?y ,其中 “Individual”  可由推理规则直接理解吧??因为生成的owl文件没有 Individual 属性  

以上的疑问请帮忙解答一下


--  作者:jpz6311whu
--  发布时间:2/23/2008 11:31:00 AM

--  
你用的什么ide?jcreator?
--  作者:kimini
--  发布时间:2/23/2008 2:04:00 PM

--  
回ls,我确实是在Jcreator下编译的
我同时也在dos下,用jdk的命令编译,出现同样的错误信息
有点晕乎,望指点
--  作者:jpz6311whu
--  发布时间:2/23/2008 9:41:00 PM

--  
你对工程点右键,打开“Properties”-->“Required Library”
然后把ClassPath那个文本框的内容贴出来看看,例如,我这里是这样:
:\JavaProgramFiles\JCreatorV3\MyProjects\Test\classes;D:\code\eclipse\lib\Jena2_5_2\antlr-2.7.5.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\jre\lib\rt.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\lib\dt.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\lib\tools.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\jre\lib\ext\dnsns.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\jre\lib\ext\localedata.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\jre\lib\ext\sunjce_provider.jar;D:\JavaProgramFiles\Java\jdk1_5_0_06\jre\lib\ext\sunpkcs11.jar
--  作者:chris
--  发布时间:2/23/2008 10:58:00 PM

--  
[Rule1:(?x Use_OS ?y),(?y Individual ?z) -> (?x Use_OS ?z)]

你的规则用SWRL写的?
Jena现在支持SWRL呢吗?
我要去学习呢


--  作者:jpz6311whu
--  发布时间:2/24/2008 12:35:00 AM

--  
这个不是SWRL
--  作者:kimini
--  发布时间:2/24/2008 11:33:00 AM

--  

谢谢ls,重新设一下,现在可以了
十分感谢
--  作者:worldcross
--  发布时间:2/28/2008 4:07:00 PM

--  
你好,在你发的帖子中,你说你的问题已经解决了,

我现在遇到一个类似的问题,
请问你的那个推理规则
[Rule1:(?x Use_OS ?y),(?y Individual ?z) -> (?x Use_OS ?z)]
对吗?


--  作者:kimini
--  发布时间:2/29/2008 11:07:00 AM

--  
推理规则中的“Individual”属性在jena包中没有定义

如果x是y的一个实例,应该表述 为(?x rdf:type?y)

规则中的Use_OS是我自定义的ObjectProperty


--  作者:sunny-baby
--  发布时间:2/29/2008 6:21:00 PM

--  


--  作者:worldcross
--  发布时间:3/3/2008 9:59:00 AM

--  
你好,
你能把你的实验成功的程序和本体给我发一份吗?贴上来也行,非常感谢
--  作者:worldcross
--  发布时间:3/3/2008 10:21:00 AM

--  
发贴心情
你好,
你能把你的实验成功的程序和本体给我发一份吗?贴上来也行,非常感谢
worldcross@126.com
--  作者:dasotkb
--  发布时间:3/16/2008 8:57:00 PM

--  
請問您出現org.apache..... 那種錯...是否就是在classpath那裡設定的問題呢?
因我也有跟你一樣類似的問題...thanks ..可否發一份你的檔給我try看看...
humor7207@yahoo.com.tw   謝謝
--  作者:micropuss
--  发布时间:3/18/2008 10:27:00 AM

--  
我用的protege owl api需要把protege安装目录以及西面的plugin下owl目录下的所有jar文件全部加到工程中就可以了。用racer推理机的时候,首先启动racer,然后连接,进行推理。
--  作者:lchsi324
--  发布时间:3/20/2008 12:04:00 PM

--  
ddd
--  作者:koolfenglei
--  发布时间:4/2/2008 10:56:00 AM

--  
我刚接触本体推理这一块,问你一个弱弱的问题,parseRules函数是在那个包里吗?还是你自己定义的,再就是你能把你试验成功的代码发给我一份吗?我的邮箱koolfenglei@163.com,包括你自己定义的那个Use_OS的代码,谢谢了!
--  作者:ctyixin
--  发布时间:4/3/2008 10:00:00 AM

--  
楼主,您好,我用protege先做了本体,然后在eclipse中输入了同样的程序, 但是这一句
for (StmtIterator i = infmodel.listStatements(null,Use_OS,null);i.hasNext();){
中的Use_OS,系统提示cannot be resolved。怎么回事啊?我也定义的是ObjectProperty啊
--  作者:ZHUXIAOTIAN
--  发布时间:4/8/2008 11:11:00 PM

--  
C:\Jena-2.5.4\src\inference_os.java:19: 找不到符号
符号: 变量 Use_OS
位置: 类 inference_os
        for (StmtIterator i = infmodel.listStatements(null,Use_OS,null);i.hasNext();){

请问你上面的那个问题是怎么解决的


--  作者:ZHUXIAOTIAN
--  发布时间:4/8/2008 11:30:00 PM

--  
楼主,您好,我用protege先做了本体,然后在eclipse中输入了同样的程序, 但是这一句
for (StmtIterator i = infmodel.listStatements(null,Use_OS,null);i.hasNext();){
中的Use_OS,系统提示cannot be resolved。怎么回事啊?我也定义的是ObjectProperty啊
--  作者:ctyixin
--  发布时间:4/17/2008 3:34:00 PM

--  
???
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
375.000ms