2016-10-14 13 views
0

스마트 하우스를위한 온톨로지 모델을 디자인했습니다. 각 물체에 부착 된 센서. 내 온톨로지에서는 클래스가 Sensor입니다. 이 클래스의 각 객체에는 ID 번호가 있습니다. 예를 들어, CabinetSensor의 개인입니다. 나는 Cabinet hasID# 42, Cabinet hasID# 52와 같은 다른 ID 번호가있는 Cabinet을 주방에 가지고 있습니다. 나는 protege를 사용하고 있는데, 데이터 속성으로 hasID을 정의하고 객체 속성으로 locatedIn을 정의합니다.개체에 OWL의 데이터 속성에 대한 리터럴 값이 둘 이상있을 수 있습니까?

Cabinet locatedIn Kitchen 
Cabinet hasID 42 
Cabinet hasID 52 

또는 내가 객체 속성에 hasID을 변경하고 클래스 IdNumber을 정의해야합니다 : 나는 그것을 가질 수 있습니다 알고 싶어?

+0

질문이 명확하지 않습니다. 먼저, 두 개의 다른 속성 ('hadID'와'hasID') 또는 동일한 속성에 대한 두 개의 다른 값을 원하십니까? 둘째 : Protege에서이 속성을 추가하는 데 어려움이 있습니까? 이미 몇 가지 속성을 추가 할 수있었습니다. –

+0

데이터 속성에 두 개의 값이 있습니다. "exID 42, 52" – Ali

+0

당신의 문제가 아직도 명확하지 않습니다. 상충되는 정보를 제공합니다. 위의 설명은 동일한 객체의 속성에 대해 두 개의 값을 제안하지만 답변의 주석에는 두 개의 서로 다른 객체 (두 개의 문)에 대해 설명합니다. 당신이 의미하는 바를 구체적으로 표현하고 질문을 편집하십시오. 예를 보여주고, 그리고/또는 당신이 시도한 것을 보여줍니다. StackOverflow에서 좋은 질문을하는 방법에 대한 좋은 팁을 제공하는 [ask]를 살펴보십시오. 다음 팁을 따르면 좋은 답변을 얻을 수있는 가능성이 높아집니다. –

답변

2

잘못된 방식으로 접근하고 있습니다. 여러 ID가있는 캐비닛이 하나도 없으므로 여러 개의개의 캐비닛이 있습니다. 즉, 두 명의 개인이 각각 유형Cabinet입니다. 하나는 다른 ID를 가지고, ID (42)가 52

에서는 (의사)의 RDF는 트리플 :

그래서 Protege는에서
:cabinet42 a :Cabinet ; 
      :locatedIn :kitchen ; 
      :hasID 42 . 

:cabinet52 a :Cabinet ; 
      :locatedIn :kitchen ; 
      :hasID 52 . 

, 각을주는 두 개의 별도의 개인, 각 캐비닛을 작성하고, 필요 개별 ID 속성. 당신은 RDF 위에서 볼 수있는 바와 같이 옆으로

, 심지어는 전혀 그들에게 :hasID 속성을 줄 필요하지 않을 수도있다 : 그들은 각 이미 자신의 고유 한 식별자 (: :cabinet42:cabinet52 즉 자신의 URI를) 가지고있다.