Repository: HTTP-APIs/hydrus
Pull request #30 (2017-07-01 06:09:27)

Server design improvements
- Removed vocab, entrypoint, entrypoint context
- automated vocab and entrypoint generation
- Tests updated
- Minor bug fixes
- Clean up
- Readme links fix


Patch:
diff --git a/README.md b/README.md
index 4a63049..91bb06d 100644
--- a/README.md
+++ b/README.md
@@ -55,9 +55,9 @@ Once we have docker up and running setting up the demo server is a piece of cake
 <a name="usage"></a>
 Usage
 -------------
-To understand how to use Hydrus and how things work, head over to the [Usage](Usage) page of the wiki.
+To understand how to use Hydrus and how things work, head over to the [Usage](https://github.com/HTTP-APIs/hydrus/wiki/Usage) page of the wiki.
 
 <a name="design"></a>
 Design
 -------------
-Head over to the [Design](Design) page to understand the design principles and use cases of Hydrus.
+Head over to the [Design](https://github.com/HTTP-APIs/hydrus/wiki/Design) page to understand the design principles and use cases of Hydrus.
diff --git a/hydrus/app.py b/hydrus/app.py
index 8f30c15..ec7b738 100644
--- a/hydrus/app.py
+++ b/hydrus/app.py
@@ -1,22 +1,31 @@
 """Main route for the applciation."""
 
+import os
+import json
 from flask import Flask, jsonify, request
 from flask_restful import Api, Resource
+from hydrus.metadata.spacecraft_parsed_classes import parsed_classes
+from hydrus.hydraspec.vocab_generator import gen_vocab
+from hydrus.hydraspec.entrypoint_generator import gen_entrypoint
+from hydrus.hydraspec.entrypoint_context_generator import gen_entrypoint_context
 from hydrus.data import crud
-import json
-from hydrus.metadata.vocab import vocab
-from hydrus.hydraspec.contexts.entrypoint import entrypoint_context
-from hydrus.metadata.entrypoint import entrypoint
-from hydrus.metadata.subsystem_parsed_classes import parsed_classes
-import os
 from flask_cors import CORS, cross_origin
 
 app = Flask(__name__)
 CORS(app)
 api = Api(app)
 
-global SERVER_URL
+global SERVER_URL, SEMANTIC_REF_NAME, SEMANTIC_REF_URL, PARSED_CLASSES
 SERVER_URL = os.environ.get("HYDRUS_SERVER_URL", "localhost/")
+SEMANTIC_REF_NAME = "subsystems"
+SEMANTIC_REF_URL = "http://ontology.projectchronos.eu/subsystems"
+PARSED_CLASSES = parsed_classes
+
+## Save data in memory to improve performance
+global VOCAB, ENTRYPOINT, ENTRYPOINT_CONTEXT
+VOCAB = gen_vocab(PARSED_CLASSES, SERVER_URL, SEMANTIC_REF_NAME, SEMANTIC_REF_URL)
+ENTRYPOINT = gen_entrypoint(SERVER_URL, PARSED_CLASSES)
+ENTRYPOINT_CONTEXT = gen_entrypoint_context(SERVER_URL, parsed_classes)
 
 def validObject(object_):
     """Check if the data passed in POST is of valid format or not."""
@@ -119,7 +128,7 @@ class Index(Resource):
 
     def get(self):
         """Return main entrypoint for the api."""
-        return set_response_headers(jsonify(entrypoint))
+        return set_response_headers(jsonify(ENTRYPOINT))
 
 
 api.add_resource(Index, "/api", endpoint="api")
@@ -132,7 +141,7 @@ class Item(Resource):
         """GET object with id = id_ from the database."""
         response = crud.get(id_, type_)
         if "object" in response:
-            return set_response_headers(jsonify(hydrafy(parsed_classes, response)))
+            return set_response_headers(jsonify(hydrafy(PARSED_CLASSES, response)))
         else:
             status_code = int(list(response.keys())[0])
             return set_response_headers(jsonify(response), status_code=status_code)
@@ -174,7 +183,7 @@ class ItemCollection(Resource):
         """Retrieve a collection of items from the database."""
         response = crud.get_collection(type_)
         if "members" in response:
-            return set_response_headers(jsonify(hydrafy(parsed_classes, response, collection=True)))
+            return set_response_headers(jsonify(hydrafy(PARSED_CLASSES, response, collection=True)))
         else:
             status_code = int(list(response.keys())[0])
             return set_response_headers(jsonify(response), status_code=status_code)
@@ -186,7 +195,7 @@ api.add_resource(ItemCollection, "/api/<string:type_>",
 
 class Contexts(Resource):
     """Dynamically genereated contexts."""
-    global SERVER_URL
+
     def get(self, category):
         """Return the context for the specified class."""
         if "Collection" in category:
@@ -197,7 +206,7 @@ class Contexts(Resource):
                 status_code = int(list(response.keys())[0])
                 return set_response_headers(jsonify(response), status_code=status_code)
         else:
-            response = gen_context(parsed_classes, SERVER_URL, category)
+            response = gen_context(PARSED_CLASSES, SERVER_URL, category)
             if "@context" in response:
                 return set_response_headers(jsonify(response))
             else:
@@ -214,7 +223,7 @@ class Vocab(Resource):
 
     def get(self):
         """Return the main hydra vocab."""
-        return set_response_headers(jsonify(vocab))
+        return set_response_headers(jsonify(VOCAB))
 
 
 api.add_resource(Vocab, "/api/vocab", endpoint="vocab")
@@ -225,7 +234,7 @@ class Entrypoint(Resource):
 
     def get(self):
         """Return application main Entrypoint."""
-        return set_response_headers(jsonify(entrypoint_context))
+        return set_response_headers(jsonify(ENTRYPOINT_CONTEXT))
 
 
 api.add_resource(Entrypoint, "/api/contexts/EntryPoint.jsonld",
diff --git a/hydrus/data/crud_raw_sql.py b/hydrus/data/crud_raw_sql.py
deleted file mode 100644
index 3d01117..0000000
--- a/hydrus/data/crud_raw_sql.py
+++ /dev/null
@@ -1,14 +0,0 @@
-## To be implemented
-
-"""
-TODO:
-~~~~~
-
-1. Query_get = " select classes.name, instances.name, instance_props.name, terminals.value from ((((graph inner join classes on graph.class_ = classes.id) inner join instances on graph.instance = instances.id) inner join instance_props on graph.inst_predicate = instance_props.id) inner join terminals on graph.term_object = terminals.id) where graph.instance=1;"
-
-2. Query_delete steps
-1. Get terminal ids from graph
-2. Delete terminal objects
-3. Delete graph record
-4 Delete instance record
-"""
diff --git a/hydrus/data/doc_parse.py b/hydrus/data/doc_parse.py
index 8723045..d6bfe4f 100644
--- a/hydrus/data/doc_parse.py
+++ b/hydrus/data/doc_parse.py
@@ -3,7 +3,8 @@ from sqlalchemy.orm import sessionmaker
 from sqlalchemy import exists
 
 from hydrus.data.db_models import RDFClass, BaseProperty, engine
-from hydrus.metadata.vocab import vocab
+from hydrus.hydraspec.vocab_generator import gen_vocab
+from hydrus.app import SERVER_URL, SEMANTIC_REF_URL, SEMANTIC_REF_NAME, PARSED_CLASSES
 
 
 def get_classes(apidoc):
@@ -55,7 +56,7 @@ if __name__ == "__main__":
     session = Session()
 
     # Extract all classes with supportedProperty from both
-    classes = get_classes(vocab)
+    classes = get_classes(gen_vocab(PARSED_CLASSES, SERVER_URL, SEMANTIC_REF_NAME, SEMANTIC_REF_URL))
 
     # Extract all properties from both
     # import pdb; pdb.set_trace()
diff --git a/hydrus/hydraspec/contexts/__init__.py b/hydrus/hydraspec/contexts/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/hydrus/hydraspec/contexts/entrypoint.py b/hydrus/hydraspec/contexts/entrypoint.py
deleted file mode 100644
index b629931..0000000
--- a/hydrus/hydraspec/contexts/entrypoint.py
+++ /dev/null
@@ -1,34 +0,0 @@
-"""Autogenerated using hydrus.hydraspec.entrypoint_context_generator."""
-import os
-SERVER_URL = os.environ.get("HYDRUS_SERVER_URL", "localhost/")
-
-
-entrypoint_context = {'@context': {'EntryPoint': 'vocab:EntryPoint',
-                                   'hydra': 'http://www.w3.org/ns/hydra/core#',
-                                   'spacecraft_aodcs': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS',
-                                                        '@type': '@id'},
-                                   'spacecraft_aodcs_active': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS_Active',
-                                                               '@type': '@id'},
-                                   'spacecraft_aodcs_passivedevice': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS_PassiveDevice',
-                                                                      '@type': '@id'},
-                                   'spacecraft_backuppower': {'@id': 'vocab:EntryPoint/Spacecraft_BackupPower',
-                                                              '@type': '@id'},
-                                   'spacecraft_cdh': {'@id': 'vocab:EntryPoint/Spacecraft_CDH',
-                                                      '@type': '@id'},
-                                   'spacecraft_communication': {'@id': 'vocab:EntryPoint/Spacecraft_Communication',
-                                                                '@type': '@id'},
-                                   'spacecraft_detector': {'@id': 'vocab:EntryPoint/Spacecraft_Detector',
-                                                           '@type': '@id'},
-                                   'spacecraft_primarypower': {'@id': 'vocab:EntryPoint/Spacecraft_PrimaryPower',
-                                                               '@type': '@id'},
-                                   'spacecraft_propulsion': {'@id': 'vocab:EntryPoint/Spacecraft_Propulsion',
-                                                             '@type': '@id'},
-                                   'spacecraft_structure': {'@id': 'vocab:EntryPoint/Spacecraft_Structure',
-                                                            '@type': '@id'},
-                                   'spacecraft_thermal': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal',
-                                                          '@type': '@id'},
-                                   'spacecraft_thermal_activedevice': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal_ActiveDevice',
-                                                                       '@type': '@id'},
-                                   'spacecraft_thermal_passivedevice': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal_PassiveDevice',
-                                                                        '@type': '@id'},
-                                   'vocab': SERVER_URL + 'api/vocab#'}}
diff --git a/hydrus/hydraspec/crud.py b/hydrus/hydraspec/crud_template.py
similarity index 100%
rename from hydrus/hydraspec/crud.py
rename to hydrus/hydraspec/crud_template.py
diff --git a/hydrus/hydraspec/entrypoint_context_generator.py b/hydrus/hydraspec/entrypoint_context_generator.py
index 1b88042..a19d857 100644
--- a/hydrus/hydraspec/entrypoint_context_generator.py
+++ b/hydrus/hydraspec/entrypoint_context_generator.py
@@ -1,10 +1,6 @@
 """Genrate EntryPoint Context using server url, item_type."""
 
