2012-08-15 8 views
3

저는 RDF 스키마 작성의 초보자이며 URI 개념을 잘 활용하고 간단한 관심사의 RDF 문서를 작성해야하는지 궁금합니다. 다음 진술의 RDF를 만들려고합니다.간단한 관심사의 RDF/XML을 인코딩하는 방법

Jeffy is a Graduate student 
Jeffy likes yoga 
Jeffy is seeking Tennis. 

이 세 문장을 기반으로 RDF를 작성하는 방법은 무엇입니까? 이것에 대한 모든 정보가 도움이 될 것입니다.

답변

3

때문에 대신 RDFS의 OWL을 사용할 수 있습니다 : 그것은 RDFS

의 슈퍼

2) 예를 들어

더 강력가

1) :

<?xml version="1.0"?> 

<!DOCTYPE rdf:RDF [ 
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" > 
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > 
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > 
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > 
    <!ENTITY base "http://www.example.com/example/" > 
    ]> 

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xmlns:owl="http://www.w3.org/2002/07/owl#" 
    xmlns:base="http://www.example.com/example/" 
    > 

    <owl:Class rdf:about="#GraduateStudent" /> 

    <owl:DatatypeProperty rdf:about="&base;Likes"> 
    <rdfs:domain rdf:resource="&base;GraduateStudent" /> 
    <rdfs:range rdf:resource="string" /> 
    </owl:DatatypeProperty> 

    <owl:DatatypeProperty rdf:about="&base;IsSeeking"> 
    <rdfs:domain rdf:resource="&base;GraduateStudent" /> 
    <rdfs:range rdf:resource="string" /> 
    </owl:DatatypeProperty> 

    <base:GraduateStudent rdf:about="&base;GraduateStudent/001"> 
    <base:Likes>yoga</base:Likes> 
    <base:IsSeeking>Tennis</base:IsSeeking> 
    </base:GraduateStudent> 

</rdf:RDF> 

당신 모델과 데이터가 같은 파일에 있다는 것을 알 수 있습니다.

3 importants 기능 :

1) 클래스 : 클래스를 선언

2)을 DatatypeProperty :의 다른 노드에 대한 링크를 선언 리터럴 특성

3)을 ObjectProperty를 (안 여기) 선언 시맨틱 그래프

"Sport"클래스를 만들고 ObjectProperty로 DatatypeProperty를 변경하고 범위를 업데이트하고 2 개의 스포츠 인스턴스를 만들 수 있습니다.

+0

Galaad에게 감사합니다. 기능 (FOAF)의 친구를 사용할 수 있다면 저를 깨끗하게 할 수 있습니까? – AKIWEB

+3

OWL이 RDFS보다 표현력이 풍부하다는 것은 당연한 일이지만, 실제 예제에서는 OWL의 표현력을 실제로 필요로하지 않는다는 점을 지적하고자합니다 (RDFS에서 실제로 표현할 수없는 유일한 점은 차이점입니다. DatatypeProperty와 ObjectProperty 사이에 있지만, 그 구분이 필수적인지는 의문 스럽다. –

6

RDF/XML을 사용하지 않는 것이 좋습니다. 직접 작성하는 법을 배우기에는 꽤 복잡한 구문 형식입니다. 당신이 저런 이유로 RDF/XML을 가지고있는 RDF 파서 툴킷을 사용하는 것을 고려해야하는 경우

@prefix my: <http://example.org/mynamespace/> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 

my:jeffy rdf:type my:GraduateStudent ; 
     my:likes my:yoga ; 
     my:isSeeking my:Tennis . 

: 당신은 당신의 예는 다음과 같을 것이다 경우, Turtle 구문처럼 RDF 사용하여 뭔가를 쓰는 것이 더 낫다 (OpenRDF Sesame, Apache Jena, dotNetRDF 등)을 사용하여 하나의 구문에서 다른 구문으로 변환 할 수 있습니다.

2

FOAF :

당신은 "Jeffy"에 대한 foaf:Person를 사용할 수는 (.. 당신이 foaf:name RESP foaf:givenName RESP foaf:nick로 이름을 줄 수 있습니다).

요가에 대한 관심으로 foaf:interest을 사용할 수 있습니다 (foaf:Document은 "요가"를 나타내야합니다 (foaf:isPrimaryTopicOf 참조). foaf:topic_interest (범위는 owl:Thing)을 사용할 수 있습니다.

대학원생이면 foaf:Group으로 모델링 할 수 있습니다 (아마도!).


터틀 직렬화로 표시되는 example in Wikipedia을 참조하십시오.

+0

@ unor- 감사합니다. 예를 들거나 보여줌으로써 더 자세히 설명해 주시겠습니까? FOAF 기능을 사용하기에는 완전히 새로운 것입니다. 그것은 내가 더 많은 것을 이해하는 데 정말로 도움이 될 것입니다. 미리 감사드립니다! – AKIWEB

+0

@ Nevzz03 : Turtle 구문을 사용한 예에 대한 링크를 추가했습니다. – unor