2011-12-08 2 views
2

Q1을 사용하여 다른 이름으로 리소스를 만드는 방법. 예나 프레임 워크와 자바를 사용하여, 나는 자원의 배열을 만들 수 있습니다, 그 이유는 CSV 파일을 읽고 각 라인에 대한 리소스를 생성하고, 두 줄은 그래서 멀리 TTO 필요 관련된 다시 가정이 수행 한 후프로그래밍 (동적) 리소스 s1, 리소스 s2 ,,,

Resource single_process1 = createResource() 

을 두 번째 라인 :

Resource single_process2 = createRessource() 

당신은 숫자 1, 2, 나는 그것을 (자원 이름의 일부로 추가) 두 자원이 너무 관련되어 있기 때문에 그래서 나중에 내가 그들을 결합해야 만들 필요가 통지 이 결합 된 프로세스가 두 개의 단일 프로세스 (자원)로 구성된다는 것을 참조하십시오. 자원 배열이 가능합니까? 다른 옵션은 무엇입니까?

2. 참조하는 방법 rdf : type 또는 sio : Jena에서

답변

1

먼저 한 번에 한 질문 만 StackOverflow에 게시하십시오. 이 사이트의 목적은 개별 질문에 대한 정확하고 우수한 답변을 수집하여 향후 사용자가 혜택을 누릴 수 있도록하는 데 있습니다. 따라서 각 질문은 별도의 게시물에 있어야합니다.

질문을 이해하는 데 약간의 어려움이 있습니다. 내가 의역 할 수있는 경우 :

  • 당신은 CSV 처리 중
  • 이 파일의 각 행은 하나 개의 자원과 속성에 해당하는 파일을 처리하는, 당신은 당신의 예나 Model에 대응하는 트리플을 추가 할 수 있습니다. 하나의 Resource이 주어진 행에 대한 모든 트리플의 대상이되도록 만들어진 후
  • 두 개의 주제 리소스가 동일한 것을 참조해야합니다 (예 : CSV 파일의 두 행에있는 데이터가 실제 엔티티) 당신이 정확한 요약의 경우 하나 개의 대상 자원을

를 사용하는 두 개의 자원에서 트리플을 병합 할

  • , 확실히 좀 이상한 ...하지만 당신의 데이터입니다! 어쨌든, 당신은 합리적으로 쉽게 하나에 두 개의 자원에서 문을 병합 할 수 있습니다 :

    Resource r0 = .... ; // the first subject resource 
    Resource r1 = .... ; // the second subject resource 
    
    // we discover that r0 and r1 refer to the same thing, so we 
    // want to merge their properties ... 
    
    List<Statement> r1Props = r1.listProperties().toList(); 
    
    for (Statement s: r1Props) { 
        // add the property to r0, so <r1 P O> becomes <r0 P O> 
        r0.addProperty(s.getPredicate(), s.getObject()); 
    
        // remove the statement about r1 
        // once all of r1's triples are removed, r1 is no longer in the Model 
        s.remove(); 
    } 
    

    는 내가 확실하지 않다는이 자원의 배열과 관련이있다 것입니다. 당신은 조금 더 설명해야합니다.

    Q2와 관련하여 클래스 com.hp.hpl.jena.vocabulary.RDFS을 사용하여 RDFS 네임 스페이스의 URI를 참조 할 수 있으며 RDF, OWL 및 그 외 일부도 마찬가지입니다. 자신의 어휘 수업을 만들려면 Jena schemagen을 참조하십시오.

  • 관련 문제