-from hydrus.metadata.subsystem_parsed_classes import parsed_classes
 import pprint
-import os
-global SERVER_URL
-SERVER_URL = os.environ.get("HYDRUS_SERVER_URL", "localhost/")
 
 
 
@@ -29,7 +25,7 @@ def gen_supported_ops(parsed_classes):
     return supported_ops
 
 
-def gen_entrypoint_context(server_url):
+def gen_entrypoint_context(server_url, parsed_classes):
     """Generate context for the EntryPoint."""
     SERVER_URL = server_url
 
@@ -43,7 +39,7 @@ def gen_entrypoint_context(server_url):
     }
     supported_ops = gen_supported_ops(parsed_classes)
     for op in supported_ops:
-        entrypoint_context_template["@context"][op.keys()[0]] = op[op.keys()[0]]
+        entrypoint_context_template["@context"][list(op.keys())[0]] = op[list(op.keys())[0]]
     return entrypoint_context_template
 
 
diff --git a/hydrus/hydraspec/entrypoint_generator.py b/hydrus/hydraspec/entrypoint_generator.py
index 6436449..73d41d0 100644
--- a/hydrus/hydraspec/entrypoint_generator.py
+++ b/hydrus/hydraspec/entrypoint_generator.py
@@ -1,6 +1,5 @@
 """Genrate EntryPoint using server url, item_type."""
 
