Articles

:로봇을 위한 도구 온톨로지 자동화하는 워크플로우

개요

로봇 제공하는 표준화된 아직 구성을 지원하는 방법은 온톨로지 개발 라이프사이클을 통해 도서관의 일반적인 수준 높은 기능성과 명령줄 인터페이스입니다. 로봇 구축에 올빼미 API 와 호환되는 모든 온톨로지 구문을 올빼미 API 를 지원합니다:RDF/XML,올빼미/XML,거북이,올빼미 기능을 구문,올빼미 맨체스터 구문,그리고 OBO 형식입니다. 소스 코드는 Java 로 작성되었으며 오픈 소스(bsd3)라이센스하에 github 저장소에서 사용할 수 있습니다. 또한 Maven Central 의 Java 라이브러리로 출시됩니다. 로봇 코드는 Jvm(Java Virtual Machine)에서 실행되는 모든 프로그래밍 언어에서 사용할 수 있습니다. 명령 줄 도구는 Unix(macOS 및 Linux 포함),Windows 및 JVM 이 지원하는 기타 플랫폼에서 실행할 수있는 JAR 파일로 패키지됩니다. 이 JAR 파일은 명령 줄에서’로봇’을 사용하기위한 플랫폼 별 스크립트와 함께 ROBOT GitHub 사이트에서 다운로드 할 수 있습니다. 설치 지침 및 설명서는http://robot.obolibrary.org에서 사용할 수 있습니다.

아키텍처

우리는 이전에 우리가 여기에 요약 도구의 기본 아키텍처를 설명했다.

로봇 소스 코드는’로봇 코어’와’로봇 명령’의 두 부분으로 구성됩니다. ‘로봇 코어’는 일반적인 온톨로지 개발 작업을 지원하는 라이브러리로,우리는”작업”이라고 부릅니다. ‘robot-command’는 각각’robot-core’작업을 래핑하는”commands”로 나뉘어 진 명령 줄 인터페이스를 제공합니다.

대부분 로봇 작업을 포장하는 낮은 수준에서 제공하는 기능을 올빼미 API 으로 높은 수준의 공통적으로 사용할 수 있는 기능 온톨로지 개발 워크플로에 OBO 커뮤니티입니다. 최상의 호환성을 위해 ROBOT 에서 사용하는 OWL API 의 정확한 버전과 최신 Protégé 릴리스에서 사용하는 정확한 버전을 일치시키는 것을 목표로합니다. 일부 작업은 아파치 예나를 사용합니다. 각 작업은 OWL 온톨로지,OWL 추론자,OWL 클래스 등을 나타내는 Java 객체와 함께 작동합니다. 각 명령은 명령 줄 옵션 문자열 및 파일과 함께 작동합니다. 명령은 또한 다양한 변환 및 유효성 검사 단계를 수행합니다. 명령줄 인터페이스는 명령을 구문 분석하기 위해 Apache Commons CLI 라이브러리를 사용합니다.

