DSPL 설명서

이 문서에는 유용한 DSPL 설명서와 표준 개념 '레시피'가 포함되어 있습니다. 튜토리얼개발자 가이드에 설명된 기본 언어 기능을 넘어서는 다양한 작업을 위한 단계별 안내를 제공합니다. 아래 콘텐츠는 이전 문서를 알고 있다고 가정하므로 '요리'를 시작하기 전에 자세히 읽어보시기 바랍니다.

각 레시피는 목표로 시작하고 그 뒤에 따라갈 구체적인 단계 목록이 이어집니다. 대부분의 경우 DSPL 스니펫 또는 외부 예 링크도 포함됩니다. 레시피에 관한 의견이 있거나 다른 사용자에게 제안하고 싶은 경우 DSPL 포럼에 메시지를 게시하세요.

기본 레시피

표시 이름 지정

목표

'표시 이름'을 (측정기준) 개념의 각 인스턴스에 연결합니다. 이러한 이름은 사용자가 이해할 수 있도록 더 짧고 어려운 개념 인스턴스 ID 대신 공개 데이터 탐색기 UI에 표시됩니다.

단계

  1. 콘셉트를 entity:entity.로 확장하세요
  2. name 열을 연결된 개념 정의 테이블에 추가합니다.
  3. 후자의 속성을 각 인스턴스의 이름으로 채웁니다.

메모

  • 개념 메타데이터에 name 속성을 명시적으로 정의할 필요는 없습니다. entity:entity를 확장할 때 이 정의가 자동으로 포함됩니다.
  • descriptioninfo_url 열을 추가하여 인스턴스 수준 설명과 URL을 각각 제공할 수도 있습니다.

개념 계층 구조 만들기

목표

(측정기준) 개념의 계층 구조를 만듭니다. 공개 데이터 탐색기 UI에 트리로 표시되므로 사용자가 그룹을 이해하고 그룹 간에 이동할 수 있습니다.

단계

  1. '상위' 개념 정의 (예: region).
  2. '하위' 개념 정의 (예: subregion).
  3. 하위 요소를 상위 요소를 참조하고 isParent 속성을 포함하는 속성을 추가합니다.
    <property concept="..." isParent="true"/>
    
    는 점이 상위 ID로 대체됩니다.
  4. 하위 요소의 정의 표에서 상위 요소를 참조하는 열을 추가합니다.
  5. 각 하위 인스턴스에 후자를 유효한 상위 개념 인스턴스로 채웁니다.

메모

  • 이에 관한 예는 튜토리얼 데이터 세트country / state 관계를 참조하세요.
  • 하위 요소에서 참조되는 각 상위 ID는 상위 요소의 정의 표에 있어야 합니다. 그렇지 않으면 가져오기 도구에서 오류를 생성합니다.
  • 상위 요소와 하위 요소는 동일한 개념 (즉, 자체 참조 계층 구조)일 수 있습니다. 이에 관한 예시는 미국 소매 판매 데이터 세트business 개념을 참조하세요.

개념 인스턴스 분류

목표

Public Data Explorer 색상 선택 도구에서 옵션으로 표시될 개념 인스턴스의 카테고리를 만듭니다.

단계

  1. '카테고리' 개념 (예: income_level).
  2. '하위' 개념 정의 (예: country).
  3. 하위 요소에 카테고리 개념을 참조하고 name 요소를 포함하는 속성을 추가합니다.
    <property concept="..."/>
      <info>
        <name><value>"..."</value></name>
      </info>
    </property>
    
    여기서 첫 번째 점 세트는 카테고리 컨셉 ID로 대체되고 두 번째 점 세트는 속성에 대해 원하는 표시 이름으로 대체됩니다(예: '소득 수준').
  4. 하위 요소의 정의 표에서 카테고리 개념을 참조하는 열을 추가합니다.
  5. 각 하위 인스턴스에 후자를 카테고리 개념의 유효한 인스턴스로 채웁니다.

메모

  • 개념에는 카테고리로 사용되는 여러 속성이 있을 수 있습니다. 이 경우 사용자에게 색상 선택 도구에서 이러한 모든 속성이 옵션으로 표시됩니다.
  • UI에서 인스턴스를 계층적으로 구성하기 위해 카테고리 중 하나가 상위가 될 수도 있습니다. 자세한 내용은 이전 레시피를 참고하세요.

개념 인스턴스의 정렬 순서 지정

목표

개념 인스턴스의 정렬 순서를 지정합니다. 이 순서는 Public Data Explorer 시각화 페이지의 왼쪽 탐색 메뉴에 인스턴스를 나열할 때 사용됩니다.

단계

  1. 개념이 entity:entity 또는 하위 요소 중 하나를 확장하도록 합니다 (예: geo:location).
  2. 개념 메타데이터에 entity_order 속성을 추가합니다.
  3. 이전 값을 ALPHA 또는 TABLE 중 하나로 설정합니다. 전자는 인스턴스를 표시 이름 순서대로 나열하지만 후자는 개념 정의 표에 표시된 것과 동일한 순서로 유지합니다.

메모

  • ALPHA가 현재 기본값이므로 이 순서를 사용하려면 위의 단계는 선택사항입니다.
  • 예는 entity:entity 문서를 참고하세요.

시간 레시피

분기별 데이터

목표

분기별로 지정된 데이터를 시각화합니다.

