Tuesday 2 March 2010

SPARQL for SysML/AP233 Transformations

I've had a little play with SPARQL to see how powerful a transformation engine it can be given the CONSTRUCT capability. It's actually pretty powerful! In a past life I was involved in the OMG/INCOSE/ISO mapping creating a SysML-to-AP233 mapping spec. I thought I'd try a little of that as a test case - here's a SysML Block with name mapped to AP233. Pretty clear, computer interpretable and requires no fancy MOF metamodel like the TGG tools (e.g. MOFLON) require. Worth considering ...

CONSTRUCT { _:s rdf:type ap233:System .
_:s ap233:name ?name .
_:sv rdf:type ap233:SystemVersion .
_:sv ap233:ofProduct _:s .
_:sv ap233:id "1" .
_:svd rdf:type ap233:SystemViewDefinition .
_:svd ap233:ofVersion _:sv .
_:ca rdf:type ap233:ClassificationAssignment .
_:ca ap233:items _:s .
_:ca ap233:externalClass <ap233:rd_block> .
}
WHERE {
?subject rdf:type sysml:Block .
?subject sysml:name ?name .
}
}