digraph GVmap { label = "\n\nsrc data model" rankdir=TB node [ shape=tab style=filled ] subgraph cluster_packages { label="Model" rankdir=TB style=filled fillcolor="/set312/1" "source" [ URL="#source" label = "source" fillcolor="/set312/2" ] ; } node [ shape=record fontsize=8 style=filled] "src:source.LuminosityType" [ URL="#source.LuminosityType" label = "{<<enumeration>>\lsource/LuminosityType|+magnitude\l+flux\l}" fillcolor="/set312/2" ] ; "src:source.SourceClassification" [ URL="#source.SourceClassification" label = "{<<enumeration>>\lsource/SourceClassification|+star\l+galaxy\l+AGN\l+planet\l+unknown\l}" fillcolor="/set312/2" ] ; "src:source.AlignedEllipse" [ URL="#source.AlignedEllipse" label = "{<<datatype>>\nsource/AlignedEllipse|+longError : ivoa:real\l+latError : ivoa:real\l}" fillcolor="/set312/2" ] ; "src:source.CircleError" [ URL="#source.CircleError" label = "{<<datatype>>\nsource/CircleError|+radius : ivoa:real\l}" fillcolor="/set312/2" ] ; "src:source.GenericEllipse" [ URL="#source.GenericEllipse" label = "{<<datatype>>\nsource/GenericEllipse|+major : ivoa:real\l+minor : ivoa:real\l+pa : ivoa:real\l}" fillcolor="/set312/2" ] ; "src:source.SkyCoordinate" [ URL="#source.SkyCoordinate" label = "{<<datatype>>\nsource/SkyCoordinate|+longitude : ivoa:quantity.RealQuantity\l+latitude : ivoa:quantity.RealQuantity\l}" fillcolor="/set312/2" ] ; "src:source.SkyError" [ URL="#source.SkyError" label = "{<<datatype>>\nsource/SkyError}" fillcolor="/set312/2" ] ; "src:source.AstroObject" [ URL="#source.AstroObject" label = "{source/AstroObject|+label : ivoa:string\l}" fillcolor="/set312/2" ] ; "src:source.LuminosityMeasurement" [ URL="#source.LuminosityMeasurement" label = "{source/LuminosityMeasurement|+value : ivoa:quantity.RealQuantity\l+error : ivoa:quantity.RealQuantity\l+description : ivoa:string\l+type : src:source.LuminosityType\l}" fillcolor="/set312/2" ] ; "src:source.SkyCoordinateFrame" [ URL="#source.SkyCoordinateFrame" label = "{source/SkyCoordinateFrame|+name : ivoa:string\l+documentURI : ivoa:anyURI\l+equinox : ivoa:string\l+system : ivoa:string\l}" fillcolor="/set312/2" ] ; "src:source.Source" [ URL="#source.Source" label = "{source/Source|+name : ivoa:string\l+description : ivoa:string\l+position : src:source.SkyCoordinate\l+positionError : src:source.SkyError\l+classification : src:source.SourceClassification\l}" fillcolor="/set312/2" ] ; "src:source.TwoMassSource" [ URL="#source.TwoMassSource" label = "{source/TwoMassSource}" fillcolor="/set312/2" ] ; edge [color="red", arrowtail="none", arrowhead="empty"] "src:source.AlignedEllipse" -> "src:source.SkyError" ; "src:source.CircleError" -> "src:source.SkyError" ; "src:source.GenericEllipse" -> "src:source.SkyError" ; "src:source.Source" -> "src:source.AstroObject" ; "src:source.TwoMassSource" -> "src:source.Source" ; edge [color="blue", arrowhead="open", arrowtail="diamond",dir="both",fontsize="10"] "src:source.Source" -> "src:source.LuminosityMeasurement" [headlabel="0..*",label="luminosity",labelfontsize=10] ; edge [color="green", arrowhead="open", arrowtail="none"] "src:source.SkyCoordinate" -> "src:source.SkyCoordinateFrame" [headlabel="1",label="frame",labelfontsize=10] ; "src:source.LuminosityMeasurement" -> "photdm-alt:PhotometryFilter" [headlabel="1",label="filter",labelfontsize=10] ; }