2012-06-11 2 views

답변

5

과 관련된 "hasVehicle"라는 개체 속성이 있습니다. 알고 있어야 할 몇 가지 뉘앙스가 있습니다. Jena RDF frames how-to이 자세히 설명합니다.

업데이트

확인, 난 당신의 코드 샘플을보고, 당신의 설명을 읽고, 나는 당신이 원하는 무엇을 이해하지 두려워했습니다.

package test; 

import com.hp.hpl.jena.ontology.*; 
import com.hp.hpl.jena.rdf.model.*; 
import com.hp.hpl.jena.util.FileManager; 
import com.hp.hpl.jena.util.iterator.ExtendedIterator; 

public class LeandroTest 
{ 
    public static String NS = "http://www.owl-ontologies.com/TestProject.owl#"; 

    public static void main(String[] args) { 
     OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); 
     FileManager.get().readModel(m, "./src/main/resources/project-test.owl"); 

     OntClass equipe = m.getOntClass(NS + "Equipe"); 
     OntProperty nome = m.getOntProperty(NS + "nome"); 

     for (ExtendedIterator<? extends OntResource> instances = equipe.listInstances(); instances.hasNext();) { 
      OntResource equipeInstance = instances.next(); 
      System.out.println("Equipe instance: " + equipeInstance.getProperty(nome).getString()); 

      // find out the resources that link to the instance 
      for (StmtIterator stmts = m.listStatements(null, null, equipeInstance); stmts.hasNext();) { 
       Individual ind = stmts.next().getSubject().as(Individual.class); 

       // show the properties of this individual 
       System.out.println(" " + ind.getURI()); 
       for (StmtIterator j = ind.listProperties(); j.hasNext();) { 
        Statement s = j.next(); 
        System.out.print(" " + s.getPredicate().getLocalName() + " -> "); 

        if (s.getObject().isLiteral()) { 
         System.out.println(s.getLiteral().getLexicalForm()); 
        } 
        else { 
         System.out.println(s.getObject()); 
        } 
       } 
      } 
     } 
    } 
} 

이 처음 목록으로, 다음과 같은 출력을 제공합니다 : 내가 무슨 짓을했는지 것은 뭔가 내가 코멘트에있는 당신의 설명에 따라 당신이 할 수 있습니다을 추측 않습니다 있도록 코드 샘플을 쓰기 재 rdf:type#Equipe의 모든 자원을 나열한 다음 각각의 모델에 대해 에서까지 Equipe라는 링크가있는 모델의 자원을 나열한 다음 링크 된 자원의 경우 모든 RDF 특성을 나열합니다. 나는 이것이 특별히 유용한 일이라고 생각하지는 않지만 Jena에서 RDF 그래프를 트래버스하기위한 패턴을 보여줄 수 있기를 바랍니다. 당신이 어떤 후속 질문이있을 경우 특히

Equipe instance: Erica 
Equipe instance: Etiene 
    http://www.owl-ontologies.com/TestProject.owl#EtapaExecucao_01 
    EtapaExecucao_DataModificao -> 2010-03-29T10:54:05 
    caso_de_teste -> http://www.owl-ontologies.com/TestProject.owl#CasoDeTeste_01 
    EtapaExecucao_StatusTeste -> Passou 
    EtapaExecucao_Reprodutibilidade -> Sempre 
    type -> http://www.owl-ontologies.com/TestProject.owl#EtapaExecucao 
    EtapaExecucao_VersaoDefeitoSurgiu -> Release ICAMMH_01.00 
    EtapaExecucao_Severidade -> Minimo 
    EtapaExecucao_VersaoDefeitoCorrigiu -> Release ICAMMH_02.00 
    DataExecucao -> 2009-07-10T09:42:02 
    EtapaExecucao_StatusDoDefeito -> Nao sera corrigido 
    EtapaExecucao_DataSubmissao -> 2009-06-30T09:43:01 
    Tipos_Fases -> http://www.owl-ontologies.com/TestProject.owl#FaseTesteExecucao 
    EtapaExecucao_Resolucao -> Fechado 
    executor_do_teste -> http://www.owl-ontologies.com/TestProject.owl#Etiene 
    EtapaExecucao_PrioridadeCorrecao -> Normal 
Equipe instance: Fabio 
Equipe instance: Melis 

몇 가지 일반적인 제안 :

  • , 그것은 막연한 불분명 질문에 대답하는 것은 매우 어렵다 특정 질문을;
  • 실행 가능한 코드 가능하면 제공 : 당신은 질문의 코드 및 데이터 를 제공, 아래에있는 내 코드를 가지고 이클립스와 같은 코드 환경에 드롭하고
  • 그것을 밖으로 시도 할 수 페이스트 빈
  • 에 떨어져 연결되지
  • 문제를 보여주기 위해 필요한 최소한의 형태로 코드와 데이터를 줄이기 위해 약간의 시간이 걸릴 : 당신의 피보호자 파일이 긴 600 선이었다
+0

미안 초보자가 지금은 얻을 수 없다, 내 코드를 보면 해요 목록에있는 모든 인스턴스의 개체 속성이며 데이터 형식 속성과 해당 값을 나열합니다. 목록 개체 속성이있는 코드를 보여줄 수 있습니까? 난에 대한 내 현재 인스턴스와 연관된 인스턴스의 이름이 필요합니다. – Leandro

+0

죄송합니다 내 코드보세요 : http://pastebin.com/f6c0sF1F – Leandro

+0

데이터없이 pastebin 코드를 실행할 수 없습니다. 또한 StackOverflow의 목표 중 하나 인 미래에 대한이 질문을 보관하기 위해 데이터를 포함하여 완전한 실행 가능한 예제를 별도의 pastebin에 넣지 말고 해당 질문에 붙여 넣으십시오. –