#!Schema는 schema.org 구조화 데이터를 문서에 표시하고 JSON-LD로도 제공하는 Interpreter입니다.
이전의 AhaWikiSchema 구상은 이 문서로 통합했습니다.
Schema 뒤의 인자는 schema.org class 이름입니다. 공백으로 나누어 여러 개를 쓸 수 있습니다.
본문은 탭으로 구분한 TSV 형식이며, 첫 column은 property, 나머지 column은 value입니다.
빈 줄과 #으로 시작하는 줄은 무시합니다.
한 대상이 둘 다인 경우가 있습니다 — 라이브러리는 코드이면서 쓰는 물건이고, Git 은
[[[#!Schema SoftwareApplication SoftwareSourceCode 로 적습니다. 그러면 codeRepository 와
operatingSystem 이 한 블록에서 각자 제 클래스를 갖습니다. 적은 순서가 유지되므로 주 타입을
앞에 둡니다.
2026-09-04 이전에는 첫 인자만 읽었습니다. 나머지는 조용히 버려져서, 두 클래스를 적어 둔
문서들이 마치 엉뚱한 클래스에 속성을 달고 있는 것처럼 보였습니다.
| Raw | Preview |
|---|---|
[[[#!Schema Person name Ada Lovelace birthDate 1815-12-10 url https://en.wikipedia.org/wiki/Ada_Lovelace ]]] |
하나의 property에 여러 값을 넣을 수 있습니다.
같은 property를 여러 줄에 나누어 써도 됩니다.
| Raw | Preview |
|---|---|
[[[#!Schema WebApplication name AhaWiki applicationCategory Wiki sameAs https://github.com/Aha00a/AhaWiki https://ahawiki.net ]]] |
일반 값은 위키 링크로 렌더링합니다.
url, codeRepository, sameAs는 URL로 렌더링하고, scheme이 없으면 https://를 붙입니다.
image, logo는 이미지로 렌더링합니다.
image, logo 값에 [[Attachment(...)]]를 사용할 수 있습니다. 단, 그 페이지에 실제로 올린 첨부여야 합니다 — 없는 파일이면 볼 때마다 대체 이미지가 뜨고 브라우저의 S3 요청이 실패합니다. 아래 예시에 logo 가 없는 이유입니다(이 페이지에는 첨부가 없습니다).
| Raw | Preview |
|---|---|
[[[#!Schema SoftwareSourceCode name AhaWiki codeRepository github.com/Aha00a/AhaWiki ]]] |
date로 시작하거나 Date로 끝나는 property는 날짜 링크와 함께 기간 정보를 표시합니다.
검색/계산용 schema 정보에는 YYYY-MM-DD 값에서 YYYY-MM도 함께 추출합니다.
| Raw | Preview |
|---|---|
[[[#!Schema Event name Release startDate 2026-05-25 endDate 2026-05-26 ]]] |
address, geo, location, foundingLocation, birthPlace, 그리고 Location으로 끝나는 property는 장소로 취급합니다.
한국어 주소는 단계별 주소 후보도 함께 추출합니다.
렌더링 시 지도 iframe을 표시하고, 값에 한글이 있으면 Google/Naver/Kakao Map 링크도 표시합니다.
| Raw | Preview |
|---|---|
[[[#!Schema LocalBusiness name Example Cafe address 서울특별시 마포구 망원동 geo 37.556,126.905 ]]] |
아래 property가 바로 다음 줄에 같은 개수의 값으로 이어지면 한 줄에 쌍으로 표시합니다.
birthDate / deathDatestartDate / endDateactor / character| Raw | Preview |
|---|---|
[[[#!Schema Movie name Example Movie actor Actor A Actor B character Character A Character B ]]] |
일반 렌더링에서는 HTML 표시와 함께 application/ld+json script를 출력합니다. JSON 은 logics.HtmlJson 으로 써서 <·>·& 가 유니코드 이스케이프가 됩니다. 2026-09-15 전에는 값에 </script 가 있으면 script 요소가 거기서 끝나고 나머지가 마크업으로 돌았습니다.
JSON-LD에는 다음 기본 값이 자동으로 들어갑니다.
@context: https://schema.org@type: shebang의 schema class. 하나면 문자열, 여럿이면 배열입니다. RDFa 쪽 typeof 는 공백으로 이어 붙입니다 — 원래 그 표기가 여러 타입을 뜻합니다url: 현재 문서 URL. 단, url property를 직접 쓴 경우에는 직접 쓴 값을 사용합니다.mainEntityOfPage: 현재 문서 URL@id: 현재 문서 URLname: 현재 문서 이름. 단, name property를 직접 쓴 경우에는 직접 쓴 값을 사용합니다.inLanguage: 현재 요청 localeaddress는 PostalAddress, location과 foundingLocation은 Place, geo의 lat,lng 값은 GeoCoordinates로 변환합니다.
preview 렌더링에서는 추천 property, schema 계층, 사용 가능한 property 목록을 함께 보여줍니다. 클래스를 여럿 적었으면 전부에 대해 보여주고, 추천 property 는 합쳐서 한 번씩만 셉니다.
있으면 좋을 것 같은 Schema 구상입니다.
현재 구현된 schema.org 해석과는 별개로, AhaWiki에서 추가로 다루고 싶은 custom class/property 후보입니다.
Similar pages by cosine similarity. Words after page name are term frequency.