Hello all,

I am on a project where we are investigating a new OASIS spec called TOSCA.  I 
am looking for advice on whether or not it would make sense to leverage RDF / 
OWL and that we can then use Jena to store the whole ontology and use it for 
querying and performing searches against. 

It has a concept of requirements and capabilities which allow you to use 
capabilities to describe the capabilities of an entity and then can use a 
requirements document to find entities the provide the needed capabilities. A 
capability typically will be related to concepts like hardware, software, etc.  
For example, I may have a capability of Java.  The java capability might have 
properties like JAVA_HOME. It could have descendants for specific versions of 
Java (Java 6, Java 7, etc) with descendent specific properties.  Or I may have 
a capability called block storage and the storage will have a minimum size and 
maximum size associated with it. A capability is essentially something that can 
have hierarchy (e.g. Ubuntu can inherit from Linux), traversal ordering (Java 6 
comes before Java 7), may have quantity associated with it (Memory), and may 
have available properties (INSTALL_DIR).

The TOSCA spec itself has a language for describing capabilities and 
requirements in their format, which I have attached.  It also doesn't provide 
any specification on how to process the capabilities and requirements.  Below 
is another example snippet from the TOSCA primer working draft:

In TOSCA, requirements and capabilities allow to define dependencies between 
node types. For example, the following 
"ApacheWebApplicationContainerCapability" capability type allows to express the 
capability of a node type to serve as a runtime container for an Apache web 
application; note, that the capability type inherits from the 
"WebApplicationContainerCapability". Each node type that includes a 
CapabilityDefinition of this type warrants that it can serve as a container for 
Apache web applications.

What I am curious is whether or not it would make sense to have the ontology of 
capabilities and requirement internally stored in a format like RDF / OWL and 
that we can then use Jena to store the whole ontology and use it for querying 
and performing searches against. We would then support a translation format to 
the TOSCA format on demand. I don't want to kill a fly with a sledgehammer, but 
also don't want to reinvent anything. Any thoughts on this would be appreciated.

Secondarily, are there any available ontology libraries that we could use to 
bootstrap our library of capabilities / requirements?  For example RDF or OWL 
ontologies that already have a standard description of database vendors and 
properties?

I hope this isn't an abuse of the mailing list, but I certainly appreciate any 
guidance that can be provided.

-Travis

Reply via email to