Skip to main content

HTMLSpace Objects

class HTMLSpace(Space[_HtmlObjectAnnotation, _GlobalClassificationAnnotation,
                      HtmlOverlapStrategy])
HTML space implementation for XPath-based annotations. This space handles annotations on HTML content where positions are specified using XPath expressions with character offsets.

put_object_instance

def put_object_instance(object_instance: ObjectInstance,
                        ranges: Union[HtmlRange, List[HtmlRange]],
                        *,
                        on_overlap: HtmlOverlapStrategy = "error",
                        created_at: Optional[datetime] = None,
                        created_by: Optional[str] = None,
                        last_edited_at: Optional[datetime] = None,
                        last_edited_by: Optional[str] = None,
                        confidence: Optional[float] = None,
                        manual_annotation: Optional[bool] = None) -> None
Add an object instance to the HTML space. Arguments:
  • object_instance - The object instance to add to the space.
  • ranges - HtmlRange or list of HtmlRange specifying the XPath-based location(s) for the annotation.
  • on_overlap - Strategy for handling existing annotations.
    • ā€œerrorā€ (default): Raises an error if annotation already exists.
    • ā€œreplaceā€: Replaces existing annotation.
  • created_at - Optional timestamp when the annotation was created.
  • created_by - Optional identifier of who created the annotation.
  • last_edited_at - Optional timestamp when the annotation was last edited.
  • last_edited_by - Optional identifier of who last edited the annotation.
  • confidence - Optional confidence score for the annotation (0.0 to 1.0).
  • manual_annotation - Optional flag indicating if this was manually annotated.
Raises:
  • LabelRowError - If annotation already exists when on_overlap=ā€œerrorā€.

put_classification_instance

def put_classification_instance(
        classification_instance: ClassificationInstance,
        *,
        on_overlap: Optional[HtmlOverlapStrategy] = "error",
        created_at: Optional[datetime] = None,
        created_by: Optional[str] = None,
        last_edited_at: Optional[datetime] = None,
        last_edited_by: Optional[str] = None,
        confidence: Optional[float] = None,
        manual_annotation: Optional[bool] = None) -> None
Add a classification instance to the HTML space. Arguments:
  • classification_instance - The classification instance to add to the space.
  • on_overlap - Strategy for handling existing classifications.
    • ā€œerrorā€ (default): Raises an error if classification of the same ontology item already exists.
    • ā€œreplaceā€: Overwrites existing classifications.
  • created_at - Optional timestamp when the annotation was created.
  • created_by - Optional identifier of who created the annotation.
  • last_edited_at - Optional timestamp when the annotation was last edited.
  • last_edited_by - Optional identifier of who last edited the annotation.
  • confidence - Optional confidence score for the annotation (0.0 to 1.0).
  • manual_annotation - Optional flag indicating if this was manually annotated.
Raises:
  • LabelRowError - If classification already exists when on_overlap=ā€œerrorā€.

remove_object_instance

def remove_object_instance(object_hash: str) -> Optional[ObjectInstance]
Remove an object instance from the HTML space. Arguments:
  • object_hash - The hash identifier of the object instance to remove.
Returns:
  • Optional[ObjectInstance] - The removed object instance, or None if the object wasn’t found.

remove_classification_instance

def remove_classification_instance(
        classification_hash: str) -> Optional[ClassificationInstance]
Remove a classification instance from the HTML space. Arguments:
  • classification_hash - The hash identifier of the classification instance to remove.
Returns:
  • Optional[ClassificationInstance] - The removed classification instance, or None if the classification wasn’t found.