답변:
시맨틱 웹은 계층으로 제공됩니다. 이것은 당신이 관심이 있다고 생각하는 것들에 대한 요약입니다.
업데이트 : RDFS는 OWL이 아닌 데이터 구조를 정의하는 데 사용됩니다 . OWL은 C 구조체와 같은 일반적인 프로그래밍이 까다 롭지 않고 AI 연구 및 설정 이론에 더 가까운 의미 론적 관계를 설명합니다.
트리플 및 URI
Subject - Predicate - Object
이것들은 단일 사실을 설명합니다. 일반적으로 URI는 주제와 술어에 사용됩니다. 객체는 다른 URI이거나 숫자 또는 문자열과 같은 리터럴입니다. 리터럴은 유형 (URI이기도 함)을 가질 수 있으며 언어도 가질 수 있습니다. 그렇습니다. 트리플은 최대 5 비트의 데이터를 가질 수 있습니다!
예를 들어 트리플은 찰스가 해리스의 아버지라는 사실을 설명 할 수 있습니다.
<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .
트리플은 논리적으로 극단적 인 데이터베이스 표준화입니다. 많은 소스에서 트리플을 재구성없이 하나의 데이터베이스로로드 할 수 있다는 이점이 있습니다.
RDF 및 RDFS
다음 계층은 RDF-Resource Description Framework입니다. RDF는 트리플에 대한 추가 구조를 정의합니다. RDF가 정의하는 가장 중요한 것은 "rdf : type"이라는 술어입니다. 사물이 특정 유형이라고 말하는 데 사용됩니다. 누구나 rdf : type을 사용하므로 매우 유용합니다.
RDFS (RDF Schema)는 주제, 오브젝트, 술어 등의 개념을 나타내는 일부 클래스를 정의합니다. 이는 사물 클래스 및 관계 유형에 대한 명령문을 작성할 수 있음을 의미합니다. 가장 간단한 수준에서 http://familyontology.net/1.0#hasFather 와 같은 것을 말할 수 있습니다. 아버지 는 사람과 사람의 관계입니다. 또한 사람이 읽을 수있는 텍스트로 관계 또는 클래스의 의미를 설명 할 수 있습니다. 이것은 스키마입니다. 다양한 클래스와 관계의 합법적 사용을 알려줍니다. 또한 클래스 또는 속성이 더 일반적인 유형의 하위 유형임을 나타내는 데 사용됩니다. 예를 들어 "HumanParent"는 "Person"의 하위 클래스입니다. "Loves"는 "Knows"의 하위 클래스입니다.
RDF 직렬화
RDF는 다양한 파일 형식으로 내보낼 수 있습니다. 가장 일반적인 것은 RDF + XML이지만 몇 가지 약점이 있습니다.
N3은 읽기 쉬운 XML이 아닌 형식이며 일부 하위 집합 (Turtle 및 N-Triples)이 더 엄격합니다.
RDF는 파일 형식이 아니라 3 배로 작업하는 방법이라는 것을 알아야합니다.
XSD
XSD는 날짜, 정수 등과 같은 속성 유형을 설명하는 데 주로 사용되는 네임 스페이스입니다. 일반적으로 리터럴의 특정 유형을 식별하는 RDF 데이터에서 볼 수 있습니다. 또한 약간 다른 물고기 주전자 인 XML 스키마에도 사용됩니다.
올빼미
OWL은 시맨틱을 스키마에 추가합니다. 속성과 클래스에 대해 훨씬 더 많은 것을 지정할 수 있습니다. 또한 트리플로 표현됩니다. 예를 들어, "A가 isMarriedTo B이면"이 "B isMarriedTo A"를 의미 할 수 있습니다. 또는 " C isAncestorOf D "및 " D isAncestorOf E "이면 " C isAncestorOf E ". 올빼미가 추가하는 또 다른 유용한 것은 두 가지가 같다고 말할 수 있다는 것입니다. 이것은 다른 스키마로 표현 된 데이터를 결합하는 데 매우 유용합니다. 한 스키마에서"sired "관계가 owl : sameAs"fathered " wikipedia의 "Elvis Presley"와 같은 두 가지가 동일하다고 말하는데도 사용할 수 있습니다. 여러 사이트에서 데이터를 결합 할 수 있다는 점에서 매우 흥미 롭습니다. ( "링크 된 데이터"입니다).
OWL을 사용하여 " C isAncestorOf E " 와 같은 암시 적 사실을 유추 할 수도 있습니다 .
한마디로 :
이전 포스터에서 언급했듯이 RDF는 트리플을 정의하는 방법을 알려주는 사양입니다.
문제는 RDF를 통해 모든 것을 정의 할 수 있으므로 다음과 같은 선언을 작성할 수 있다는 것입니다.
| subject | predicate | object |
|---------|-----------|--------|
| Alex | Eats | Apples |
| Apples | Eats | Apples |
| Apples | Apples | Apples |
이 트리플은 유효한 RDF 문서를 형성합니다.
그러나 의미 적으로는 이러한 진술이 잘못되었으며 RDF가 작성한 내용의 유효성을 검증 할 수 없음을 이해합니다.
이것은 유효한 온톨로지가 아닙니다.
OWL 사양은 유효한 온톨로지를 갖기 위해 RDF로 작성할 수 있는 내용 을 정확하게 정의합니다 .
온톨로지는 여러 속성을 가질 수 있습니다.
이것이 OWL (1 버전)이 OWL DL, OWL Lite, OWL Full과 같은 여러 버전을 정의하는 이유입니다.
RDF, RDFS 및 OWL은 갈수록 복잡 해지는 정보 나 지식을 표현하는 수단입니다. 이들 모두는 RDF / XML 구문 (또는 Turtle 또는 N3과 같은 다른 RDF 직렬화 구문)으로 직렬화 될 수 있습니다.
이러한 기술은 서로 관련이 있으며 상호 운용이 가능해야하지만 서로 다른 기원을 가지고 있기 때문에 기술 간의 관계가 이해하기 어려운 이유 일 수 있습니다. 하나 또는 다른 하나의 선택은 모델링하는 상황이 얼마나 복잡한 지에 따라 다릅니다.
표현성 요약
RDF : 인스턴스와 해당 유형에 대한 매핑에 중점을 둔 간단한 표현입니다 ( rdf:type
). 데이터를 연결하고 트리플을 생성하는 사용자 정의 속성을 정의 할 수 있습니다. RDF 데이터는 SPARQL로 조회됩니다. 거북이에서 직렬화 된 RDF의 예 :
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
RDFS : 일부 상황은 RDF만으로는 쉽게 모델링 할 수 없으며, 예를 들어 서브 클래스 ( type 유형 ) 와 같은보다 복잡한 관계를 나타내는 것이 흥미 롭습니다 . RDFS는 구조가 좋아 함께, 이러한 경우를 표현하기 위해 특별한 수단을 제공 rdfs:subClassOf
, rdfs:range
또는 rdfs:domain
. 이상적으로, 추론은 RDFS 의미를 이해할 수와의 관계에 따라 트리플의 수를 확장 : 예를 들어 당신은 트리플이있는 경우 John a Man
그리고 Man rdfs:subClassOf
Human
당신은뿐만 아니라 트리플을 생성해야합니다 John a Human
. 이것은 RDF만으로는 가능하지 않습니다. SPARQL을 사용하여 RDFS 데이터를 쿼리합니다. 거북이에서 직렬화 된 RDFS의 예 :
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:Man rdfs:subClassOf :Human .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
# After reasoning
:john rdf:type :Human .
OWL : 최고 수준의 표현력. 클래스 간의 관계는 설명 논리 (수학 이론)를 기반으로 공식적으로 모델링 할 수 있습니다. OWL은 추론에 크게 의존하기 때문에 체인 속성이나 클래스 간 제한과 같은 복잡한 구성을 표현할 수 있습니다. OWL은 RDF 데이터 세트 위에 온톨로지 또는 스키마를 구축하는 역할을합니다. OWL을 RDF / XML로 직렬화 할 수 있으므로 이론적으로 SPARQL을 통해 쿼리 할 수 있지만 DL 쿼리 (일반적으로 표준 OWL 클래스 표현식)를 사용하여 OWL 온톨로지를 쿼리하는 것이 훨씬 더 직관적입니다. 거북이에서 직렬화 된 OWL 구조의 예.
@prefix : <http://www.example.org/> .
:livesIn rdf:type owl:DatatypeProperty .
:Human rdf:type owl:Class .
:Man rdf:type owl:Class .
:Man rdfs:subClassOf :Human .
:John rdf:type :Man .
:John rdf:type owl:NamedIndividual .
첫째로, 이전에 지적 된 바와 같이, 올빼미는 RDF에서 직렬화 될 수있다.
둘째, OWL은 공식적인 계산 가능한 1 차 설명 논리를 사용하여 트리플의 구성 요소를 정의하는 장치를 제공함으로써 RDF에 온톨로지 기능을 추가합니다. 그것이 "의미 적 풍요"에 대해 이야기 할 때의 포스터의 의미입니다.
셋째, OWL-Full (OLW 1의 경우)에서 rdfs : class와 owl : class는 동일하고 OWL-DL에서 owl : class는 rdfs : class의 서브 클래스임을 인식해야합니다. 실제로 이것은 OWL 온톨로지를 RDF의 스키마로 사용할 수 있음을 의미합니다 (공식적으로 schemata가 필요하지 않음).
나는 그것이 더 명확하게하는 데 도움이되기를 바랍니다.
RDF라는 용어를 사용하는 경우 다음 두 가지를 구별해야합니다.
RDF를 개념 이라고 할 수 있습니다 .
트리플 컬렉션을 사용하여 사물 / 논리 / 물건을 설명하는 방법.
예:
"애나는 사과가있다." "애플은 건강하다."
위에는 "Anna"와 "apples"라는 두 가지 리소스를 설명하는 두 개의 트리플이 있습니다. RDF (Resource Description Framework)의 개념은 3 단어 (단어)로 자원 (모든 것)을 설명 할 수 있다는 것입니다. 이 수준에서는 3 단어의 문자열이나 벽에 그림이 있거나 3 개의 열이있는 테이블 등 정보를 저장하는 방법에 신경 쓰지 않습니다.
이 개념 수준에서 중요한 것은 트리플 문을 사용하여 원하는 것을 표현할 수 있다는 것입니다.
RDF를 어휘 라고 할 수 있습니다
어휘는 파일 또는 어딘가에 저장된 용어 정의 모음입니다. 이러한 정의 된 용어는 일반적으로 다른 설명에서 재사용 될 목적으로 사람들이 데이터 (자원)를보다 쉽고 표준적인 방식으로 설명 할 수 있습니다.
웹에서 다음과 같은 표준 어휘를 찾을 수 있습니다.
RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )
RDFS ( https://www.w3.org/2000/01/rdf-schema# )
올빼미 ( https://www.w3.org/2002/07/owl )
RDF 어휘는 (가능한 가장 기본적인 수준에서) 개인 / 수업의 실체를 설명하는 데 도움이되는 용어를 정의합니다. 예 : rdf : type, rdf : Property
rdf : type을 사용하면 일부 리소스가 클래스의 인스턴스라고 설명 할 수 있습니다.
<http://foo.com/anna> rdf:type <http://foo.com/teacher>
따라서 RDF 어휘에는 클래스 인스턴스의 기본 설명과 다른 설명 (삼중 문장 정의 또는 술어 정의와 같은 RDF 개념에 일반적으로 적용되는 용어)을 대상으로하는 용어가 있습니다.
RDFS 어휘에는 클래스와 클래스 간의 관계를 설명하는 데 도움이되는 용어 정의가 있습니다. RDFS 어휘는 RDF 어휘와 같은 클래스 (개별) 인스턴스에 대해서는 신경 쓰지 않습니다. 예 : 클래스 A가 클래스 B의 하위 클래스임을 설명하는 데 사용할 수있는 rdfs : subClassOf 특성
RDF와 RDFS 어휘는 서로 종속적입니다. RDF는 RDFS를 사용하여 용어를 정의하고 RDFS는 RDF를 사용하여 자체 용어를 정의합니다.
RDF / RDFS 어휘는 자원에 대한 매우 기본적인 설명을 작성하는 데 사용할 수있는 용어를 제공합니다. 보다 복잡하고 정확한 설명을 원하면 OWL 어휘를 사용해야합니다.
OWL 어휘에는보다 자세한 설명을 대상으로하는 새로운 용어가 포함되어 있습니다. 이 용어는 RDF / RDFS 어휘의 용어를 사용하여 정의됩니다.
owl:ObjectProperty a rdfs:Class ;
rdfs:label "ObjectProperty" ;
rdfs:comment "The class of object properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:DatatypeProperty a rdfs:Class ;
rdfs:label "DatatypeProperty" ;
rdfs:comment "The class of data properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:TransitiveProperty a rdfs:Class ;
rdfs:label "TransitiveProperty" ;
rdfs:comment "The class of transitive properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf owl:ObjectProperty .
위에서 볼 수 있듯이 OWL 어휘는 덜 추상적이고 더 정확한 자원 설명을 제공 할 수있는 새로운 유형의 특성을 작성하여 rdf : Property의 개념을 확장합니다.
결론 :
RDF는 트리플 'subject', 'predicate', 'value' 를 정의하는 방법 입니다. 예를 들어 말하고 싶은 경우
"제 이름은 피에르입니다"
나는 쓸 것이다
<mail:me@where.com> <foaf:name> "Pierre"
<foaf:name>
?를 참조하십시오 . FOAF 온톨로지의 일부입니다 . 온톨로지는 속성을 설명하는 공식적인 방법, 주어진 주제의 클래스 및 OWL 은 온톨로지를 정의하는 (RDF) 방법입니다.
C ++, Java 등을 사용하여 클래스, 서브 클래스, 필드 등을 정의합니다.
class Person
{
String email_as_id;
String name;
}
RDF는 OWL을 사용하여 이러한 종류의 명령문을 정의합니다.
이런 종류의 질문을 할 수있는 또 다른 곳 : http://www.semanticoverflow.com/
시맨틱 웹의 개념을 파악하려고합니다. RDF와 OWL의 차이점이 정확히 무엇인지 이해하기가 어렵습니다. OWL은 RDF의 확장입니까, 아니면이 두 기술은 완전히 다른 기술입니까?
간단히 말해, OWL은 RDF의 확장이라고 말할 수 있습니다.
보다 자세하게는 RDF를 사용하면 주제-사물-객체 트리플을 정의하여 유 방향 그래프를 설명 할 수 있습니다. 주제와 객체는 노드이거나, 술어는 가장자리이거나, 다시 말해서 술어는 주제와 객체 사이의 관계를 나타냅니다. 예를 들어:Tolkien :wrote :LordOfTheRings
또는:LordOfTheRings :author :Tolkien
등 ... 링크 된 데이터 시스템은 이러한 트리플을 사용하여 지식 그래프를 설명하고이를 저장하고 쿼리하는 방법을 제공합니다. 이제 이들은 거대한 시스템이지만 소규모 프로젝트에서 RDF를 사용할 수 있습니다. 모든 응용 프로그램은 도메인 특정 언어 (또는 DDD 용어로 유비쿼터스 언어)를 갖습니다. 온톨로지 / 어휘에서 해당 언어를 설명 할 수 있으므로 그래프를 사용하여 애플리케이션의 도메인 모델을 설명 할 수 있습니다. 그래프를 사용하여 비즈니스 ppl에 표시하고 모델을 기반으로 비즈니스 의사 결정에 대해 이야기하고 애플리케이션을 맨 위에 빌드 할 수 있습니다. 그것의. 애플리케이션의 어휘를 리턴하는 데이터 및 마이크로 데이터 와 같은 검색 엔진에 알려진 어휘에 바인딩 할 수 있습니다.(예를 들어 RDFA와 함께 HTML을 사용하여이를 수행 할 수 있으므로) 검색 엔진은 애플리케이션이 수행하는 작업에 대한 지식이 기계 처리 가능하기 때문에 애플리케이션을 쉽게 찾을 수 있습니다. 시맨틱 웹의 작동 방식입니다. (적어도 이것이 내가 상상하는 방법입니다.)
이제 객체 지향 응용 프로그램을 설명하려면 유형, 클래스, 속성, 인스턴스 등이 필요합니다. RDF를 사용하면 객체 만 설명 할 수 있습니다. RDFS (RDF 스키마)는 클래스, 상속 (c.의 객체 기반)을 설명하는 데 도움이되지만 너무 광범위합니다. 제약 조건을 정의하려면 (예 : 중국 가족당 한 아이) 다른 어휘가 필요합니다. OWL (웹 온톨로지 언어)이이 작업을 수행합니다. OWL은 웹 애플리케이션을 설명하는 데 사용할 수있는 온톨로지입니다. XSD simpleType을 통합합니다.
그래서 RDF -> RDFS -> OWL -> MyWebApp
더 많은 특정 방법으로 웹 응용 프로그램을 설명하는 순서입니다.
personA friendsWith personB
즉, (2) RDFS 간의 관계를 지정할 수있는 기능 제공하여이를 확장) object classes
즉 - class Person <has 'friendsWith' relationship> Person
. 그러면 클래스를 통해 RDF를 문구화할 수 있습니다 A:typeof:person friendsWith B:<typeof:person>
. 그리고 (3) 그러면 OWL은 관계의 제약 조건을 지정할 수 있습니까?
RDFS를 사용하면 유연한 트리플 기반 형식을 표준화 한 다음 사물을 말하는 데 사용할 수 있는 어휘 ( rdf:type
또는 "와 같은"키워드)를 제공하여 사물 간의 관계를 표현할 rdfs:subClassOf
수 있습니다.
OWL은 비슷하지만 더 크고 더 좋고 나쁩니다. OWL을 사용하면 데이터 모델에 대해 더 많은 것을 말하고 데이터베이스 쿼리 및 자동 추론으로 효율적으로 작업하는 방법을 보여주고 데이터 모델을 실제 세계로 가져 오는 데 유용한 주석을 제공합니다.
RDFS와 OWL의 차이점 중 가장 중요한 것은 OWL이 사물을 말할 때 사용할 수있는 훨씬 더 큰 어휘를 제공한다는 것 입니다.
예를 들어, OWL과 같은 RDFS에서 모든 옛 친구를 포함 rdfs:type
, rdfs:domain
하고 rdfs:subPropertyOf
. 그러나 OWL은 새롭고 더 나은 친구를 제공합니다! 예를 들어, OWL을 사용하면 세트 조작의 관점에서 데이터를 설명 할 수 있습니다.
Example:Mother owl:unionOf (Example:Parent, Example:Woman)
데이터베이스 전체에서 동등성을 정의 할 수 있습니다.
AcmeCompany:JohnSmith owl:sameAs PersonalDatabase:JohnQSmith
속성 값을 제한 할 수 있습니다.
Example:MyState owl:allValuesFrom (State:NewYork, State:California, …)
실제로 OWL은 데이터 모델링 및 추론에 사용할 수있는 새롭고 정교한 어휘를 제공합니다.
또 다른 주요 차이점은 RDFS와는 달리, OWL 당신이 방법을 알뿐만 아니라 것입니다 수있는 당신이 어떻게 실제로 알려줍니다 특정 어휘를 사용할 수 없습니다 그것을 사용할 수 있습니다. 반대로 RDFS는 원하는 트리플을 추가 할 수있는 세상을 제공합니다.
예를 들어 RDFS에서 느낌이 드는 것은의 인스턴스 일 수 있습니다 rdfs:Class
. Beagle 은 an rdfs:Class
이라고 말한 다음 Fido 는 Beagle 의 인스턴스 라고 말할 수 있습니다 .
Example: Beagle rdf:Type rdfs:Class
Example:Fido rdf:Type Example: Beagle
다음으로 비글에 대해 말하고 싶을 수도 있습니다. 아마도 비글 은 영국에서 자란 개들의 예 라고 할 수 있습니다 .
Example:Beagle rdf:Type Example:BreedsBredInEngland
Example: BreedsBredInEngland rdf:Type rdfs:Class
이 예제에서 흥미로운 점은 클래스와 인스턴스Example:Beagle
로 사용 된다는 것 입니다 . 비글 은 Fido 가 속한 클래스 이지만 Beagle 은 영국의 Bred Things라는 다른 클래스의 멤버입니다.
RDFS에서는 RDFS가 삽입 할 수있는 명령문과 삽입 할 수없는 명령문을 실제로 제한하지 않기 때문에이 모든 것이 합법적입니다. 반대로 OWL에서, 또는 적어도 일부 OWL에서, 위의 진술은 실제로 합법적 이지 않습니다. 무언가가 클래스와 인스턴스 둘 다일 수 있다고 말하는 것은 허용되지 않습니다.
이것이 RDFS와 OWL의 두 번째 주요 차이점입니다. RDFS는 모두에게 자유롭고 거친 서부, 말하기 쉬운 그리고 살바도르 달리로 가득 찬 세상을 가능하게합니다. OWL의 세계는 훨씬 더 엄격한 구조를 부과합니다.
지난 1 시간 동안 라디오 제조업을 설명하는 온톨로지를 구축했다고 가정 해 봅시다. 점심 시간 동안, 당신의 임무는 시계 제조 사업을위한 온톨로지를 구축하는 것입니다. 오늘 오후, 멋진 커피를 마신 후, 상사는 이제 수익성 높은 시계 라디오 사업을위한 온톨로지를 구축해야한다고 말합니다. 아침 작업을 쉽게 재사용 할 수있는 방법이 있습니까?
OWL은 이와 같은 일을 매우 쉽고 쉽게 해줍니다. Owl:Import
당신이 시계 라디오 상황에서 사용하는 것이지만, OWL은 또한 당신에게 같은 주석의 풍부한 다양성을주는 것입니다 owl:versionInfo
, owl:backwardsCompatibleWith
그리고 owl:deprecatedProperty
쉽게 함께 상호 일관된 전체로 사용되는 링크 데이터 모델이 될 수있다.
RDFS와 달리 OWL은 모든 메타 메타 데이터 모델링 요구를 충족시킵니다.
OWL은 훨씬 더 큰 어휘를 제공하므로 데이터 모델에 대해 말하고 싶은 것을 쉽게 말할 수 있습니다. 또한 오늘날 컴퓨터의 계산 현실을 기반으로 말을 맞춤화하고 특정 응용 프로그램 (예 : 검색 쿼리)에 맞게 최적화 할 수 있습니다. 또한 OWL을 사용하면 표준 주석 프레임 워크를 사용하여 여러 온톨로지 간의 관계를 쉽게 표현할 수 있습니다. .
이 모든 것이 RDFS와 비교할 때 장점이며 일반적으로 RDFS에 익숙해 지려면 추가 노력이 필요합니다.
출처 : RDFS 및 OWL
WC3 문서 객체 모델에서 문서 는 추상적 인 요소입니다. 내에 중첩 된 텍스트, 주석, 속성 및 기타 요소.
시맨틱 웹에서, 우리는 "트리플 (triples)"세트를 다룬다. 각 트리플은 :
스키마가 W3C 문서 오브젝트 모델에 대한 것이므로 OWL은 시맨틱 웹에 있습니다. 다양한 URI의 의미를 문서화하고 기계가 확인할 수있는 공식적인 방식으로 사용되는 방법을 지정합니다. 시맨틱 웹은 문서가 스키마와 관련하여 유효하거나 유효하지 않은 것처럼, OWL에 적용되는 OWL과 관련하여 유효하거나 유효하지 않을 수있다.
XML은 DOM과 마찬가지로 RDF는 시맨틱 웹에 있으며, 트리플 세트의 직렬화입니다.
물론, RDF는 일반적으로 XML 문서로 직렬화됩니다 ...하지만 RDF "는 XML 직렬화와 같은 일이 아니라는 것을 이해하는 것이 중요 의 RDF는".
마찬가지로, OWL은 OWL / XML을 사용하여 직렬화 될 수 있거나 (이것에 대해 유감스럽게도) RDF로 표현 될 수 있으며, 그 자체는 대개 XML로 직렬화됩니다.
기본 의미 론적 웹 스택은이 스레드에서 이미 많이 설명되었습니다. 초기 질문에 집중하고 RDF와 OWL을 비교하고 싶습니다.
OWL을 사용하는 것은 몇 가지 사실 만 알면 더 많은 의미 (추론 및 추론)를 얻는 데 필수적입니다. 이 "동적으로 생성 된"정보는 SPARQL과 같은 일치 쿼리에 추가로 사용될 수 있습니다.
일부 예는 실제로 OWL에서 작동한다는 것을 보여줍니다. . 이는 2015 년 스페인 TYPO3camp Mallorca 의 시맨틱 웹의 기본 사항에 대한 이야기 .
Spaniard: Person and (inhabitantOf some SpanishCity)
이것은 Spaniard
이어야하고 Person
(따라서 추론 부분의 모든 속성을 상속 받음) 적어도 하나 이상 존재해야 함을 의미합니다 SpanishCity
.
<Palma isPartOf Mallorca>
<Mallorca contains Palma>
이 예는 inverseOf
속성 에 적용한 결과를 보여줍니다isPartOf
및contains
.
<:hasParent owl:cardinality “2“^^xsd:integer>
이것은 Thing
(이 시나리오에서 아마도 Human
) 각각에 정확히 두 명의 부모가 있음을 정의합니다 . 카디널리티는 hasParent
속성에 할당됩니다 .
그림은 천 단어를 말합니다! 아래의 다이어그램 은 시맨틱 웹이 "계층화 된 아키텍처"라는 이 답변 에서 Christopher Gutteridge가 말한 것을 강화해야합니다 .
출처 : https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html
자원 설명 프레임 워크 (RDF) 강력한 형식적인 지식 표현 언어와 시맨틱 웹의 기본 표준입니다. 핵심 개념과 관계를 정의하는 자체 용어 (예 : rdf : type은 isA 관계에 해당)와 주제 해석 객체 (자원 속성 값)의 형태로 기계 해석 가능한 명령문을 사용할 수있는 데이터 모델이 있습니다. 그림 설명 책과 같은 RDF 트리플이라고 불리는 트리플. 제어 어휘 및 기본 온톨로지를 작성하는 데 필요한 개념으로 RDF 어휘의 확장을 RDF 스키마 또는 RDF 어휘 설명 언어 (RDFS)라고합니다. RDFS를 사용하면 클래스 및 리소스에 대한 설명을 작성하고 수퍼 클래스-서브 클래스 관계를 통해 분류 학적 구조를 표현할 수 있습니다.
복잡한 지식 영역에는 RDFS에서 사용할 수있는 것보다 더 많은 기능이 필요하므로 OWL 이 도입되었습니다 . OWL은 클래스 (연합, 교차점, 분리, 등가), 속성 카디널리티 제약 (최소, 최대, 정확한 수, 예를 들어 모든 사람이 정확히 한 아버지를 가짐), 다양한 속성 유형, 속성 및 특수 속성 (전이, 대칭, 기능, 역 기능 (예 : A ex : hasAncestor B 및 B ex : hasAncestor C는 주어진 속성이 특정 클래스의 인스턴스에 대한 고유 키, 도메인 및 범위 제한을 지정하는 A ex : hasAncestor C)를 의미합니다. 속성.