我无法从本体文件中获取属性

时间:2015-01-28 11:06:22

标签: java eclipse jena owl ontology

我无法从本体文件中获取属性。我是本体论和apache jena的新手。而且我也无法以正确的方式使用'getProperty'命令。 直到这些代码我能够获得类,但我不知道如何使用'getProperty','listObjectsOfProperty'命令来获取属性。

package onto1;
import java.io.InputStream;

import org.semarglproject.vocab.OWL;

import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.FileManager;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;


public class ontolo {

    public static void main(String[] args) {
        OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
        String inputFileName = "file:///F:/apache-jena-2.12.1/travel.owl";

        InputStream in = FileManager.get().open( inputFileName );
        if (in == null) {
           throw new IllegalArgumentException("File: " + inputFileName + " not found");
        }
        //Property hasTime = model.createProperty( "file:///F:/apache-jena-2.12.1/shopping.owl#" );
        //Property getProperty ( inputFileName, hastime) ;

        model.read(in, null);
        com.hp.hpl.jena.rdf.model.Property irrr = model.getProperty(OWL.ON_PROPERTIES);
        com.hp.hpl.jena.rdf.model.NodeIterator iter1 = model.listObjectsOfProperty(irrr);
        com.hp.hpl.jena.rdf.model.ResIterator i = model.listSubjectsWithProperty (irrr);
        //com.hp.hpl.jena.rdf.model.Statement iir = model.getRequiredProperty(inputFileName, irrr);
        //com.hp.hpl.jena.rdf.model.NodeIterator iter2 = model.listObjectsOfProperty(inputFileName.subClassOf);
        ExtendedIterator<OntClass> iter = ((OntModel) model).listClasses();

           while ( iter.hasNext()){

               System.out.println(iter.next().toString());
           }


        // write it to standard out
        model.write(System.out);

        }



    }

0 个答案:

没有答案