1、protege5.0可以直接添加图片、视音频地址到数据属性中,以xsd:string的形式,然后保存本体(可以将本体保存到mysql中,本文直接以.owl文件的格式存储)。
2、通过jena解析出图片、视音频等的地址。
3、使用myeclipse通过以上地址加载相应的内容。
具体操作如下所示。
import java.awt.FlowLayout;
import java.util.Iterator;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.hp.hpl.jena.ontology.DatatypeProperty;
import com.hp.hpl.jena.ontology.Individual;
import com.hp.hpl.jena.ontology.ObjectProperty;
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntDocumentManager;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.ontology.OntProperty;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class imageload extends JFrame {
private static final long serialVersionUID = 1L;
public static String SOURCE = "http://www.semanticweb.org/zg/ontologies/Plant.owl";//本体名
static String NS = SOURCE + "#";
static OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
static String imageurl;
public static void main(String[] args) {
// create the base model
OntDocumentManager dm = m.getDocumentManager();
dm.addAltEntry( SOURCE,"file:" + "D:/eclipse-workspace/Plant-tuili.owl" );//本体存放的位置
m.read( SOURCE, "RDF/XML" );
//get root node Dicotyledons
OntClass rootClass=m.getOntClass(NS+"Dicotyledons");//查找的起点“类”
int depth=0;
printOntClassNode(rootClass,depth);
/*
private static void printOntClassNode(OntClass oc,int depth)
{//oc是类名
System.out.println("OntClass:"+oc.getLocalName()+" Depth:"+depth);//类的子类
//print all subclass
String superclass=oc.getLocalName();
System.out.println(superclass);
if(oc.hasSubClass())
{
for(Iterator<OntClass> it = oc.listSubClasses(true); it.hasNext();){
OntClass c = it.next();
printOntClassNode(c, depth+1);