2013-10-15 8 views
2

특정 주소에 대한 보고서 페이지를 의미 상으로 마크 업하려고합니다. 이 페이지는 주소의 에너지 소비에 대한 보고서를 제공하고 에너지 소비와 관련된 서비스를 제공합니다. 나는 그 장소의 주소, 그 주소와 관련된 에너지 보고서, 그 주소에 사용 가능한 제안을 의미 론적으로 나타내고 싶다. 지금 당장은 RDFa 라이트 노드가있는 마크 업과 오퍼를위한 노드가 있습니다. 에너지 보고서 및이 장소와 관련된 제안 등 이러한 것들 간의 관계를 수립하기 위해이를 구조화하는 가장 좋은 방법은 무엇입니까?rdfa lite 노드 간의 관계 설정 방법

<!DOCTYPE html> 
<html version="HTML+RDFa 1.1" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
<title>Energy Report For 1 main st, townville, ca</title> 
</head> 
<body> 
<div xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
xmlns:foaf="http://xmlns.com/foaf/0.1/" 
xmlns:gr="http://purl.org/goodrelations/v1#" 
xmlns:pto="http://www.productontology.org/id/" 
xmlns:foo="http://example.com/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> 

<div vocab="http://schema.org/" typeof="Place" additionaltype="Offer" resource="#energyreport"> 

<h1 property="name">Energy Assessment for <div property="address" resource="#address" typeof="PostalAddress"> 
<span property="streetAddress">1 main st. 
</span> <span property="addressLocality">townville</span>, 
<span property="addressRegion">ca</span></div></h1> 
<span property="description">Energy Potential for 1 main st., townville, ca. Explore installation offers. Find the best choice for your home. 
</span> 
</div> 
<div vocab="http://schema.org/" resource="#offer" typeof="Offer"> 
<!-- The offer to sell it --> 
<div about="#offer" > 
<div property="name">Energy Offerings</div> 
<div rel="gr:hasBusinessFunction" resource="http://purl.org/goodrelations/v1#Sell"></div> 
<div rel="gr:includes"> 
<!-- The object --> 
<div about="#myObject" typeof="http://www.productontology.org/id/Energy"> 
<div rel="rdf:type" resource="http://purl.org/goodrelations/v1#SomeItems"></div> 
<div property="gr:description" xml:lang="en">Offer Details For Premium Lease Option</div> 
<div property="gr:name" xml:lang="en">Premium Lease</div> 
</div> 
</div> 
<div rel="foaf:page" resource="http://URI_of_the_page_containing_the_offer"></div> 
<div rel="gr:hasPriceSpecification"> 
<div typeof="gr:UnitPriceSpecification"> 
<span property="gr:hasCurrency" content="USD" datatype="xsd:string">$</span> 
<span property="gr:hasCurrencyValue" datatype="xsd:float">2.5</span>  
</div> 
</div>  
</div> 
</div> 
</div> 
</body> 

답변

3

아직 확인하지 않으 셨다면 W3C's RDFa 1.1 Distiller and Parser을 사용해 보시기 바랍니다. RDFa에서 복사하고 생성 된 데이터를 볼 수 있습니다. 예를 들어, 현재 마크 업이 트리플을 산출 :

@prefix foaf: <http://xmlns.com/foaf/0.1/> . 
@prefix gr: <http://purl.org/goodrelations/v1#> . 
@prefix pto: <http://www.productontology.org/id/> . 
@prefix rdfa: <http://www.w3.org/ns/rdfa#> . 
@prefix schema: <http://schema.org/> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 

<> rdfa:usesVocabulary schema: . 

<#energyreport> a schema:Place; 
    schema:address <#address>; 
    schema:description """Energy Potential for 1 main st., townville, ca. Explore installation offers. Find the best choice for your home. 
"""; 
    schema:name """Energy Assessment for 
1 main st. 
townville, 
ca""" . 

