2011-02-26 2 views
2

내가보고 Protege는을 통해 OWL와 함께 연주와 나는 처음부터 데이터베이스를 구축하기위한 (제대로의 "흐름"과 생각을 이해하고 있는지 알고 싶습니다되었습니다RDF와 OWL 워크 플로우 질문

  1. 은 Protege는 상당
  2. 수출 RDF
  3. 사용 대상 데이터를 RDF
  4. -
  5. 수출하여 triplestore와 함께 triplestore의 일부 요소로 정의 된 클래스에이 스키마를 사용하여 데이터에 대한 OWL 온톨로지를 생성
  6. 사용 openRDF/참깨 또는 예나 확실히 모든
  7. 사용에게 OWL을 triplestore하여 RDF 데이터를 얻을 수
  8. 사용 SPARQL 괜찮 확인하기 위해 OWL 온톨로지에 대한 당신의 RDF의 triplestore의 유효성을 검사 정의 된 데이터와 온톨로지
  9. 를로드 추론을하는 사람 (여기서는별로 명확하지 않음)

나는 다른 사람들이 무엇을하고 있으며 어떻게 이러한 유형의 문제에 접근하고 있는지에 대해 알고 싶습니다. 또한

나는 특정 질문이 있습니다

그것은 올빼미 추론 만 온톨로지에 대한 하위 클래스의 슈퍼 클래스의 관계를 결정하는 데 사용되는 것 같다. 그러나 데이터면에서 SPARQL의 하위 클래스 - 수퍼 클래스 관계를 쿼리하는 방법. 예를 들어, 내 트리플 스토어가 (pizzaID1은 marghareta 임)를 정의하고 SPARQL에서 채식 피자를 쿼리하면 pizzaID1이 반환되는지 확인해야합니다.

나는 그 대답이 모든 관계가 명시 적으로 명시된 "전체 그래프"를 생성하는 것과 관련이 있다고 생각한다. sparql은 triplestores를 쿼리 할 때 자동 추론을 수행합니까, 아니면 그러한 전체 그래프를 반드시 생성해야합니까?

답변

5

가능한 워크 플로가 많지만 실제로 그렇게 복잡하지 않아도됩니다.

하위 SPARQL로

  • 쿼리 데이터를 triplestore 일부 편집기에서 OWL 온톨로지를 생성
  • 수출 온톨로지 RDF
  • 가져 오기 온톨로지로
  • 데이터 가져 오기를 triplestore하기/수퍼 클래스 추론은 추론자가 사용되는 것입니다. 기본 추리 프로그램이있는 저장소를 사용하면 정보가 SPARQL에서 사용됩니다. 그래서 당신이 할 경우 :

    SELECT ?pizza 
    WHERE { 
        ?pizza a :VegitarianPizza . 
    } 
    

    당신은 클래스 VegitarianPizza의 구성원, 또는 그것의 서브 클래스의 모든 피자를 다시 얻을 것이다.

    저는 VegitarianPizza 클래스가 육류가 들어 있지 않은 피자로 당신의 온톨로지에 정의되어 있다고 생각합니다. 손으로 각 피자를 수업에 배정하는 대신? 그렇지 않으면 실제로 OWL이 필요하지 않으며 훨씬 단순한 RDFS 만 사용할 수 있습니다.