Semantic Web과 Semantic Tag

Tasic·2021년 5월 11일
1
post-thumbnail

Semantic Web

시맨틱 웹(Semantic Web)은 '의미론적인 웹'이라는 뜻으로,현재의 인터넷과 같은 분산환경에서 리소스(웹 문서, 각종 화일, 서비스 등)에 대한 정보와 자원 사이의 관계-의미 정보(Semanteme)를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 프레임워크이자 기술이다.

정리하자면 웹 페이지를 기계(컴퓨터)가 이해할 수 있도록 표현 하는 것이 목표 입니다.
예를 들어 바나나는 노란색 이다 라는 말은 사람이 보기에는 바나나노란색의 관계를 알 수 있습니다. 하지만 기계가 보기에는 바나나랑 노란색이랑 연관되어 있는지 알 수 없습니다.

기계가 이해하기 위해서는 다음과 같이 표현 되어야 됩니다.
가장 단순한 형태인 RDF는 <Subject, Predicate, Object>의 트리플 형태로 개념을 표현되는데, 위의 예를 트리플로 표현하면 <urn:바나나, urn:색, urn:노랑>으로 표현 될것이며 이는 기계가 바나나랑 노란색이 연관됨을 알 수 있습니다.

Semantic Tag

Semantic Tag란 인간과 브라우저가 모두에게 그 의미를 명확하게 설명하는 태그를 나타냅니다.

<div id="header"> 내용 </div>

로만 나타낼수 있던 header를

<header> 내용 </header>

로 쉽게 의미론 적으로 나타낼 수 있습니다.

이러한 태그가 존재 안 했을시에는 특정 기능을 수행하는 요소들(내비게이션, 헤더 등..) div 태그의 class명을 부여하여 구분하였는데, 이러한 방식은 정해진 규칙인 있는것도 아니기 때문에, 웹 사이트 마다 표시되는 방식이 조금씩 달랐습니다.

예시
<!-- A 사이트 -->
<!-- 내비게이션을 의미 -->
<div class="nav"> </div>
<!-- footer를 의미 -->
<div class="footer"> </div>

<!-- B 사이트 -->
<!-- 내비게이션을 의미 -->
<div class="navigation"> </div>
<!-- footer를 의미 -->
<div class="endblock"> </div>

그러므로 사용자는 네비게이션에 해당되는 div를 찾기 어려울 것이며 아무런 의미가 없습니다. 그러므로 인간과 브라우저 모두 이해하기 어렵습니다.

사람이라면 코드 분석을 통해서 의미를 짐작할 수는 있을 것입니다. 하지만 웹페이지의 양은 어마어마하게 많고 이러한 페이지를 하나하나씩 코드를 분석해서 의미를 찾는 것은 불가능에 가까울 것입니다.

그 반면에 의미가 있는 tag를 사용하면 아래의 코드처럼 내비게이션을 찾으려고 하면, nav로 검색만 하면 됩니다.

이는 태그만으로 어떠한 요소인지 명확하게 알 수 있기 때문에, 인간과 기계 모두 이해하기 편합니다. 즉 Semantic tag가 Semantic web을 쉽게 구성할수 있도록 도와준다고 볼 수 있습니다.

Semantic tag의 종류에 대해서는 아래 링크를 참조해 주시기 바랍니다.
참고-Semantic tag

Reference

시맨틱 웹 - wikipedia
HTML Semantic Elements - w3schools

profile
블로그 옮겼습니다 (https://jotasic.github.io)

0개의 댓글