2011-08-10 5 views
2

.dot 파일을 생성하려는 RDF 파일이 있습니다. 노드와 노드 사이의 링크 스타일을 지정하는 여러 가지 규칙 (예 : 결혼 관계를 나타내는 특정 종류의 화살표)을 만들고 싶습니다. 두 인스턴스 사이의 결혼을 표현하기 위해, 그리고RDF 파일에서 .DOT 파일 생성

a [label = "Anne \ n \ nD.Birth: 1981 \ nProfession: Accounting \ n", shape = circle, fillcolor = "pink" style = "filled", fontsize = "9", fontname = " Arial, bold "]; 

:이 결과이 라인을 변환 할

<person rdf:about="http://www.something.com/EGAnne" 
    <j: DateBirth>1981</j: DateBirth> 
    <j:Profession>Comptable</j:Profession> 
    <j:Gender>Female</j:Gender> 
</j:person> 

: 여기

는 변환 "규칙"의 예입니다 사람, 화살표의 유형은 "odot"이고 색상은 "goldenrod"입니다.

a -> j [arrowhead = "odot" arrowtail = "odot", dir = both, color = "goldenrod"] 

위와 같은 규칙에 따라 RDF 파일에서 .dot 파일을 자동으로 생성하는 방법은 무엇입니까?

+0

내가 어떤 RDF DOT 컨버터의 모르는 이런 종류의 행동을 지원합니다. 오픈 소스를 하나 찾은 다음 제안한 방법으로 스타일링 규칙을 지원하도록 제안하십시오. – RobV

답변

2

이것은 당신을 위해 일할 수있는 것처럼 보입니다 : RDF-to-Dot.

+0

안녕하세요, 답변 해 주셔서 감사합니다. RDF-to-Dot 도구는 위에서 쓴 것처럼 특정 "규칙"을 고려하지 않습니다. :( – GMH

2

xslt는 XML에서 graphviz 파일을 만드는 가장 선호되는 방법입니다.

당신을 위해

, 키 부분은 다음과 같을 수는 ...

<xsl:for-each select="whateverThePathIs/person"> 
<xsl:if test="(./j:Gender &eq; 'Female')"> 
# Output a node for a Female 
</xsl:if> 
<xsl:if test="(./j:Gender &eq; 'Male')"> 
# Output a node for a Male 
</xsl:if> 
</xsl:for-each>