source("../../osr_common.R")
source("../../omlvision_wrapper.R")10 OML-Vision diagramLayout Auto Generation
This is a prototype for automatically generate data-sets for oml-vision.
- *.sparql
- *.diagramLayout.json or tableLayouts.json or treeLayouts.json
- pages.json
10.1 Prototype-1: Decomposition Tree Diagram
10.1.1 Reusable functions to generate query codes.
10.1.2 Keys
targetConcept = c("structure:System structure:Subsystem structure:Assembly")
targetRelation = "base:isContainedIn"
nodeColor = "salmon"
nodeTextColor = "white"
df_keys <- omlvisionDecomposition(omlrepo, targetConcept,targetRelation,nodeColor,nodeTextColor)cat(df_keys$querytext)PREFIX base: <http://imce.jpl.nasa.gov/foundation/base#>
PREFIX mission: <http://imce.jpl.nasa.gov/foundation/mission#>
PREFIX structure: <http://opencaesar.io/open-source-rover/vocabulary/structure#>
PREFIX vim4: <http://bipm.org/jcgm/vim4#>
PREFIX base: <http://imce.jpl.nasa.gov/foundation/base#>
SELECT DISTINCT ?c1 ?c1_instancename ?c1_1d ?c1_name ?c2 ?c2_instancename ?c2_1d ?c2_name
WHERE {
VALUES ?componentType { structure:System structure:Subsystem structure:Assembly }
?c1 a ?componentType ;
base:hasIdentifier ?c1_1d ;
base:hasCanonicalName ?c1_name ;
OPTIONAL{
?c1 base:isContainedIn ?c2 ;
OPTIONAL{
?c2 base:hasIdentifier ?c2_1d ;
base:hasCanonicalName ?c2_name .
}
}
BIND(STRAFTER(STR(?c1), "#") AS ?c1_instancename) .
BIND(STRAFTER(STR(?c2), "#") AS ?c2_instancename) .
}
ORDER BY ?c1_1d
cat("\n")cat(df_keys$diagramLayouttext){
"name": "decompositions-autogen",
"queries": {
"node": "auto_components.sparql",
"edge": "auto_components.sparql"
},
"rowMapping": {
"id": "node",
"name": "Parent",
"labelFormat": "{c1_instancename}",
"nodeColor": "salmon",
"nodeTextColor": "white",
"nodeType": "NA",
"edgeMatchKey": "c1_instancename"
},
"edges": [
{
"id": "edge",
"name": "Edge",
"animated": true,
"labelFormat": "base:isContainedIn",
"legendItems": "c2_instancename",
"sourceKey": "c1_instancename",
"targetKey": "c2_instancename"
}
]
}
cat("\n")cat(df_keys$pagetext) {
"title": "decompositions-autogen",
"treeIcon": "outline-view-icon",
"path": "decompositions-autogen",
"isDiagram": true
},