2014-01-20 2 views
3

hasContent라는 데이터 속성이있는 OWL 클래스가 있습니다. 속성의 범위는 string입니다. DL 검색어 사용 (예 : 운문과 hasContent "운문의 완전한 텍스트", 나는 지정된 텍스트가 들어있는 구절을 찾을 수 있습니다. 나는 이제 몇 마디가 담긴 모든 구절들을 찾아 내고 싶다.Protege OWL 쿼리에서 정규식을 사용할 수 있습니까?

Protege OWL 쿼리에서 정규 표현식을 사용할 수 있습니까? 어떤 예가 있습니까? 아니면 좀 더 복잡한 쿼리 언어 SPARQL을 사용해야합니까?

답변

0

SPARQL은 RDF의 쿼리 언어이며 이유가 있습니다. 일반 정규식 (withou SPARQL)을 사용하면 대상 (인스턴스, 클래스, 속성 등)을 정의 할 수없고 온톨로지 사용의 이점을 활용하지 못합니다. 일반 표현은 일반 텍스트에 대해서는 문제가 없지만 온톨로지는 일반 텍스트가 아니므로이를 취급해서는 안됩니다. restricting string values의 경우 정규 표현식을 이미 포함하고있는 SPARQL을 사용하는 것이 좋습니다.

또 다른 해결책은 RDF/XML 문서로 대상 온톨로지를 내보내고 간단한 문서 인 것처럼 정규 표현식 검색을 적용하는 것입니다.

희망이 있습니다.

+0

OWL 온톨로지를 쿼리 할 때 SPARQL을 사용하려면 OWL이 RDF로 인코딩되는 방법을 알아야하며 이에 약간의 변형이있을 수 있습니다. Protégé에서 제공되는 DL 쿼리를 사용하거나 OWLAPI와 같은 OWL 전용 API를 사용할 수 있다는 것이 실제로 유용합니다. [loopasam의 대답] (http://stackoverflow.com/a/21231025/1281433)에 따르면 xsd 패싯은 패턴 구성을 사용할 수 있으므로 SPARQL을 사용하지 않고도 정규식 쿼리를 수행 할 수 있습니다. –

2

OWL 맨체스터 구문 (Protege에서 사용하는 구문) 내에서 XSD 패싯을 직접 사용할 수 있습니다. 패싯을 사용하면 pattern 구조를 통해 정규 표현식으로 할 수있는 일 중 일부를 얻을 수 있습니다. 구현은 추론 다르며, 일부 때로는 때로는하지 작동 할 수 있습니다 : -/ 그것에 대해 자세한 내용을 보려면하는 일부 링크를 S : restrict xsd:string to [A-Z] for rdfs:range

  • 대답은면 사용의 예를 포함한다.
  • 패싯 specs.
  • 또는 다른 답변에서 제안한 SPARQL.