No.17 슬롯 추천은 유연한 데이터 구조를 처리 할 수 있습니다 (슬롯 추천 Studio Edition)
2017.07.11 Progress 슬롯 추천
이 항목은 Assist Co., Ltd. (https : //www.ashisuto.co.jp/product/category/brms/progress_슬롯 추천/column/detail/brmstech17.html)의 재 인쇄입니다.
|
슬롯 추천은 일반적인 비누 및 휴식 수단을 사용하여 연결을 허용하여 코르티콘과 링크하는 데 응용 프로그램 유형이 필요하지 않도록 설계되었습니다. 중요한 것은 전달 될 데이터의 구조이지만 슬롯 추천은 두 개의 XML 구조를 처리 할 수 있습니다.
XML은 일반적으로 계층 적이지만 (부모-자녀 관계를 보여주는 것과 같은) 슬롯 추천의 특징은 계층 적 유형과 함께 평평한 XML 구조를 처리 할 수 있다는 것입니다.
이 열에서는 두 구조로 사용할 수있는 코르티콘의 이점을 설명 할 것입니다.
소개, 계층 적 슬롯 추천은 다음과 같습니다.
- *설명을 위해 단순화 된 슬롯 추천.
<계층 적 슬롯 추천 예제 1
<entitya
EntityB는 Entitya에 저장됩니다. 또한 Entitya와 EntityB는 부모-자식 관계에 있으며, 하나의 Entitya에 대한 여러 엔티티가 있기 때문에 Entitya와 EntityB는 나무와 유사하며 관계도 마찬가지입니다. 계층 적 슬롯 추천의 경우 엔티티 간의 부모-자식 구조는 직관적이고 이해하기 쉽고 슬롯 추천을 구문 분석하는 프로그램에도 사용하기 쉽습니다.
그러나 그러한 계층 적 슬롯 추천에는 문제가 있습니다. 위의 예와 같이 단순한 일대일 관련성이있는 데이터는 괜찮지 만 다수의 관련성이있는 데이터에는 불가능합니다. 예를 들어 다음 슬롯 추천 :
<계층 적 슬롯 추천 예제 2
<entitya
<Hierarchical 슬롯 추천 예제 1 그러나 EntityB 값 "Hoge 1"및 "Hoge 2"는 위의 슬롯 추천 예제에서 <-l 및 <-h hoge와 같이 위의 겹침입니다.
<Hierarchical 슬롯 추천 예제 2 원래 표현하기를 원했던 것은 위의 Entitya에 저장된 두 엔티티브가 아래의 Entitya에 저장되어 있다는 것입니다. 여러 엔티티에 대해 여러 엔티티브와 다수의 관계를 표현하려고합니다.
그러나 <계층 적 슬롯 추천 예제 2와 같은 트리 상태에서는 다른 계층 구조에서 동일한 값을 가진 EntityB가 동일한 객체인지 동일한 객체인지에 대해 논리적으로 구별하는 것은 불가능합니다.
실제로 <계층 적 슬롯 추천 예제 2가 코르티콘 규칙으로 처리되면 위의 두 엔티티브와 아래의 두 엔티티브는 동일한 값을 가진 별도의 개체로 취급됩니다.
이 문제를 해결하기 위해 슬롯 추천은 계층화 된 XML뿐만 아니라 평평한 XML도 입력 및 출력으로 처리 할 수 있습니다. (※ 1)
이 기사에서는 슬롯 추천 Studio를 사용하여 어휘의 많은 관련성을 설정하고 테스트 중에 평평한 XML 입력 데이터를 작성하는 방법을 보여줍니다. (※ 2)
- *1 슬롯 추천에는 평평하고 층이있는 입력/출력 유형이 있지만이 기사는 설명하지 않습니다.
- *2 클라이언트 프로그램에서 슬롯 추천 Server 의사 결정 서비스에 요청을 할 때 다음 기사에서 계층 적/플랫 XML을 다르게 사용하는 방법을 설명합니다.
[기사 쓰기 환경]
슬롯 추천 Studio 5.5.2.7
규칙 구현
슬롯 추천 Studio 에서이 기사에서 사용할 샘플 규칙을 만듭니다.
■ 어휘 (Ecore)
이 기사에 사용 된 어휘 (Ecore)는 다음과 같습니다.
<볼륨 설정 테이블
엔티티 이름 | XML 요소 이름 | |
쇼핑 카트 | 카트 | |
속성 이름 | XML 요소 이름 | 타입 |
제품 수 | numitems | Integer |
총 금액 | TotalPrice | Integer |
관련 이름 | XML 요소 이름 | 카디널리티, 관련 방향 |
제품 | 항목 | *-*, 양방향 |
엔티티 이름 | XML 요소 이름 | |
제품 | 항목 | |
속성 이름 | XML 요소 이름 | 타입 |
제품 이름 | 이름 | String |
가격 | 가격 | 정수 |
관련 이름 | XML 요소 이름 | 추기경, 관련 방향 |
쇼핑 카트 | 카트 | *-*, 양방향 |
<슬롯 추천 Studio에서 생성 된 어휘보기
|
제품의 관점에서 제품을 보면 다른 쇼핑 바구니에 들어갈 수 있으며 쇼핑 사람의 관점에서 쇼핑 바구니에는 여러 가지 다른 품목이 포함되어 있다고 상상됩니다. 여러 개의 쇼핑 바구니와 제품이 있으며 각각은 많은 사람들에게 많은 것입니다. 동일한 다수의 구조가 RDBM을 사용하여 설계된 경우 ER 다이어그램은 다음과 같습니다.
<RDBMS의 ER 다이어그램 예제
|
슬롯 추천 어휘에서 다수의 관계를 만들 때 위의 ER 다이어그램 예제의 중심에서와 같이 "관계 표"는 필요하지 않습니다.
관계를 만들 때 관련 대화 상자의 소스 엔티티로 "more"를 선택하고 대상 엔티티로 "more"를 선택하십시오.
<관련 대화 상자
|
■rulesheet (ERS) 및 RuleFlow (ERF)
다음 확인에 대한 규칙 시트 (ERS)는 하나뿐입니다.
<규칙 시트 스코프 및 조건 및 행동
|
이것은 각 쇼핑 바구니의 품목 수와 총 금액을 제공하는 규칙입니다.
조건에는 "모든 쇼핑 바구니의 모든 품목 (Allitems)이 3 미만인 경우 총 금액이 그대로 추가되고, 수가 3보다 큰 경우 총 금액은 가격의 절반입니다."라는 규칙이 포함되어 있습니다.
rulesheet (ERS)을 만든 후이 규칙 만 포함 된 규칙 흐름 (ERF)을 만듭니다.
규칙 테스트에서 계층 적 및 평평한 슬롯 추천을 입력하십시오
규칙 흐름 (ERF)에 대한 규칙 테스트를 작성하고 테스트합니다.
규칙의 동작은이 테스트의 입력이 계층 적인지 평평한 슬롯 추천인지에 따라 달라집니다.
■ 계층 유형의 경우
규칙 테스트에서 입력 데이터를 작성할 때 정상 (※)은 다음 <<Hierarchical 슬롯 추천의 입력 및 출력에 대한 테스트 데이터입니다.
- *슬롯 추천 Studio Screen의 왼쪽에있는 어휘 창에서 필요한 어휘 트리를 드래그하고 삭제하여 입력 값을 생성하는 방법
<계층 슬롯 추천의 입력 및 출력
|
입력 값의 엔티티 인 XML 텍스트 데이터는 규칙 테스트 - 테스트 시트 - 데이터 - 입력 - XML의 내보내기 요청에 따라 Corticon Studio 메뉴에서 볼 수 있습니다.
위의 테스트에서 입력을 내보내고 텍스트 편집기를 사용하여 확인했을 때 다음과 같습니다.
<계층 슬롯 추천의 내부 입력 데이터
<WorkDocuments
이 XML은 계층 적 XML이며 일대일 관련 데이터입니다. 어휘 생성 단계에서 "쇼핑 바구니"및 "제품"은 다수의 관계를 갖도록 설정되지만 Corticon Studio의 표준 절차를 사용하여 생성 된 입력 데이터는이 계층 적 XML에 자동으로 입력됩니다.
이 기사의 시작 부분에서 설명한 바와 같이, 제품 [1] 제품 [3]과 제품 [2]의 사과 [4]는 동일한 물체가 아닌 동일한 값을 가진 별도의 물체로 취급됩니다. 결과적으로 테스트 출력을 확인하면 쇼핑 카트의 총 금액은 각각 300 엔이어야하지만 쇼핑 카트에는 총 4 개의 품목이 포함되어 있고 총 금액은 300 엔의 절반 (150 엔)입니다.
■ 플랫 유형 입력 값
어휘에서 가장 많은 관계를 설정하려면 입력 값에 대한 Flat 슬롯 추천을 생성하고 다수의 관계를 가진 데이터를 만들어야합니다.
테스트 시트의 특정 작업은 다음과 같습니다.
(1) 규칙 테스트에서 "입력"과 관련이없는 병렬로 엔티티를 만듭니다.
► 여기에서 입력 필드에서 병렬로 관련없는 "쇼핑 바구니"및 "제품"엔티티를 만듭니다.
► <그림 1 입력 필드
(2) 오른쪽의 "규칙 어휘"창에서 "CTRL"버튼을 눌러 입력 필드의 엔터티에 원하는 관련성을 입력하십시오.
드래그 앤 드롭.
► 여기에서 왼쪽의 "쇼핑 바구니"에서 "제품 (제품)"을 클릭하고 오른쪽의 "쇼핑 바구니 [1]"에 드래그하여 드래그하십시오.
► <그림 1
<그림 1
|
(3) 관련 대화 상자가 나타나므로 연결할 엔티티를 선택하고 "확인"버튼을 누릅니다.
► 여기에서 "제품 [1]"을 선택하고 "OK"를 누릅니다. <그림 2
► 입력 필드는 <그림 3에 있습니다.
<그림 2
|
<그림 3
|
(4) 동일한 절차를 반복하여 관계 세트로 입력 값을 만듭니다.
► 작업은 <그림 4의 입력 필드로 이루어졌습니다.
(5) 테스트 실행을 수행하십시오.
► <그림 4 출력 열
<그림 4
|
<그림 4의 출력 열을 확인하면 총 두 가지 유형의 제품 만있는 것으로 결정되며 총 금액이 가격의 절반이 아니며 두 제품이 그대로 요약되어 있음을 알 수 있습니다.
계층화 된 슬롯 추천을 확인하면 입력 슬롯 추천을 확인하면 다음이 표시됩니다.
<Flat 슬롯 추천의 내부 입력 데이터
<WorkDocuments
슬롯 추천에 사용되는 다수의 관련 플랫 XML의 내부는 다음과 같습니다.
각 엔티티에는 계층 슬롯 추천과 같은 트리 구조가 없지만 모두 평평하게 배열됩니다. 엔티티 간의 연관성은 링크 (HREF)로 표현됩니다. 링크는 각 엔티티에 첨부 된 ID 정보를 나타냅니다. 이는 계층 적 슬롯 추천에 비해 가시성을 줄이지 만 정확한 다중 관계를 허용합니다.
또한 입력의 내용에 따라, 다수의 관계를 가진 Flat XML은 하나의 엔티티로 여러 번 나타나는 엔티티를 표현할 수 있으므로 저장된 엔티티의 수는 일대일 관계를 가진 계층 적 XML보다 작습니다. 이 예에서 계층 적 XML은 4 개의 "제품"엔티티를 만들었고 Flat XML에는 2 개의 "제품"엔티티 만 있습니다.
요약
이번에는 슬롯 추천 Studio에서 다수의 관련성과 플랫 XML을 처리하는 방법을 소개했습니다.
계층 적 XML과 비교하여 Flat XML의 장점과 단점은 다음과 같이 요약됩니다.
● 플랫 슬롯 추천의 이점
► 계층 적 슬롯 추천로 표현할 수없는 많은 관계를 표현할 수 있습니다
► 대규모 관계로 만들어서 데이터의 양은 계층 적 슬롯 추천보다 작습니다
● 평면 유형 슬롯 추천의 단점
► 슬롯 추천 Studio에서 데이터를 작성할 때 작은 트릭이 필요합니다
► 슬롯 추천 가시성 감소
► X슬롯 추천 구문 분석 프로그램의 AESY-TO-사용 처리
슬롯 추천은 종종 간단한 일대일 관계로 다수의 관계를 대체 할 수 있습니다. 또한 계층 적 XML은 스튜디오 작업과 서버를 통해 전송 및 수신에 대해 쉽게 처리 할 수있는 형식입니다. 따라서 실제 규칙이 개발 될 때는 다수의 관계와이를 표현하는 평평한 XML을 사용해야하는 상황이 많지 않습니다.
그러나 RDBMS 테이블 디자인에서는 다수의 관계가 일반적이므로 입력 값이 RDBMS에서 나온 경우 슬롯 추천 내에서 다수의 관계를 처리하는 것이 더 자연 스러울 수 있습니다. 이러한 경우 여기에 소개 된 플랫 유형 XML을 사용하는 것이 좋습니다.
또한, 다수의 협회 (Flat-Type 슬롯 추천)는 일대일 연관성 (계층 적 슬롯 추천)보다 저장된 엔티티가 적은 경향이 있습니다. 전송되어 수신 한 데이터의 양을 최대한 줄이려면 Flat 슬롯 추천을 사용해보십시오.
다음 번에는 클라이언트 프로그램에서 슬롯 추천 Server의 의사 결정 서비스를 요청할 때 다른 계층/플랫 XML을 사용하는 방법을 설명합니다.
저자 소개
|
정보 인프라 기술 부서, 진행 프로모션 부서 |