drepr.models.parsers.v2.sm_parser#

Classes

SMParser()

SM has the following schema

class SMParser[source]#

Bases: object

SM has the following schema

``` semantic_model:

<class_id>:
properties:
  • [<predicate>, <attr_id>, (<data_type>, (<is_required=false>)?)?]

links:
  • [<predicate>, <class_id>, (<is_required=false>)?]

static_properties:
  • [<predicate>, <value>, (<data_type>)?]

inverse_static_properties:
  • [<predicate>, <uri>]

prefixes:

<prefix>: <uri>

```

CLS_KEYS = {'inverse_static_properties', 'links', 'properties', 'static_properties', 'subject'}#
REG_SM_CLASS = re.compile('^((.+):[a-zA-Z0-9_]+)$')#
REG_SM_DNODE = re.compile('^((?:(?!--).)+:\\d+)--((?:(?!\\^\\^).)+)(?:\\^\\^(.+))?$')#
REG_SM_LNODE = re.compile('^((?:(?!--).)+:\\d+)--((?:(?!--).)+)--((?:(?!\\^\\^).)+)(?:\\^\\^(.+))?$')#
REG_SM_REL = re.compile('^((?:(?!--).)+:\\d+)--((?:(?!--).)+)--((?:(?!--).)+:\\d+)$')#
classmethod parse(sm: dict) SemanticModel[source]#
Parameters:

sm (dict) –

Return type:

SemanticModel