Wolfram 언어

탱고 탐사 장비 구축하기

Wikidata에는 음악을 포함하여 다양한 주제에 대한 정보가 저장되어 있으며, 이 데이터 쿼리를 위한 SPARQL 엔드 포인트가 제공됩니다.

SPARQL을 이용하여 탱고 음악에 대한 정보를 추출하여 쿼리를 수행할 수 있는 Dataset를 구축합니다.

GraphStore를 로드하고 Wikidata vocabulary를 사용하기 위한 프로그램을 도입합니다.

관련 실체 ("탱고" 아래의 곡 목록) 및 검색 데이터 (작곡자, 작사자, 녹음)를 정의하는 다양한 하위 쿼리를 소개합니다.

존재하지 않을지도 모르는 부분 (예를 들어 가사가 없는 곡도 있으므로)을 임의의 것으로 하여 쿼리의 각 부분을 조합합니다.

곡에 따라 작곡자, 작사자, 또는 오디오 녹음이 여러가지인 것도 있습니다. 즉, 작곡자, 작사자, 녹음의 다양한 조합을 가진 같은 곡이 여러 줄에 걸쳐 나타날 수도 있습니다. 다음의 방식으로 통합 (SPARQLAggregate)을 사용하여 결과를 축소합니다. 첫째, "음악" 또는 "녹음"으로 그룹화합니다. 대부분의 경우 한 곡당 해는 하나가 되지만, 한 곡에 여러 녹음이 있는 경우는 별도의 결과로 나열됩니다. ";"를 세퍼레이터로 사용하며 집약 함수 group_concat를 사용하여 작곡가와 작사가는 조합합니다.

Aggregate를 사용하는 쿼리를 생성하고 실행합니다.

Dataset를 만듭니다. 그리고 언어 태그는 관계가 없기 때문에 RDFString 래퍼를 삭제합니다.

Dataset에는 풍부한 쿼리 언어가 있습니다. 연속하는 인수에 적용되면 각 인수가 대응하는 레벨로 적용되는 "쿼리 연산자"로 간주됩니다. 첫 번째 예에서 첫 번째 레벨 (All)에서는 "아무것도 하지 않는다"로, 두 번째 레벨에서 "songLabel"(음악 라벨)과 "composers"(작곡가)를 추출합니다.

Select는 "composers"(작곡가)에 Gardel이 포함되어있는 것을 선택하고 "songLabel"(음악 라벨)과 "lyricists"(작사가)를 표시합니다.

"audio"(녹음)이 있는 곡을 찾고 "브라우저에서 열리는"과 같은 열을 추가합니다.

관련 예제

de en es fr ja pt-br zh