아래 대응표 오른쪽이 Turtle(터틀) 코드입니다.
RDF를 텍스트로 표현하는 직렬화 형식으로, 가독성이 높아 RDF를 표현할 때 자주쓰는 포맷입니다.
RDF를 텍스트로 표현하는 직렬화 형식으로, 가독성이 높아 RDF를 표현할 때 자주쓰는 포맷입니다.
@prefix : <...> .— "이 문서에서:는 저 URI의 줄임말로 쓴다"는 약속 (네임스페이스).:WTG03 a :Turbine—a는 "~의 인스턴스다 (rdf:type)"의 줄임말.;세미콜론 — "같은 주어를 또 쓰지 않고 다음 속성을 이어 쓴다"는 약속."3"^^xsd:int— 따옴표 안 값의 데이터 타입을 명시 (여기선 정수).owl:Class·owl:ObjectProperty·owl:DatatypeProperty— Class·Property가 어떤 종류인지 적을 때 쓰는 OWL 키워드.rdfs:label·rdfs:comment— URI에 이름표·설명을 다는 어노테이션. 추론에는 쓰이지 않고, 사람이 읽을 때 씁니다.
그래서 — 무엇을 말한 건가요?
아래 원문에서 뽑은 말과 Turtle 코드를 짝지어 봅니다. 명사·동사·값이 Class·Property·Instance로 어떻게 옮겨졌는지 따라가 보세요.
🗣️ 원문 (자연어)
「3호기 WTG03은 풍력 터빈이며, 정격출력 3MW, 설치일 2021-05-20입니다.
WTG03은 기어박스를 부품으로 갖고, 그 기어박스는 진동센서가 감시합니다.
센서가 측정한 진동값은 4.2입니다.」
원문에서 뽑은 말
Turtle 코드
(네임스페이스 약속)
@prefix : <http://pp.com/wtg/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
① Class터빈·기어박스·센서라는 종류가 있다
:Turbine a owl:Class ;
rdfs:label "풍력 터빈"@ko ;
rdfs:comment "풍력 발전에 사용되는 회전형 발전 설비."@ko .
:Gearbox a owl:Class ;
rdfs:label "기어박스"@ko ;
rdfs:comment "회전 에너지를 변속·전달하는 터빈 부품."@ko .
:Sensor a owl:Class ;
rdfs:label "센서"@ko ;
rdfs:comment "설비 상태를 측정·전송하는 감시 장치."@ko .③ Object부품·감시 같은 관계(동사)가 있다
:hasPart a owl:ObjectProperty ;
rdfs:label "부품을 갖는다"@ko ;
rdfs:comment "상위 자산이 하위 부품을 포함하는 관계."@ko .
:monitoredBy a owl:ObjectProperty ;
rdfs:label "감시받는다"@ko ;
rdfs:comment "부품이 특정 센서에 의해 모니터링되는 관계."@ko .④ Datatype정격출력·설치일·진동값 같은 속성이 있다
:ratedPower a owl:DatatypeProperty ;
rdfs:label "정격출력"@ko ;
rdfs:comment "터빈의 명판 정격 출력(MW)."@ko .
:installedDate a owl:DatatypeProperty ;
rdfs:label "설치일"@ko ;
rdfs:comment "현장 설치 완료 날짜."@ko .
:vibrationLevel a owl:DatatypeProperty ;
rdfs:label "진동값"@ko ;
rdfs:comment "센서가 측정한 진동 수준."@ko .② Instance3호기 WTG03은 터빈이다
④ Datatype정격출력이 3MW다
④ Datatype설치일이 2021-05-20이다
③ Object기어박스를 부품으로 갖는다
:WTG03 a :Turbine ;
rdfs:label "3호기 WTG03"@ko ;
:ratedPower "3"^^xsd:int ;
:installedDate "2021-05-20"^^xsd:date ;
:hasPart :Gearbox_03 .② InstanceGearbox_03은 기어박스이다
③ Object진동센서가 감시한다
:Gearbox_03 a :Gearbox ;
rdfs:label "WTG03 기어박스"@ko ;
:monitoredBy :VibSensor_03 .② InstanceVibSensor_03은 센서이다
④ Datatype측정한 진동값이 4.2다
:VibSensor_03 a :Sensor ;
rdfs:label "WTG03 진동센서"@ko ;
:vibrationLevel "4.2"^^xsd:decimal .※ Class·Property와 Instance를 한곳에 모아 둔 것은, 구성요소 배치를 보여 주기 위한 예시입니다. rdfs:label·rdfs:comment는 URI에 붙이는 이름표·설명입니다.