부모 클래스 장난감 및 하위 클래스를 actiofigures, activities, arts bike로 생성하는 다음 코드를 작성했습니다. SPARQL 쿼리 (귀하의 경우 기본 네임 스페이스로) 당신이 클래스를 작성하는 동안클래스의 하위 클래스 검색을위한 sparql 쿼리
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.RDFNode;
public class jenaquery
{
static String defaultNameSpace ="http://semanticweb.org/ontologies";
static Model model = null;
public static void main(String[] args)
{
model = ModelFactory.createOntologyModel()
OntClass Toys = ((OntModel) model).createClass( "Toys");
OntClass ActionFigures = ((OntModel) model).createClass("ActionFigures");
OntClass Arts = ((OntModel) model).createClass( "Arts");
OntClass Activities = ((OntModel) model).createClass( "Activities");
OntClass Bikes = ((OntModel) model).createClass( "Bikes");
ActionFigures.addSuperClass(Toys);
Activities.addSuperClass(Toys);
Arts.addSuperClass(Toys);
Bikes.addSuperClass(Toys);
String queryString ="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "+
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
"select ?uri "+
"where { "+
"?uri rdfs:subClassOf<http://semanticweb.org/ontologies#Toys> "+
"} \n ";
com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);
System.out.println("----------------------");
System.out.println("Query Result Sheet");
System.out.println("----------------------");
QueryExecution qe = QueryExecutionFactory.create(query, model);
System.out.print("Query executed");
ResultSet resultSet = qe.execSelect();
while(resultSet.hasNext())
{
QuerySolution soln = (QuerySolution)resultSet.next();
RDFNode name = soln.get("?name");
if(name!=null)
{
System.out.println(" Subclasses"+name.toString());
}
else
System.out.print("No subclasses");
}
}
qe.close();
}
}
당신은'의 서브 클래스를 요구하고', 그러나'createClass ("Toys")'를 호출하면 클래스 ''이 생성됩니다. 대신에,'createClass (defaultNameSpace + "Toys")'를 사용해야합니다. –