기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

RDF(Resource Description Framework)란
Java/RDF&Jena

RDF(Resource Description Framework)란

2020. 3. 4. 13:57
반응형

- RDF(Resource Description Framework)는 웹상의 자원의 정보를 표현하기 위한 XML 규격으로 상이한 메타데이터 간의 어의, 구문 및 구조에 대한 공통적인 규칙을 지원하는 기법을 통해 웹상에 존재하는 기계 해독형(machine-understandable)정보를 교환하기 위하여 월드 와이드 웹 컨소시엄에서 제안한 것으로, 메타데이터간의 효율적인 교환 및 상호호환을 목적으로 한다.

  간단히 말해서, Semantic Web에서 사용할 수 있는 Web 규약이라고 생각하면 된다.

  • 정보 자원이나 구조를 표현하는 언어
  • 리소스끼리 Object와의 관계를 기술하는 XML기반 언어, XML Schema에 의해 정의

- 예를 들어, X포털 사이트에서 제공되는 데이터를 A사이트와 B사이트에서 가져와서 사용자에게 보여주기 위한 View로 Html을 사용해서 표현을 하는데, 이때 포털 사이트에서 가져오는 Query가 각 사이트마다 다를 수가 있고, 각 사이트마다 가공하는 로직이 달라질 수가 있다.

  X포털 사이트의 데이터의 형태가 달라질 경우 A사이트와 B사이트에서 보여지는 Data의 ID가 일치하지 않는 문제가 발생 할 수도 있다.

  => 위와 같은 문제의 해결을 위해 등장한 것이 RDF. 표준 Data Format이다. 데이터 포맷을 제공하게 되면 데이터의 형태가 달라져도, A사이트와 B사이트의 View가 달라져도 동일한 데이터를 제공해 각각의 사이트마다 데이터를 가공해서 사용할 수가 있다.

 

- RDF 데이터 모형(Data Model)

  • RDF는 자원(Resource)에 대해서 설명해주는 간단한 문장(statements)를 만들 수 있다.
  • RDF는 기본적으로 주어(subject), 서술(predicate), 목적(object)의 트리플(triple)모델로 기술된다.
  • 주어란 표현하고자 하는 데이타를 의미하며, 서술은 주어에 대해 기술하거나 주어와 목적의 관계를 의미한다.
  • 목적이란 서술에 대한 내용이나 값을 의미한다. 또한 각 내용들에 대해서 URI를 통해 기술할 수 있다.
  • 위와 같은 구조의 한 문장을 트리플(triple)이라고 한다.
  • 관계는 방향성(주어에서 목적어로)을 가지며, 속성(Property)라고 함.

위의 모형을 RDF 구문(XML)로 표현하면 

위와 같은 형태로 나오게 된다.

 

- 한 가지 RDF/XML형태의 케이스를 보자면

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" > 
  <rdf:Description rdf:about="http://somewhere/JohnSmith">
    <vcard:N rdf:nodeID="A0"/>
    <vcard:FN>John Smith</vcard:FN>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A0">
    <vcard:Family>Smith</vcard:Family>
    <vcard:Given>John</vcard:Given>
  </rdf:Description>
</rdf:RDF>

 

  • "rdf:about"는 속성에 기술된 자원을 위한 특성을 가지고 있다는 것을 표현하기 위해 사용된 태그이다.
  • vcard는 Model이고, N과 FN은 모델에 포함된 요소이다. N(Name), FN(FullName)으로 사용되었다.
  • nodeID는 특정 모델을 지칭하는 아이디다. 특정 모델을 ID로 정의할 수 있고, 정의된 특정 모델의 ID를 nodeID로 참조할 수 있다. 이 케이스에서는 A0 모델에 대해서 참조하는 흐름이다.

Relational Data 모델

Person명(PK) homeTel Email
richard (229)276-6223 richard49@hotmail.com
cindy (215)646-1154 cindy24@gmail.com

 

RDF 모델

subject(resouce identifier) predicate(property name) Object(property value)
richard homeTel (229)276-6223
richard Email richard49@hotmail.com
cindy homeTel (215)646-1154
cindy Email cindy24@gmail.com

- RDBMS의 PK는 RDF에서는 Subject로, 속성값은 Object로 매핑

반응형

'Java > RDF&Jena' 카테고리의 다른 글

Jena SPARQL 사용 방법 및 소스 코드  (0) 2020.03.20
Jena SDB 사용 예제  (0) 2020.03.20
RDF - Jena 예제 및 주로 사용하는 함수 정리  (0) 2020.03.12
RDF - Eclipse Apache Jena Xml 파일 읽어오기  (0) 2020.03.10
RDF - Eclipse Apache Jena 다운로드 및 사용법  (0) 2020.03.04
    'Java/RDF&Jena' 카테고리의 다른 글
    • Jena SDB 사용 예제
    • RDF - Jena 예제 및 주로 사용하는 함수 정리
    • RDF - Eclipse Apache Jena Xml 파일 읽어오기
    • RDF - Eclipse Apache Jena 다운로드 및 사용법
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바