단계

  1. 슬라이스 데이터의 모든 분기를 월 (예: 분기의 첫 번째 달)로 변환합니다.
  2. 이 측정기준을 슬라이스 XML에서 time:month로 취급합니다.

주간 데이터

목표

주 단위로 지정된 데이터를 시각화합니다.

단계

  1. Slice 데이터의 모든 주를 일수 (예: 주의 첫 번째 날)로 변환합니다.
  2. 이 측정기준을 슬라이스 XML에서 time:day로 취급합니다.

지역 레시피

country 또는 state 표준 개념 사용

목표

표준 country 또는 state 개념을 사용하고 모든 위도/경도 값 등을 가져와 데이터 세트 내에서 정의할 필요가 없도록 합니다.

단계

  1. Slice 데이터 CSV의 모든 국가 또는 미국 주 참조가 표준 countrystate 정의 테이블의 유효한 ID인지 확인합니다.
  2. geo:countrygeo_us:state를 해당 슬라이스의 측정기준으로 추가합니다.
  3. 열 이름이 이전 개념의 이름과 일치하는지 확인하세요 (예: 가져온 데이터 세트 이름 제외). country) 또는 그렇지 않은 경우 Slice 정의에 mapDimension 문을 포함합니다. 예:
    <slice id="...">
      ...
      <dimension concept="geo:country"/>
      ...
      <mapDimension concept="geo:country" toColumn="my_country"/>
    </slice>
    

표준 국가 또는 주의 하위 집합만 사용

목표

표준 지역 개념의 하위 집합을 사용하여 이 하위 집합만 (전체 목록 등, 전 세계 모든 국가와 같이) 공개 데이터 탐색기 UI에 표시되도록 합니다.

단계

  1. 상위 집합 개념을 확장하는 로컬 개념을 정의합니다. 예:
    <concept id="my_country_subset" extends="geo:country">
    ...
    </concept>
    
  2. 연결된 개념 정의 CSV에는 사용하려는 상위 집합 개념의 ID만 포함합니다. 예:
    my_country_subset
    FR  
    MX
    US
    

메모

  • 하위 집합 개념의 각 인스턴스는 상위 집합 개념의 유효한 인스턴스여야 합니다. 새 인스턴스로 개념을 '확장'할 수는 없습니다.

고유한 지리적 개념 정의

목표

Google에서 정의한 표준 개념처럼 탐색 가능하고 매핑 가능한 자체 지리적 개념을 만듭니다.

단계

  1. geo:location를 확장하는 개념을 만듭니다.
  2. 연결된 개념 정의 테이블에 name, latitude, longitude 열을 포함합니다.
  3. 각 개념 인스턴스의 후자를 입력합니다. 위도 및 경도 값은 N과 E는 양수이고 W와 S는 음수인 규칙에 따라 부동 소수점입니다.

메모

  • name, latitudelongitude 속성은 geo:location 확장 시 자동으로 포함되므로 개념 정의에 명시적으로 포함할 필요가 없습니다.
  • 예는 튜토리얼 데이터 세트에서 state의 정의를 참조하세요.

측정항목 및 단위 레시피

백분율 사용

목표

다른 항목의 백분율인 (측정항목) 개념을 정의합니다.

단계

  1. 컨셉을 quantity:ratio으로 확장하세요.
  2. is_percentage 속성을 true로 설정합니다.
    <attribute id="is_percentage">
      <value>true</value>
    </attribute>
    
  3. 필요한 경우 이 개념에 대한 백분율을 기준으로 percentage_of 속성을 설정합니다. 예:
    <attribute id="percentage_of">
      <value>labor force</value>
    </attribute>
    

currency개 단위 사용

목표

통화 단위(예: 미국 달러)을 입력합니다.

단계

  1. 측정항목을 quantity:quantity 또는 하위 요소 중 하나(예: quantity:amount)로 확장합니다.
  2. unit:currency를 참조하는 unit 속성을 추가하고 이 값을 연결된 통화 정의 표의 ID로 설정합니다. 예:
    <concept id="...">
      <attribute concept="unit:currency">
        <value>EUR</value>
      </attribute>
    </concept>
    

맞춤 단위 만들기

목표

하나 이상의 측정항목에 대한 맞춤 단위를 만듭니다.

단계

  1. unit:unit를 확장하는 개념을 만듭니다.
  2. unit_textsymbol 열을 연결된 정의 테이블에 추가합니다. 선택사항으로 기호 위치를 조정하려는 경우 symbol_position 열을 추가할 수도 있습니다.
  3. 유닛의 각 인스턴스에 대한 두 번째 속성의 값을 입력합니다. '지역' 단위의 CSV 예:
    my_unit,unit_text,symbol,symbol_position
    SQKM,square kilometers,km²,END
    SQML,square miles,miles²,END
    
  4. 새로 만든 단위를 (측정항목) 개념에 사용하려면 quantity:quantity가 하위 요소 중 하나를 확장하는지 확인하세요. 그런 다음 단위 개념을 참조하는 속성을 추가합니다. 예:
    <concept id="..." extends="quantity:amount">
      ...
      <attribute concept="my_unit">
        <value>SQKM</value>
      </attribute>
      ...
    </concept>
    

메모

  • 단위 개념에 인스턴스가 하나만 있는 경우 단위 정의와 ID를 사용하는 측정항목의 value 태그를 ID 테이블에서 생략할 수 있습니다.
  • 전체 예는 표준 통화 개념의 정의를 참조하세요.