각 작업에는 최종 제품(JAR 파일)이 생성 될 때마다 실행되는 JUnit 로 빌드 된 단위 테스트 세트가 있습니다. 로봇의 각 명령은 자체 웹 페이지(예:http://robot.obolibrary.org/reason)에 문서화되어 있습니다. 웹 페이지 작성에 인식하고 포함된 명령은 온라인 예는 구문 분석하고의 일부로 실행되는 우리의 통합,테스트 결과에 대해 비교”gold standard”세트의 출력이 있습니다. 로봇의’diff’기능은 온톨로지 파일을 비교할 때 사용되며,그렇지 않으면 표준 파일 비교가 사용됩니다. 이는 문서 및 코드의 정확성과 일관성을 보장하는 데 도움이됩니다. 단위 테스트 및 통합 테스트를 수행하는 모든 풀 요청에 codebase 트래비스를 통해 지속적인 통합(트래비스 CI),도록 기여하는 코드 베이스가 확인됩니다.

명령 및 운영

로봇의 현재 제 15 작업(에서 로봇 핵심 라이브러리)19 명령(명령줄 인터페이스). 일부 명령은 매우 전문화되어 있으며 대부분의 온톨로지 프로젝트는 모든 명령을 사용하지 않을 것입니다. 여기서는 가장 일반적이고 일반적인 명령에 대한 개요를 제공합니다. 각각의 경우에는 핵심 기능을 지원하는 작업이’로봇 핵심 라이브러리,사용할 수 있는 독립적으로 명령줄 인터페이스에서 어떤 프로그래밍 언어에서 실행되는 JVM.

Convert

RDF/XML,Turtle,Manchester,OBO format 등 다양한 OWL 온톨로지 형식이 지원됩니다. 추가 상호 운용성을 가능하게하기 위해 로봇은 지원되는 온톨로지 형식간에 변경하는’변환’명령을 포함합니다. 지원되는 형식의 전체 목록은’변환’설명서에서 찾을 수 있습니다.

추론

추론은 로봇에서 가장 중요한 작업 중 하나입니다. ‘이유’명령은 온톨로지의 논리적 유효성 검사와 자동 분류의 두 가지 용도를 다룹니다. 두 경우 모두 사용자는 추론을 수행하는 데 사용되는 선호하는 추론을 선택할 수 있습니다. 유전자 온톨로지와 같은 대형 온톨로지는 일반적으로 올빼미 엘 프로파일을 사용하여 추론을 신속하게 수행하는 엘크를 사용합니다. 관계 온톨로지와 같이 더 풍부한 공리화를 갖는 더 작은 온톨로지는 전형적으로 은둔자와 같은 완전한 OWL DL 추론을 사용한다.

입력 온톨로지에서’reason’명령이 호출되면 ROBOT 은 OWL API Reasoner 인터페이스를 사용하여 reasoner 를 시작합니다. 결과 추론 확인을 위해 존재론 논리적으로 일관된:온톨로지 일치해야 합 없 unsatisfiable 클래스(예: 불일치를 도입하지 않고 인스턴스화 할 수없는 클래스). 온톨로지가 일관성이 없으면이보고되고 실행이 중단됩니다. 로봇은 두 클래스가 동등한 사후 추론으로 추론되지 않도록하는 등 선택적으로 추가 검사를 수행 할 수 있습니다.

온톨로지가 일관되면 로봇은 자동 분류를 수행합니다. 모든 직접 유추 된’하위 클래스 소프’공리가 온톨로지에 추가됩니다. 다른 유형의 공리의 생성을 구성 할 수있다.

모든 유추 된 공리의 주장은 종종 생물 의학 온톨로지에 대한 방출 과정의 근본적인 단계입니다. 많은 이들의 존재론 수업장이라 하나의 이름 슈퍼(‘input name found,but not the associated output format A B’,B 은 다른 클래스에서 온톨로지),그리고 제로 또는 익명으로 수퍼 클래스고/또는 익명에 해당 클래스(를’input name found,but not the associated output format/equivalentTo(R 일부 B)’,R 은 객체의 속성입니다). 이러한 익명 클래스는 추론자가 추론을 할 수있게하며,그 다음에 주장됩니다. 따라서 온톨로지의 릴리스 버전에서는 클래스가 둘 이상의 명명 된 수퍼 클래스를 가질 수 있습니다.

‘이유’명령에는 추가”도우미”명령이 있습니다. ‘Relax’명령은 간단한 구조 규칙에 따라 subClassOf 공리를 수반한다고 주장합니다:’a equivalentTo(r some B)와…’는’a subClassOf r some b’를 수반합니다. 이 유용할 수 있으로 소비자의 바이오-온톨로 종종 이러한 표정,예를 들어,partonomy 에서 가 Uberon. 는’즐기기’명령을 완화 온톨로지 개발에서 필요한 주장 외에도 이러한 동등한 원칙이며,따라서 그것은 또한 종종에 포함되어 있 릴리스 워크플로우를 경험할 수 있습니다. 마지막으로,’reduce’명령은 중복 된 하위 classof 공리를 제거하고’relax’후에 사용하여 해당 단계에서 주장 된 중복 공리를 제거 할 수 있습니다.

‘materialize’명령은 Emr(Expression Materializing Reasoner)을 사용하여’a subClassOf r some b’형식의 유추 된 표현식을 주장합니다. ‘이유’명령이 유추 된 명명 된 수퍼 클래스를 주장하는 경우’구체화’는 익명의 수퍼 클래스를 주장합니다. 이것은 표준 릴리스주기의 일부가 아니지만 완전한 온톨로지 하위 집합을 만드는 데 유익 할 수 있습니다.

과 함께 작업한 외부 온톨로

OBO 주조하는 것을 목표로 좌표 온톨로에서 모듈,패션 부분의 온톨로지를 일부로 사용할 수 있는 빌딩 블록에 대한 기타 온톨로. 예를 들어,Chebi chemical entities ontology 는 유전자 온톨로지에서 대사 과정 및 활동에 대한 OWL 정의를 구성하는 데 사용됩니다. 사용 사례에 따라 외부 온톨로지를 활용하고 온톨로지 간의 종속성을 관리하는 다양한 전략이 있습니다.

추출

‘추출’명령은 추출 할 엔티티 세트(“시드”)를 기반으로 모듈을 만듭니다. MIREOT,TOP,BOT 및 STAR 의 네 가지 추출 방법(‘–method’옵션으로 지정)이 있습니다.

로봇의 MIREOT 추출 방법은 의 원칙에 따라 동일한 이름 및 필요로 하는 하나 이상의”하단의”엔터티를 지정되어 있습니다. 선택적으로 하나 이상의”상위”엔티티를 지정할 수도 있습니다. 이 명령은 모든”하단”레벨 엔티티와 해당 조상을 입력 온톨로지에서”상단”레벨까지 추출합니다. “Top”엔티티가 제공되지 않으면 최상위 엔티티(‘owl:Thing’)까지의 조상이 포함됩니다.

상위,BOT,스타 방법을 사용하의 올빼미 API 를 구문 지역의 추출 모듈(SLME)구현이 보장되는,캡처하는 모든 정보를 논리적으로 관련된 씨앗을 설정합니다. 봇 메소드(“하단”)에는 입력 엔티티와 해당 조상 간의 모든 관계가 포함됩니다. 맨 위 메서드에는 입력 엔터티와 해당 하위 간의 모든 관계가 포함됩니다. 마지막으로 STAR 메서드에는 입력 엔터티 간의 모든 관계 만 포함됩니다. STAR 메서드는 가장 작은 출력을 생성하는 반면 TOP 메서드는 일반적으로 가장 큰 출력을 생성합니다.

를 지원하기 위해서 온톨로지는 용어의 기원은,’추출’명령에는’–주석–source 진정한 옵션에 주석을 달 추출 용어의 URL 을 원 온톨로지는 것을 추출합니다.

제거 및 필터링

‘제거’및’필터’명령은 OWL 공리에 대한 세밀한 작업에 사용됩니다. ‘제거’를 통해 사용자는 대상 온톨로지에서 제거하고자하는 공리 세트를 선택할 수 있습니다. ‘필터’는 반대를 수행하여 선택한 공리 만 입력에서 새로운 출력 온톨로지로 복사됩니다.

이러한 두 가지 명령에 의해 작동을 시작으로 씨의 집합체는,다음에 적용 다양한 선택을 찾을 수 관련된 실체,그리고 마지막으로 선택하는 공지 유형을 제거하거나 필터가 있습니다. 우리가 기대하는 소수만”전력 사용자는”이 기능을 사용하려면 직접 그러나 이러한 명령을 것이 결국 기초를 제공하는 다른 높은 수준의 명령입니다.

이러한 명령을 사용할 수 있습을 생성하는 온톨로지 하위 집합을 기반으로 주석에 의해 하나의 필터링하거나 제거하는 엔티티로 지정한 주석이 있습니다. OBO Foundry 온톨로지는 종종’in subset’속성으로 클래스에 주석을 달아 클래스를 사용할 수있는 위치를 지정합니다. 주석 선택기를 사용하면 사용자가 전체 주석 값 또는 정규식을 사용하여 일치시킬 패턴을 제공 할 수 있습니다.

Merge

‘merge’명령은 두 개 이상의 개별 입력 온톨로지를 단일 온톨로지로 결합합니다. 그것은 또한 제공합 병합하는 기능 모두 가져 온톨로지를 하나의 입 온톨로지 하나의 주요 온톨로지,자주를 만들 때 사용됩니다.

병합하는 수입된 온톨로(지정된 수입에 의해 문)입력하여 온톨로지 자동으로 수행됩니다,그래서 그 사용자가 필요하지 않 목록 각 가져 온톨로지로 입력합니다. 우리는 옵션을 제공합(‘–붕괴를 가져오기-퍼 false’)이 기능을 해제를 지원,경우에는 사용자가 병합 여러 입력 있는 온톨로 가져올 문을 유지하려는 그들의 수입 별개입니다.

쿼리 및 보고

온톨로지 워크플로 일반적으로 포함한 쿼리를 운영해 온톨로지,보고서 작성에 도움이 될 수 있는 유익한 모두에 대한 편집자와 사용자의 온톨로지–예를 들어,테이블의 모든 클래스 플러스 그들의 텍스트 정의에 있습니다. 쿼리 작업은 유효성 검사 검사에도 사용될 수 있습니다. SPARQL 쿼리 언어는 온톨로지 유지관리자가 온톨로지 보고서 및 유효성 검사 검사를 만들 수 있는 보편적이고 선언적인 방법을 제공합니다. 로봇은’query’명령을 사용하여 쿼리를 수행하거나’verify’를 사용하여 유효성 검사를 수행하는 편리한 방법을 제공합니다. 또한,’보고서’명령을 포함한 구성이 가능한 패키지의 표준에 대한 쿼리를 OBO 프로젝트에서 사용할 수 있는 온톨로지 모든 워크플로,필요로하지 않고 유지 관리자를 잘 알고 있 SPARQL.

Query

로봇의’query’명령은 온톨로지 또는 기타 RDF 리소스에서 SPARQL 쿼리를 실행합니다. 이 사용할 수 있는 온톨로지 관리자를 수행되는 대화형 쿼리,또는 더 일반적으로 포함하는 표준 쿼리로는 온톨로지합니다. ‘Query’명령은 OWL API 가 아닌 Apache Jena 를 사용하는 몇 가지 작업 중 하나를 래핑합니다. Jena API 를 사용하면 로봇이 rdf 모델 객체에 포함 된 트리플 모음으로 온톨로지를로드 할 수 있습니다. 그것은 우리가 모든 쿼리를 실행하는 데 사용하는 해당 모델에 대한 SPARQL 쿼리 엔진을 제공합니다.

‘SPARQL SELECT’쿼리는 쉼표 또는 탭으로 구분 된 결과 테이블을 생성합니다. ASK 쿼리는 부울 값을 가진 파일을 생성합니다. ‘SPARQL CONSTRUCT’쿼리는 RDF 파일을 생성하며,이 파일은 로봇에 의해 추가로 처리되거나로드 된 온톨로지에 다시 병합 될 수 있습니다. ‘CONSTRUCT’s 는”매크로”스타일 확장을 수행하는 편리한 방법을 제공합니다. ‘SPARQL UPDATE’쿼리는 온톨로지에서 직접 데이터를 삽입 및/또는 제거합니다(RDF 모델). ROBOT 은 업데이트 된 RDF 모델을 OWL API 온톨로지 객체로 다시 변환하여 지원되는 구문 중 하나에 저장합니다.

‘query’명령은’–use-graphs’옵션을 사용하여 가져온 온톨로지를 명명 된 그래프로로드하는 옵션을 지원합니다. 설정된 경우’true’,수입 쿼리할 수 있으로 이름을 그래프(이름되고 있는 온톨로지의 IRI)및 기본 그래프가 연합의 모든 그래프. 기본값을 사용하는 그래프는 유사한 실시하는’병합’의 모든 수입하기 전에를 쿼리하지만,차이 수입은 것을 잃었에서’병합’.

Verify

‘verify’명령은’SPARQL SELECT’실행의 변형입니다. 쿼리가 사용하는지 확인 온톨로지를 준수하는 소정의 조건 집합;예를 들어,없다는 것을 보장하는 클래스가 여러 텍스트 정의에 있습니다. 선택 쿼리가 주어지면 결과가 반환되지 않으면’확인’이 성공합니다(즉,상태 코드 0 으로 종료). 실패 할 것입니다(즉 쿼리에서 반환되는 결과가 있으면 0 이 아닌 상태 코드로 종료하십시오). 그래서 주어진 SPARQL 선택하는 쿼리를 위한 잘못된 데이터,’확인’명령이었는지 확인 온톨로지(또는 다른 리소스)포함되지 않은 잘못된 데이터가 있습니다.

‘보고서’명령의 확장은’쿼리’와’확인’을 제공합 시리즈 구성할 수 있는 품질 제어(QC)확인을 위해 존재론 및 반환 스프레드시트나 YAML 출력의 위반입니다. 스프레드시트에서 출력 하나 쉼표 또는 탭으로 구분된 형식과 쉬운 사용자를 읽는 동안,YAML 출력 될 수 있다 쉽게 구문 분석하여 다른 프로그램입니다.

QC 검사에는 주석 검사,논리 검사 및 메타 데이터 검사가 포함됩니다. 주석을 촉진 하는 것이 중요 인간의 이해,그래서’보고서’명령을 발견한 경우에는 없거나 중복된 주석은 문제의 원인일 수 있습니다. 논리적 검사는 온톨로지의 구조적 일관성과 일관성을 살펴 봅니다. 마지막으로,’보고서’는 obo Foundry 권장 사항에 의해 지정된대로 누락 된 온톨로지 메타 데이터를 식별합니다.

보고되는 세 가지 수준의 위반이 있습니다:오류,경고 및 정보. 누락되거나 중복 된 레이블과 같이 오류가 가장 심각합니다. 기본적으로’보고서’명령은 오류 수준 위반이있는 경우 실패하여 자동화 된 빌드 프로세스를 중단합니다. 온톨로지를 게시하기 전에 이러한 유형의 위반을 수정해야합니다. 경고 수준의 위반에 고정되어야 가능한 한 빨리,예를 들어,유추하는 하나의 클래스 정당한되는,일반적으로 의도에 OBO 프로젝트입니다. 정보가 권장되는 수정하는 데 도움이 일관성을 유지하기 위해서 OBO Foundry 온톨로,같은 시작 정의는 대문자로 끝나는 기간입니다. ‘보고서’는 다른 위반 수준에서 실패하거나 위반에 관계없이 실패하지 않도록 명령 줄 옵션으로 구성 할 수 있습니다. 우리는 사용자가 적용 할 수있는 수동 수정에 대한 제안으로 각 QC 수표를 문서화합니다.

각 QC 검사에 대한 보고서 수준이있는 기본”프로필”은 ROBOT 에서 제공하지만 사용자는 자신의 프로필을 만들 수도 있습니다. 에서 이러한 프로필을 변경할 수 있습니다 그들은 위반 수준의 개별 검사를 선택하는 특정 제외 수표,그리고 자신을 추가 검사를 트리. 예를 들어,온톨로지를 일부 수 있을 분류하는 클래스가 부족한 텍스트 정의로는 오류하는 동안,다른 사람 분류으로 이것을 경고합니다. 하나는 우리의 목표를 수렴하는 표준 프로파일은 최대한 유용한 설정의 모든 온톨로지에 OBO 라이브러리,격려의 채택 일반적인 품질 제어를 확인합니다.

지만 대부분의 문제 제기에’확인’과’보고서’수정해야 합동으로 로봇 또한 제공합니는’복’명령할 수 있는 자동으로 특정 문제를 해결. 현재 구현이 병합한 주석에 복제 공리고 대한 참조를 업데이트 클래스는 사용되지 않을 때 그들은 주석 제안했다. 우리는 올바른 수정이 명확한 더 넓은 범위의 일반적인 문제로’수리’를 확장 할 계획입니다.

템플릿 온톨로지 개발

로봇을 제공합 템플릿 중심의 온톨로지 기간대 시스템입니다. 또한 사용자는 Dead Simple OWL Design Patterns(Dos-DPs)와 같이 자신의 용어 생성 시스템을 워크 플로우에 연결할 수있는 옵션이 있습니다.

엄청난 양의 데이터가 스프레드 시트와 데이터베이스에 저장되며 표 형식은 많은 종류의 데이터에 적합합니다. 로봇의’템플릿’명령을 사용하면 테이블 형식의 데이터를 RDF/OWL 형식으로 변환 할 수 있습니다. 로봇 템플릿은 단순히 탭 구분 값(TSV)또는 쉼표로 구분 된 값(CSV)파일로 로봇’템플릿’문서에 설명되어 있습니다.

이러한 템플릿은 모듈 식 온톨로지 개발에 사용될 수 있습니다. 는 템플 스프레드시트로 유지될 수 있으로 부분의 온톨로지의 소스 코드를 저장소,그리고 대신 직접 편집 온톨로지 파일,개발자,편집하는 행 스프레드시트에서 해당하는 측면에서 온톨로지. ‘템플릿’명령은 다음을 생성하는 데 사용되는 모듈의 온톨로지,포함되어 있으로 가져올 문서 편집자 버전의 온톨로지 및 동안 병합된 릴리스 프로세스.

워크플로우

워크플로어의 설정 작업의에 의해 조정된 몇 가지 워크플로우 시스템입니다. 온톨로지 워크플로우의 구성과 같은 작업을 수행 QC 검사,건축 가져오는 모듈을 추론을 통해 온톨로,그리고 생성하는 다양한 온톨로지 방출 제품입니다.

로봇 자체는 여러 명령을 하나의 긴 명령으로 함께 연결할 수 있지만 워크 플로 관리자가 아닙니다. 로봇 명령을 체인화할 때,하나의 명령으로부터의 출력 온톨로지는 다음 명령으로 입력으로 직접 전달된다. 예를 들어,연결을 대체하기 위하여 이용될 수 있습는 두 개의 명령을 병합 온톨로지를 한 다음 이를 통해 병합 제품:

로봇 병합–입력 ont-1.올빼미–입력 ont-2.owl–출력이 병합되었습니다.올빼미입니다.

로봇 이유–입력이 병합되었습니다.올빼미-출력 추론.올빼미’.

병합 된 제품을 만들고 그 위에’이유’를 실행하는 대신 하나의 명령으로 수행 할 수 있습니다.

`robot merge–input ont-1.올빼미–입력 ont-2.올빼미 이유-출력 추론.올빼미’.

체인의 핵심 이점은 온톨로지가 각 단계간에 직렬화되고 구문 분석 될 필요가 없다는 것입니다; 동일한 OWL API 온톨로지 객체는 메모리에 유지되고 로봇 명령 체인을 통해 전달됩니다. 대규모 온톨로지의 경우 체이닝은 로봇의 성능을 크게 향상시킬 수 있습니다.

로봇 명령은 명령행에서 실행될 수 있기 때문에,다수의 상이한 워크플로 시스템이 사용될 수 있다. 우리는 일반적으로 소프트웨어를 컴파일하는 데 사용되는 GNU Make 의 사용을 강조합니다. Makefile 은”대상”을 만드는 데 사용되는 일련의 규칙으로 구성됩니다. 온톨로지 개발에서 Makefile 은 릴리스를 위해 온톨로지를 준비하는 것과 같은 자동화 된 작업에 사용됩니다. 이 경우 대상은 일반적으로 온톨로지 파일입니다. 규칙에 대한”조리법”은’make’명령에 의해 수행되는 Unix 스타일의 시스템 명령입니다.

로봇 명령은”목표”를 만들기 위해”조리법”으로 사용할 수 있습니다. 일반적인 워크 플로우는 로봇 명령 19 개를 모두 사용하지 않습니다. 예를 들면,모든 온톨로지 프로젝트에 사용할 수 있습 로봇 템플릿 및 그러므로 모든 릴리스 워크플로우를 포함할 필요가’템플릿’명령입니다. 온톨로지 개발자는 릴리스를 수행하고 해당 명령을 중심으로 워크 플로우를 구축하는 데 필요한 명령을 결정할 수 있습니다. 그림 1 은 릴리스 워크 플로우에 대해 로봇 명령 선택이 결합되는 표준 방법을 보여줍니다.

Fig. 1
figure1

로봇 릴리스 워크 플로우. 로봇을 사용하는 일반적인 릴리스 워크 플로우. 온톨로지 편집 파일 ONT-edit.올빼미는 먼저 로봇’확인’으로 품질 관리 검사로 확인됩니다. 그런 다음,텍스트 파일의 목록을 포함한 외부 온톨로지 측면에서 수입 디렉터리 사용되는 재생 가져오는 모듈을 사용하여’추출’는 것을 보장,수입은 그대로–날짜입니다. ONT-편집.그런 다음 owl 은 일련의 로봇 명령(‘reason’,’relax’,’reduce’및’annotate’)을 통해 전달되어 릴리스 인 ONT 를 생성합니다.올빼미입니다. 마지막으로,ONT.올빼미로 변환하 OBO 형식

첫째,품질 관리 검사를 통해 실행자 버전의 존재론으로’보고서’또는’확인’. 이들은 동등한 클래스,주석의 후행 공백,자체 참조,잘못된 상호 참조 구문 및 누락 된 레이블을 찾습니다. 결과는 지정된’reports/’디렉토리에 저장됩니다. 오류 수준 위반이 있으면 작업이 실패하고 위반 사항을 쉽게 식별 할 수 있도록 테이블에 씁니다. 이 단계 개발자는 게시하는 경우 새로운 변화가 도입되는 모든 문제에 온톨로지기 전에 수정을 출시 할 예정이다.

초기 QC 검사 단계가 성공적으로 완료되었다고 가정하면 다음 단계는 가져 오기 모듈을 만드는 것입니다. 로봇’추출’이라는 이름의 각 항목에 대한 목록의 수입이 있는 해당 용어는 파일(씨로 설정)에서 수입/’디렉토리에 있습니다. 이렇게하면 모든 가져 오기 모듈이 동일한’가져 오기/’디렉토리에 생성됩니다. 액세스 권한이 있는 경우는 온톨로지가 출시와 함께 외부 측면 모든 외부 조항이 그대로–날짜와 출시된 버전의 소스 온톨로. 해 out-of-date 외부 측면 혼란을 일으키는 원인이 될 수 있는 용어로 표시됩니다 모두에 새로운 정보 온톨로지 검색 서비스는 다음과 같 Ontobee 과 온톨로지 조회 서비스입니다. 추가 QC 검사는’verify’명령을 사용하거나’report’를 다시 실행하여 가져 오기와 함께 전체 온톨로지를 통해 실행할 수 있습니다.

마지막,주요 릴리스 제품 만들어집니다: 올빼미 파일과 오보 파일. 을 만들의 올빼미 릴리스의 편집자’파일의 통과의 시리즈를 통해 연결된 로봇 명령’이’,’휴식’,”줄이고’의 주석’. 이 일련의 명령은 출시 된 온톨로지가 쉽게 탐색하고 이해할 수있을뿐만 아니라 중복 된 공리가 없도록하는 데 도움이됩니다. 이러한 명령 중 하나라도 실패하면 해당 오류 메시지와 함께 Make 프로세스가 종료됩니다. 예를 들어,온톨로지가 일관성이없는 경우’이유’단계가 실패합니다. 마지막으로’주석’명령은 버전 IRI 를 온톨로지 메타 데이터에 추가합니다. 그런 다음이 OWL 파일은 OBO 형식으로 변환되며,이 시점에서 모든 대상은 날짜가 지정된 릴리스 디렉토리에 복사됩니다.

의 온톨로지 개발 키트

Makefile 을 만들기 위 좌표 이러한 모든 단계 도전이 될 수 있습니다. 우리는 온톨로지 개발 키트(Odk)를 제공하여 온톨로지 개발자를보다 쉽게 만듭니다. 이것은 위에 설명 된 워크 플로우 다음 표준 Makefile,표준 레이아웃 다음 GitHub 의 저장소를 만드는 데 사용할 수 있습니다. 결과 GitHub 저장소는 Travis CI 를 통해 워크 플로의 유효성 검사 단계(예:’보고서’)를 실행하도록 자동으로 구성됩니다. 워크 플로는 Dockerhub 에 출시 된 ODK 컨테이너가있는 Docker 를 사용하여 실행할 수도 있습니다. 이것은 쉽게 실행의 워크플로우에는 로컬 컴퓨터의 온톨로지 개발자로,트래비스 CI 을 통해서,또는 확장 가능한 빌드 도구와 같은 젠킨스.

ODK 는 로봇을 기반으로 로봇의 유틸리티를 보여 주지만 전체 논의는이 기사의 범위를 벗어납니다.