owlapy.parser

String to OWL parsers.

Module Contents

Classes

ManchesterOWLSyntaxParser

Manchester Syntax parser to parse strings to OWLClassExpressions.

DLSyntaxParser

Description Logic Syntax parser to parse strings to OWLClassExpressions.

Functions

dl_to_owl_expression(dl_expression, namespace)

manchester_to_owl_expression(manchester_expression, ...)

Attributes

MANCHESTER_GRAMMAR

DL_GRAMMAR

DLparser

ManchesterParser

owlapy.parser.MANCHESTER_GRAMMAR
class owlapy.parser.ManchesterOWLSyntaxParser(namespace: str | owlapy.namespaces.Namespaces | None = None, grammar=None)[source]

Bases: parsimonious.nodes.NodeVisitor, owlapy.owl_object.OWLObjectParser

Manchester Syntax parser to parse strings to OWLClassExpressions. Following: https://www.w3.org/TR/owl2-manchester-syntax.

slots = ('ns', 'grammar')
ns: str | owlapy.namespaces.Namespaces | None
parse_expression(expression_str: str) owlapy.class_expression.OWLClassExpression[source]

Parse a string to an OWL Object.

Parameters:

expression_str (str) – Expression string.

Returns:

The OWL Object which is represented by the string.

visit_union(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_intersection(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_primary(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_some_only_res(node, children) owlapy.class_expression.OWLQuantifiedObjectRestriction[source]
visit_cardinality_res(node, children) owlapy.class_expression.OWLObjectCardinalityRestriction[source]
visit_value_res(node, children) owlapy.class_expression.OWLObjectHasValue[source]
visit_has_self(node, children) owlapy.class_expression.OWLObjectHasSelf[source]
visit_object_property(node, children) owlapy.owl_property.OWLObjectPropertyExpression[source]
visit_class_expression(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_individual_list(node, children) owlapy.class_expression.OWLObjectOneOf[source]
visit_data_primary(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_data_some_only_res(node, children) owlapy.class_expression.OWLQuantifiedDataRestriction[source]
visit_data_cardinality_res(node, children) owlapy.class_expression.OWLDataCardinalityRestriction[source]
visit_data_value_res(node, children) owlapy.class_expression.OWLDataHasValue[source]
visit_data_union(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_data_intersection(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_literal_list(node, children) owlapy.class_expression.OWLDataOneOf[source]
visit_data_parentheses(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_datatype_restriction(node, children) owlapy.class_expression.OWLDatatypeRestriction[source]
visit_facet_restrictions(node, children) List[owlapy.class_expression.OWLFacetRestriction][source]
visit_facet_restriction(node, children) owlapy.class_expression.OWLFacetRestriction[source]
visit_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_typed_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
abstract visit_string_literal_language(node, children)[source]
visit_string_literal_no_language(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_quoted_string(node, children) str[source]
visit_float_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_decimal_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_integer_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_boolean_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_datetime_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_duration_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_date_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_non_negative_integer(node, children) int[source]
visit_datatype_iri(node, children) str[source]
visit_datatype(node, children) owlapy.owl_datatype.OWLDatatype[source]
visit_facet(node, children) owlapy.vocab.OWLFacet[source]
visit_class_iri(node, children) owlapy.class_expression.OWLClass[source]
visit_individual_iri(node, children) owlapy.owl_individual.OWLNamedIndividual[source]
visit_object_property_iri(node, children) owlapy.owl_property.OWLObjectProperty[source]
visit_data_property_iri(node, children) owlapy.owl_property.OWLDataProperty[source]
visit_iri(node, children) owlapy.iri.IRI[source]
visit_full_iri(node, children) owlapy.iri.IRI[source]
abstract visit_abbreviated_iri(node, children)[source]
visit_simple_iri(node, children) owlapy.iri.IRI[source]
visit_parentheses(node, children) owlapy.class_expression.OWLClassExpression[source]
generic_visit(node, children)[source]

Default visitor method

Parameters:
  • node – The node we’re visiting

  • visited_children – The results of visiting the children of that node, in a list

I’m not sure there’s an implementation of this that makes sense across all (or even most) use cases, so we leave it to subclasses to implement for now.

owlapy.parser.DL_GRAMMAR
class owlapy.parser.DLSyntaxParser(namespace: str | owlapy.namespaces.Namespaces | None = None, grammar=None)[source]

Bases: parsimonious.nodes.NodeVisitor, owlapy.owl_object.OWLObjectParser

Description Logic Syntax parser to parse strings to OWLClassExpressions.

slots = ('ns', 'grammar')
ns: str | owlapy.namespaces.Namespaces | None
parse_expression(expression_str: str) owlapy.class_expression.OWLClassExpression[source]

Parse a string to an OWL Object.

Parameters:

expression_str (str) – Expression string.

Returns:

The OWL Object which is represented by the string.

visit_union(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_intersection(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_primary(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_some_only_res(node, children) owlapy.class_expression.OWLQuantifiedObjectRestriction[source]
visit_cardinality_res(node, children) owlapy.class_expression.OWLObjectCardinalityRestriction[source]
visit_value_res(node, children) owlapy.class_expression.OWLObjectHasValue[source]
visit_has_self(node, children) owlapy.class_expression.OWLObjectHasSelf[source]
visit_object_property(node, children) owlapy.owl_property.OWLObjectPropertyExpression[source]
visit_class_expression(node, children) owlapy.class_expression.OWLClassExpression[source]
visit_individual_list(node, children) owlapy.class_expression.OWLObjectOneOf[source]
visit_data_primary(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_data_some_only_res(node, children) owlapy.class_expression.OWLQuantifiedDataRestriction[source]
visit_data_cardinality_res(node, children) owlapy.class_expression.OWLDataCardinalityRestriction[source]
visit_data_value_res(node, children) owlapy.class_expression.OWLDataHasValue[source]
visit_data_union(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_data_intersection(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_literal_list(node, children) owlapy.class_expression.OWLDataOneOf[source]
visit_data_parentheses(node, children) owlapy.owl_data_ranges.OWLDataRange[source]
visit_datatype_restriction(node, children) owlapy.class_expression.OWLDatatypeRestriction[source]
visit_facet_restrictions(node, children) List[owlapy.class_expression.OWLFacetRestriction][source]
visit_facet_restriction(node, children) owlapy.class_expression.OWLFacetRestriction[source]
visit_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_typed_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
abstract visit_string_literal_language(node, children)[source]
visit_string_literal_no_language(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_quoted_string(node, children) str[source]
visit_float_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_decimal_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_integer_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_boolean_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_datetime_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_duration_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_date_literal(node, children) owlapy.owl_literal.OWLLiteral[source]
visit_non_negative_integer(node, children) int[source]
visit_datatype_iri(node, children) str[source]
visit_datatype(node, children) owlapy.owl_datatype.OWLDatatype[source]
visit_facet(node, children) owlapy.vocab.OWLFacet[source]
visit_class_iri(node, children) owlapy.class_expression.OWLClass[source]
visit_individual_iri(node, children) owlapy.owl_individual.OWLNamedIndividual[source]
visit_object_property_iri(node, children) owlapy.owl_property.OWLObjectProperty[source]
visit_data_property_iri(node, children) owlapy.owl_property.OWLDataProperty[source]
visit_iri(node, children) owlapy.iri.IRI[source]
visit_full_iri(node, children) owlapy.iri.IRI[source]
abstract visit_abbreviated_iri(node, children)[source]
visit_simple_iri(node, children) owlapy.iri.IRI[source]
visit_parentheses(node, children) owlapy.class_expression.OWLClassExpression[source]
generic_visit(node, children)[source]

Default visitor method

Parameters:
  • node – The node we’re visiting

  • visited_children – The results of visiting the children of that node, in a list

I’m not sure there’s an implementation of this that makes sense across all (or even most) use cases, so we leave it to subclasses to implement for now.

owlapy.parser.DLparser
owlapy.parser.ManchesterParser
owlapy.parser.dl_to_owl_expression(dl_expression: str, namespace: str)[source]
owlapy.parser.manchester_to_owl_expression(manchester_expression: str, namespace: str)[source]