Copyright © 2004-2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
RDF 스키마는 RDF 데이터를 위한 데이터 모델링 어휘를 제공합니다. RDF 스키마는 기본 RDF 어휘의 확장입니다.
이 절은 이 문서가 발행된 시점의 상태를 설명합니다. 현재 W3C 발행물과 이 기술 보고서의 최신 개정판 목록은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
이 문서는 2014년 RDF 스키마 권고안을 편집한 버전입니다. 이 개정의 목적은 이 문서를 RDF 1.2 문서 집합의 일부로 제공하는 것입니다. 변경 사항은 정오표, 개정된 참조, 용어 업데이트, 그리고 소개 부분의 조정으로 제한됩니다. 문서 제목은 RDF Schema 1.1에서 RDF 1.2 스키마로 변경되었습니다. 문서의 기술적 내용은 변경되지 않았습니다. 변경 사항의 세부 정보는 변경 사항 절에 나열되어 있습니다. 이 문서에 대한 편집은 기술적 변경에 해당하지 않으므로 Director는 새로운 구현 보고서가 필요하지 않다고 결정했습니다.
이 문서는 RDF & SPARQL 워킹 그룹이 권고안 트랙을 사용하여 작업 초안으로 발행했습니다.
작업 초안으로 발행되었다고 해서 W3C 및 그 회원의 승인을 의미하지는 않습니다.
이 문서는 초안 문서이며 언제든지 다른 문서로 업데이트, 대체 또는 폐기될 수 있습니다. 이 문서를 진행 중인 작업 이외의 것으로 인용하는 것은 부적절합니다. 이 예정된 권고안의 향후 업데이트에는 새 기능이 포함될 수 있습니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었습니다. W3C는 해당 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지관리하며, 그 페이지에는 특허 공개 방법에 대한 지침도 포함되어 있습니다. 개인이 자신이 실제로 알고 있는 특허가 필수 청구항을 포함한다고 믿는 경우, 그 개인은 W3C 특허 정책 제6절에 따라 해당 정보를 공개해야 합니다.
이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.
RDF 스키마는 RDF 데이터를 위한 데이터 모델링 어휘를 제공합니다. 이는 RDF의 기본 개념과 추상 구문을 설명하는 여러 동반 문서 [RDF12-CONCEPTS], RDF의 형식적 의미론 [RDF12-SEMANTICS], 그리고 Turtle [RDF12-TURTLE], TriG, [RDF12-TRIG], JSON-LD [JSON-LD11]와 같은 RDF의 다양한 구체 구문으로 보완됩니다. RDF 입문서 [RDF12-PRIMER]는 이 문서에서 지정한 개념의 사용에 대한 비공식적인 소개와 예제를 제공합니다.
이 문서는 서로 보완적인 두 가지 목적을 가집니다.
rdf: 및
rdfs: 네임스페이스 안에서 정의된 모든 용어를 열거하며,
여기에는 온톨로지 구성과 관련된 용어와 RDF 애플리케이션에서
널리 사용되는 범용 용어가 모두 포함됩니다.
이 문서는 형식적 의미론 명세 [RDF12-SEMANTICS]가 어렵다고 느끼는 사람들에게 RDF 스키마의 명확한 명세를 제공하기 위한 것입니다. 따라서 이 문서는 RDF 의미론 명세에도 지정된 내용을 중복해서 포함합니다. 이 문서와 RDF 의미론 명세 사이에 불일치가 있는 경우, RDF 의미론 명세가 올바른 것으로 간주되어야 합니다.
RDF 스키마는 RDF의 의미론적 확장입니다. 이는 관련 리소스의 그룹과 이러한 리소스 사이의 관계를 설명하기 위한 메커니즘을 제공합니다. RDF 스키마는 이 문서에서 설명하는 용어를 사용하여 RDF로 작성됩니다. 이러한 리소스는 속성의 도메인과 범위 같은 다른 리소스의 특성을 결정하는 데 사용됩니다.
RDF 스키마의 클래스 및 속성 시스템은 Java와 같은 객체 지향
프로그래밍 언어의 타입 시스템과 유사합니다. RDF
스키마는 인스턴스가 가질 수 있는 속성을 기준으로 클래스를 정의하는
많은 시스템과 달리,
속성이 적용되는 리소스의 클래스를 기준으로
속성을 설명합니다. 이것이 이 명세에서 설명하는
도메인 및 범위
메커니즘의 역할입니다. 예를 들어, eg:author 속성이
eg:Document를 도메인으로, eg:Person을 범위로
갖도록 정의할 수 있는 반면, 고전적인 객체 지향 시스템에서는
일반적으로 eg:Book 클래스를 정의하고 그 안에
eg:Person 타입의 eg:author라는 속성을 둘 수 있습니다.
RDF 접근 방식을 사용하면 다른 사람들이 나중에
eg:Document를 도메인으로 하거나
eg:Person을 범위로 하는 추가 속성을 쉽게 정의할 수 있습니다.
이는 이러한 클래스의 원래 설명을 다시 정의할 필요 없이
수행할 수 있습니다. RDF의 속성 중심 접근 방식의 한 가지 이점은
누구나 기존 리소스의 설명을 확장할 수 있도록 한다는 점이며,
이는 Web의 아키텍처 원칙 중 하나입니다 [RDF-NOT].
그러나 RDF 스키마에는 더 넓은 RDF 기능과 일반적인 데이터 표현 요구를 지원하는 rdf: 및 rdfs: 네임스페이스의 많은 용어도 포함됩니다. 이러한 용어는 온톨로지 명세에만 한정되지 않고 RDF의 더 넓은 아키텍처에서 필수적인 역할을 합니다.
이 명세는 RDF 클래스와 속성의 의미를 표현할 수 있는 모든 가능한 형식을 열거하려고 시도하지 않습니다. 대신 RDF 스키마의 전략은 클래스와 속성의 의미를 설명할 수 있는 기법이 많다는 점을 인정하는 것입니다. OWL [OWL2-OVERVIEW]과 같은 더 풍부한 어휘 또는 '온톨로지' 언어, 추론 규칙 언어 및 기타 형식 체계(예: 시간 논리)는 각각 Web의 데이터에 대한 의미 있는 일반화를 포착하는 우리의 능력에 기여할 것입니다.
이 명세에서 정의하는 언어는
애플리케이션별 RDF 어휘에서 다른 RDF 리소스를 설명하는 데
사용할 수 있는 RDF 리소스의 모음으로 구성됩니다. 핵심 어휘는
여기서 비공식적으로 rdfs라고 부르는 네임스페이스에 정의됩니다.
RDF 어휘의 IRI는 종종 네임스페이스 IRI라고 알려진 공통 부분 문자열로 시작합니다. 일부 네임스페이스 IRI는 관례에 따라 네임스페이스 접두사라고 알려진 짧은 이름과 연결됩니다.
| 네임스페이스 접두사 | 네임스페이스 IRI |
|---|---|
| rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
| rdfs | http://www.w3.org/2000/01/rdf-schema#
|
| xsd | http://www.w3.org/2001/XMLSchema#
|
편의성과 가독성을 위해 이 명세는 IRI를 나타내는 데 축약 형식을
사용합니다. prefix:suffix 형식의 이름은
prefix와 연결된 IRI에
suffix를 이어 붙인 IRI로 해석되어야 합니다.
리소스는 클래스라고 부르는 그룹으로 나뉠 수 있습니다. 한
클래스의 멤버는 그 클래스의 인스턴스로 알려져 있습니다. 클래스
자체도
리소스입니다. 클래스는 종종 IRI로 식별되며
RDF 속성을 사용하여 설명될 수 있습니다. rdf:type
속성은 어떤 리소스가 클래스의 인스턴스임을 나타내는 데
사용할 수 있습니다.
RDF는 클래스와 그 인스턴스 집합을 구별합니다. 각 클래스에는 그 클래스의 클래스 확장이라고 불리는 집합이 연결되어 있으며, 이는 그 클래스의 인스턴스 집합입니다. 두 클래스는 동일한 인스턴스 집합을 가질 수 있지만 서로 다른 클래스일 수 있습니다. 예를 들어, 세무서는 이 문서의 편집자와 같은 주소에 사는 사람들의 클래스를 정의할 수 있습니다. 우체국은 저자의 주소와 같은 우편번호를 가진 사람들의 클래스를 정의할 수 있습니다. 이러한 클래스들이 정확히 동일한 인스턴스를 가질 수 있지만 서로 다른 속성을 가질 수 있습니다. 한 클래스만 세무서가 정의했다는 속성을 가지며, 다른 클래스만 우체국이 정의했다는 속성을 가집니다.
클래스는 자기 자신의 클래스 확장의 멤버일 수 있고 자기 자신의 인스턴스일 수도 있습니다.
RDF 스키마 클래스인 리소스들의 그룹 자체도
rdfs:Class라고 부르는 클래스입니다.
클래스 C가 클래스 C'의 하위 클래스이면,
C의 모든 인스턴스는
C'의 인스턴스이기도 합니다. rdfs:subClassOf
속성은 한 클래스가 다른 클래스의 하위 클래스임을 나타내는 데
사용할 수 있습니다. 상위 클래스라는 용어는 하위 클래스의 역관계로 사용됩니다.
클래스 C'가 클래스 C의 상위 클래스이면,
C의 모든 인스턴스는 C'의 인스턴스이기도 합니다.
RDF 개념 및 추상 구문 [RDF12-CONCEPTS] 명세는 RDF 데이터형이라는 RDF 개념을 정의합니다. 모든 데이터형은 클래스입니다. 데이터형인 클래스의 인스턴스는 그 데이터형의 값 공간의 멤버입니다.
RDF가 설명하는 모든 것은 리소스라고 불리며,
rdfs:Resource 클래스의 인스턴스입니다. 이것은
모든 것의 클래스입니다. 다른 모든 클래스는 이 클래스의
하위 클래스입니다.
rdfs:Resource는 rdfs:Class의 인스턴스입니다.
이것은 RDF 클래스인 리소스들의 클래스입니다.
rdfs:Class는 rdfs:Class.의 인스턴스입니다.
rdfs:Literal 클래스는 문자열과 정수 같은
리터럴
값의 클래스입니다. 텍스트 문자열과 같은 속성 값은 RDF 리터럴의
예입니다.
rdfs:Literal은 rdfs:Class의 인스턴스입니다.
rdfs:Literal은 하위 클래스로서
rdfs:Resource의 하위 클래스입니다.
rdfs:Datatype은 데이터형의 클래스입니다.
rdfs:Datatype의 모든 인스턴스는
RDF 개념 명세 [RDF12-CONCEPTS]에 설명된
데이터형에 대한 RDF 모델에
해당합니다.
rdfs:Datatype은 rdfs:Class의 인스턴스이면서
하위 클래스이기도 합니다.
rdfs:Datatype의 각 인스턴스는
rdfs:Literal의 하위 클래스입니다.
rdf:Property는 RDF 속성의 클래스입니다.
rdf:Property는 rdfs:Class의 인스턴스입니다.
RDF 개념 및 추상 구문 명세 [RDF12-CONCEPTS]는 RDF 속성의 개념을 주어 리소스와 목적어 리소스 사이의 관계로 설명합니다.
이 명세는 하위 속성의 개념을 정의합니다. rdfs:subPropertyOf
속성은 한 속성이 다른 속성의 하위 속성임을 나타내는 데
사용할 수 있습니다.
속성 P가 속성 P'의 하위 속성이면,
P로 관련된 모든 리소스 쌍은 P'로도 관련됩니다.
상위 속성이라는 용어는 종종 하위 속성의 역관계로 사용됩니다.
속성 P'가 속성 P의 상위 속성이면,
P로 관련된 모든 리소스 쌍은 P'로도 관련됩니다.
이 명세는 모든 속성의 상위 속성인 최상위 속성을 정의하지 않습니다.
rdfs:domain과
rdfs:range가 제공하는 기본 기능은
클래스에 국한된 속성 제한을 표시하는 직접적인 방법을 제공하지 않습니다.
rdfs:domain 및
rdfs:range의 사용을 하위 속성
계층과 결합하는 것은 가능하지만, 이러한 선언에 대한 직접 지원은
OWL [OWL2-OVERVIEW]과
같은
더 풍부한 Web 온톨로지 언어에서 제공됩니다.
rdfs:range는 rdf:Property의 인스턴스로,
속성의 값이 하나 이상의 클래스의 인스턴스임을 나타내는 데
사용됩니다.
트리플
P rdfs:range C
은 P가 rdf:Property 클래스의 인스턴스이고,
C가 rdfs:Class 클래스의 인스턴스이며,
술어가 P인 트리플의 목적어가 가리키는 리소스가
클래스 C의 인스턴스임을 나타냅니다.
P가 둘 이상의 rdfs:range 속성을 가지는 경우,
술어가 P인 트리플의 목적어가 가리키는 리소스는
rdfs:range 속성이 나타내는 모든 클래스의 인스턴스입니다.
rdfs:range 속성은 자기 자신에게 적용될 수 있습니다.
rdfs:range의 rdfs:range는
rdfs:Class 클래스입니다.
이는 rdfs:range 속성의 값인 모든 리소스가
rdfs:Class의 인스턴스임을
나타냅니다.
rdfs:range 속성은 속성에 적용됩니다. 이는
rdfs:domain 속성을 사용하여 RDF로
표현할 수 있습니다. rdfs:range의
rdfs:domain은
rdf:Property 클래스입니다. 이는
rdfs:range 속성을 가진 모든 리소스가
rdf:Property의 인스턴스임을
나타냅니다.
rdfs:domain은 rdf:Property의 인스턴스로,
주어진 속성을 가진 모든 리소스가 하나 이상의 클래스의
인스턴스임을 나타내는 데 사용됩니다.
다음 형식의 트리플:
P rdfs:domain C
은 P가 rdf:Property 클래스의 인스턴스이고,
C가 rdfs:Class 클래스의 인스턴스이며,
술어가 P인 트리플의 주어가 가리키는 리소스가
클래스 C의 인스턴스임을 나타냅니다.
속성 P가 둘 이상의 rdfs:domain 속성을 가지는 경우,
술어가 P인 트리플의 주어가 가리키는 리소스는
rdfs:domain 속성이 나타내는 모든 클래스의
인스턴스입니다.
rdfs:domain 속성은 자기 자신에게 적용될 수 있습니다.
rdfs:domain의 rdfs:domain은
rdf:Property 클래스입니다.
이는 rdfs:domain 속성을 가진 모든
리소스가 rdf:Property의 인스턴스임을
나타냅니다.
rdfs:domain의 rdfs:range는
rdfs:Class 클래스입니다.
이는 rdfs:domain 속성의 값인 모든 리소스가
rdfs:Class의 인스턴스임을
나타냅니다.
rdf:type은 rdf:Property의 인스턴스로,
리소스가 클래스의 인스턴스임을 나타내는 데 사용됩니다.
다음 형식의 트리플:
R rdf:type C
은 C가 rdfs:Class의 인스턴스이고
R이 C의 인스턴스임을 나타냅니다.
rdf:type의 rdfs:domain은
rdfs:Resource입니다.
rdf:type의 rdfs:range는
rdfs:Class입니다.
rdfs:subClassOf 속성은 rdf:Property의 인스턴스로,
한 클래스의 모든 인스턴스가 다른 클래스의 인스턴스임을
나타내는 데 사용됩니다.
다음 형식의 트리플:
C1 rdfs:subClassOf C2
은 C1이 rdfs:Class의 인스턴스이고,
C2가 rdfs:Class의 인스턴스이며,
C1이 C2의 하위 클래스임을 나타냅니다.
rdfs:subClassOf 속성은 추이적입니다.
rdfs:subClassOf의 rdfs:domain은
rdfs:Class입니다.
rdfs:subClassOf의 rdfs:range는
rdfs:Class입니다.
rdfs:subPropertyOf 속성은 rdf:Property의 인스턴스로,
한 속성으로 관련된 모든 리소스가 다른 속성으로도 관련됨을
나타내는 데 사용됩니다.
다음 형식의 트리플:
P1 rdfs:subPropertyOf P2
은 P1이 rdf:Property의 인스턴스이고,
P2가 rdf:Property의 인스턴스이며,
P1이 P2의 하위 속성임을 나타냅니다.
rdfs:subPropertyOf 속성은 추이적입니다.
rdfs:subPropertyOf의 rdfs:domain은
rdf:Property입니다.
rdfs:subPropertyOf의 rdfs:range는
rdf:Property입니다.
rdfs:label은 rdf:Property의 인스턴스로,
리소스 이름의 사람이 읽을 수 있는 버전을 제공하는 데
사용할 수 있습니다.
다음 형식의 트리플:
R rdfs:label L
은 L이 R에 대한 사람이 읽을 수 있는 레이블임을 나타냅니다.
rdfs:label의 rdfs:domain은
rdfs:Resource입니다.
rdfs:label의 rdfs:range는
rdfs:Literal입니다.
다국어 레이블은 RDF 리터럴의 언어 태깅 기능을 사용하여 지원됩니다.
rdfs:comment는 rdf:Property의 인스턴스로,
리소스에 대한 사람이 읽을 수 있는 설명을 제공하는 데
사용할 수 있습니다.
다음 형식의 트리플:
R rdfs:comment L
은 L이 R에 대한 사람이 읽을 수 있는 설명임을 나타냅니다.
rdfs:comment의 rdfs:domain은
rdfs:Resource입니다.
rdfs:comment의 rdfs:range는
rdfs:Literal입니다.
텍스트 주석은 RDF 클래스와 속성의 의미를 명확히 하는 데 도움이 됩니다. 이러한 인라인 문서화는 형식적 기법 (온톨로지 및 규칙 언어)과 비공식적 기법(산문 문서, 예제, 테스트 케이스)의 사용을 모두 보완합니다. RDF 어휘에서 설명되는 클래스와 속성의 의도된 의미를 나타내기 위해 다양한 문서화 형식을 결합할 수 있습니다. RDF 어휘는 RDF 그래프로 표현되므로, 다른 네임스페이스에서 정의된 어휘를 사용하여 더 풍부한 문서화를 제공할 수 있습니다.
다국어 문서화는 RDF 리터럴의 언어 태깅 기능을 사용하여 지원됩니다.
rdfs:seeAlso는 rdf:Property의 인스턴스로,
주어 리소스에 대한 추가 정보를 제공할 수 있는
리소스를 나타내는 데 사용됩니다.
다음 형식의 트리플:
S rdfs:seeAlso O
은 리소스 O가 S에 대한 추가 정보를 제공할 수 있음을 나타냅니다. O의 표현을 Web에서 가져올 수 있을 수도 있지만, 이는 필수는 아닙니다. 그러한 표현을 가져올 수 있는 경우에도, 그 표현의 형식에는 아무런 제약이 없습니다.
rdfs:seeAlso의 rdfs:domain은
rdfs:Resource입니다.
rdfs:seeAlso의 rdfs:range는
rdfs:Resource입니다.
rdfs:isDefinedBy는 rdf:Property의 인스턴스로,
주어 리소스를 정의하는 리소스를 나타내는 데 사용됩니다.
이 속성은 리소스가 설명되는 RDF 어휘를 나타내는 데
사용할 수 있습니다.
다음 형식의 트리플:
S rdfs:isDefinedBy O
은 리소스 O가 S를 정의함을 나타냅니다.
O의 표현을 Web에서 가져올 수 있을 수도 있지만,
이는 필수는 아닙니다. 그러한 표현을 가져올 수 있는 경우에도,
그 표현의 형식에는 아무런 제약이 없습니다.
rdfs:isDefinedBy는 rdfs:seeAlso의
하위 속성입니다.
rdfs:isDefinedBy의 rdfs:domain은
rdfs:Resource입니다.
rdfs:isDefinedBy의 rdfs:range는
rdfs:Resource입니다.
이 절은 비규범적입니다.
이 명세는 RDF 데이터에서 속성과 클래스의 의미 있는 사용을 설명하기 위한 RDF 어휘를 소개합니다. 예를 들어, RDF 어휘는 어떤 속성에 적합한 값의 타입에 대한 제한이나, 그러한 속성을 부여하는 것이 의미 있는 클래스에 대한 제한을 설명할 수 있습니다.
RDF 스키마는 이 정보를 설명하기 위한 메커니즘을 제공하지만,
애플리케이션이 이를 사용해야 하는지 또는 어떻게 사용해야 하는지는
말하지 않습니다. 예를 들어, RDF 어휘는 author 속성이
Person 클래스의 인스턴스인 리소스를 나타내는 데
사용된다고 주장할 수 있지만,
애플리케이션이 그 범위 정보를 처리할 때 이에 따라 동작해야 하는지
또는 어떻게 동작해야 하는지는 말하지 않습니다. 서로 다른 애플리케이션은
이 정보를 서로 다른 방식으로 사용할 것입니다. 예를 들어,
데이터 검사 도구는 이를 사용하여 어떤 데이터 집합의 오류를 발견하는 데
도움을 받을 수 있고, 대화형 편집기는 적절한 값을 제안할 수 있으며,
추론 애플리케이션은 인스턴스 데이터로부터 추가 정보를 추론하는 데
사용할 수 있습니다.
RDF 어휘는 여러 독립적으로 개발된 어휘의 어휘 항목들 사이의
관계를 설명할 수 있습니다. IRI는 Web에서 클래스와 속성을
식별하는 데 사용되므로, 다른 네임스페이스에서 정의된 클래스를
값으로 하는 domain 또는 range를 가진
새로운 속성을 만들 수 있습니다.
RDF 데이터형은 연관된 값 공간, 어휘 공간, 어휘-값 매핑을 가진 리터럴 값의 클래스이며, 데이터형 IRI로 식별됩니다 [RDF12-CONCEPTS].
RDF 1.2는 RDF 고유 데이터형(예: rdf:langString,
rdf:dirLangString,
rdf:HTML, rdf:XMLLiteral, rdf:JSON)과 아래에 열거된
XML Schema 1.1
데이터형의 RDF 호환 부분집합을 모두 인식합니다.
rdf:langString 클래스는
언어 태그가 붙은 문자열 값의 클래스입니다.
rdf:langString은
rdfs:Datatype의 인스턴스이며 하위 클래스로서
rdfs:Literal의 하위 클래스입니다.
rdf:dirLangString 클래스는
방향성이 있는 언어 태그가 붙은
문자열 값의 클래스입니다. rdf:dirLangString은
rdfs:Datatype의 인스턴스이며 하위 클래스로서
rdfs:Literal의 하위 클래스입니다.
이 절은 비규범적입니다.
rdf:HTML 클래스는
HTML 리터럴 값의 클래스입니다.
rdf:HTML은
rdfs:Datatype의 인스턴스이며 하위 클래스로서
rdfs:Literal의 하위 클래스입니다.
이 절은 비규범적입니다.
rdf:XMLLiteral 클래스는
XML 리터럴 값의 클래스입니다.
rdf:XMLLiteral은
rdfs:Datatype의 인스턴스이며 하위 클래스로서
rdfs:Literal의 하위 클래스입니다.
이 절은 비규범적입니다.
rdf:JSON 클래스는
JSON 리터럴 값의 클래스입니다.
rdf:JSON은
rdfs:Datatype의 인스턴스이며 하위 클래스로서
rdfs:Literal의 하위 클래스입니다.
W3C XML Schema
Definition
Language (XSD) 1.1 Part 2: Datatypes [XMLSCHEMA11-2]에서
정의된
모든 내장 데이터형은
http://www.w3.org/2001/XMLSchema#xxx 형식의 IRI를 사용하여 식별되며,
여기서 xxx는 데이터형의 로컬 이름입니다. 전체
XSD 데이터형 집합 중에서 아래에 나열된 부분집합은
RDF 데이터 모델과 호환되는 것들로 구성되며 RDF 호환
XSD 데이터형으로 알려져 있습니다 [RDF12-CONCEPTS].
xsd:stringxsd:booleanxsd:decimalxsd:integerxsd:doublexsd:floatxsd:datexsd:timexsd:dateTimexsd:dateTimeStampxsd:gYearxsd:gMonthxsd:gDayxsd:gYearMonthxsd:gMonthDayxsd:durationxsd:yearMonthDurationxsd:dayTimeDurationxsd:bytexsd:shortxsd:intxsd:longxsd:unsignedBytexsd:unsignedShortxsd:unsignedIntxsd:unsignedLongxsd:positiveIntegerxsd:nonNegativeIntegerxsd:negativeIntegerxsd:nonPositiveIntegerxsd:hexBinaryxsd:base64Binaryxsd:anyURIxsd:languagexsd:normalizedStringxsd:tokenxsd:NMTOKENxsd:Namexsd:NCName이 절은 비규범적입니다.
RDF 컨테이너는 핵심 RDF 명세가 더 이상 멤버가 없음을 나타내는 메커니즘을 정의하지 않는다는 의미에서 열려 있습니다. RDF 컬렉션의 클래스와 속성 어휘는 닫힌 컬렉션, 즉 더 이상 멤버를 가질 수 없는 컬렉션을 설명할 수 있습니다.
컬렉션은 항목들의 목록으로 표현되며, 이는 Lisp 및 유사한 프로그래밍 언어 경험이 있는 사람들에게 익숙한 표현입니다. Turtle 구문 명세에는 컬렉션을 표현하기 위한 축약 표기법이 있습니다.
RDFS는 목록과 유사한 구조에 첫 번째 요소가 하나만 있어야 한다거나, 목록과 유사한 구조에 반드시 첫 번째 요소가 있어야 한다고 요구하지 않습니다.
RDF는 헤드-테일 링크의 관점에서 컬렉션, 즉 '목록 구조'를 설명하기 위한 어휘를 제공합니다. 컬렉션은 분기 구조를 허용하고 명시적인 종료자를 가지므로, 애플리케이션이 컬렉션 안의 정확한 항목 집합을 결정할 수 있다는 점에서 컨테이너와 다릅니다.
컨테이너와 마찬가지로, 이 어휘에는 rdf:nil의 타입이
rdf:List라는 것 외에는 특별한 의미론적 조건이 부과되지 않습니다. 이는
일반적으로 빈 노드를 사용하여 컨테이너를 설명하고, 위에서 설명한 형식의
두 트리플로 각각 설명되는 항목들의 'well-formed' 시퀀스를 연결하는
맥락에서 사용되도록 의도되었습니다.
_:c1 rdf:first aaa .
_:c1 rdf:rest _:c2 .
마지막 항목은 rdf:rest 속성의 값으로
rdf:nil을 사용하여 표시됩니다. 익숙한 관례에서 rdf:nil은
빈 컬렉션으로 생각할 수 있습니다. 그러한 그래프는 컬렉션이 존재한다는
단언에 해당하며, 컬렉션의 멤버는 검사로 결정할 수 있으므로,
이는 애플리케이션이 무엇을 의미하는지 판단할 수 있게 하기에
종종 충분합니다. 의미론은 그래프에 명시적으로 언급된 컬렉션
(및 빈 컬렉션) 외에는 어떤 컬렉션도 존재할 것을 요구하지 않습니다.
예를 들어, 두 항목을 포함하는 컬렉션의 존재가 항목의 순서가 바뀐
유사한 컬렉션도 존재함을 자동으로 보장하지는 않습니다:
_:c1 rdf:first ex:aaa .
_:c1 rdf:rest _:c2 .
_:c2 rdf:first ex:bbb .
_:c2 rdf:rest rdf:nil .
는 다음을 함의하지 않습니다
_:c3 rdf:first ex:bbb .
_:c3 rdf:rest _:c4 .
_:c4 rdf:first ex:aaa .
_:c4 rdf:rest rdf:nil .
또한 RDF는 이 어휘의 사용에 대해 'well-formedness' 조건을 부과하지 않으므로, 갈라진 목록이나 목록이 아닌 꼬리, 또는 여러 헤드를 가진 목록과 같은 매우 특이한 객체의 존재를 단언하는 RDF 그래프를 작성할 수 있습니다:
_:666 rdf:first ex:aaa .
_:666 rdf:first ex:bbb .
_:666 rdf:rest ex:ccc .
_:666 rdf:rest rdf:nil .
rdf:rest 속성 값을 지정하지 않아 컬렉션을 불완전하게
지정하는 트리플 집합을 작성하는 것도 가능합니다.
의미론적 확장은
이러한 그래프를 배제하기 위해 이 어휘의 사용에 추가적인 구문적
well-formedness 제한을 둘 수 있습니다. 그러한 확장은
위에서 설명한 형식의 두 트리플 항목으로 이루어진 'linked' 컬렉션의 주어가,
rdf:nil로 끝나는 항목으로 종료될 때, 그 항목들의
rdf:first 값이 가리키는 대상들을 주어에서 rdf:nil까지
rdf:rest 속성을 따라가며 얻은 순서로 완전히 정렬된 시퀀스를
나타낸다는 관례를 위반하는 컬렉션 어휘의 해석을 배제할 수 있습니다.
이는 다른 시퀀스를 포함하는 시퀀스를 허용합니다.
RDFS 의미론적 조건은
rdf:first 속성의 모든 주어와 rdf:rest 속성의
모든 주어 또는 목적어가 rdf:type rdf:List이어야 함을 요구합니다.
rdf:List는 rdfs:Class의 인스턴스로,
목록 및 기타 목록과 유사한 구조의 설명을 구축하는 데 사용할 수 있습니다.
rdf:first는 rdf:Property의 인스턴스로,
목록 및 기타 목록과 유사한 구조의 설명을 구축하는 데 사용할 수 있습니다.
다음 형식의 트리플:
L rdf:first O
은 L과 O 사이에 첫 번째 요소 관계가 있음을 나타냅니다.
rdf:first의 rdfs:domain은
rdf:List입니다. rdf:first의
rdfs:range는
rdfs:Resource입니다.
rdf:rest는 rdf:Property의 인스턴스로,
목록 및 기타 목록과 유사한 구조의 설명을 구축하는 데 사용할 수 있습니다.
다음 형식의 트리플:
L rdf:rest O
은 L과 O 사이에 목록의 나머지 관계가 있음을 나타냅니다.
rdf:rest의 rdfs:domain은
rdf:List입니다. rdf:rest의
rdfs:range는
rdf:List입니다.
리소스 rdf:nil은 rdf:List의 인스턴스로,
빈 목록 또는 기타 목록과 유사한 구조를 나타내는 데 사용할 수 있습니다.
다음 형식의 트리플:
L rdf:rest rdf:nil
은 L이 항목 하나를 가진 rdf:List의
인스턴스임을 나타내며, 그 항목은 rdf:first
속성을 사용하여 표시할 수 있습니다.
트리플 용어는 [RDF12-CONCEPTS]에서 정의된 구성물로, 값으로 사용되는 RDF 트리플, 구체적으로 다른 트리플의 목적어 위치에서 사용되는 RDF 트리플로 구성됩니다. 이러한 사용은 명제에 대한 참조를 나타내며, 중요하게도 트리플 용어는 그 자체만으로는 단언을 의미하지 않습니다. 즉, 그것이 가리키는 명제는 RDF 그래프가 단언한 사실일 필요가 없습니다. 이는 그 트리플이 RDF 그래프에서도 단언되어 있는 경우, 즉 그 트리플 집합의 직접 요소인 경우에만 해당합니다. 그렇지 않으면 단언되지 않은 상태로 남으며 주로 참조로 기능합니다. 이를 통해 단언된 그래프 내용의 일부일 수도 있고 아닐 수도 있는 트리플에 대한 메타데이터나 주석을 표현할 수 있으며, 잠재적으로 모순되는 관계도 포함될 수 있습니다.
트리플 용어에 나타나는 RDF 용어는 그래프의 단언된 트리플에 나타날 때와 동일한 지시 대상을 가집니다. 이러한 이유로 트리플 용어는 투명하다고 합니다.
트리플 용어는 술어가
rdf:reifies인 트리플의 목적어가 될 수 있습니다.
이러한 경우 결과 트리플은 구체화 트리플이라고 하며, 그 주어는
구체화자라고 부릅니다.
구체화 트리플의 트리플 용어가 동일한 그래프에서 단언된 트리플로도 나타날 때,
동일한 구체화자를 주어로 공유하는 트리플의 부분집합을
트리플 주석이라고 합니다.
트리플 용어는 항상 추상적이고 논리적인 명제를 나타내지만, 구체화자는 이러한 명제와 관련된
다양한 것(예: 그 명제가 성립한다는 진술이나 믿음, 또는 그 명제를 참으로 만드는
사건이나 상황)을 나타낼 수 있습니다. 따라서 트리플 용어는 구체화 트리플의 목적어로
일반적으로 사용되고, 트리플 용어가 아니라 구체화자가 추가 설명에 사용될 것으로 기대됩니다.
구체화자가 제공하려는 사용 사례의 다양성 때문에
rdf:reifies 속성의 의미는 의도적으로 일반적입니다. 동일한 명제에 대해
여러 개의 서로 다른 구체화자(예: 서로 다른 출처나 맥락에서)가 존재할 수 있으며,
반대로 하나의 구체화자가 여러 명제에 사용될 수도 있습니다.
rdfs:Proposition은 명제의 클래스이며, 두 엔티티 사이의 관계를 설명하는
단순한 논리 표현입니다.
rdfs:Proposition은 rdfs:Class의 인스턴스이며
하위 클래스로서 rdfs:Resource의 하위 클래스입니다.
rdf:reifies는 rdf:Property의 인스턴스로,
리소스를 명제와 연관시키는 데 사용됩니다.
rdf:reifies의 rdfs:domain은
rdfs:Resource입니다.
rdf:reifies의 rdfs:range는
rdfs:Proposition입니다.
다음 유틸리티 클래스와 속성은 RDF 핵심 네임스페이스에서 정의됩니다.
rdf:value는 rdf:Property의 인스턴스로,
구조화된 값을 설명할 때
사용할 수 있습니다.
rdf:value는 그 자체로는 의미가 없습니다. 이는 아래 예제에 보인 것과 같은
관용구에서 사용할 수 있는 어휘 조각으로 제공됩니다:
<http://www.example.com/2002/04/products#item10245>
<http://www.example.org/terms/weight> [
rdf:value 2.4 ;
<http://www.example.org/terms/units> <http://www.example.org/units/kilograms>
] .
이 속성의 의미에 대한 형식적 명세가 없음에도 불구하고, 이러한 종류의 예제에서 공통 관용구의 사용을 장려하기 위해 이를 정의하는 데에는 가치가 있습니다.
rdf:value의 rdfs:domain은
rdfs:Resource입니다.
rdf:value의 rdfs:range는
rdfs:Resource입니다.
이 절은 비규범적입니다.
이 절은 RDF와 RDF 스키마의 이전 버전에서 정의된 어휘를 설명합니다. 이러한 어휘는 역사적 이유와 호환성 이유로 특정 애플리케이션과 데이터 집합에서 계속 사용되고 있습니다. 그러나 이 문서의 앞 절들에서 제시한 어휘와 구성물은 일반적으로 새로운 개발과 현대적인 RDF 기반 시스템에 더 적합한 대안으로 권장됩니다.
이 절은 비규범적입니다.
RDF 컨테이너는 컬렉션을 나타내는 데 사용되는 리소스입니다. 동일한 리소스가 컨테이너 안에 둘 이상 나타날 수 있습니다. 물리 세계의 포함과 달리, 컨테이너는 자기 자신 안에 포함될 수 있습니다.
세 가지 서로 다른 종류의 컨테이너가 정의됩니다. 세 가지 컨테이너 클래스의
형식적 의미론 [RDF12-SEMANTICS]은 모두
동일하지만,
서로 다른 클래스는 비공식적으로 추가 정보를 나타내는 데 사용할 수 있습니다.
rdf:Bag은 컨테이너가 순서가 없도록 의도되었음을 나타내는 데
사용됩니다. rdf:Seq는 컨테이너의
컨테이너 멤버십 속성의
숫자 순서로 나타나는 순서가 중요하도록 의도되었음을 나타내는 데 사용됩니다.
rdf:Alt 컨테이너는
컨테이너의 일반적인 처리가 멤버 중 하나를 선택하는 것임을
나타내는 데 사용됩니다.
닭장이 나무로 만들어졌다는 속성을 가질 수 있다고 해서 그 안에 있는 모든 닭이 나무로 만들어졌다는 뜻은 아니듯이, 컨테이너의 속성이 반드시 그 모든 멤버의 속성인 것은 아닙니다.
RDF는 세 가지 컨테이너 클래스를 설명하기 위한 어휘를 제공합니다. 컨테이너에는 타입이 있으며, 그 멤버는 고정된 컨테이너 멤버십 속성 집합을 사용하여 열거할 수 있습니다. 이러한 속성은 멤버들을 서로 구별할 수 있도록 정수로 색인화되지만, 이러한 색인이 반드시 컨테이너 자체의 순서를 정의한다고 생각해서는 안 됩니다. 일부 컨테이너는 순서가 없는 것으로 간주됩니다.
RDFS 어휘는 위치와 관계없이 성립하는 일반 멤버십 속성과, 모든 컨테이너 및 모든 멤버십 속성을 포함하는 클래스를 추가합니다.
이 어휘는 프로그래밍 언어가 일반적으로 제공하는 것처럼 컨테이너를 구성하는 도구라기보다는 컨테이너를 설명하는 것으로 이해해야 합니다. 실제 컨테이너는 의미론적 우주의 엔티티이며, 이 어휘를 사용하는 RDF 그래프는 이러한 엔티티에 대한 매우 기본적인 정보를 제공할 뿐이며, 이를 통해 RDF 그래프는 컨테이너 타입을 특성화하고 컨테이너 멤버에 대한 부분 정보를 제공할 수 있습니다. RDF 컨테이너 어휘는 매우 제한적이므로, RDF 컨테이너에 대한 많은 자연스러운 가정은 RDF 형식 의미론에 의해 형식적으로 인정될 수 없습니다. 이는 이러한 가정이 거짓이라는 뜻이 아니라, RDF가 그것들이 참이어야 함을 형식적으로 함의하지 않는다는 뜻으로 받아들여야 합니다.
컨테이너 어휘에는 특별한 의미론적 조건이 없습니다. RDF가 컨테이너가
가진다고 전제하는 유일한 구조는 이 어휘의 사용과
일반 RDF 의미론적 조건으로부터 추론할 수 있는 것입니다.
이는 컨테이너의 타입을 알고, 컨테이너 안의 항목을 부분적으로
열거하는 것에 해당합니다. 의도된 사용 방식은
rdf:Bag 타입의 것들은 순서가 없지만 중복을 허용하는 것으로,
rdf:Seq 타입의 것들은 순서가 있는 것으로,
rdf:Alt 타입의 것들은 대안들의 컬렉션을 나타내며
선호 순서를 가질 수도 있는 것으로 간주하는 것입니다.
컨테이너가 순서 있는 타입이면, 컨테이너 안 항목의 순서는
단일 값을 가진다고 가정되는 컨테이너 멤버십 속성의
숫자 순서로 표시되도록 의도됩니다.
그러나 이러한 비공식 조건은 어떤 형식적 RDF 함의에도
반영되지 않습니다.
RDF 의미론은 순서 없는 rdf:Bag의 요소들을 다른 순서로
열거함으로써 발생할 수 있는 어떤 함의도 지원하지 않습니다. 예를 들어,
_:xxx rdf:type rdf:Bag .
_:xxx rdf:_1 ex:a .
_:xxx rdf:_2 ex:b .
는 다음을 함의하지 않습니다
_:xxx rdf:_1 ex:b .
_:xxx rdf:_2 ex:a .
(만약 이것이 유효하다면, 이를 원래 그래프에 추가한 결과가 그 그래프에 의해 함의될 것이며, 이는 두 요소가 두 위치 모두에 있다고 단언하게 됩니다. 이는 RDF가 순수하게 단언적인 언어라는 사실의 결과입니다.)
컨테이너의 속성이 컨테이너의 어떤 요소에 적용된다는 가정도, 또는 그 반대의 가정도 없습니다.
세 컨테이너 클래스가 서로소여야 한다는 형식적 요구는 없으므로,
예를 들어 어떤 것이 rdf:Bag이면서 rdf:Seq라고
단언하는 것도 일관적입니다.
컨테이너가 빈틈 없이 이어져야 한다는 가정도 없으므로, 예를 들어
_:xxx rdf:type rdf:Seq.
_:xxx rdf:_1 ex:a .
_:xxx rdf:_3 ex:c .
는 다음을 함의하지 않습니다
_:xxx rdf:_2 _:yyy .
RDF에는 컨테이너가 고정된 수의 멤버만 포함한다고 단언할 방법이 없습니다. 이는 어떤 컨테이너에 대해서도 멤버십 속성을 단언하는 트리플을 그래프에 추가하는 것이 항상 일관적이라는 사실을 반영합니다. 그리고 마지막으로, RDF 컨테이너가 유한한 수의 멤버만 가진다는 내장 가정도 없습니다.
RDF 컨테이너는 다음 클래스와 속성으로 정의됩니다.
rdfs:Container 클래스는 RDF 컨테이너 클래스, 즉
rdf:Bag,
rdf:Seq, rdf:Alt의 상위 클래스입니다.
rdf:Bag 클래스는 RDF 'Bag'
컨테이너의 클래스입니다. 이는
하위 클래스로서 rdfs:Container의 하위
클래스입니다.
형식적으로는 rdf:Seq나
rdf:Alt와 다르지 않지만,
rdf:Bag 클래스는 관례적으로 사람이 읽을 때
컨테이너가 순서 없는 것으로 의도되었음을 나타내는 데
사용됩니다.
rdf:Seq 클래스는 RDF 'Sequence'
컨테이너의 클래스입니다.
이는 하위 클래스로서
rdfs:Container의 하위 클래스입니다.
형식적으로는 rdf:Bag나
rdf:Alt와 다르지 않지만,
rdf:Seq 클래스는 관례적으로 사람이 읽을 때
컨테이너의 컨테이너 멤버십
속성의 숫자 순서가 중요하도록 의도되었음을
나타내는 데 사용됩니다.
rdf:Alt 클래스는 RDF 'Alternative'
컨테이너의 클래스입니다. 이는 하위 클래스로서
rdfs:Container의 하위 클래스입니다. 형식적으로는
rdf:Seq나
rdf:Bag와 다르지 않지만,
rdf:Alt 클래스는 관례적으로 사람이 읽을 때
일반적인 처리가 컨테이너의 멤버 중 하나를 선택하는 것임을
나타내는 데 사용됩니다. 컨테이너의 첫 번째 멤버,
즉 rdf:_1
속성의 값이 기본 선택입니다.
rdfs:ContainerMembershipProperty 클래스는
리소스가 컨테이너의 멤버임을 나타내는 데 사용되는
rdf:_1, rdf:_2, rdf:_3 ... 속성들을
인스턴스로 가집니다.
rdfs:ContainerMembershipProperty는 하위 클래스로서
rdf:Property의 하위 클래스입니다.
rdfs:ContainerMembershipProperty의 각
인스턴스는 rdfs:subPropertyOf로서
rdfs:member 속성의 하위 속성입니다.
컨테이너 C가 주어졌을 때, 다음 형식의 트리플:
C rdf:_nnn O
여기서 nnn은 선행 0이 없는 0보다 큰 정수의
십진수 표현이며,
이는 O가 컨테이너 C의 멤버임을 나타냅니다.
컨테이너 멤버십 속성은 컨테이너가 아닌 리소스에도 적용될 수 있습니다.
rdfs:member는 rdf:Property의 인스턴스로,
모든 컨테이너 멤버십 속성의 상위 속성입니다. 즉, 각 컨테이너 멤버십
속성은 rdfs:member 속성과
rdfs:subPropertyOf
관계를 가집니다.
rdfs:member의 rdfs:domain은
rdfs:Resource입니다.
rdfs:member의 rdfs:range는
rdfs:Resource입니다.
이 절은 비규범적입니다.
이 어휘의 의도된 의미는 RDF 그래프가 다른 RDF 트리플을 설명하는 메타데이터로 작동할 수 있게 하는 것입니다.
하나의 트리플을 포함하는 예제 그래프를 생각해 봅니다:
ex:a ex:b ex:c .
그리고 IRI ex:graph1이
이 그래프를 식별하는 데 사용된다고 가정합니다.
이 식별이 정확히 어떻게 달성되는지는 RDF 모델 외부의 문제이지만,
그 IRI가 그래프를 설명하는
구체 구문 문서로 해석되거나,
데이터셋의 명명된 그래프의 관련 이름이 되는 방식일 수 있습니다.
그 IRI가 트리플을 나타내는 데 사용될 수 있다고 가정하면,
구체화 어휘를 사용하여 첫 번째 그래프를 다른 그래프 안에서 설명할 수 있습니다:
ex:graph1 rdf:type rdf:Statement .
ex:graph1 rdf:subject ex:a .
ex:graph1 rdf:predicate ex:b .
ex:graph1 rdf:object ex:c .
두 번째 그래프는 첫 번째 그래프에 있는 트리플의 구체화라고 부릅니다.
구체화는 인용의 한 형태가 아닙니다. 오히려 구체화는
트리플 토큰과 그 트리플이 가리키는 리소스 사이의 관계를 설명합니다.
rdf:subject 속성의 값은
주어 IRI 자체가 아니라 그것이 가리키는 것이며,
rdf:predicate와 rdf:object도 마찬가지입니다.
예를 들어 ex:a의 지시 대상이 에베레스트 산이라면,
구체화된 트리플의 주어도 그 산이며, 그것을 가리키는 IRI가 아닙니다.
구체화는 빈 노드를 주어로 하여 작성할 수도 있고, 트리플의 구체적인 실현을 식별하지 않는 IRI 주어로 작성할 수도 있으며, 두 경우 모두 설명된 트리플의 존재를 단순히 단언합니다.
구체화의 주어는 추상 객체로 간주되는 트리플이 아니라, 표면 구문의 문서와 같은 RDF 트리플의 구체적인 실현을 나타내도록 의도됩니다. 이는 작성 날짜나 출처 정보와 같은 속성이 구체화된 트리플에 적용되는 사용 사례를 지원하며, 그러한 속성은 트리플의 특정 인스턴스 또는 토큰을 나타낸다고 생각할 때에만 의미가 있습니다.
트리플의 구체화는 그 트리플을 함의하지 않으며, 그 트리플에 의해 함의되지도 않습니다. 구체화는 트리플 토큰이 존재하고 그것이 무엇에 관한 것인지 말할 뿐, 그것이 참이라고 말하지 않으므로 그 트리플을 함의하지 않습니다. 반대로, 트리플을 단언한다고 해서 그 트리플이 설명하는 우주 안에 어떤 트리플 토큰이 존재한다는 것이 자동으로 의미되지는 않습니다. 예를 들어, 그 트리플은 동물을 설명하는 온톨로지의 일부일 수 있으며, 그 경우 우주가 동물만 포함하고 그 트리플의 구체화가 따라서 거짓인 해석으로도 만족될 수 있습니다.
어떤 RDF 그래프 또는 그래프들에서 트리플과 트리플의 구체화 사이의 관계가 반드시 일대일일 필요는 없으므로, 어떤 구체화가 설명하는 엔티티에 대한 속성의 단언이, 동일한 구성 요소를 가지더라도 다른 그러한 엔티티에도 동일한 속성이 성립함을 함의할 필요는 없습니다. 예를 들어,
_:xxx rdf:type rdf:Statement .
_:xxx rdf:subject ex:subject .
_:xxx rdf:predicate ex:predicate .
_:xxx rdf:object ex:object .
_:yyy rdf:type rdf:Statement .
_:yyy rdf:subject ex:subject .
_:yyy rdf:predicate ex:predicate .
_:yyy rdf:object ex:object .
_:xxx ex:property ex:foo .
는 다음을 함의하지 않습니다
_:yyy ex:property ex:foo .
rdf:Statement는 rdfs:Class의 인스턴스입니다.
이는 RDF 문장의 클래스를 나타내도록 의도됩니다. RDF
문장은 RDF 트리플의 토큰이 하는 진술입니다. RDF 문장의
주어는 트리플의 주어가 식별하는 rdfs:Resource의
인스턴스입니다. RDF
문장의 술어는 트리플의 술어가 식별하는
rdf:Resource의 인스턴스입니다.
RDF 문장의 목적어는 트리플의 목적어가 식별하는
rdfs:Resource의 인스턴스입니다.
rdf:Statement는
rdf:predicate, rdf:subject
및 rdf:object 속성의 도메인에 속합니다.
서로 다른 개별 rdf:Statement 인스턴스는
rdf:predicate,
rdf:subject
및 rdf:object 속성에 대해 동일한 값을
가질 수 있습니다.
RDF 문장은 RDF 그래프 안의 트리플이 아니므로,
rdf:predicate에 대한 값은
그 그래프에서 rdf:Property의 인스턴스일 필요가
없지만,
대부분의 경우에는 그럴 것입니다.
rdf:subject는 rdf:Property의 인스턴스로,
문장의
주어를 나타내는 데 사용됩니다.
다음 형식의 트리플:
S rdf:subject R
은 S가 rdf:Statement의 인스턴스이고
S의 주어가
R임을 나타냅니다.
rdf:subject의
rdfs:domain은
rdf:Statement입니다.
rdf:subject의 rdfs:range는
rdfs:Resource입니다.
rdf:predicate는 rdf:Property의 인스턴스로,
문장의
술어를 나타내는 데 사용됩니다.
다음 형식의 트리플:
S rdf:predicate P
은 S가 rdf:Statement의 인스턴스이고,
P가
rdfs:Resource의 인스턴스이며,
S의
술어가 P임을 나타냅니다.
rdf:predicate의 rdfs:domain은
rdf:Statement이고,
rdfs:range는
rdfs:Resource입니다.
rdf:object는 rdf:Property의 인스턴스로,
문장의
목적어를 나타내는 데 사용됩니다.
다음 형식의 트리플:
S rdf:object O
은 S가 rdf:Statement의 인스턴스이고
S의 목적어가
O임을 나타냅니다.
rdf:object의 rdfs:domain은
rdf:Statement입니다.
rdf:object의 rdfs:range는
rdfs:Resource입니다.
이 절은 비규범적입니다.
이 절의 표는 RDF 스키마 어휘의 개요를 제공합니다.
| 클래스 이름 | 설명 |
|---|---|
rdfs:Resource |
리소스 클래스, 모든 것. |
rdfs:Literal |
리터럴 값의 클래스, 예: 텍스트 문자열과 정수. |
rdf:langString |
언어 태그가 붙은 문자열 리터럴 값의 클래스. |
rdf:dirLangString |
방향성이 있는 언어 태그가 붙은 문자열 리터럴 값의 클래스. |
rdf:HTML |
HTML 리터럴 값의 클래스. |
rdf:XMLLiteral |
XML 리터럴 값의 클래스. |
rdf:JSON |
JSON 리터럴 값의 클래스. |
rdfs:Class |
클래스들의 클래스. |
rdf:Property |
RDF 속성의 클래스. |
rdfs:Proposition |
구체화된 트리플의 클래스. |
rdfs:Datatype |
RDF 데이터형의 클래스. |
rdf:Statement |
RDF 문장의 클래스. |
rdf:Bag |
순서 없는 컨테이너의 클래스. |
rdf:Seq |
순서 있는 컨테이너의 클래스. |
rdf:Alt |
대안 컨테이너의 클래스. |
rdfs:Container |
RDF 컨테이너의 클래스. |
rdfs:ContainerMembershipProperty
|
컨테이너 멤버십 속성의 클래스, rdf:_1, rdf:_2,
..., 이들 모두는 'member'의 하위 속성입니다. |
rdf:List |
RDF 목록의 클래스. |
| 속성 이름 | 설명 | 도메인 | 범위 |
|---|---|---|---|
rdf:type |
주어가 클래스의 인스턴스입니다. | rdfs:Resource |
rdfs:Class |
rdf:reifies |
리소스를 구체화된 트리플과 연관시킵니다. | rdfs:Resource |
rdfs:Proposition |
rdfs:subClassOf |
주어가 클래스의 하위 클래스입니다. | rdfs:Class |
rdfs:Class |
rdfs:subPropertyOf |
주어가 속성의 하위 속성입니다. | rdf:Property |
rdf:Property |
rdfs:domain |
주어 속성의 도메인입니다. | rdf:Property |
rdfs:Class |
rdfs:range |
주어 속성의 범위입니다. | rdf:Property |
rdfs:Class |
rdfs:label |
주어에 대한 사람이 읽을 수 있는 이름입니다. | rdfs:Resource |
rdfs:Literal |
rdfs:comment |
주어 리소스에 대한 설명입니다. | rdfs:Resource |
rdfs:Literal |
rdfs:member |
주어 리소스의 멤버입니다. | rdfs:Resource |
rdfs:Resource |
rdf:first |
주어 RDF 목록의 첫 번째 항목입니다. | rdf:List |
rdfs:Resource |
rdf:rest |
첫 번째 항목 뒤에 오는 주어 RDF 목록의 나머지입니다. | rdf:List |
rdf:List |
rdfs:seeAlso |
주어 리소스에 대한 추가 정보입니다. | rdfs:Resource |
rdfs:Resource |
rdfs:isDefinedBy |
주어 리소스의 정의입니다. | rdfs:Resource |
rdfs:Resource |
rdf:value |
구조화된 값에 사용되는 관용적 속성입니다. | rdfs:Resource |
rdfs:Resource |
rdf:subject |
주어 RDF 문장의 주어입니다. | rdf:Statement |
rdfs:Resource |
rdf:predicate |
주어 RDF 문장의 술어입니다. | rdf:Statement |
rdfs:Resource |
rdf:object |
주어 RDF 문장의 목적어입니다. | rdf:Statement |
rdfs:Resource |
이러한 클래스와 속성 외에도 RDF는
rdf:_1, rdf:_2, rdf:_3 등으로 불리는 속성을
사용하며,
각각은 rdfs:member의 하위 속성이면서
rdfs:ContainerMembershipProperty 클래스의
인스턴스입니다.
또한 rdf:nil이라고 불리는 rdf:List의 인스턴스가 있으며,
이는 빈 rdf:List입니다.
이 절은 비규범적입니다.
이 절은 W3C 프로세스 [W3C-PROCESS]의 § 6.5 레지스트리 트랙에 따라 RDF 핵심 네임스페이스의 어휘에 대한 레지스트리를 정의합니다.
이 레지스트리의 목적은 RDF 핵심 네임스페이스에 어떤 어휘 항목이 존재하는지, 그리고 그것들이 어디에서 공식적으로 정의되는지 누구나 확인할 수 있는 중앙 색인을 제공하여 충돌과 중복을 피하는 것입니다.
각 레지스트리 표에는 다음 세 필드가 있습니다: IRI, 관리 명세, 그리고 관련 참고 사항(예: 적용 범위).
기존 항목의 변경에 대한 정책은 다음과 같습니다:
모든 레지스트리 표의 관리자는 RDF & SPARQL 워킹 그룹입니다.
이 절은 비규범적입니다.
다음 레지스트리 표는 rdf: 네임스페이스에 정의된 모든 IRI를 나열합니다.
이 표의 기계 판독 가능 버전은
http://www.w3.org/1999/02/22-rdf-syntax-ns에서 사용할 수 있습니다.
| IRI | 명세 | 참고 사항 |
|---|---|---|
rdf:Alt |
이 문서 | |
rdf:Bag |
이 문서 | |
rdf:Seq |
이 문서 | |
rdf:HTML |
이 문서 | |
rdf:JSON |
이 문서 | |
rdf:XMLLiteral |
이 문서 | |
rdf:List |
이 문서 | |
rdf:Property |
이 문서 | |
rdf:Statement |
이 문서 | |
rdf:nil |
이 문서 | |
rdf:rest |
이 문서 | |
rdf:dirLangString |
이 문서 | |
rdf:first |
이 문서 | |
rdf:langString |
이 문서 | |
rdf:object |
이 문서 | |
rdf:predicate |
이 문서 | |
rdf:subject |
이 문서 | |
rdf:reifies |
이 문서 | |
rdf:type |
이 문서 | |
rdf:value |
이 문서 | |
rdf:CompoundLiteral |
[JSON-LD11] | rdf:dirLangString의 사용을 고려해야 합니다. 이 용어는
오래된 것으로 간주되지만 JSON-LD와의 호환성을 위해 유지됩니다. |
rdf:direction |
[JSON-LD11] | rdf:dirLangString의 사용을 고려해야 합니다. 이 용어는
오래된 것으로 간주되지만 JSON-LD와의 호환성을 위해 유지됩니다. |
rdf:language |
[JSON-LD11] | rdf:dirLangString의 사용을 고려해야 합니다. 이 용어는
오래된 것으로 간주되지만 JSON-LD와의 호환성을 위해 유지됩니다. |
rdf:PlainLiteral |
[RDF-PLAIN-LITERAL] | OWL [OWL2-OVERVIEW]에서만 사용됨 |
rdf:langRange |
[RDF-PLAIN-LITERAL] | OWL [OWL2-OVERVIEW]에서만 사용됨 |
rdf:PropositionForm |
[RDF-INTEROP] | 명제의 기본 인코딩을 위해 예약됨. |
rdf:propositionFormSubject |
[RDF-INTEROP] | 명제의 기본 인코딩을 위해 예약됨. |
rdf:propositionFormPredicate |
[RDF-INTEROP] | 명제의 기본 인코딩을 위해 예약됨. |
rdf:propositionFormObject |
[RDF-INTEROP] | 명제의 기본 인코딩을 위해 예약됨. |
이 절은 비규범적입니다.
다음 레지스트리 표는 rdfs: 네임스페이스에 정의된 모든 IRI를 나열합니다.
이 표의 기계 판독 가능 버전은 http://www.w3.org/2000/01/rdf-schema에서
사용할 수 있습니다.
| IRI | 명세 |
|---|---|
rdfs:Class |
이 문서 |
rdfs:Container |
이 문서 |
rdfs:ContainerMembershipProperty |
이 문서 |
rdfs:Datatype |
이 문서 |
rdfs:Literal |
이 문서 |
rdfs:Proposition |
이 문서 |
rdfs:Resource |
이 문서 |
rdfs:comment |
이 문서 |
rdfs:domain |
이 문서 |
rdfs:isDefinedBy |
이 문서 |
rdfs:label |
이 문서 |
rdfs:member |
이 문서 |
rdfs:range |
이 문서 |
rdfs:seeAlso |
이 문서 |
rdfs:subClassOf |
이 문서 |
rdfs:subPropertyOf |
이 문서 |
이 절은 비규범적입니다.
RDF 1.2 개념 및 추상 데이터 모델 [RDF12-CONCEPTS]의 프라이버시 고려 사항을 참조하십시오.
이 절은 비규범적입니다.
RDF 1.2 개념 및 추상 데이터 모델 [RDF12-CONCEPTS]의 보안 고려 사항을 참조하십시오.
이 절은 비규범적입니다.
이 절은 비규범적입니다.
RDF 스키마 설계는 원래 RDF 스키마 워킹 그룹(1997-2000)에 의해 작성되었습니다.
IBM의 David Singer는 이 명세 개발의 대부분 기간 동안 원래 RDF 스키마 그룹의 의장이었습니다. 우리는 David의 노력에 감사하며, 이 작업에서 그와 우리를 지원해 준 IBM에도 감사합니다. 또한 이 명세의 초기 버전에 대한 Andrew Layman의 편집 작업에도 특별한 감사를 전합니다.
원래 RDF 스키마 워킹 그룹 구성원은 다음과 같습니다:
Nick Arnett (Verity), Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe), Sailesh Chutani (Oracle), Ron Daniel (DATAFUSION), Charles Frankston (Microsoft), Joe Lapp (webMethods Inc.), Patrick Gannon (CommerceNet), RV Guha (Epinions, previously of Netscape Communications), Tom Hill (Apple Computer), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin Jones, (InterMind), Emiko Kezuka (Digital Vision Laboratories), Ora Lassila (Nokia Research Center), Andrew Layman (Microsoft), John McCarthy (Lawrence Berkeley National Laboratory), Michael Mealling (Network Solutions), Norbert Mikula (DataChannel), Eric Miller (OCLC), Frank Olken (Lawrence Berkeley National Laboratory), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods Inc.), Tsuyoshi Sakata (Digital Vision Laboratories), Leon Shklar (Pencom Web Works), David Singer (IBM), Wei (William) Song (SISU), Neel Sundaresan (IBM), Ralph Swick (W3C), Naohiko Uramoto (IBM), Charles Wicksteed (Reuters Ltd.), Misha Wolf (Reuters Ltd.)
이 절은 비규범적입니다.
현재 명세는 대체로 그 설계에 대한 편집상의 명확화이며, RDF Core Working Group 구성원들의 노고와 RDF Interest Group의 많은 구성원들로부터 받은 구현 피드백에서 큰 도움을 받았습니다. 2013-2014년에 Guus Schreiber는 RDF Working Group을 대신하여 이 문서를 편집하여 RDF 1.1 명세에 맞추었습니다.
이 절은 비규범적입니다.
편집자들 외에도 다음 사람들이 이 명세에 기여했습니다: Andy Seaborne, Denis Ah-Kang, Gregg Kellogg, Niklas Lindström, Peter F. Patel-Schneider, Pierre-Antoine Champin, and Ted Thibodeau Jr
RDF & SPARQL Working Group Group의 구성원은 다음을 포함했습니다: Vladimir Alexiev, James Anderson, Amin Anjomshoaa, Julián Arenas-Guerrero, Dörthe Arndt, Bilal Ben Mahria, Erich Bremer, Dan Brickley, Kurt Cagle, Sarven Capadisli, Rémi Ceres, Pierre-Antoine Champin, David Chaves-Fraga, Souripriya Das, Daniil Dobriy, Enrico Franconi, Jeffrey Phillips Freeman, Fabien Gandon, Benjamin Goering, Damien Graux, Adrian Gschwend, Olaf Hartig, Timothée Haudebourg, Ian Horrocks, Gregg Kellogg, Mark Kim, Jose Emilio Labra Gayo, Ora Lassila, Richard Lea, Niklas Lindström, Pasquale Lisena, Thomas Lörtsch, Matthew Nguyen, Peter Patel-Schneider, Thomas Pellissier Tanon, Dave Raggett, Jean-Yves ROSSI, Felix Sasaki, Andy Seaborne, Alan Snyder, Stuart Sutton, Ruben Taelman, Ted Thibodeau Jr, Dominik Tomaszuk, Raphaël Troncy, William Van Woensel, Gregory Williams, Jesse Wright, Achille Zappa, and Antoine Zimmermann.
태스크 포스 구성원을 확인하시겠습니까? 기여자 목록을 찾기가 쉽지 않습니다.
이 절은 비규범적입니다.
RDF 1.1 권고안을 위한 변경 사항
rdf:langString 및 rdf:HTML 데이터형을 추가했습니다.
rdf:HTML 및 rdf:XMLLiteral을
비규범적으로 표시했습니다.이 절은 비규범적입니다.
rdf:dirLangString 데이터형을 추가했습니다.
rdf:JSON 데이터형을 추가했습니다.rdfs:Proposition 클래스와 rdf:reifies 속성을 추가했습니다.