2016-07-05 7 views
1

교살 (which was introduced in OWL 2 DL)을 사용하면 클래스 및 개체 속성에 동일한 이름 (IRI)을 부여 할 수 있습니다 (Association Example 참조).개체 속성에서 데이터 속성을 정의 할 때 OWL이 도우미 도움말을 사용할 수 있습니까?

이 메타 모델링 방법을 사용하여 관계에 속성을 첨부 할 수 있습니까?

예를 들어, drivesPersonVehicle을 연결합니다. Vehicle이 (가) 구동되는 velocity을 지정하려고합니다.이 속성은 drives에 속합니다. Punning을 사용하면 drives이라는 클래스와 객체 속성을 모두 지정하여 연관 클래스로 drives을 모델링 할 수 있습니다. 나는 이것이 어떻게 든 그들과 관련된 데이터 프로퍼티를 가지는 객체 프로퍼티를 가질 수 있다고 생각하고있다.

이것이 올바른 방법인지 여부를 알고 싶습니다. 내가 놓친 게 있니? (OWL 2 DL에 도입 된)

+1

속성의 속성은 주석 속성으로 제한되며 어설 션을 참조 할 수 없습니다. 이 정보로 어설 션 공리에 주석을 달 수는 있지만 여전히 데이터 유형 어설 션이 아닌 어노테이션으로 만 제한됩니다. – Ignazio

답변

3

말장난 하나는 클래스와 객체 속성 (협회 예 참조) 같은 이름 (IRI)을 제공 할 수 있습니다.

이 메타 모델링 방법을 사용하여 관계에 속성을 첨부 할 수 있습니까?

내가 말할 수있는 한, 당신은 클래스와 속성 모두에 대해 동일한 IRI를 사용할 수 있지만, 실제로 당신이하는 메타 모델링에 도움이 될 것이라고는 생각하지 않습니다. 찾고.

예를 들어, 관계 드라이브는 Person과 Vehicle을 연결합니다. 에 차량이 주행하는 속도를 지정하고이 속성을 드라이브에 속하게하십시오. Punning을 사용하면 명명 된 드라이브 인 클래스와 개체 속성을 모두 지정하여 드라이브를 연관 클래스로 모델링 할 수 있습니다. 나는 이것이 어떻게 든 데이터 속성이 연결된 객체 인 속성을 가질 수 있다고 생각합니다.

같은 IRI를 갖는 것은 클래스와 속성이 실제로 여기서 도움이되지 않는다는 것을 나타냅니다. 당신이 원한 것은 유화 관계입니다. 당신은 방법이을 표시 할 싶습니다 : 정말이 할 수있는 가장 일반적인 방법

person42 drives driving74 
driving74 hasVehicle vehicle89 
driving74 hasVelocity 88.8 

합니다. 정말로 원하면 드라이브을 사용하여 클래스 이름을 짓고 driving74을 해당 클래스의 인스턴스로 만들면 사용자에게 몇 가지 연결이 있음을 알릴 수 있습니다. 즉, 스키마가 될 만들 수있다 :

drives a owl:Class 
hasVehicle rdfs:domain drives 
hasVehicle rdfs:range Vehicle 
hasVelocity rdfs:domain drives 
hasVelocity rdfs:range Velocity 

drives a owl:ObjectProperty 
drives rdfs:domain Person 
drives rdfs:range drives 

당신이 할 수 있고, 내 의견에, 정말 모든 도움이되지 비록 어쩌면, 일부 사용자에게 연결 더 분명 할 것이고, 상황을 좀 더 혼란스럽게 만들 수도 있습니다.