Resource
class Resource
Section titled “class Resource”class Resource(BaseModel, ABC):Abstract base class for resources.
Attributes:
labelstr | None— Optional human-readable label for this resource class.descriptionstr | None— Optional human-readable description for this resource class.
Source
class Resource(BaseModel, ABC): """Abstract base class for resources.
Attributes: label: Optional human-readable label for this resource class. description: Optional human-readable description for this resource class. """
label: ClassVar[str | None] = None description: ClassVar[str | None] = None
@classmethod def get_type(cls): """Return the simple type name of this resource.
Returns: str: The class name (e.g., ``"PetriNet"``). """ return cls.__name__
@computed_field @property def _ocelescope_resource_type(self) -> str: return self.get_type()
def visualize(self) -> Visualization | None: """Produce a visualization for this resource.
Implementations should return a concrete :class:`Visualization` or ``None`` if no visualization exists.
Returns: Optional[Visualization]: A visualization object or ``None``. """
...function get_type
Section titled “function get_type”def get_type(cls):Return the simple type name of this resource.
Returns:
- — The class name (e.g.,
"PetriNet").
Source
@classmethod def get_type(cls): """Return the simple type name of this resource.
Returns: str: The class name (e.g., ``"PetriNet"``). """ return cls.__name__function visualize
Section titled “function visualize”def visualize() -> Visualization | None:Produce a visualization for this resource.
Implementations should return a concrete :class:Visualization
or None if no visualization exists.
Returns:
Visualization | None— Optional[Visualization]: A visualization object orNone.
Source
def visualize(self) -> Visualization | None: """Produce a visualization for this resource.
Implementations should return a concrete :class:`Visualization` or ``None`` if no visualization exists.
Returns: Optional[Visualization]: A visualization object or ``None``. """
...attribute T
Section titled “attribute T”T = TypeVar('T', bound=Resource)class Annotated
Section titled “class Annotated”class Annotated(BaseModel, Generic[T]):Source
class Annotated(BaseModel, Generic[T]): annotation: list[T] | str = []
def get_annotation_str(self): return self.annotation if type(self.annotation) is str else None
def get_annotation_visualization(self): if not isinstance(self.annotation, list) or len(self.annotation) != 1: return None resource = self.annotation[0] if not isinstance(resource, Resource): return None return resource.visualize()