Skip to content

tweaking rdfpuml/plantuml layout and appearance #31

Description

@VladimirAlexiev

graphs tend to grow large and need tweaking. Some alternatives could be added for the tool. I need to get some examples out to show what I mean. Coming up.

rdfpuml can already tweak arrow direction, length and appearance; and node stereotypes.
Eg here's an example from a Crunchbase model.
I keep it in a separate puml.ttl that I concat to the real model.

####################

# superclass and class hierarchy (lattice)
<agent/(uuid)> a cb:Agent.
<agent/(person_uuid)>       puml:up-tri-dashed <agent/(uuid)>.
<agent/(organization_uuid)> puml:up-tri-dashed <agent/(uuid)>.
<agent/(investor_uuid)>     puml:up-tri-dashed <agent/(person_uuid)>.
<agent/(investor_uuid)>     puml:up-tri-dashed <agent/(organization_uuid)>.

# Colored circles: agent=red, relation=pink, financial=yellow, static=lightgreen
cb:Acquisition     puml:stereotype "(A,yellow)".
cb:Agent           puml:stereotype "(A,red) abstract superclass".
cb:Degree          puml:stereotype "(D,pink)".
cb:Event           puml:stereotype "(E,lightgreen)".
cb:EventAppearance puml:stereotype "(A,pink)".
cb:Fund            puml:stereotype "(F,red)".
cb:FundingRound    puml:stereotype "(F,yellow)".
cb:IPO             puml:stereotype "(I,yellow)".
cb:Investment      puml:stereotype "(I,yellow)".
cb:Investor        puml:stereotype "(I,red)".
cb:Job             puml:stereotype "(J,pink)".
cb:Organization    puml:stereotype "(O,red)".
cb:Person          puml:stereotype "(P,red)".
skos:Concept       puml:stereotype "(C,lightgreen)".

# Relation directions
cb:acquiree                puml:arrow puml:up.
cb:acquirer                puml:arrow puml:up.
cb:entity                  puml:arrow puml:up.
cb:event                   puml:arrow puml:up.
cb:featuredJobOrganization puml:arrow puml:up.
cb:institution             puml:arrow puml:up.
cb:investor                puml:arrow puml:up.
cb:participant             puml:arrow puml:up.
cb:partner                 puml:arrow puml:up.

# All links to Org and Person should be `up` except Job which uses `left/right` (nested between them)
#cb:organization            puml:arrow puml:up.
#cb:person                  puml:arrow puml:up.
cb:featuredJobOrganization puml:arrow puml:left.
<job/(uuid)>                         puml:right <agent/(person_uuid)>; puml:left <agent/(org_uuid)>.
<degree/(uuid)>                      puml:up    <agent/(person_uuid)>.
<funding_round/(funding_round_uuid)> puml:up    <agent/(org_uuid)>.
<ipo/(uuid)>                         puml:up    <agent/(org_uuid)>.

# Inlined external URLs
cb:cbUrl            a puml:InlineProperty.
cb:eventUrl         a puml:InlineProperty.
cb:facebookUrl      a puml:InlineProperty.
cb:homepageUrl      a puml:InlineProperty.
cb:linkedinUrl      a puml:InlineProperty.
cb:logoUrl          a puml:InlineProperty.
cb:registrationUrl  a puml:InlineProperty.
cb:twitterUrl       a puml:InlineProperty.

# Inlined thesaurus values. Alternative: display them as skos:Concepts
cb:acquisitionType  a puml:InlineProperty.
cb:appearanceType   a puml:InlineProperty.
cb:cbIndustry       a puml:InlineProperty.
cb:degreeType       a puml:InlineProperty.
cb:employeeCount    a puml:InlineProperty.
cb:eventRole        a puml:InlineProperty.
cb:gender           a puml:InlineProperty.
cb:investmentType   a puml:InlineProperty.
cb:investorType     a puml:InlineProperty.
cb:jobType          a puml:InlineProperty.
cb:organizationRole a puml:InlineProperty.
cb:primaryRole      a puml:InlineProperty.
cb:status           a puml:InlineProperty.
#skos:broader        a puml:InlineProperty.
skos:inScheme       a puml:InlineProperty.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions