Freebase를 처음 사용하는 경우 이 섹션에서는 Freebase의 작동 방식을 이해하는 데 필요한 기본 용어와 개념을 다룹니다.
그래프
Freebase 데이터는 그래프라는 데이터 구조에 저장됩니다. 그래프는 에지로 연결된 노드로 구성됩니다. Freebase에서 노드는 /type/object를 사용하여 정의되고, 에지는 /type/link를 사용하여 정의됩니다. Freebase는 데이터를 그래프로 저장하여 주제 간의 임의 연결을 빠르게 탐색하고 데이터 구조를 변경하지 않고도 새 스키마를 쉽게 추가할 수 있습니다.
주제
Freebase에는 인물, 장소, 사물과 같은 실제 항목에 관한 3,900만 개 이상의 주제가 있습니다. Freebase 데이터는 그래프로 표현되므로 이러한 주제는 그래프의 노드에 해당합니다. 하지만 모든 노드가 주제는 아닙니다. 주제가 아닌 노드의 예시는 CVT 섹션을 참고하세요.
Freebase에서 찾을 수 있는 주제 유형의 예:
- 물리적 항목(예: 밥 딜런, 루브르 박물관, 토성 등
- 예술/미디어 창작물(예: 다크나이트 (영화), Hotel California (노래)
- 분류(예: 비활성 기체, 척삭동물)를
- 추상적인 개념(예: 사랑)을
- 사조 또는 예술 운동(예: 인상주의
일부 주제는 많은 데이터를 보유하고 있기 때문에 (예: Wal-Mart)이 있으며, 다른 정보 도메인에 있는 여러 주제로 연결되어 주목받는 경우도 있습니다. 예를 들어 사랑, 빈곤, 기사도와 같은 추상적인 주제에는 연결된 속성이 많지 않지만 책 주제, 시 주제, 영화 주제 등으로 자주 표시되어 더 눈에 띕니다.
유형 및 속성
특정 주제는 다음과 같이 다양한 관점에서 볼 수 있습니다.
- 밥 딜런은 작곡가, 가수, 공연자, 책 작가, 영화 배우였습니다.
- 레오나르도 다 빈치는 화가, 조각가, 해부학자, 건축가, 엔지니어, ...
- 사랑은 책의 주제, 영화의 주제, 연극의 주제, 시의 주제입니다.
- 모든 도시는 위치이자 잠재적인 관광지이며 공무원의 고용주입니다.
여러 주제의 다면적인 특성을 포착하기 위해 Freebase에서는 유형이라는 개념을 도입합니다. Freebase의 주제에는 여러 유형이 할당될 수 있습니다. 밥 딜런에 관한 주제에는 작곡가 유형, 음악 작곡가 유형, 음악 아티스트 (가수) 유형, 도서 작가 유형 등 여러 유형이 할당됩니다. 각 유형에는 해당 유형과 관련된 다양한 속성이 있습니다. 예를 들면 다음과 같습니다.
- 음악 아티스트 유형에는 밥 딜런이 제작한 모든 앨범과 그가 연주한 것으로 알려진 모든 악기를 나열하는 속성이 포함됩니다.
- 책 저자 유형에는 밥 딜런이 작성하거나 편집한 모든 책과 그의 글쓰기 사상 또는 운동을 나열하는 속성이 포함됩니다.
- 회사 유형에는 회사의 설립자, 이사회 구성원, 모회사, 부서, 직원, 제품, 연도별 수익 및 이익 기록 등을 나열하는 여러 속성이 포함되어 있습니다.
따라서 유형은 정보의 특정 측면을 설명하는 데 가장 일반적으로 필요한 속성의 개념적 컨테이너로 생각할 수 있습니다. (유형은 관계형 테이블과 유사하다고 생각하면 됩니다. 각 '유형' 테이블에는 각 주제를 고유하게 정의하는 하나의 'ID' 테이블로 연결되는 외래 키가 있습니다.)
도메인 및 ID
속성이 유형으로 그룹화되는 것처럼 유형 자체도 도메인으로 그룹화됩니다. 도메인은 좋아하는 신문의 섹션(비즈니스, 라이프스타일, 예술 및 엔터테인먼트, 정치, 경제 등)과 같습니다. 각 도메인에는 ID(식별자)가 부여됩니다(예:
도메인의 ID는 파일 경로 또는 웹 주소의 경로와 같습니다.
각 유형에는 ID도 부여되며 ID는 유형이 속한 도메인을 기반으로 합니다. 예를 들어 회사 유형은 비즈니스 도메인에 속하며 ID /business/company
가 부여됩니다. 예를 들면 다음과 같습니다.
/music/album
는 음악 도메인에 속하는 (음악) 앨범 유형의 ID입니다./film/actor
- 영화 도메인의 배우 유형/medicine/disease
- 의약품 도메인의 질병 유형
유형이 도메인에서 ID의 시작 부분을 상속받는 것처럼 속성도 속한 유형에서 ID의 시작 부분을 상속받습니다. 예를 들어 회사 유형의 업계 속성 (회사가 속한 업계를 지정하는 데 사용됨)에는 ID /business/company/industry
가 부여됩니다. 예를 들면 다음과 같습니다.
/automotive/engine/horsepower
은 (자동차) 엔진 유형의 마력 속성 ID입니다./astronomy/star/planet_s
은 Star 유형의 Planets 속성 ID입니다 (별 주변의 행성을 나열하는 데 사용됨)./language/human_language/writing_system
는 Human Language 유형의 Writing System 속성의 ID입니다.
따라서 Freebase에서 유형이 계층 구조로 정렬되지 않더라도 도메인, 유형, 속성에는 파일 디렉터리와 유사한 계층 구조로 개념적으로 정렬된 ID가 부여됩니다.
복합 값 유형
복합 값 유형은 각 항목이 여러 필드로 구성된 데이터를 나타내는 데 사용되는 Freebase 내의 유형입니다. 복합 값 유형(CVT)은 Freebase에서 복잡한 데이터를 나타내는 데 사용됩니다. 처음에는 약간 혼란스러울 수 있지만 CVT는 Freebase 스키마의 매우 중요한 부분이며 주제 간의 복잡한 관계를 더 정확하게 모델링할 수 있습니다.
다음 예를 생각해 보세요. 도시의 인구는 시간이 지남에 따라 변합니다. 즉, Freebase에서 인구를 쿼리할 때마다 특정 날짜의 인구를 암시적으로 요청하게 됩니다. 두 가지 값, 즉 인원수와 날짜가 관련되어 있습니다. CVT가 매우 유용한 상황이 있습니다. 이러한 기능이 없으면 인구 데이터를 모델링하기 위해 주제를 만들고 '1997년 밴쿠버 인구'와 같은 이름을 지정한 다음 정보를 제출해야 합니다.
CVT는 표시 이름을 만들 필요가 없는 주제로 생각할 수 있습니다. 일반 주제와 마찬가지로 CVT에는 독립적으로 참조할 수 있는 GUID가 있습니다. 하지만 Freebase 클라이언트는 주제와는 매우 다르게 취급합니다. 대부분의 경우 CVT의 모든 속성은 명확성 속성이어야 합니다.
주제 MID
주제는 네임스페이스/키 ID로 식별될 수도 있고 식별되지 않을 수도 있지만 항상 MID(머신 식별자)로 식별할 수 있습니다. MID는 /m/
와 base-32 고유 식별자로 구성됩니다. MID는 생성 시점에 주제에 할당되며 주제의 수명 주기 동안 관리됩니다. 주제가 병합되거나 분할될 때 중요한 역할을 하며, 외부 애플리케이션이 물리적 Freebase ID (주제의 GUID)가 변경되더라도 논리적 주제를 추적할 수 있도록 지원합니다. 머신 생성 ID는 다음과 같은 점에서 사람이 읽을 수 있는 다른 Freebase ID('id' 속성에서 반환)와 다릅니다.
- 존재 보장
- 머신 생성
- 오프라인 비교를 지원하도록 설계됨
- 사람에게 의미를 전달하도록 설계되지 않음
- 짧음 (고정 길이일 수 있음)
- 외부 시스템과 구성요소 간에 키를 빠르게 교환하는 데 적합합니다 (외부, 교환).
MID는 Freebase에서 주제를 다루는 데 사용하는 것이 권장되는 식별자입니다.
네임스페이스, 키, 주제 ID
도메인, 유형, 속성 ID의 파일 디렉터리 유사 계층 구조는 네임스페이스 및 키라는 더 일반적인 개념의 한 가지 적용 사례일 뿐입니다. 네임스페이스는 파일 디렉터리와 같고 키는 파일 이름과 같습니다. 특정 파일 디렉터리 내의 모든 파일 이름이 서로 고유해야 하는 것처럼 특정 네임스페이스 내의 모든 키도 서로 고유해야 합니다.
더 구체적인 예로 /business
는 비즈니스 도메인에 해당하는 네임스페이스입니다. 비즈니스 관련 유형에는 키가 지정됩니다 (예: company
)를 사용합니다. 각 유형의 ID는 네임스페이스의 ID에 키를 추가하여 형성됩니다 (예: /business/company
)에 복사합니다.
도메인 및 유형에 해당하는 네임스페이스 외에도 여러 종류의 네임스페이스가 있습니다. 가장 중요하고 자주 발생하는 것은 /en
네임스페이스입니다. 이는 가장 잘 알려진 주제에 사람이 읽을 수 있는 영어 ID를 형성하는 고유한 키를 부여할 수 있는 영어 네임스페이스입니다. 예를 들어 다작으로 유명한 밥 딜런은 Freebase에서 /en
네임스페이스에 bob_dylan
키가 지정되어 있으므로 주제의 ID는 /en/bob_dylan
입니다. 이 ID를 사용하면 간단한 URL로 웹 클라이언트에서 그의 주제에 액세스할 수 있습니다.
속성에 대한 자세한 내용
마지막으로 논의할 기본 개념은 Freebase 속성과 관계형 데이터베이스 기술(즉, 관계형 테이블 열)의 유사점 간의 주요 차이점과 관련이 있습니다. 각 행에서 관계형 테이블 열은 하나의 값만 보유할 수 있습니다. 예를 들어 '저자'라는 열이 있는 일반적인 '책' 관계형 테이블을 생각해 보세요. 'book' 테이블의 각 행에 대해 'author' 열은 'author' 테이블에 대한 외래 키 하나만 보유할 수 있습니다. 도서에 저자가 여러 명인 경우 이 간단한 관계형 스키마 설계는 작동하지 않으며 저자를 모델링하는 새 테이블을 만들어야 합니다. 즉, 도서와 저자 간의 n:n 관계를 저장하려면 'book' 테이블 하나, 'author' 테이블 하나, 'authorship' 테이블 하나가 필요합니다. 또한 스키마 설계를 전환하면 데이터를 가져오는 방식도 크게 달라집니다.
기존 데이터베이스 기술과 달리 Freebase는 실제 데이터를 모델링할 때 다중 값 속성이 매우 바람직하다고 간주하여 기본적으로 다중 값 속성을 지원합니다. 즉, /book/written_work/author
속성이 생성될 때 책당 여러 저자가 허용된다고 가정했으며 다중 값 속성과 단일 값 속성을 정확히 동일한 방식으로 쿼리할 수 있습니다. n:n 관계를 모델링하는 세 번째 테이블과 조인해야 하는지 생각할 필요가 없습니다.
요약
- 유형은 주제의 특정 측면을 설명하는 데 일반적으로 필요한 관련 속성의 개념적 컨테이너입니다.
- 주제에 하나 이상의 유형을 할당할 수 있습니다 (기본 유형은
/common/topic
). - 속성이 유형으로 그룹화되는 것처럼 유형은 도메인으로 그룹화됩니다.
- 도메인, 유형, 속성에는 네임스페이스/키 계층 구조의 ID가 부여됩니다.
- 일반적으로 잘 알려진 주제에는
/en
네임스페이스의 ID가 부여되며, 이는 사람이 읽을 수 있는 영어 문자열입니다. - 주제는 GUID로 Freebase 내에서 고유하게 식별됩니다.
- 속성은 기본적으로 다중 값이며 다중 값 속성과 단일 값 속성은 동일한 방식으로 쿼리할 수 있습니다.