시맨틱 웹에서의 다중상속에 대한 대답

225p. 시맨틱 웹과 같은 추론 기반 시스템에서, 다중 상속에 대한 대답(좋거나 나쁨)은 기본 추론 패턴의 상호작용에 의해 정의된다.

OOP에서 다중상속과 시맨틱 웹에서의 다중상속이 같지 않다는 것은 이해가 됐습니다.
그리고, 질의는 패턴을 기반으로 이루어지기 때분에 기본 추론 패턴의 상호작용에 의해 대답이 정의된다는 것도 이해가 됩니다.

하지만, 다중상속에 대한 대답(좋거나 나쁨) 이 부분이 무엇을 의미하는지 모르겠네요.
좋거나 나쁨이 추론의 결과가 참인지 거짓인지를 의미하나요?

대답이 좋고 나쁘다는 기준이 궁금합니다.

2개의 좋아요

저도 이 부분을 이해할 때, (좋거나 나쁨) 부분이 헷갈렸습니다. 저의 해석은 2가지 입니다

  1. 참 또는 거짓 으로 해석
  2. 성능이 ‘좋거나 나쁨’ 으로 해석

저는 두 번째로 이해했습니다.
어떤 클래스가 다중 상속을 받는 경우, 해당 모델링이 좋을수도, 나쁠 수도 있는데, 그 근거가 기본적인 추론이 잘 이루어지는지 아닌지(여기서 추론이 잘 이루어진다는 것은 일관되고 통합된 데이터를 만들거나, 추론이 되는지 등)에 따라 결정된다는 것이 하는 것이 저의 해석입니다.

다른 분들은 어떻게 해석하셨는지도 궁금하네요

저는 처음에는 1. 참 또는 거짓(다중 상속을 했는지 안했는지)으로 해석을 했었는데, @HyeonJiKim 의 설명을 읽으니 성능과 관련된 것으로 해석하는 것이 더 자연스럽다는 생각이 듭니다. :ok_woman:

아래 그림을 보면, ex:MiniVan은 ex:Van과 ex:PassengerVehicle의 서브클래스입니다.

ex:MiniVan rdfs:subClassOf ex:Van
ex:MiniVan rdfs:subClassOf ex:PassengerVehicle

ex:Van은 두 개 클래스의 하위 클래스이기 때문에, 다중 상속 (Multiple inheritance)으로 표현합니다. 책에서 설명했듯이, rdfs:subClassOf를 두 번 선언해서 관계를 표현할 수 있습니다. 다만, 다중상속으로 발생하는 의미적 사실이 적당한 것인지 판단은 할 수 없습니다. 만약, 어떤 제조사에서 Van과 MiniVan을 엄격하게 구분하고 있다면, 아래 그림처럼 모델링하는 것은 적절하지 않습니다. 그렇지만, 다중상속이 적용된 모델은 그 자체로 추론이 동작하고, 의미적으로 "좋거나 나쁨"을 판단할 수 없습니다. @HyeonJiKim @ChaeeunSong

2개의 좋아요

그렇다면, 책에서 말하는 '좋거나 나쁨’은 결국 어떤 의미인가요?

이 댓글을 읽고 생각해 보면 여기에서 “좋고 나쁨”은 다중 상속을 사용하는 것이 좋은가 나쁜가를 판단하는 기준을 의미하는 듯 합니다. 모델링하려는 도메인의 상황에 따라 다중 상속이 제대로 동작할 수도 있고 그렇지 않을 수도 있으니 다중 상속 사용의 좋고 나쁨은 그때 그때 다르게 판단되어야 한다는 의미가 아닌지요? ^^;; 새로 가입해서 한번 저도 논의에 참여해 봅니다.

3개의 좋아요