-from hydrus.metadata.subsystem_parsed_classes import parsed_classes
 import pprint
 
 def gen_supported_operation(item_type):
@@ -20,7 +19,7 @@ def gen_supported_ops(parsed_classes):
     return supported_ops
 
 
-def gen_entrypoint(server_url):
+def gen_entrypoint(server_url, parsed_classes):
     """Generate EntryPoint."""
     SERVER_URL = server_url
 
@@ -32,8 +31,7 @@ def gen_entrypoint(server_url):
 
     supported_ops = gen_supported_ops(parsed_classes)
     for op in supported_ops:
-        entrypoint_template[op.keys()[0]] = op[op.keys()[0]]
-
+        entrypoint_template[list(op.keys())[0]] = op[list(op.keys())[0]]
     return entrypoint_template
 
 
diff --git a/hydrus/hydraspec/parser.py b/hydrus/hydraspec/parser.py
index a573820..d2951a1 100644
--- a/hydrus/hydraspec/parser.py
+++ b/hydrus/hydraspec/parser.py
@@ -2,7 +2,7 @@
 import json
 import sys
 
-from hydrus.hydraspec.crud import template
+from hydrus.hydraspec.crud_template import template
 from hydrus.metadata.subsystem_vocab_jsonld import subsystem_data
 import pprint
 
diff --git a/hydrus/hydraspec/vocab_generator.py b/hydrus/hydraspec/vocab_generator.py
index fbccc8f..b9e0784 100644
--- a/hydrus/hydraspec/vocab_generator.py
+++ b/hydrus/hydraspec/vocab_generator.py
@@ -1,12 +1,6 @@
 """Genrate hydra vocabulary using parsed classes, server url, item_type and item_semantic_url."""
 
-from hydrus.metadata.subsystem_parsed_classes import parsed_classes
 import pprint
-import os
-
-global SERVER_URL
-SERVER_URL = os.environ.get("HYDRUS_SERVER_URL", "localhost/")
-
 
 
 def gen_entrypoint_supported_prop(item_type):
@@ -44,7 +38,7 @@ def gen_entrypoint_supported_prop(item_type):
     return prop_template
 
 
-def gen_entrypoint_supported_props():
+def gen_entrypoint_supported_props(parsed_classes):
     """Generate supported properties from parsed_classes for Entrypoint["supportedProperty"]."""
     supported_props = []
     for class_ in parsed_classes:
@@ -108,7 +102,7 @@ def gen_item_collection(semantic_ref_name, item_type):
     return collection_template
 
 
-def gen_item_collection_list(semantic_ref_name):
+def gen_item_collection_list(semantic_ref_name, parsed_classes):
     """Generate a list of item collections for the vocab."""
     collections = []
     for class_ in parsed_classes:
@@ -218,7 +212,7 @@ def gen_vocab(parsed_classes, server_url, semantic_ref_name, semantic_ref_url):
                         ]
                     }
                 ],
-                "supportedProperty": gen_entrypoint_supported_props()
+                "supportedProperty": gen_entrypoint_supported_props(parsed_classes)
             },
             # Parsed classed from hydrus.hydraspec.parser will be added here
 
@@ -229,7 +223,7 @@ def gen_vocab(parsed_classes, server_url, semantic_ref_name, semantic_ref_url):
         vocab_template["supportedClass"].append(class_)
 
     #Add different item collections to the hydra vocabulary
-    collection_list = gen_item_collection_list(semantic_ref_name)
+    collection_list = gen_item_collection_list(semantic_ref_name, parsed_classes)
     for collection_item in collection_list:
         vocab_template["supportedClass"].append(collection_item)
 