<#offer> a schema:Offer; 
    gr:hasBusinessFunction gr:Sell; 
    gr:hasPriceSpecification [ a gr:UnitPriceSpecification; 
      gr:hasCurrency "USD"^^xsd:string; 
      gr:hasCurrencyValue "2.5"^^xsd:float ]; 
    gr:includes <#myObject>; 
    schema:name "Energy Offerings"; 
    foaf:page <http://URI_of_the_page_containing_the_offer> . 

<#address> a schema:PostalAddress; 
    schema:addressLocality "townville"; 
    schema:addressRegion "ca"; 
    schema:streetAddress """1 main st. 
""" . 

<#myObject> a gr:SomeItems, 
     pto:Energy; 
    gr:description "Offer Details For Premium Lease Option"@en; 
    gr:name "Premium Lease"@en . 

이것은 당신이 당신의 마크 업 수정은 당신이 찾고있는 결과의 종류를 생산 여부를 확인하기 위해 도구를 사용하여 비교적 쉽게이 있다는 것을 의미한다. (위의 트리플이 지금까지 나타 냈던 데이터를 정확하게 표현하는지 확인해야합니다.) 데이터에 문제가있는 것 같습니다. 당신이 할 것 같은 어떤 속도에서

#energyreport a schema:Place 

, 또 다른 링크를 추가, 한 가지 다른 관계를 추가 할 : 예를 들어, 당신이 실제로 보고서가있는 장소, 즉, 그 것을 의도했다 지금까지는 다른 자원의 식별자를 사용하십시오. 당신이 가질 수 있도록 예를 들어, 당신은 #energyreport을 설명 div

<a href="#offer" rel="hasOffer">an offer for this place</a> 

을 추가하는 경우 :

에너지 평가를 1 주 일에 대해. townville, ca 에너지 잠재력 1 main st., townville, ca. 설치 제안을 살펴보십시오. 귀하의 집에 가장 적합한 것을 찾으십시오. 이 같은 트리플거야이 곳

에 대한 제안 :

<#energyreport> schema:hasOffer <#offer> 
+0

감사합니다. 모든 어휘에 존재하지 않는 최상위 스키마 유형을 갖는 것과 관련된 문제가 있다고 생각합니까?그래서 보고서가 제안을 가지고 있고 주소가있는 최상위라면, 보고서가 실제로 어디서나 정의 된 것이 아닌지, 아니면 내가 정의 할 수있는 뭔가를 만들어내는 것이 중요 할까? 최상위 레벨을 만드는 것에 대한 제 생각은 보고서가 에너지 보고서가 있고 그와 관련된 제안을 의미있는 표현으로 사용한다는 것입니다. –

+0

@SeanParker 필요한 속성을 이미 가지고있는 어휘를 찾을 수 있다면 그것들을 사용하는 것이 좋겠지 만 자신의 속성과 클래스를 정의하는 것은 좋습니다. 그래도 절대 IRI를 사용해야한다. 그래서 와 같은 것을 얻을 수있다. 그래도. –

4
<div vocab="http://schema.org/" typeof="Place" additionaltype="Offer" resource="#energyreport"> 

: 당신이 원하는 관계 (특정 URI를 사용하는 모듈로)를 포함

<#energyreport> a schema:Place; 
    schema:address <#address>; 
    schema:description """Energy Potential for 1 main st., townville, ca. Explore installation offers. Find the best choice for your home. 
"""; 
    schema:hasOffer <#offer>; 
    schema:name """Energy Assessment for 
1 main st. 
townville, 
ca""" . 

에게 먼저 additionaltype 속성은 HTML에서는 유효하지 않으므로 사용해서는 안됩니다. RDFa를 사용하면 다음과 같이 typeof 속성에 여러 유형을 안전하게 넣을 수 있습니다. typeof="Place Offer".

여호수아가 (좋은이다) 당신이 볼 수 링크를 추가하지 않으려면, 당신은 또한 보이지 않는 <link> 요소를 사용할 수있는 말을 보완하기 위해 : 당신의 RDFa를가 RDFa/Play입니다 확인

<link property="offer" href="#offer" /> 

또 다른를 . 더 많은 도구는 RDFa.info's Tools에서 사용할 수 있습니다.