Workshop 모듈 내에서는 다양한 방식으로 Functions를 사용할 수 있습니다. Function-backed Actions을 사용하여 모듈에서 오브젝트 편집 및 Writeback을 복잡하게 조정할 수 있습니다. Metric Cards와 같은 위젯을 사용하면 Functions의 결과물을 모듈 내에 표시하여 사용자의 결정을 돕는 데 도움이 됩니다.
Ontology Manager에서 새로운 액션 유형을 정의할 때, 액션 유형의 규칙 로직의 일부로 Function을 사용할 수 있습니다. 이는 일반적으로 오브젝트 추가, 오브젝트 삭제, 오브젝트 수정, 링크 추가 또는 링크 삭제와 같은 기본 옵션보다 복잡한 Writeback을 액션 유형에서 가능하게 합니다. function-backed 액션 유형을 정의하는 방법에 대해 더 알아보기.
Function-backed 액션 유형이 정의되면, 다른 액션 유형처럼 Workshop에서 사용할 수 있습니다. Workshop에서 액션 유형을 표시하는 방법에 대해 더 알아보기.
Functions는 또한 Workshop에서 모듈의 변수 값을 채우는 데 사용할 수 있습니다. 아래에서 두 공항 간의 항공편 수를 계산하는 Function의 결과물로 새로운 숫자 변수를 생성하고 채우는 예시를 살펴보겠습니다.
이 예시는 설명을 위한 것이며, 작성된대로 모든 단계를 완료할 수 없을 수도 있습니다. Foundry 온톨로지가 필요에 따라 맞춤 설정되어 있기 때문에 튜토리얼을 완료하는 데 필요한 온톨로지 오브젝트에 액세스하지 못할 수도 있습니다.
먼저, Workshop 모듈 내에서 호출할 function을 살펴보겠습니다. 아래에서 볼 수 있듯이, function의 이름은 flightsFromAirportToDestination
입니다. 이 함수는 공항 오브젝트(출발지 공항)와 문자열(목적지 공항의 세 글자 공항 코드)을 입력값으로 받아들이고, 그 사이의 항공편 수를 나타내는 숫자를 반환합니다.
Copied!1 2 3 4 5 6 7 8 9
@Function() // 공항에서 목적지 공항까지의 항공편 수를 반환하는 함수입니다. public flightsFromAirportToDestination(airport: AirportObject, destinationAirportCode: string): Integer { return airport.flightDestinationAirportLinkFlightObject.all() // 도착 공항 코드가 목적지 공항 코드와 일치하는 항공편만 필터링합니다. .filter(flight => flight.arrivalAirportCode === destinationAirportCode) // 필터링된 항공편의 수를 반환합니다. .length; }
다음으로, Workshop 모듈에서 이 함수를 설정하는 과정을 시작하겠습니다. 목표는 모듈에서 함수 입력값(공항 오브젝트와 스트링)을 전달하고 함수 결과물(숫자)을 모듈 내에 표시하는 것입니다.
화면 하단 왼쪽의 Variables 메뉴에서 새로운 숫자 변수를 생성하세요. Variables 메뉴를 열고, Add variable을 선택한 다음 아래와 같이 Number를 선택합니다.
새로 생성된 변수 위에 마우스를 올려놓고, 기본 이름(예: $var1
)이 있는 경우 편집 아이콘(연필 모양)을 클릭하여 변수 편집 메뉴를 엽니다.
위에서 Value generation 토글을 Function 옵션으로 전환한 다음 이 변수의 입력으로 Function을 설정합니다.
fx... 버튼을 선택하여 여기에 기존 함수를 선택합니다. 아래 스크린샷에서는 제목에 Flight
이라는 단어가 포함된 함수만 필터링된 보기입니다.
원하는 함수를 선택한 후 — 이 예에서는 flightsFromAirportToDestination
함수를 선택한 경우 — 나타나는 함수 입력값을 작성합니다. 아래 예는 flightsFromAirportToDestination
함수가 Workshop 모듈의 두 변수 입력값을 받아들이는 완전한 구성을 보여줍니다 — 공항 변수는 모듈의 오브젝트 테이블에서 공항 오브젝트로부터 현재 활성화된 오브젝트를 가져오고, destinationAirportCode
변수는 사용자가 입력한 Destination Airport
라는 스트링 변수로 채워집니다.
이 함수의 결과물이 Workshop 모듈에서 사용자에게 표시되는 방법을 보려면 아래의 Functions와 함께 사용하는 Metric Card 섹션으로 진행하세요.
Metric Card 위젯은 빌더들에게 모듈에서 핵심 정보를 표시할 수 있는 방법을 제공합니다. 여기에 표시되는 통계치가 함수에 의해 생성되는 것이 유용할 수 있습니다. Metric Card 구성에서 우리는 위에서 정의한 함수 기반 Flight Count 숫자 변수에서 지정된 메트릭을 채우도록 설정할 수 있습니다.
아래 스크린샷은 우리의 함수 기반 메트릭 카드가 오른쪽에 있는 결과 모듈을 보여줍니다. 사용자가 왼쪽의 오브젝트 테이블(출발 공항)에서 선택을 변경하고 오른쪽의 스트링 입력(도착 공항)을 변경하면, 메트릭 카드가 함수 결과에 따라 동적으로 업데이트되어 선택된 공항간의 항공편 수를 표시합니다. 이 경우, 출발 공항으로 FLL
을 선택하고 도착 공항으로 JFK
를 선택하면, 그 사이에 139개의 알려진 항공편이 있다는 것을 알 수 있습니다.