diff --git a/hydrus/metadata/entrypoint.py b/hydrus/metadata/entrypoint.py
deleted file mode 100644
index fc111c1..0000000
--- a/hydrus/metadata/entrypoint.py
+++ /dev/null
@@ -1,18 +0,0 @@
-"""Autogenerated using hydrus.hydraspec.entrypoint_generator."""
-
-entrypoint = {   '@context': '/api/contexts/EntryPoint.jsonld',
-    '@id': '/api',
-    '@type': 'EntryPoint',
-    'spacecraft_aodcs': '/api/Spacecraft_AODCS',
-    'spacecraft_aodcs_active': '/api/Spacecraft_AODCS_Active',
-    'spacecraft_aodcs_passivedevice': '/api/Spacecraft_AODCS_PassiveDevice',
-    'spacecraft_backuppower': '/api/Spacecraft_BackupPower',
-    'spacecraft_cdh': '/api/Spacecraft_CDH',
-    'spacecraft_communication': '/api/Spacecraft_Communication',
-    'spacecraft_detector': '/api/Spacecraft_Detector',
-    'spacecraft_primarypower': '/api/Spacecraft_PrimaryPower',
-    'spacecraft_propulsion': '/api/Spacecraft_Propulsion',
-    'spacecraft_structure': '/api/Spacecraft_Structure',
-    'spacecraft_thermal': '/api/Spacecraft_Thermal',
-    'spacecraft_thermal_activedevice': '/api/Spacecraft_Thermal_ActiveDevice',
-    'spacecraft_thermal_passivedevice': '/api/Spacecraft_Thermal_PassiveDevice'}
diff --git a/hydrus/metadata/vocab.py b/hydrus/metadata/vocab.py
deleted file mode 100644
index db3f56c..0000000
--- a/hydrus/metadata/vocab.py
+++ /dev/null
@@ -1,2256 +0,0 @@
-"""automatically generated by hydrus.hydrapec.vocab_generator.py"""
-import os
-SERVER_URL = os.environ.get("HYDRUS_SERVER_URL", "localhost/")
-
-
-vocab = {'@context': {'ApiDocumentation': 'hydra:ApiDocumentation',
-                      'code': 'hydra:statusCode',
-                      'description': 'rdfs:comment',
-                      'domain': {'@id': 'rdfs:domain', '@type': '@id'},
-                      'expects': {'@id': 'hydra:expects', '@type': '@id'},
-                      'hydra': 'http://www.w3.org/ns/hydra/core#',
-                      'label': 'rdfs:label',
-                      'method': 'hydra:method',
-                      'owl': 'http://www.w3.org/2002/07/owl#',
-                      'property': {'@id': 'hydra:property', '@type': '@id'},
-                      'range': {'@id': 'rdfs:range', '@type': '@id'},
-                      'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
-                      'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',
-                      'readonly': 'hydra:readonly',
-                      'returns': {'@id': 'hydra:returns', '@type': '@id'},
-                      'statusCodes': 'hydra:statusCodes',
-                      'subClassOf': {'@id': 'rdfs:subClassOf', '@type': '@id'},
-                      'subsystems': 'http://ontology.projectchronos.eu/subsystems',
-                      'supportedClass': 'hydra:supportedClass',
-                      'supportedOperation': 'hydra:supportedOperation',
-                      'supportedProperty': 'hydra:supportedProperty',
-                      'title': 'hydra:title',
-                      'vocab': SERVER_URL + 'api/vocab#',
-                      'writeonly': 'hydra:writeonly'},
-         '@id': SERVER_URL + 'api/vocab',
-         '@type': 'ApiDocumentation',
-         'supportedClass': [{'@id': 'http://www.w3.org/ns/hydra/core#Collection',
-                             '@type': 'hydra:Class',
-                             'hydra:description': None,
-                             'hydra:title': 'Collection',
-                             'supportedOperation': [],
-                             'supportedProperty': [{'hydra:description': 'The members of this collection.',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'http://www.w3.org/ns/hydra/core#Resource',
-                             '@type': 'hydra:Class',
-                             'hydra:description': None,
-                             'hydra:title': 'Resource',
-                             'supportedOperation': [],
-                             'supportedProperty': []},
-                            {'@id': 'vocab:EntryPoint',
-                             '@type': 'hydra:Class',
-                             'description': 'The main entry point or homepage of the API.',
-                             'label': 'EntryPoint',
-                             'subClassOf': None,
-                             'supportedOperation': [{'@id': '_:entry_point',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'The APIs main entry point.',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:EntryPoint',
-                                                            'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The Spacecraft_Detector collection',
-                                                    'hydra:title': 'spacecraft_detector',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Detector',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Detector collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Detector',
-                                                                 'range': 'vocab:Spacecraft_DetectorCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_detector_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Detector entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_DetectorCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Propulsion collection',
-                                                    'hydra:title': 'spacecraft_propulsion',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Propulsion',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Propulsion collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Propulsion',
-                                                                           'range': 'vocab:Spacecraft_PropulsionCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_propulsion_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Propulsion entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_PropulsionCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_PrimaryPower collection',
-                                                    'hydra:title': 'spacecraft_primarypower',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_PrimaryPower',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_PrimaryPower collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_PrimaryPower',
-                                                                           'range': 'vocab:Spacecraft_PrimaryPowerCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_primarypower_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_PrimaryPower entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_PrimaryPowerCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_BackupPower collection',
-                                                    'hydra:title': 'spacecraft_backuppower',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_BackupPower',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_BackupPower collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_BackupPower',
-                                                                           'range': 'vocab:Spacecraft_BackupPowerCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_backuppower_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_BackupPower entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_BackupPowerCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Thermal collection',
-                                                    'hydra:title': 'spacecraft_thermal',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Thermal collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Thermal',
-                                                                           'range': 'vocab:Spacecraft_ThermalCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_thermal_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Thermal entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_ThermalCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Thermal_PassiveDevice collection',
-                                                    'hydra:title': 'spacecraft_thermal_passivedevice',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal_PassiveDevice',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Thermal_PassiveDevice collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Thermal_PassiveDevice',
-                                                                           'range': 'vocab:Spacecraft_Thermal_PassiveDeviceCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_thermal_passivedevice_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Thermal_PassiveDevice entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_Thermal_PassiveDeviceCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Thermal_ActiveDevice collection',
-                                                    'hydra:title': 'spacecraft_thermal_activedevice',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Thermal_ActiveDevice',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Thermal_ActiveDevice collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Thermal_ActiveDevice',
-                                                                           'range': 'vocab:Spacecraft_Thermal_ActiveDeviceCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_thermal_activedevice_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Thermal_ActiveDevice entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_Thermal_ActiveDeviceCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Structure collection',
-                                                    'hydra:title': 'spacecraft_structure',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Structure',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Structure collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Structure',
-                                                                           'range': 'vocab:Spacecraft_StructureCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_structure_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Structure entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_StructureCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_CDH collection',
-                                                    'hydra:title': 'spacecraft_cdh',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_CDH',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_CDH collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_CDH',
-                                                                           'range': 'vocab:Spacecraft_CDHCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_cdh_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_CDH entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_CDHCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_Communication collection',
-                                                    'hydra:title': 'spacecraft_communication',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_Communication',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_Communication collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_Communication',
-                                                                           'range': 'vocab:Spacecraft_CommunicationCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_communication_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_Communication entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_CommunicationCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_AODCS collection',
-                                                    'hydra:title': 'spacecraft_aodcs',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_AODCS collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_AODCS',
-                                                                           'range': 'vocab:Spacecraft_AODCSCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_aodcs_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_AODCS entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_AODCSCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_AODCS_Active collection',
-                                                    'hydra:title': 'spacecraft_aodcs_active',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS_Active',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_AODCS_Active collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_AODCS_Active',
-                                                                           'range': 'vocab:Spacecraft_AODCS_ActiveCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_aodcs_active_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_AODCS_Active entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_AODCS_ActiveCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False},
-                                                   {'hydra:description': 'The Spacecraft_AODCS_PassiveDevice collection',
-                                                    'hydra:title': 'spacecraft_aodcs_passivedevice',
-                                                    'property': {'@id': 'vocab:EntryPoint/Spacecraft_AODCS_PassiveDevice',
-                                                                 '@type': 'hydra:Link',
-                                                                 'description': 'The Spacecraft_AODCS_PassiveDevice collection',
-                                                                 'domain': 'vocab:EntryPoint',
-                                                                 'label': 'Spacecraft_AODCS_PassiveDevice',
-                                                                           'range': 'vocab:Spacecraft_AODCS_PassiveDeviceCollection',
-                                                                           'supportedOperation': [{'@id': '_:spacecraft_aodcs_passivedevice_collection_retrieve',
-                                                                                                   '@type': 'hydra:Operation',
-                                                                                                   'description': None,
-                                                                                                   'expects': None,
-                                                                                                   'label': 'Retrieves all Spacecraft_AODCS_PassiveDevice entities',
-                                                                                                   'method': 'GET',
-                                                                                                   'returns': 'vocab:Spacecraft_AODCS_PassiveDeviceCollection',
-                                                                                                   'statusCodes': []}]},
-                                                    'readonly': True,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Detector',
-                             '@type': 'hydra:Class',
-                             'description': 'A space detector is a sensor supported by another device that let it collect data, that is deployed into a spacecraft and works outside Earth lower atmosphere',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Detector_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Detector',
-                                                     'label': 'Creates a new Spacecraft_Detector entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Detector',
-                                                            'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Detector_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Detector',
-                                                     'label': 'Replaces an existing Spacecraft_Detector entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Detector',
-                                                            'statusCodes': [{'code': 404,
-                                                                             'description': "If the Spacecraft_Detector entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Detector_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Detector entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Detector_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Detector entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Detector',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Detector entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:objective',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isComponentOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVoltage',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Detector'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Propulsion',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used for impelling (processes of applying a force which results in translational motion) a spacecraft, in the specific http://umbel.org/umbel/rc/ProjectilePropelling',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Propulsion_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Propulsion',
-                                                     'label': 'Creates a new Spacecraft_Propulsion entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Propulsion',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Propulsion_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Propulsion',
-                                                     'label': 'Replaces an existing Spacecraft_Propulsion entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Propulsion',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Propulsion entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Propulsion_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Propulsion entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Propulsion_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Propulsion entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Propulsion',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Propulsion entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:typeOfPropellant',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Propulsion'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_PrimaryPower',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used for collecting energy.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_PrimaryPower_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_PrimaryPower',
-                                                     'label': 'Creates a new Spacecraft_PrimaryPower entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_PrimaryPower',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_PrimaryPower_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_PrimaryPower',
-                                                     'label': 'Replaces an existing Spacecraft_PrimaryPower entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_PrimaryPower',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_PrimaryPower entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_PrimaryPower_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_PrimaryPower entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_PrimaryPower_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_PrimaryPower entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_PrimaryPower',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_PrimaryPower entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasEfficiency',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVoltage',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_PrimaryPower'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_BackupPower',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used for storing energy.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_BackupPower_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_BackupPower',
-                                                     'label': 'Creates a new Spacecraft_BackupPower entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_BackupPower',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_BackupPower_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_BackupPower',
-                                                     'label': 'Replaces an existing Spacecraft_BackupPower entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_BackupPower',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_BackupPower entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_BackupPower_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_BackupPower entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_BackupPower_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_BackupPower entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_BackupPower',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_BackupPower entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_BackupPower'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Thermal',
-                             '@type': 'hydra:Class',
-                             'description': 'Shields, shells or any device insulation from/reflecting radiation exploiting emission and absorption events',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Thermal_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal',
-                                                     'label': 'Creates a new Spacecraft_Thermal entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Thermal',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal',
-                                                     'label': 'Replaces an existing Spacecraft_Thermal entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Thermal',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Thermal_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Thermal entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Thermal entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Thermal',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Thermal'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Thermal_PassiveDevice',
-                             '@type': 'hydra:Class',
-                             'description': 'They are passive because they mostly transform radiation into heating/cooling ',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Thermal_PassiveDevice_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal_PassiveDevice',
-                                                     'label': 'Creates a new Spacecraft_Thermal_PassiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Thermal_PassiveDevice',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_PassiveDevice_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal_PassiveDevice',
-                                                     'label': 'Replaces an existing Spacecraft_Thermal_PassiveDevice entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Thermal_PassiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal_PassiveDevice entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Thermal_PassiveDevice_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Thermal_PassiveDevice entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_PassiveDevice_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Thermal_PassiveDevice entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Thermal_PassiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal_PassiveDevice entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Thermal_PassiveDevice'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Thermal_ActiveDevice',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used to protect sensors or electronic devices from over/under-heating, like refrigeration absorption.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Thermal_ActiveDevice_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal_ActiveDevice',
-                                                     'label': 'Creates a new Spacecraft_Thermal_ActiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Thermal_ActiveDevice',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_ActiveDevice_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Thermal_ActiveDevice',
-                                                     'label': 'Replaces an existing Spacecraft_Thermal_ActiveDevice entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Thermal_ActiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal_ActiveDevice entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Thermal_ActiveDevice_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Thermal_ActiveDevice entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Thermal_ActiveDevice_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Thermal_ActiveDevice entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Thermal_ActiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Thermal_ActiveDevice entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Thermal_ActiveDevice'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Structure',
-                             '@type': 'hydra:Class',
-                             'description': "It's the skeleton and framework of the spacecraft.",
-                             'supportedOperation': [{'@id': '_:Spacecraft_Structure_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Structure',
-                                                     'label': 'Creates a new Spacecraft_Structure entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Structure',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Structure_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Structure',
-                                                     'label': 'Replaces an existing Spacecraft_Structure entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Structure',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Structure entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Structure_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Structure entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Structure_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Structure entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Structure',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Structure entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:standsMaxTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Structure'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_CDH',
-                             '@type': 'hydra:Class',
-                             'description': 'The DH system shall: Enable HK and science data flow \\u2013 Housekeeping data (Temperatures, Pressures, Voltages, Currents, Status,...) \\u2013 Attitude data \\u2013 Payload data (e.g., Science data) - Receive and distribute commands - Perform TM and TC protocols - Distribute timing signals - Synchronization of data \\u2013 Time stamping of data - Provide data storage - Execute commands and schedules - Control subsystems and payloads - Monitor spacecraft health - Make autonomous decisions - Perform data compression.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_CDH_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_CDH',
-                                                     'label': 'Creates a new Spacecraft_CDH entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_CDH',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_CDH_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_CDH',
-                                                     'label': 'Replaces an existing Spacecraft_CDH entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_CDH',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_CDH entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_CDH_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_CDH entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_CDH_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_CDH entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_CDH',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_CDH entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVoltage',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxClock',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinClock',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasDataStorage',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasDataStorageExternal',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasRAM',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_CDH'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_Communication',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used for transmitting/receiving radio waves.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_Communication_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Communication',
-                                                     'label': 'Creates a new Spacecraft_Communication entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_Communication',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Communication_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_Communication',
-                                                     'label': 'Replaces an existing Spacecraft_Communication entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_Communication',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Communication entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_Communication_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_Communication entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_Communication_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_Communication entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_Communication',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_Communication entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:isSubsystemOf',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_Communication'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_AODCS',
-                             '@type': 'hydra:Class',
-                             'description': 'Complex devices-subsystems used to set the direction and the position of the spacecraft, it controls flight dynamics.',
-                             'supportedOperation': [{'@id': '_:Spacecraft_AODCS_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS',
-                                                     'label': 'Creates a new Spacecraft_AODCS entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_AODCS',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS',
-                                                     'label': 'Replaces an existing Spacecraft_AODCS entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_AODCS',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_AODCS_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_AODCS entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_AODCS entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_AODCS',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'description': 'The function and the objective what the device performs or make possible',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'function',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the subsystem to the kind of the devices it holds.',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'subSystemType',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'A property that references the standard platform for which the subsystem has been designed.',
-                                                    'property': 'subsystems:isStandard',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'isStandard',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasVolume',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasVolume',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMinAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMinAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMaxAmpere',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMaxAmpere',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasMass',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMass',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'minWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'maxWorkingTemperature',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasPower',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasPower',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasSpecificImpulse',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasSpecificImpulse',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'Amount of money it can be bought for, or an esteem of value.',
-                                                    'property': 'subsystems:hasMonetaryValue',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasMonetaryValue',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device receive input from another device',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireInWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'description': 'This device send output to another device',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'title': 'hasWireOutWith',
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:function',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:standsMaxTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:maxWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:minWorkingTemperature',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:subSystemType',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False},
-                                                   {'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireOutWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_AODCS'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_AODCS_ActiveDevice',
-                             '@type': 'hydra:Class',
-                             'description': 'Do NOT use any additional power from the spacecraft generator',
-                             'supportedOperation': [{'@id': '_:Spacecraft_AODCS_Active_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS_ActiveDevice',
-                                                     'label': 'Creates a new Spacecraft_AODCS_Active entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_AODCS_ActiveDevice',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_Active_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS_ActiveDevice',
-                                                     'label': 'Replaces an existing Spacecraft_AODCS_Active entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_AODCS_ActiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS_Active entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_AODCS_Active_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_AODCS_Active entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_Active_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_AODCS_Active entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_AODCS_ActiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS_Active entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_AODCS_Active'},
-                            {'@id': 'http://ontology.projectchronos.eu/subsystems/Spacecraft_AODCS_PassiveDevice',
-                             '@type': 'hydra:Class',
-                             'description': 'DO use any additional power from the spacecraft generator',
-                             'supportedOperation': [{'@id': '_:Spacecraft_AODCS_PassiveDevice_create',
-                                                     '@type': 'hydras:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS_PassiveDevice',
-                                                     'label': 'Creates a new Spacecraft_AODCS_PassiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'Spacecraft_AODCS_PassiveDevice',
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_PassiveDevice_replace',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': 'Spacecraft_AODCS_PassiveDevice',
-                                                     'label': 'Replaces an existing Spacecraft_AODCS_PassiveDevice entity',
-                                                     'method': 'PUT',
-                                                     'returns': 'Spacecraft_AODCS_PassiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS_PassiveDevice entity wasn't found."}]},
-                                                    {'@id': '_:Spacecraft_AODCS_PassiveDevice_delete',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Deletes a Spacecraft_AODCS_PassiveDevice entity',
-                                                     'method': 'DELETE',
-                                                     'returns': None,
-                                                     'statusCodes': []},
-                                                    {'@id': '_:Spacecraft_AODCS_PassiveDevice_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves a Spacecraft_AODCS_PassiveDevice entity',
-                                                     'method': 'GET',
-                                                     'returns': 'Spacecraft_AODCS_PassiveDevice',
-                                                     'statusCodes': [{'code': 404,
-                                                                      'description': "If the Spacecraft_AODCS_PassiveDevice entity wasn't found."}]}],
-                             'supportedProperty': [{'@type': 'SupportedProperty',
-                                                    'property': 'subsystems:hasWireInWith',
-                                                    'readonly': False,
-                                                    'required': False,
-                                                    'writeonly': False}],
-                             'title': 'Spacecraft_AODCS_PassiveDevice'},
-                            {'@id': 'vocab:Spacecraft_DetectorCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_detector',
-                             'label': 'Spacecraft_DetectorCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_detector_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Detector',
-                                                     'label': 'Creates a new Spacecraft_Detector entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Detector',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Detector entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_detector_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Detector entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_DetectorCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_detector',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_PropulsionCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_propulsion',
-                             'label': 'Spacecraft_PropulsionCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_propulsion_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Propulsion',
-                                                     'label': 'Creates a new Spacecraft_Propulsion entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Propulsion',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Propulsion entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_propulsion_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Propulsion entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_PropulsionCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_propulsion',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_PrimaryPowerCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_primarypower',
-                             'label': 'Spacecraft_PrimaryPowerCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_primarypower_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_PrimaryPower',
-                                                     'label': 'Creates a new Spacecraft_PrimaryPower entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_PrimaryPower',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_PrimaryPower entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_primarypower_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_PrimaryPower entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_PrimaryPowerCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_primarypower',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_BackupPowerCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_backuppower',
-                             'label': 'Spacecraft_BackupPowerCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_backuppower_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_BackupPower',
-                                                     'label': 'Creates a new Spacecraft_BackupPower entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_BackupPower',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_BackupPower entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_backuppower_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_BackupPower entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_BackupPowerCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_backuppower',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_ThermalCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_thermal',
-                             'label': 'Spacecraft_ThermalCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_thermal_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Thermal',
-                                                     'label': 'Creates a new Spacecraft_Thermal entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Thermal',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Thermal entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_thermal_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Thermal entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_ThermalCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_thermal',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_Thermal_PassiveDeviceCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_thermal_passivedevice',
-                             'label': 'Spacecraft_Thermal_PassiveDeviceCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_thermal_passivedevice_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Thermal_PassiveDevice',
-                                                     'label': 'Creates a new Spacecraft_Thermal_PassiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Thermal_PassiveDevice',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Thermal_PassiveDevice entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_thermal_passivedevice_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Thermal_PassiveDevice entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_Thermal_PassiveDeviceCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_thermal_passivedevice',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_Thermal_ActiveDeviceCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_thermal_activedevice',
-                             'label': 'Spacecraft_Thermal_ActiveDeviceCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_thermal_activedevice_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Thermal_ActiveDevice',
-                                                     'label': 'Creates a new Spacecraft_Thermal_ActiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Thermal_ActiveDevice',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Thermal_ActiveDevice entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_thermal_activedevice_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Thermal_ActiveDevice entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_Thermal_ActiveDeviceCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_thermal_activedevice',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_StructureCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_structure',
-                             'label': 'Spacecraft_StructureCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_structure_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Structure',
-                                                     'label': 'Creates a new Spacecraft_Structure entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Structure',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Structure entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_structure_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Structure entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_StructureCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_structure',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_CDHCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_cdh',
-                             'label': 'Spacecraft_CDHCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_cdh_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_CDH',
-                                                     'label': 'Creates a new Spacecraft_CDH entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_CDH',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_CDH entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_cdh_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_CDH entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_CDHCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_cdh',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_CommunicationCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_communication',
-                             'label': 'Spacecraft_CommunicationCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_communication_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_Communication',
-                                                     'label': 'Creates a new Spacecraft_Communication entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_Communication',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_Communication entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_communication_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_Communication entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_CommunicationCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_communication',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_AODCSCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_aodcs',
-                             'label': 'Spacecraft_AODCSCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_aodcs_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_AODCS',
-                                                     'label': 'Creates a new Spacecraft_AODCS entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_AODCS',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_AODCS entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_aodcs_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_AODCS entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_AODCSCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_aodcs',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_AODCS_ActiveCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_aodcs_active',
-                             'label': 'Spacecraft_AODCS_ActiveCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_aodcs_active_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_AODCS_Active',
-                                                     'label': 'Creates a new Spacecraft_AODCS_Active entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_AODCS_Active',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_AODCS_Active entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_aodcs_active_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_AODCS_Active entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_AODCS_ActiveCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_aodcs_active',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]},
-                            {'@id': 'vocab:Spacecraft_AODCS_PassiveDeviceCollection',
-                             '@type': 'hydra:Class',
-                             'description': 'A collection of spacecraft_aodcs_passivedevice',
-                             'label': 'Spacecraft_AODCS_PassiveDeviceCollection',
-                             'subClassOf': 'http://www.w3.org/ns/hydra/core#Collection',
-                             'supportedOperation': [{'@id': '_:spacecraft_aodcs_passivedevice_create',
-                                                     '@type': 'http://schema.org/AddAction',
-                                                     'description': None,
-                                                     'expects': 'subsystems:Spacecraft_AODCS_PassiveDevice',
-                                                     'label': 'Creates a new Spacecraft_AODCS_PassiveDevice entity',
-                                                     'method': 'POST',
-                                                     'returns': 'subsystems:Spacecraft_AODCS_PassiveDevice',
-                                                     'statusCodes': [{'code': 201,
-                                                                      'description': 'If the Spacecraft_AODCS_PassiveDevice entity was created successfully.'}]},
-                                                    {'@id': '_:spacecraft_aodcs_passivedevice_collection_retrieve',
-                                                     '@type': 'hydra:Operation',
-                                                     'description': None,
-                                                     'expects': None,
-                                                     'label': 'Retrieves all Spacecraft_AODCS_PassiveDevice entities',
-                                                     'method': 'GET',
-                                                     'returns': 'vocab:Spacecraft_AODCS_PassiveDeviceCollection',
-                                                     'statusCodes': []}],
-                             'supportedProperty': [{'hydra:description': 'The spacecraft_aodcs_passivedevice',
-                                                    'hydra:title': 'members',
-                                                    'property': 'http://www.w3.org/ns/hydra/core#member',
-                                                    'readonly': False,
-                                                    'required': None,
-                                                    'writeonly': False}]}]}


Test patch:
diff --git a/hydrus/tests/test_app.py b/hydrus/tests/test_app.py
index a5b1f2f..e68b46d 100644
--- a/hydrus/tests/test_app.py
+++ b/hydrus/tests/test_app.py
@@ -6,6 +6,8 @@ import tempfile
 import os
 import hydrus.app as views
 import json
+from hydrus.app import SERVER_URL, SEMANTIC_REF_URL, SEMANTIC_REF_NAME, PARSED_CLASSES
+
 
 
 class ViewsTestCase(unittest.TestCase):
@@ -24,12 +26,12 @@ class ViewsTestCase(unittest.TestCase):
 
     def test_Index(self):
         """Test for the index."""
-        response_get = self.app.get("/api/")
+        response_get = self.app.get("/api")
         self.endpoints = json.loads(response_get.data.decode('utf-8'))
-        response_post = self.app.post("/api/", data={})
-        response_delete = self.app.delete("/api/")
+        response_post = self.app.post("/api", data={})
+        response_delete = self.app.delete("/api")
         assert "@context" in self.endpoints
-        assert self.endpoints["@id"] == "http://hydrus.com/api/"
+        assert self.endpoints["@id"] == "/api"
         assert self.endpoints["@type"] == "EntryPoint"
         assert response_get.status_code == 200
         assert response_post.status_code == 405
@@ -53,7 +55,7 @@ class ViewsTestCase(unittest.TestCase):
         response_post = self.app.post("/api/vocab#", data={})
         response_delete = self.app.delete("/api/vocab#")
         assert "@context" in response_get_data
-        assert response_get_data["@id"] == "http://hydrus.com/api/vocab"
+        assert response_get_data["@id"] == SERVER_URL+"api/vocab"
         assert response_get_data["@type"] == "ApiDocumentation"
         assert response_get.status_code == 200
         assert response_post.status_code == 405
@@ -61,7 +63,7 @@ class ViewsTestCase(unittest.TestCase):
 
     def test_Endpoints_Collections(self):
         """Test all endpoints to get the collection."""
-        index = self.app.get("/api/")
+        index = self.app.get("/api")
         assert index.status_code == 200
         endpoints = json.loads(index.data.decode('utf-8'))
         for endpoint in endpoints:
@@ -80,7 +82,7 @@ class ViewsTestCase(unittest.TestCase):
 
     def test_Endpoints_Contexts(self):
         """Test all endpoints contexts are generated properly."""
-        index = self.app.get("/api/")
+        index = self.app.get("/api")
         assert index.status_code == 200
         endpoints = json.loads(index.data.decode('utf-8'))
         for endpoint in endpoints:
diff --git a/hydrus/tests/test_crud.py b/hydrus/tests/test_crud.py
index bfe9c14..b17295a 100644
--- a/hydrus/tests/test_crud.py
+++ b/hydrus/tests/test_crud.py
@@ -6,9 +6,9 @@ from sqlalchemy import create_engine
 from sqlalchemy.orm import sessionmaker
 import hydrus.data.crud as crud
 from hydrus.data.db_models import Base
-from hydrus.metadata.vocab import vocab
+from hydrus.hydraspec.vocab_generator import gen_vocab
 import hydrus.data.doc_parse as parser
-
+from hydrus.app import SERVER_URL, SEMANTIC_REF_URL, SEMANTIC_REF_NAME, PARSED_CLASSES
 
 def object_1():
     """Return a copy of an object."""
@@ -63,7 +63,7 @@ class TestCRUD(unittest.TestCase):
         self.session = session
 
         print("Adding Classes...")
-        classes = parser.get_classes(vocab)
+        classes = parser.get_classes(gen_vocab(PARSED_CLASSES, SERVER_URL, SEMANTIC_REF_NAME, SEMANTIC_REF_URL))
         parser.insert_classes(classes, self.session)
 
         print("Adding Properties...")
@@ -86,7 +86,7 @@ class TestCRUD(unittest.TestCase):
         object_ = crud.get(id_=id_, type_=object_["@type"], session=self.session)
         assert 204 in response
         assert "object" in object_
-        assert int(object_["@id"]) == id_
+        assert int(object_["@id"].split("/")[-1]) == id_
 
     def test_update(self):
         """Test CRUD update."""
@@ -98,7 +98,7 @@ class TestCRUD(unittest.TestCase):
         test_object = crud.get(id_=id_, type_=object_["@type"], session=self.session)
         assert 204 in insert_response
         assert 204 in update_response
-        assert test_object["@id"] == id_
+        assert int(test_object["@id"].split("/")[-1]) == id_
 
     def test_delete(self):
         """Test CRUD delete."""