# rdflib package

## Subpackages

- rdflib.extras package
  - Submodules
  - rdflib.extras.cmdlineutils module
    - `main()`
  - rdflib.extras.describer module
    - `Describer`
      - `Describer.__dict__`
      - `Describer.__init__()`
      - `Describer.__module__`
      - `Describer.__weakref__`
      - `Describer.about()`
      - `Describer.rdftype()`
      - `Describer.rel()`
      - `Describer.rev()`
      - `Describer.value()`
    - `cast_identifier()`
    - `cast_value()`
  - rdflib.extras.external_graph_libs module
    - `rdflib_to_graphtool()`
    - `rdflib_to_networkx_digraph()`
    - `rdflib_to_networkx_graph()`
    - `rdflib_to_networkx_multidigraph()`
  - rdflib.extras.infixowl module
    - OWL Constructor DL Syntax Manchester OWL Syntax Example
    - `AllClasses()`
    - `AllDifferent()`
    - `AllProperties()`
    - `AnnotatableTerms`
      - `AnnotatableTerms.__init__()`
      - `AnnotatableTerms.__module__`
      - `AnnotatableTerms.comment`
      - `AnnotatableTerms.handleAnnotation()`
      - `AnnotatableTerms.label`
      - `AnnotatableTerms.seeAlso`
      - `AnnotatableTerms.setupACEAnnotations()`
    - `BooleanClass`
      - `BooleanClass.__annotations__`
      - `BooleanClass.__init__()`
      - `BooleanClass.__module__`
      - `BooleanClass.__or__()`
      - `BooleanClass.__repr__()`
      - `BooleanClass.changeOperator()`
      - `BooleanClass.copy()`
      - `BooleanClass.getIntersections`
      - `BooleanClass.getUnions`
      - `BooleanClass.isPrimitive()`
      - `BooleanClass.serialize()`
    - `Callable`
      - `Callable.__call__()`
      - `Callable.__dict__`
      - `Callable.__init__()`
      - `Callable.__module__`
      - `Callable.__weakref__`
    - `CastClass()`
    - `Class`
      - `Class.__and__()`
      - `Class.__annotations__`
      - `Class.__eq__()`
      - `Class.__hash__()`
      - `Class.__iadd__()`
      - `Class.__init__()`
      - `Class.__invert__()`
      - `Class.__isub__()`
      - `Class.__module__`
      - `Class.__or__()`
      - `Class.__repr__()`
      - `Class.annotation`
      - `Class.complementOf`
      - `Class.disjointWith`
      - `Class.equivalentClass`
      - `Class.extent`
      - `Class.extentQuery`
      - `Class.isPrimitive()`
      - `Class.manchesterClass()`
      - `Class.parents`
      - `Class.serialize()`
      - `Class.setupNounAnnotations()`
      - `Class.subClassOf`
      - `Class.subSumpteeIds()`
    - `ClassNamespaceFactory`
      - `ClassNamespaceFactory.__annotations__`
      - `ClassNamespaceFactory.__getattr__()`
      - `ClassNamespaceFactory.__getitem__()`
      - `ClassNamespaceFactory.__module__`
      - `ClassNamespaceFactory.term()`
    - `CommonNSBindings()`
    - `ComponentTerms()`
    - `DeepClassClear()`
    - `EnumeratedClass`
      - `EnumeratedClass.__annotations__`
      - `EnumeratedClass.__init__()`
      - `EnumeratedClass.__module__`
      - `EnumeratedClass.__repr__()`
      - `EnumeratedClass.isPrimitive()`
      - `EnumeratedClass.serialize()`
    - `GetIdentifiedClasses()`
    - `Individual`
      - `Individual.__annotations__`
      - `Individual.__dict__`
      - `Individual.__init__()`
      - `Individual.__module__`
      - `Individual.__weakref__`
      - `Individual.clearInDegree()`
      - `Individual.clearOutDegree()`
      - `Individual.delete()`
      - `Individual.factoryGraph`
      - `Individual.identifier`
      - `Individual.replace()`
      - `Individual.sameAs`
      - `Individual.serialize()`
      - `Individual.type`
    - `Infix`
      - `Infix.__call__()`
      - `Infix.__dict__`
      - `Infix.__init__()`
      - `Infix.__matmul__()`
      - `Infix.__module__`
      - `Infix.__rlshift__()`
      - `Infix.__rmatmul__()`
      - `Infix.__rshift__()`
      - `Infix.__weakref__`
    - `MalformedClass`
      - `MalformedClass.__module__`
      - `MalformedClass.__weakref__`
    - `MalformedClassError`
      - `MalformedClassError.__annotations__`
      - `MalformedClassError.__init__()`
      - `MalformedClassError.__module__`
      - `MalformedClassError.__repr__()`
    - `OWLRDFListProxy`
      - `OWLRDFListProxy.__annotations__`
      - `OWLRDFListProxy.__contains__()`
      - `OWLRDFListProxy.__delitem__()`
      - `OWLRDFListProxy.__dict__`
      - `OWLRDFListProxy.__eq__()`
      - `OWLRDFListProxy.__getitem__()`
      - `OWLRDFListProxy.__hash__`
      - `OWLRDFListProxy.__iadd__()`
      - `OWLRDFListProxy.__init__()`
      - `OWLRDFListProxy.__iter__()`
      - `OWLRDFListProxy.__len__()`
      - `OWLRDFListProxy.__module__`
      - `OWLRDFListProxy.__setitem__()`
      - `OWLRDFListProxy.__weakref__`
      - `OWLRDFListProxy.append()`
      - `OWLRDFListProxy.clear()`
      - `OWLRDFListProxy.index()`
    - `Ontology`
      - `Ontology.__annotations__`
      - `Ontology.__init__()`
      - `Ontology.__module__`
      - `Ontology.imports`
      - `Ontology.setVersion()`
    - `Property`
      - `Property.__annotations__`
      - `Property.__init__()`
      - `Property.__module__`
      - `Property.__repr__()`
      - `Property.domain`
      - `Property.extent`
      - `Property.inverseOf`
      - `Property.range`
      - `Property.replace()`
      - `Property.serialize()`
      - `Property.setupVerbAnnotations()`
      - `Property.subPropertyOf`
    - `Restriction`
      - `Restriction.__annotations__`
      - `Restriction.__eq__()`
      - `Restriction.__hash__()`
      - `Restriction.__init__()`
      - `Restriction.__module__`
      - `Restriction.__repr__()`
      - `Restriction.allValuesFrom`
      - `Restriction.cardinality`
      - `Restriction.hasValue`
      - `Restriction.isPrimitive()`
      - `Restriction.maxCardinality`
      - `Restriction.minCardinality`
      - `Restriction.onProperty`
      - `Restriction.restrictionKind()`
      - `Restriction.restrictionKinds`
      - `Restriction.serialize()`
      - `Restriction.someValuesFrom`
    - `classOrIdentifier()`
    - `classOrTerm()`
    - `generateQName()`
    - `manchesterSyntax()`
    - `propertyOrIdentifier()`
  - rdflib.extras.shacl module
    - `SHACLPathError`
      - `SHACLPathError.__module__`
      - `SHACLPathError.__weakref__`
    - `parse_shacl_path()`
  - Module contents
- rdflib.namespace package
  - Module contents
    - Namespace Utilities
      - Automatic handling of unknown predicates
      - Importable namespaces
    - `BRICK`
      - `BRICK.AED`
      - `BRICK.AHU`
      - `BRICK.Ablutions_Room`
      - `BRICK.Absorption_Chiller`
      - `BRICK.Acceleration_Time_Setpoint`
      - `BRICK.Access_Control_Equipment`
      - `BRICK.Access_Reader`
      - `BRICK.Active_Chilled_Beam`
      - `BRICK.Active_Power_Sensor`
      - `BRICK.Adjust_Sensor`
      - `BRICK.Air`
      - `BRICK.Air_Alarm`
      - `BRICK.Air_Differential_Pressure_Sensor`
      - `BRICK.Air_Differential_Pressure_Setpoint`
      - `BRICK.Air_Diffuser`
      - `BRICK.Air_Enthalpy_Sensor`
      - `BRICK.Air_Flow_Deadband_Setpoint`
      - `BRICK.Air_Flow_Demand_Setpoint`
      - `BRICK.Air_Flow_Loss_Alarm`
      - `BRICK.Air_Flow_Sensor`
      - `BRICK.Air_Flow_Setpoint`
      - `BRICK.Air_Flow_Setpoint_Limit`
      - `BRICK.Air_Grains_Sensor`
      - `BRICK.Air_Handler_Unit`
      - `BRICK.Air_Handling_Unit`
      - `BRICK.Air_Humidity_Setpoint`
      - `BRICK.Air_Loop`
      - `BRICK.Air_Plenum`
      - `BRICK.Air_Quality_Sensor`
      - `BRICK.Air_Static_Pressure_Step_Parameter`
      - `BRICK.Air_System`
      - `BRICK.Air_Temperature_Alarm`
      - `BRICK.Air_Temperature_Integral_Time_Parameter`
      - `BRICK.Air_Temperature_Sensor`
      - `BRICK.Air_Temperature_Setpoint`
      - `BRICK.Air_Temperature_Setpoint_Limit`
      - `BRICK.Air_Temperature_Step_Parameter`
      - `BRICK.Air_Wet_Bulb_Temperature_Sensor`
      - `BRICK.Alarm`
      - `BRICK.Alarm_Delay_Parameter`
      - `BRICK.Angle_Sensor`
      - `BRICK.Auditorium`
      - `BRICK.Automated_External_Defibrillator`
      - `BRICK.Automatic_Mode_Command`
      - `BRICK.Availability_Status`
      - `BRICK.Average_Cooling_Demand_Sensor`
      - `BRICK.Average_Discharge_Air_Flow_Sensor`
      - `BRICK.Average_Exhaust_Air_Static_Pressure_Sensor`
      - `BRICK.Average_Heating_Demand_Sensor`
      - `BRICK.Average_Supply_Air_Flow_Sensor`
      - `BRICK.Average_Zone_Air_Temperature_Sensor`
      - `BRICK.Baseboard_Radiator`
      - `BRICK.Basement`
      - `BRICK.Battery`
      - `BRICK.Battery_Energy_Storage_System`
      - `BRICK.Battery_Room`
      - `BRICK.Battery_Voltage_Sensor`
      - `BRICK.Bench_Space`
      - `BRICK.Blowdown_Water`
      - `BRICK.Boiler`
      - `BRICK.Booster_Fan`
      - `BRICK.Box_Mode_Command`
      - `BRICK.Break_Room`
      - `BRICK.Breaker_Panel`
      - `BRICK.Breakroom`
      - `BRICK.Broadcast_Room`
      - `BRICK.Building`
      - `BRICK.Building_Air`
      - `BRICK.Building_Air_Humidity_Setpoint`
      - `BRICK.Building_Air_Static_Pressure_Sensor`
      - `BRICK.Building_Air_Static_Pressure_Setpoint`
      - `BRICK.Building_Chilled_Water_Meter`
      - `BRICK.Building_Electrical_Meter`
      - `BRICK.Building_Gas_Meter`
      - `BRICK.Building_Hot_Water_Meter`
      - `BRICK.Building_Meter`
      - `BRICK.Building_Water_Meter`
      - `BRICK.Bus_Riser`
      - `BRICK.Bypass_Air`
      - `BRICK.Bypass_Air_Flow_Sensor`
      - `BRICK.Bypass_Air_Humidity_Setpoint`
      - `BRICK.Bypass_Command`
      - `BRICK.Bypass_Valve`
      - `BRICK.Bypass_Water`
      - `BRICK.Bypass_Water_Flow_Sensor`
      - `BRICK.Bypass_Water_Flow_Setpoint`
      - `BRICK.CAV`
      - `BRICK.CO`
      - `BRICK.CO2`
      - `BRICK.CO2_Alarm`
      - `BRICK.CO2_Differential_Sensor`
      - `BRICK.CO2_Level_Sensor`
      - `BRICK.CO2_Sensor`
      - `BRICK.CO2_Setpoint`
      - `BRICK.CO_Differential_Sensor`
      - `BRICK.CO_Level_Sensor`
      - `BRICK.CO_Sensor`
      - `BRICK.CRAC`
      - `BRICK.Cafeteria`
      - `BRICK.Camera`
      - `BRICK.Capacity_Sensor`
      - `BRICK.Ceiling_Fan`
      - `BRICK.Centrifugal_Chiller`
      - `BRICK.Change_Filter_Alarm`
      - `BRICK.Chilled_Beam`
      - `BRICK.Chilled_Water`
      - `BRICK.Chilled_Water_Coil`
      - `BRICK.Chilled_Water_Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Chilled_Water_Differential_Pressure_Integral_Time_Parameter`
      - `BRICK.Chilled_Water_Differential_Pressure_Load_Shed_Reset_Status`
      - `BRICK.Chilled_Water_Differential_Pressure_Load_Shed_Setpoint`
      - `BRICK.Chilled_Water_Differential_Pressure_Load_Shed_Status`
      - `BRICK.Chilled_Water_Differential_Pressure_Proportional_Band_Parameter`
      - `BRICK.Chilled_Water_Differential_Pressure_Sensor`
      - `BRICK.Chilled_Water_Differential_Pressure_Setpoint`
      - `BRICK.Chilled_Water_Differential_Pressure_Step_Parameter`
      - `BRICK.Chilled_Water_Differential_Temperature_Sensor`
      - `BRICK.Chilled_Water_Discharge_Flow_Sensor`
      - `BRICK.Chilled_Water_Discharge_Flow_Setpoint`
      - `BRICK.Chilled_Water_Flow_Sensor`
      - `BRICK.Chilled_Water_Flow_Setpoint`
      - `BRICK.Chilled_Water_Loop`
      - `BRICK.Chilled_Water_Meter`
      - `BRICK.Chilled_Water_Pump`
      - `BRICK.Chilled_Water_Pump_Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Chilled_Water_Return_Flow_Sensor`
      - `BRICK.Chilled_Water_Return_Temperature_Sensor`
      - `BRICK.Chilled_Water_Static_Pressure_Setpoint`
      - `BRICK.Chilled_Water_Supply_Flow_Sensor`
      - `BRICK.Chilled_Water_Supply_Flow_Setpoint`
      - `BRICK.Chilled_Water_Supply_Temperature_Sensor`
      - `BRICK.Chilled_Water_System`
      - `BRICK.Chilled_Water_System_Enable_Command`
      - `BRICK.Chilled_Water_Temperature_Sensor`
      - `BRICK.Chilled_Water_Temperature_Setpoint`
      - `BRICK.Chilled_Water_Valve`
      - `BRICK.Chiller`
      - `BRICK.Class`
      - `BRICK.Close_Limit`
      - `BRICK.Coil`
      - `BRICK.Cold_Box`
      - `BRICK.Coldest_Zone_Air_Temperature_Sensor`
      - `BRICK.Collection`
      - `BRICK.Collection_Basin_Water`
      - `BRICK.Collection_Basin_Water_Heater`
      - `BRICK.Collection_Basin_Water_Level_Alarm`
      - `BRICK.Collection_Basin_Water_Level_Sensor`
      - `BRICK.Collection_Basin_Water_Temperature_Sensor`
      - `BRICK.Command`
      - `BRICK.Common_Space`
      - `BRICK.Communication_Loss_Alarm`
      - `BRICK.Compressor`
      - `BRICK.Computer_Room_Air_Conditioning`
      - `BRICK.Concession`
      - `BRICK.Condensate_Leak_Alarm`
      - `BRICK.Condenser`
      - `BRICK.Condenser_Heat_Exchanger`
      - `BRICK.Condenser_Water`
      - `BRICK.Condenser_Water_Bypass_Valve`
      - `BRICK.Condenser_Water_Isolation_Valve`
      - `BRICK.Condenser_Water_Pump`
      - `BRICK.Condenser_Water_System`
      - `BRICK.Condenser_Water_Temperature_Sensor`
      - `BRICK.Condenser_Water_Valve`
      - `BRICK.Condensing_Natural_Gas_Boiler`
      - `BRICK.Conductivity_Sensor`
      - `BRICK.Conference_Room`
      - `BRICK.Constant_Air_Volume_Box`
      - `BRICK.Contact_Sensor`
      - `BRICK.Control_Room`
      - `BRICK.Cooling_Coil`
      - `BRICK.Cooling_Command`
      - `BRICK.Cooling_Demand_Sensor`
      - `BRICK.Cooling_Demand_Setpoint`
      - `BRICK.Cooling_Discharge_Air_Flow_Setpoint`
      - `BRICK.Cooling_Discharge_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Cooling_Discharge_Air_Temperature_Integral_Time_Parameter`
      - `BRICK.Cooling_Discharge_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Cooling_Start_Stop_Status`
      - `BRICK.Cooling_Supply_Air_Flow_Setpoint`
      - `BRICK.Cooling_Supply_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Cooling_Supply_Air_Temperature_Integral_Time_Parameter`
      - `BRICK.Cooling_Supply_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Cooling_Temperature_Setpoint`
      - `BRICK.Cooling_Tower`
      - `BRICK.Cooling_Tower_Fan`
      - `BRICK.Cooling_Valve`
      - `BRICK.Copy_Room`
      - `BRICK.Core_Temperature_Sensor`
      - `BRICK.Core_Temperature_Setpoint`
      - `BRICK.Cubicle`
      - `BRICK.Current_Imbalance_Sensor`
      - `BRICK.Current_Limit`
      - `BRICK.Current_Output_Sensor`
      - `BRICK.Current_Sensor`
      - `BRICK.Curtailment_Override_Command`
      - `BRICK.Cycle_Alarm`
      - `BRICK.DC_Bus_Voltage_Sensor`
      - `BRICK.DOAS`
      - `BRICK.Damper`
      - `BRICK.Damper_Command`
      - `BRICK.Damper_Position_Command`
      - `BRICK.Damper_Position_Sensor`
      - `BRICK.Damper_Position_Setpoint`
      - `BRICK.Deadband_Setpoint`
      - `BRICK.Deceleration_Time_Setpoint`
      - `BRICK.Dedicated_Outdoor_Air_System_Unit`
      - `BRICK.Dehumidification_Start_Stop_Status`
      - `BRICK.Deionised_Water_Conductivity_Sensor`
      - `BRICK.Deionised_Water_Level_Sensor`
      - `BRICK.Deionized_Water`
      - `BRICK.Deionized_Water_Alarm`
      - `BRICK.Delay_Parameter`
      - `BRICK.Demand_Sensor`
      - `BRICK.Demand_Setpoint`
      - `BRICK.Derivative_Gain_Parameter`
      - `BRICK.Derivative_Time_Parameter`
      - `BRICK.Detention_Room`
      - `BRICK.Dew_Point_Setpoint`
      - `BRICK.Dewpoint_Sensor`
      - `BRICK.Differential_Air_Temperature_Setpoint`
      - `BRICK.Differential_Pressure_Bypass_Valve`
      - `BRICK.Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Differential_Pressure_Integral_Time_Parameter`
      - `BRICK.Differential_Pressure_Load_Shed_Status`
      - `BRICK.Differential_Pressure_Proportional_Band`
      - `BRICK.Differential_Pressure_Sensor`
      - `BRICK.Differential_Pressure_Setpoint`
      - `BRICK.Differential_Pressure_Setpoint_Limit`
      - `BRICK.Differential_Pressure_Step_Parameter`
      - `BRICK.Differential_Speed_Sensor`
      - `BRICK.Differential_Speed_Setpoint`
      - `BRICK.Differential_Supply_Return_Water_Temperature_Sensor`
      - `BRICK.Dimmer`
      - `BRICK.Direct_Expansion_Cooling_Coil`
      - `BRICK.Direct_Expansion_Heating_Coil`
      - `BRICK.Direction_Command`
      - `BRICK.Direction_Sensor`
      - `BRICK.Direction_Status`
      - `BRICK.Disable_Command`
      - `BRICK.Disable_Differential_Enthalpy_Command`
      - `BRICK.Disable_Differential_Temperature_Command`
      - `BRICK.Disable_Fixed_Enthalpy_Command`
      - `BRICK.Disable_Fixed_Temperature_Command`
      - `BRICK.Disable_Hot_Water_System_Outside_Air_Temperature_Setpoint`
      - `BRICK.Disable_Status`
      - `BRICK.Discharge_Air`
      - `BRICK.Discharge_Air_Dewpoint_Sensor`
      - `BRICK.Discharge_Air_Duct_Pressure_Status`
      - `BRICK.Discharge_Air_Flow_Demand_Setpoint`
      - `BRICK.Discharge_Air_Flow_High_Reset_Setpoint`
      - `BRICK.Discharge_Air_Flow_Low_Reset_Setpoint`
      - `BRICK.Discharge_Air_Flow_Reset_Setpoint`
      - `BRICK.Discharge_Air_Flow_Sensor`
      - `BRICK.Discharge_Air_Flow_Setpoint`
      - `BRICK.Discharge_Air_Humidity_Sensor`
      - `BRICK.Discharge_Air_Humidity_Setpoint`
      - `BRICK.Discharge_Air_Smoke_Detection_Alarm`
      - `BRICK.Discharge_Air_Static_Pressure_Deadband_Setpoint`
      - `BRICK.Discharge_Air_Static_Pressure_Integral_Time_Parameter`
      - `BRICK.Discharge_Air_Static_Pressure_Proportional_Band_Parameter`
      - `BRICK.Discharge_Air_Static_Pressure_Sensor`
      - `BRICK.Discharge_Air_Static_Pressure_Setpoint`
      - `BRICK.Discharge_Air_Static_Pressure_Step_Parameter`
      - `BRICK.Discharge_Air_Temperature_Alarm`
      - `BRICK.Discharge_Air_Temperature_Cooling_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Heating_Setpoint`
      - `BRICK.Discharge_Air_Temperature_High_Reset_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Low_Reset_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Discharge_Air_Temperature_Reset_Differential_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Sensor`
      - `BRICK.Discharge_Air_Temperature_Setpoint`
      - `BRICK.Discharge_Air_Temperature_Setpoint_Limit`
      - `BRICK.Discharge_Air_Temperature_Step_Parameter`
      - `BRICK.Discharge_Air_Velocity_Pressure_Sensor`
      - `BRICK.Discharge_Chilled_Water`
      - `BRICK.Discharge_Fan`
      - `BRICK.Discharge_Hot_Water`
      - `BRICK.Discharge_Water`
      - `BRICK.Discharge_Water_Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Discharge_Water_Differential_Pressure_Integral_Time_Parameter`
      - `BRICK.Discharge_Water_Differential_Pressure_Proportional_Band_Parameter`
      - `BRICK.Discharge_Water_Flow_Sensor`
      - `BRICK.Discharge_Water_Flow_Setpoint`
      - `BRICK.Discharge_Water_Temperature_Alarm`
      - `BRICK.Discharge_Water_Temperature_Proportional_Band_Parameter`
      - `BRICK.Discharge_Water_Temperature_Sensor`
      - `BRICK.Discharge_Water_Temperature_Setpoint`
      - `BRICK.Disconnect_Switch`
      - `BRICK.Displacement_Flow_Air_Diffuser`
      - `BRICK.Distribution_Frame`
      - `BRICK.Domestic_Hot_Water_Supply_Temperature_Sensor`
      - `BRICK.Domestic_Hot_Water_Supply_Temperature_Setpoint`
      - `BRICK.Domestic_Hot_Water_System`
      - `BRICK.Domestic_Hot_Water_System_Enable_Command`
      - `BRICK.Domestic_Hot_Water_Temperature_Setpoint`
      - `BRICK.Domestic_Hot_Water_Valve`
      - `BRICK.Domestic_Water`
      - `BRICK.Domestic_Water_Loop`
      - `BRICK.Drench_Hose`
      - `BRICK.Drive_Ready_Status`
      - `BRICK.Duration_Sensor`
      - `BRICK.ESS_Panel`
      - `BRICK.EconCycle_Start_Stop_Status`
      - `BRICK.Economizer`
      - `BRICK.Economizer_Damper`
      - `BRICK.Effective_Air_Temperature_Cooling_Setpoint`
      - `BRICK.Effective_Air_Temperature_Heating_Setpoint`
      - `BRICK.Effective_Air_Temperature_Setpoint`
      - `BRICK.Effective_Discharge_Air_Temperature_Setpoint`
      - `BRICK.Effective_Return_Air_Temperature_Setpoint`
      - `BRICK.Effective_Room_Air_Temperature_Setpoint`
      - `BRICK.Effective_Supply_Air_Temperature_Setpoint`
      - `BRICK.Effective_Zone_Air_Temperature_Setpoint`
      - `BRICK.Electric_Baseboard_Radiator`
      - `BRICK.Electric_Boiler`
      - `BRICK.Electric_Radiator`
      - `BRICK.Electrical_Equipment`
      - `BRICK.Electrical_Meter`
      - `BRICK.Electrical_Power_Sensor`
      - `BRICK.Electrical_Room`
      - `BRICK.Electrical_System`
      - `BRICK.Elevator`
      - `BRICK.Elevator_Shaft`
      - `BRICK.Elevator_Space`
      - `BRICK.Embedded_Surface_System_Panel`
      - `BRICK.Embedded_Temperature_Sensor`
      - `BRICK.Embedded_Temperature_Setpoint`
      - `BRICK.Emergency_Air_Flow_System`
      - `BRICK.Emergency_Air_Flow_System_Status`
      - `BRICK.Emergency_Alarm`
      - `BRICK.Emergency_Generator_Alarm`
      - `BRICK.Emergency_Generator_Status`
      - `BRICK.Emergency_Phone`
      - `BRICK.Emergency_Power_Off_System`
      - `BRICK.Emergency_Power_Off_System_Activated_By_High_Temperature_Status`
      - `BRICK.Emergency_Power_Off_System_Activated_By_Leak_Detection_System_Status`
      - `BRICK.Emergency_Power_Off_System_Status`
      - `BRICK.Emergency_Push_Button_Status`
      - `BRICK.Emergency_Wash_Station`
      - `BRICK.Employee_Entrance_Lobby`
      - `BRICK.Enable_Command`
      - `BRICK.Enable_Differential_Enthalpy_Command`
      - `BRICK.Enable_Differential_Temperature_Command`
      - `BRICK.Enable_Fixed_Enthalpy_Command`
      - `BRICK.Enable_Fixed_Temperature_Command`
      - `BRICK.Enable_Hot_Water_System_Outside_Air_Temperature_Setpoint`
      - `BRICK.Enable_Status`
      - `BRICK.Enclosed_Office`
      - `BRICK.Energy_Generation_System`
      - `BRICK.Energy_Sensor`
      - `BRICK.Energy_Storage`
      - `BRICK.Energy_Storage_System`
      - `BRICK.Energy_System`
      - `BRICK.Energy_Usage_Sensor`
      - `BRICK.Energy_Zone`
      - `BRICK.Entering_Water`
      - `BRICK.Entering_Water_Flow_Sensor`
      - `BRICK.Entering_Water_Flow_Setpoint`
      - `BRICK.Entering_Water_Temperature_Sensor`
      - `BRICK.Entering_Water_Temperature_Setpoint`
      - `BRICK.Enthalpy_Sensor`
      - `BRICK.Enthalpy_Setpoint`
      - `BRICK.Entrance`
      - `BRICK.Environment_Box`
      - `BRICK.Equipment`
      - `BRICK.Equipment_Room`
      - `BRICK.Evaporative_Heat_Exchanger`
      - `BRICK.Even_Month_Status`
      - `BRICK.Exercise_Room`
      - `BRICK.Exhaust_Air`
      - `BRICK.Exhaust_Air_Dewpoint_Sensor`
      - `BRICK.Exhaust_Air_Differential_Pressure_Sensor`
      - `BRICK.Exhaust_Air_Differential_Pressure_Setpoint`
      - `BRICK.Exhaust_Air_Flow_Integral_Time_Parameter`
      - `BRICK.Exhaust_Air_Flow_Proportional_Band_Parameter`
      - `BRICK.Exhaust_Air_Flow_Sensor`
      - `BRICK.Exhaust_Air_Flow_Setpoint`
      - `BRICK.Exhaust_Air_Humidity_Sensor`
      - `BRICK.Exhaust_Air_Humidity_Setpoint`
      - `BRICK.Exhaust_Air_Stack_Flow_Deadband_Setpoint`
      - `BRICK.Exhaust_Air_Stack_Flow_Integral_Time_Parameter`
      - `BRICK.Exhaust_Air_Stack_Flow_Proportional_Band_Parameter`
      - `BRICK.Exhaust_Air_Stack_Flow_Sensor`
      - `BRICK.Exhaust_Air_Stack_Flow_Setpoint`
      - `BRICK.Exhaust_Air_Static_Pressure_Proportional_Band_Parameter`
      - `BRICK.Exhaust_Air_Static_Pressure_Sensor`
      - `BRICK.Exhaust_Air_Static_Pressure_Setpoint`
      - `BRICK.Exhaust_Air_Temperature_Sensor`
      - `BRICK.Exhaust_Air_Velocity_Pressure_Sensor`
      - `BRICK.Exhaust_Damper`
      - `BRICK.Exhaust_Fan`
      - `BRICK.Exhaust_Fan_Disable_Command`
      - `BRICK.Exhaust_Fan_Enable_Command`
      - `BRICK.Eye_Wash_Station`
      - `BRICK.FCU`
      - `BRICK.Failure_Alarm`
      - `BRICK.Fan`
      - `BRICK.Fan_Coil_Unit`
      - `BRICK.Fan_On_Off_Status`
      - `BRICK.Fan_Status`
      - `BRICK.Fan_VFD`
      - `BRICK.Fault_Reset_Command`
      - `BRICK.Fault_Status`
      - `BRICK.Field_Of_Play`
      - `BRICK.Filter`
      - `BRICK.Filter_Differential_Pressure_Sensor`
      - `BRICK.Filter_Reset_Command`
      - `BRICK.Filter_Status`
      - `BRICK.Final_Filter`
      - `BRICK.Fire_Control_Panel`
      - `BRICK.Fire_Safety_Equipment`
      - `BRICK.Fire_Safety_System`
      - `BRICK.Fire_Sensor`
      - `BRICK.Fire_Zone`
      - `BRICK.First_Aid_Kit`
      - `BRICK.First_Aid_Room`
      - `BRICK.Floor`
      - `BRICK.Flow_Sensor`
      - `BRICK.Flow_Setpoint`
      - `BRICK.Fluid`
      - `BRICK.Food_Service_Room`
      - `BRICK.Formaldehyde_Level_Sensor`
      - `BRICK.Freeze_Status`
      - `BRICK.Freezer`
      - `BRICK.Frequency_Command`
      - `BRICK.Frequency_Sensor`
      - `BRICK.Fresh_Air_Fan`
      - `BRICK.Fresh_Air_Setpoint_Limit`
      - `BRICK.Frost`
      - `BRICK.Frost_Sensor`
      - `BRICK.Fuel_Oil`
      - `BRICK.Fume_Hood`
      - `BRICK.Fume_Hood_Air_Flow_Sensor`
      - `BRICK.Furniture`
      - `BRICK.Gain_Parameter`
      - `BRICK.Gas`
      - `BRICK.Gas_Distribution`
      - `BRICK.Gas_Meter`
      - `BRICK.Gas_Sensor`
      - `BRICK.Gas_System`
      - `BRICK.Gas_Valve`
      - `BRICK.Gasoline`
      - `BRICK.Gatehouse`
      - `BRICK.Generator_Room`
      - `BRICK.Glycol`
      - `BRICK.HVAC_Equipment`
      - `BRICK.HVAC_System`
      - `BRICK.HVAC_Zone`
      - `BRICK.HX`
      - `BRICK.Hail`
      - `BRICK.Hail_Sensor`
      - `BRICK.Hallway`
      - `BRICK.Hazardous_Materials_Storage`
      - `BRICK.Heat_Exchanger`
      - `BRICK.Heat_Exchanger_Supply_Water_Temperature_Sensor`
      - `BRICK.Heat_Exchanger_System_Enable_Status`
      - `BRICK.Heat_Recovery_Hot_Water_System`
      - `BRICK.Heat_Sensor`
      - `BRICK.Heat_Wheel`
      - `BRICK.Heat_Wheel_VFD`
      - `BRICK.Heating_Coil`
      - `BRICK.Heating_Command`
      - `BRICK.Heating_Demand_Sensor`
      - `BRICK.Heating_Demand_Setpoint`
      - `BRICK.Heating_Discharge_Air_Flow_Setpoint`
      - `BRICK.Heating_Discharge_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Heating_Discharge_Air_Temperature_Integral_Time_Parameter`
      - `BRICK.Heating_Discharge_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Heating_Start_Stop_Status`
      - `BRICK.Heating_Supply_Air_Flow_Setpoint`
      - `BRICK.Heating_Supply_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Heating_Supply_Air_Temperature_Integral_Time_Parameter`
      - `BRICK.Heating_Supply_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Heating_Temperature_Setpoint`
      - `BRICK.Heating_Thermal_Power_Sensor`
      - `BRICK.Heating_Valve`
      - `BRICK.Heating_Ventilation_Air_Conditioning_System`
      - `BRICK.High_CO2_Alarm`
      - `BRICK.High_Discharge_Air_Temperature_Alarm`
      - `BRICK.High_Head_Pressure_Alarm`
      - `BRICK.High_Humidity_Alarm`
      - `BRICK.High_Humidity_Alarm_Parameter`
      - `BRICK.High_Outside_Air_Lockout_Temperature_Differential_Parameter`
      - `BRICK.High_Return_Air_Temperature_Alarm`
      - `BRICK.High_Static_Pressure_Cutout_Setpoint_Limit`
      - `BRICK.High_Temperature_Alarm`
      - `BRICK.High_Temperature_Alarm_Parameter`
      - `BRICK.High_Temperature_Hot_Water_Return_Temperature_Sensor`
      - `BRICK.High_Temperature_Hot_Water_Supply_Temperature_Sensor`
      - `BRICK.Hold_Status`
      - `BRICK.Hospitality_Box`
      - `BRICK.Hot_Box`
      - `BRICK.Hot_Water`
      - `BRICK.Hot_Water_Baseboard_Radiator`
      - `BRICK.Hot_Water_Coil`
      - `BRICK.Hot_Water_Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Hot_Water_Differential_Pressure_Integral_Time_Parameter`
      - `BRICK.Hot_Water_Differential_Pressure_Load_Shed_Reset_Status`
      - `BRICK.Hot_Water_Differential_Pressure_Load_Shed_Status`
      - `BRICK.Hot_Water_Differential_Pressure_Proportional_Band_Parameter`
      - `BRICK.Hot_Water_Differential_Pressure_Sensor`
      - `BRICK.Hot_Water_Differential_Pressure_Setpoint`
      - `BRICK.Hot_Water_Differential_Temperature_Sensor`
      - `BRICK.Hot_Water_Discharge_Flow_Sensor`
      - `BRICK.Hot_Water_Discharge_Flow_Setpoint`
      - `BRICK.Hot_Water_Discharge_Temperature_Load_Shed_Status`
      - `BRICK.Hot_Water_Flow_Sensor`
      - `BRICK.Hot_Water_Flow_Setpoint`
      - `BRICK.Hot_Water_Loop`
      - `BRICK.Hot_Water_Meter`
      - `BRICK.Hot_Water_Pump`
      - `BRICK.Hot_Water_Radiator`
      - `BRICK.Hot_Water_Return_Flow_Sensor`
      - `BRICK.Hot_Water_Return_Temperature_Sensor`
      - `BRICK.Hot_Water_Static_Pressure_Setpoint`
      - `BRICK.Hot_Water_Supply_Flow_Sensor`
      - `BRICK.Hot_Water_Supply_Flow_Setpoint`
      - `BRICK.Hot_Water_Supply_Temperature_High_Reset_Setpoint`
      - `BRICK.Hot_Water_Supply_Temperature_Load_Shed_Status`
      - `BRICK.Hot_Water_Supply_Temperature_Low_Reset_Setpoint`
      - `BRICK.Hot_Water_Supply_Temperature_Sensor`
      - `BRICK.Hot_Water_System`
      - `BRICK.Hot_Water_System_Enable_Command`
      - `BRICK.Hot_Water_Temperature_Setpoint`
      - `BRICK.Hot_Water_Usage_Sensor`
      - `BRICK.Hot_Water_Valve`
      - `BRICK.Humidification_Start_Stop_Status`
      - `BRICK.Humidifier`
      - `BRICK.Humidifier_Fault_Status`
      - `BRICK.Humidify_Command`
      - `BRICK.Humidity_Alarm`
      - `BRICK.Humidity_Parameter`
      - `BRICK.Humidity_Sensor`
      - `BRICK.Humidity_Setpoint`
      - `BRICK.Humidity_Tolerance_Parameter`
      - `BRICK.IDF`
      - `BRICK.Ice`
      - `BRICK.Ice_Tank_Leaving_Water_Temperature_Sensor`
      - `BRICK.Illuminance_Sensor`
      - `BRICK.Imbalance_Sensor`
      - `BRICK.Induction_Unit`
      - `BRICK.Information_Area`
      - `BRICK.Inside_Face_Surface_Temperature_Sensor`
      - `BRICK.Inside_Face_Surface_Temperature_Setpoint`
      - `BRICK.Intake_Air_Filter`
      - `BRICK.Intake_Air_Temperature_Sensor`
      - `BRICK.Integral_Gain_Parameter`
      - `BRICK.Integral_Time_Parameter`
      - `BRICK.Intercom_Equipment`
      - `BRICK.Interface`
      - `BRICK.Intrusion_Detection_Equipment`
      - `BRICK.Inverter`
      - `BRICK.Isolation_Valve`
      - `BRICK.Janitor_Room`
      - `BRICK.Jet_Nozzle_Air_Diffuser`
      - `BRICK.Laboratory`
      - `BRICK.Laminar_Flow_Air_Diffuser`
      - `BRICK.Last_Fault_Code_Status`
      - `BRICK.Lead_Lag_Command`
      - `BRICK.Lead_Lag_Status`
      - `BRICK.Lead_On_Off_Command`
      - `BRICK.Leak_Alarm`
      - `BRICK.Leaving_Water`
      - `BRICK.Leaving_Water_Flow_Sensor`
      - `BRICK.Leaving_Water_Flow_Setpoint`
      - `BRICK.Leaving_Water_Temperature_Sensor`
      - `BRICK.Leaving_Water_Temperature_Setpoint`
      - `BRICK.Library`
      - `BRICK.Lighting`
      - `BRICK.Lighting_Equipment`
      - `BRICK.Lighting_System`
      - `BRICK.Lighting_Zone`
      - `BRICK.Limit`
      - `BRICK.Liquid`
      - `BRICK.Liquid_CO2`
      - `BRICK.Liquid_Detection_Alarm`
      - `BRICK.Load_Current_Sensor`
      - `BRICK.Load_Parameter`
      - `BRICK.Load_Setpoint`
      - `BRICK.Load_Shed_Command`
      - `BRICK.Load_Shed_Differential_Pressure_Setpoint`
      - `BRICK.Load_Shed_Setpoint`
      - `BRICK.Load_Shed_Status`
      - `BRICK.Loading_Dock`
      - `BRICK.Lobby`
      - `BRICK.Locally_On_Off_Status`
      - `BRICK.Location`
      - `BRICK.Lockout_Status`
      - `BRICK.Lockout_Temperature_Differential_Parameter`
      - `BRICK.Loop`
      - `BRICK.Lounge`
      - `BRICK.Louver`
      - `BRICK.Low_Freeze_Protect_Temperature_Parameter`
      - `BRICK.Low_Humidity_Alarm`
      - `BRICK.Low_Humidity_Alarm_Parameter`
      - `BRICK.Low_Outside_Air_Lockout_Temperature_Differential_Parameter`
      - `BRICK.Low_Outside_Air_Temperature_Enable_Differential_Sensor`
      - `BRICK.Low_Outside_Air_Temperature_Enable_Setpoint`
      - `BRICK.Low_Return_Air_Temperature_Alarm`
      - `BRICK.Low_Suction_Pressure_Alarm`
      - `BRICK.Low_Temperature_Alarm`
      - `BRICK.Low_Temperature_Alarm_Parameter`
      - `BRICK.Lowest_Exhaust_Air_Static_Pressure_Sensor`
      - `BRICK.Luminaire`
      - `BRICK.Luminaire_Driver`
      - `BRICK.Luminance_Alarm`
      - `BRICK.Luminance_Command`
      - `BRICK.Luminance_Sensor`
      - `BRICK.Luminance_Setpoint`
      - `BRICK.MAU`
      - `BRICK.MDF`
      - `BRICK.Mail_Room`
      - `BRICK.Maintenance_Mode_Command`
      - `BRICK.Maintenance_Required_Alarm`
      - `BRICK.Majlis`
      - `BRICK.Makeup_Air_Unit`
      - `BRICK.Makeup_Water`
      - `BRICK.Makeup_Water_Valve`
      - `BRICK.Manual_Auto_Status`
      - `BRICK.Massage_Room`
      - `BRICK.Max_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Air_Temperature_Setpoint`
      - `BRICK.Max_Chilled_Water_Differential_Pressure_Setpoint_Limit`
      - `BRICK.Max_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Discharge_Air_Static_Pressure_Setpoint_Limit`
      - `BRICK.Max_Discharge_Air_Temperature_Setpoint_Limit`
      - `BRICK.Max_Frequency_Command`
      - `BRICK.Max_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Hot_Water_Differential_Pressure_Setpoint_Limit`
      - `BRICK.Max_Limit`
      - `BRICK.Max_Load_Setpoint`
      - `BRICK.Max_Occupied_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Occupied_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Occupied_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Occupied_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Position_Setpoint_Limit`
      - `BRICK.Max_Speed_Setpoint_Limit`
      - `BRICK.Max_Static_Pressure_Setpoint_Limit`
      - `BRICK.Max_Supply_Air_Static_Pressure_Setpoint_Limit`
      - `BRICK.Max_Temperature_Setpoint_Limit`
      - `BRICK.Max_Unoccupied_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Unoccupied_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Unoccupied_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Unoccupied_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Max_Water_Level_Alarm`
      - `BRICK.Max_Water_Temperature_Setpoint`
      - `BRICK.Measurable`
      - `BRICK.Mechanical_Room`
      - `BRICK.Media_Hot_Desk`
      - `BRICK.Media_Production_Room`
      - `BRICK.Media_Room`
      - `BRICK.Medical_Room`
      - `BRICK.Medium_Temperature_Hot_Water_Differential_Pressure_Load_Shed_Reset_Status`
      - `BRICK.Medium_Temperature_Hot_Water_Differential_Pressure_Load_Shed_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Differential_Pressure_Load_Shed_Status`
      - `BRICK.Medium_Temperature_Hot_Water_Differential_Pressure_Sensor`
      - `BRICK.Medium_Temperature_Hot_Water_Differential_Pressure_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Discharge_Temperature_High_Reset_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Discharge_Temperature_Low_Reset_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Return_Temperature_Sensor`
      - `BRICK.Medium_Temperature_Hot_Water_Supply_Temperature_High_Reset_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Supply_Temperature_Load_Shed_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Supply_Temperature_Load_Shed_Status`
      - `BRICK.Medium_Temperature_Hot_Water_Supply_Temperature_Low_Reset_Setpoint`
      - `BRICK.Medium_Temperature_Hot_Water_Supply_Temperature_Sensor`
      - `BRICK.Meter`
      - `BRICK.Methane_Level_Sensor`
      - `BRICK.Min_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Air_Temperature_Setpoint`
      - `BRICK.Min_Chilled_Water_Differential_Pressure_Setpoint_Limit`
      - `BRICK.Min_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Discharge_Air_Static_Pressure_Setpoint_Limit`
      - `BRICK.Min_Discharge_Air_Temperature_Setpoint_Limit`
      - `BRICK.Min_Fresh_Air_Setpoint_Limit`
      - `BRICK.Min_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Hot_Water_Differential_Pressure_Setpoint_Limit`
      - `BRICK.Min_Limit`
      - `BRICK.Min_Occupied_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Occupied_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Occupied_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Occupied_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Outside_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Position_Setpoint_Limit`
      - `BRICK.Min_Speed_Setpoint_Limit`
      - `BRICK.Min_Static_Pressure_Setpoint_Limit`
      - `BRICK.Min_Supply_Air_Static_Pressure_Setpoint_Limit`
      - `BRICK.Min_Temperature_Setpoint_Limit`
      - `BRICK.Min_Unoccupied_Cooling_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Unoccupied_Cooling_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Unoccupied_Heating_Discharge_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Unoccupied_Heating_Supply_Air_Flow_Setpoint_Limit`
      - `BRICK.Min_Water_Level_Alarm`
      - `BRICK.Min_Water_Temperature_Setpoint`
      - `BRICK.Mixed_Air`
      - `BRICK.Mixed_Air_Filter`
      - `BRICK.Mixed_Air_Flow_Sensor`
      - `BRICK.Mixed_Air_Humidity_Sensor`
      - `BRICK.Mixed_Air_Humidity_Setpoint`
      - `BRICK.Mixed_Air_Temperature_Sensor`
      - `BRICK.Mixed_Air_Temperature_Setpoint`
      - `BRICK.Mixed_Damper`
      - `BRICK.Mode_Command`
      - `BRICK.Mode_Status`
      - `BRICK.Motion_Sensor`
      - `BRICK.Motor`
      - `BRICK.Motor_Control_Center`
      - `BRICK.Motor_Current_Sensor`
      - `BRICK.Motor_Direction_Status`
      - `BRICK.Motor_On_Off_Status`
      - `BRICK.Motor_Speed_Sensor`
      - `BRICK.Motor_Torque_Sensor`
      - `BRICK.NO2_Level_Sensor`
      - `BRICK.NVR`
      - `BRICK.Natural_Gas`
      - `BRICK.Natural_Gas_Boiler`
      - `BRICK.Network_Video_Recorder`
      - `BRICK.No_Water_Alarm`
      - `BRICK.Noncondensing_Natural_Gas_Boiler`
      - `BRICK.Occupancy_Command`
      - `BRICK.Occupancy_Sensor`
      - `BRICK.Occupancy_Status`
      - `BRICK.Occupied_Air_Temperature_Setpoint`
      - `BRICK.Occupied_Cooling_Discharge_Air_Flow_Setpoint`
      - `BRICK.Occupied_Cooling_Supply_Air_Flow_Setpoint`
      - `BRICK.Occupied_Cooling_Temperature_Deadband_Setpoint`
      - `BRICK.Occupied_Discharge_Air_Flow_Setpoint`
      - `BRICK.Occupied_Discharge_Air_Temperature_Setpoint`
      - `BRICK.Occupied_Heating_Discharge_Air_Flow_Setpoint`
      - `BRICK.Occupied_Heating_Supply_Air_Flow_Setpoint`
      - `BRICK.Occupied_Heating_Temperature_Deadband_Setpoint`
      - `BRICK.Occupied_Mode_Status`
      - `BRICK.Occupied_Return_Air_Temperature_Setpoint`
      - `BRICK.Occupied_Room_Air_Temperature_Setpoint`
      - `BRICK.Occupied_Supply_Air_Flow_Setpoint`
      - `BRICK.Occupied_Supply_Air_Temperature_Setpoint`
      - `BRICK.Occupied_Zone_Air_Temperature_Setpoint`
      - `BRICK.Off_Command`
      - `BRICK.Off_Status`
      - `BRICK.Office`
      - `BRICK.Office_Kitchen`
      - `BRICK.Oil`
      - `BRICK.On_Command`
      - `BRICK.On_Off_Command`
      - `BRICK.On_Off_Status`
      - `BRICK.On_Status`
      - `BRICK.On_Timer_Sensor`
      - `BRICK.Open_Close_Status`
      - `BRICK.Open_Heating_Valve_Outside_Air_Temperature_Setpoint`
      - `BRICK.Open_Office`
      - `BRICK.Operating_Mode_Status`
      - `BRICK.Outdoor_Area`
      - `BRICK.Output_Frequency_Sensor`
      - `BRICK.Output_Voltage_Sensor`
      - `BRICK.Outside`
      - `BRICK.Outside_Air`
      - `BRICK.Outside_Air_CO2_Sensor`
      - `BRICK.Outside_Air_CO_Sensor`
      - `BRICK.Outside_Air_Dewpoint_Sensor`
      - `BRICK.Outside_Air_Enthalpy_Sensor`
      - `BRICK.Outside_Air_Flow_Sensor`
      - `BRICK.Outside_Air_Flow_Setpoint`
      - `BRICK.Outside_Air_Grains_Sensor`
      - `BRICK.Outside_Air_Humidity_Sensor`
      - `BRICK.Outside_Air_Humidity_Setpoint`
      - `BRICK.Outside_Air_Lockout_Temperature_Differential_Parameter`
      - `BRICK.Outside_Air_Lockout_Temperature_Setpoint`
      - `BRICK.Outside_Air_Temperature_Enable_Differential_Sensor`
      - `BRICK.Outside_Air_Temperature_High_Reset_Setpoint`
      - `BRICK.Outside_Air_Temperature_Low_Reset_Setpoint`
      - `BRICK.Outside_Air_Temperature_Sensor`
      - `BRICK.Outside_Air_Temperature_Setpoint`
      - `BRICK.Outside_Air_Wet_Bulb_Temperature_Sensor`
      - `BRICK.Outside_Damper`
      - `BRICK.Outside_Face_Surface_Temperature_Sensor`
      - `BRICK.Outside_Face_Surface_Temperature_Setpoint`
      - `BRICK.Outside_Illuminance_Sensor`
      - `BRICK.Overload_Alarm`
      - `BRICK.Overridden_Off_Status`
      - `BRICK.Overridden_On_Status`
      - `BRICK.Overridden_Status`
      - `BRICK.Override_Command`
      - `BRICK.Ozone_Level_Sensor`
      - `BRICK.PAU`
      - `BRICK.PID_Parameter`
      - `BRICK.PIR_Sensor`
      - `BRICK.PM10_Level_Sensor`
      - `BRICK.PM10_Sensor`
      - `BRICK.PM1_Level_Sensor`
      - `BRICK.PM1_Sensor`
      - `BRICK.PVT_Panel`
      - `BRICK.PV_Array`
      - `BRICK.PV_Current_Output_Sensor`
      - `BRICK.PV_Generation_System`
      - `BRICK.PV_Panel`
      - `BRICK.Parameter`
      - `BRICK.Parking_Level`
      - `BRICK.Parking_Space`
      - `BRICK.Parking_Structure`
      - `BRICK.Particulate_Matter_Sensor`
      - `BRICK.Passive_Chilled_Beam`
      - `BRICK.Peak_Power_Demand_Sensor`
      - `BRICK.Photovoltaic_Array`
      - `BRICK.Photovoltaic_Current_Output_Sensor`
      - `BRICK.Piezoelectric_Sensor`
      - `BRICK.PlugStrip`
      - `BRICK.Plumbing_Room`
      - `BRICK.Point`
      - `BRICK.Portfolio`
      - `BRICK.Position_Command`
      - `BRICK.Position_Limit`
      - `BRICK.Position_Sensor`
      - `BRICK.Potable_Water`
      - `BRICK.Power_Alarm`
      - `BRICK.Power_Loss_Alarm`
      - `BRICK.Power_Sensor`
      - `BRICK.Prayer_Room`
      - `BRICK.Pre_Filter`
      - `BRICK.Pre_Filter_Status`
      - `BRICK.Preheat_Demand_Setpoint`
      - `BRICK.Preheat_Discharge_Air_Temperature_Sensor`
      - `BRICK.Preheat_Hot_Water_System`
      - `BRICK.Preheat_Hot_Water_Valve`
      - `BRICK.Preheat_Supply_Air_Temperature_Sensor`
      - `BRICK.Pressure_Alarm`
      - `BRICK.Pressure_Sensor`
      - `BRICK.Pressure_Setpoint`
      - `BRICK.Pressure_Status`
      - `BRICK.Private_Office`
      - `BRICK.Proportional_Band_Parameter`
      - `BRICK.Proportional_Gain_Parameter`
      - `BRICK.Pump`
      - `BRICK.Pump_Command`
      - `BRICK.Pump_On_Off_Status`
      - `BRICK.Pump_Room`
      - `BRICK.Pump_VFD`
      - `BRICK.Quantity`
      - `BRICK.RC_Panel`
      - `BRICK.RTU`
      - `BRICK.RVAV`
      - `BRICK.Radiant_Ceiling_Panel`
      - `BRICK.Radiant_Panel`
      - `BRICK.Radiant_Panel_Temperature_Sensor`
      - `BRICK.Radiant_Panel_Temperature_Setpoint`
      - `BRICK.Radiation_Hot_Water_System`
      - `BRICK.Radiator`
      - `BRICK.Radioactivity_Concentration_Sensor`
      - `BRICK.Radon_Concentration_Sensor`
      - `BRICK.Rain_Duration_Sensor`
      - `BRICK.Rain_Sensor`
      - `BRICK.Rated_Speed_Setpoint`
      - `BRICK.Reactive_Power_Sensor`
      - `BRICK.Reception`
      - `BRICK.Region`
      - `BRICK.Reheat_Hot_Water_System`
      - `BRICK.Reheat_Valve`
      - `BRICK.Relative_Humidity_Sensor`
      - `BRICK.Relief_Damper`
      - `BRICK.Relief_Fan`
      - `BRICK.Remotely_On_Off_Status`
      - `BRICK.Reset_Command`
      - `BRICK.Reset_Setpoint`
      - `BRICK.Rest_Room`
      - `BRICK.Restroom`
      - `BRICK.Retail_Room`
      - `BRICK.Return_Air`
      - `BRICK.Return_Air_CO2_Sensor`
      - `BRICK.Return_Air_CO2_Setpoint`
      - `BRICK.Return_Air_CO_Sensor`
      - `BRICK.Return_Air_Dewpoint_Sensor`
      - `BRICK.Return_Air_Differential_Pressure_Sensor`
      - `BRICK.Return_Air_Differential_Pressure_Setpoint`
      - `BRICK.Return_Air_Enthalpy_Sensor`
      - `BRICK.Return_Air_Filter`
      - `BRICK.Return_Air_Flow_Sensor`
      - `BRICK.Return_Air_Grains_Sensor`
      - `BRICK.Return_Air_Humidity_Sensor`
      - `BRICK.Return_Air_Humidity_Setpoint`
      - `BRICK.Return_Air_Plenum`
      - `BRICK.Return_Air_Temperature_Alarm`
      - `BRICK.Return_Air_Temperature_High_Reset_Setpoint`
      - `BRICK.Return_Air_Temperature_Low_Reset_Setpoint`
      - `BRICK.Return_Air_Temperature_Sensor`
      - `BRICK.Return_Air_Temperature_Setpoint`
      - `BRICK.Return_Chilled_Water_Temperature_Setpoint`
      - `BRICK.Return_Condenser_Water`
      - `BRICK.Return_Condenser_Water_Flow_Sensor`
      - `BRICK.Return_Condenser_Water_Temperature_Sensor`
      - `BRICK.Return_Condenser_Water_Temperature_Setpoint`
      - `BRICK.Return_Damper`
      - `BRICK.Return_Fan`
      - `BRICK.Return_Heating_Valve`
      - `BRICK.Return_Hot_Water`
      - `BRICK.Return_Hot_Water_Temperature_Setpoint`
      - `BRICK.Return_Water`
      - `BRICK.Return_Water_Flow_Sensor`
      - `BRICK.Return_Water_Temperature_Sensor`
      - `BRICK.Return_Water_Temperature_Setpoint`
      - `BRICK.Riser`
      - `BRICK.Rooftop`
      - `BRICK.Rooftop_Unit`
      - `BRICK.Room`
      - `BRICK.Room_Air_Temperature_Setpoint`
      - `BRICK.Run_Enable_Command`
      - `BRICK.Run_Request_Status`
      - `BRICK.Run_Status`
      - `BRICK.Run_Time_Sensor`
      - `BRICK.Safety_Equipment`
      - `BRICK.Safety_Shower`
      - `BRICK.Safety_System`
      - `BRICK.Sash_Position_Sensor`
      - `BRICK.Schedule_Temperature_Setpoint`
      - `BRICK.Security_Equipment`
      - `BRICK.Security_Service_Room`
      - `BRICK.Sensor`
      - `BRICK.Server_Room`
      - `BRICK.Service_Room`
      - `BRICK.Setpoint`
      - `BRICK.Shading_System`
      - `BRICK.Shared_Office`
      - `BRICK.Short_Cycle_Alarm`
      - `BRICK.Shower`
      - `BRICK.Site`
      - `BRICK.Smoke_Alarm`
      - `BRICK.Smoke_Detection_Alarm`
      - `BRICK.Solar_Azimuth_Angle_Sensor`
      - `BRICK.Solar_Radiance_Sensor`
      - `BRICK.Solar_Thermal_Collector`
      - `BRICK.Solar_Zenith_Angle_Sensor`
      - `BRICK.Solid`
      - `BRICK.Space`
      - `BRICK.Space_Heater`
      - `BRICK.Speed_Reset_Command`
      - `BRICK.Speed_Sensor`
      - `BRICK.Speed_Setpoint`
      - `BRICK.Speed_Setpoint_Limit`
      - `BRICK.Speed_Status`
      - `BRICK.Sports_Service_Room`
      - `BRICK.Stage_Enable_Command`
      - `BRICK.Stage_Riser`
      - `BRICK.Stages_Status`
      - `BRICK.Staircase`
      - `BRICK.Standby_CRAC`
      - `BRICK.Standby_Fan`
      - `BRICK.Standby_Glycool_Unit_On_Off_Status`
      - `BRICK.Standby_Load_Shed_Command`
      - `BRICK.Standby_Unit_On_Off_Status`
      - `BRICK.Start_Stop_Command`
      - `BRICK.Start_Stop_Status`
      - `BRICK.Static_Pressure_Deadband_Setpoint`
      - `BRICK.Static_Pressure_Integral_Time_Parameter`
      - `BRICK.Static_Pressure_Proportional_Band_Parameter`
      - `BRICK.Static_Pressure_Sensor`
      - `BRICK.Static_Pressure_Setpoint`
      - `BRICK.Static_Pressure_Setpoint_Limit`
      - `BRICK.Static_Pressure_Step_Parameter`
      - `BRICK.Status`
      - `BRICK.Steam`
      - `BRICK.Steam_Baseboard_Radiator`
      - `BRICK.Steam_Distribution`
      - `BRICK.Steam_On_Off_Command`
      - `BRICK.Steam_Radiator`
      - `BRICK.Steam_System`
      - `BRICK.Steam_Usage_Sensor`
      - `BRICK.Steam_Valve`
      - `BRICK.Step_Parameter`
      - `BRICK.Storage_Room`
      - `BRICK.Storey`
      - `BRICK.Studio`
      - `BRICK.Substance`
      - `BRICK.Supply_Air`
      - `BRICK.Supply_Air_Differential_Pressure_Sensor`
      - `BRICK.Supply_Air_Differential_Pressure_Setpoint`
      - `BRICK.Supply_Air_Duct_Pressure_Status`
      - `BRICK.Supply_Air_Flow_Demand_Setpoint`
      - `BRICK.Supply_Air_Flow_Sensor`
      - `BRICK.Supply_Air_Flow_Setpoint`
      - `BRICK.Supply_Air_Humidity_Sensor`
      - `BRICK.Supply_Air_Humidity_Setpoint`
      - `BRICK.Supply_Air_Integral_Gain_Parameter`
      - `BRICK.Supply_Air_Plenum`
      - `BRICK.Supply_Air_Proportional_Gain_Parameter`
      - `BRICK.Supply_Air_Static_Pressure_Deadband_Setpoint`
      - `BRICK.Supply_Air_Static_Pressure_Integral_Time_Parameter`
      - `BRICK.Supply_Air_Static_Pressure_Proportional_Band_Parameter`
      - `BRICK.Supply_Air_Static_Pressure_Sensor`
      - `BRICK.Supply_Air_Static_Pressure_Setpoint`
      - `BRICK.Supply_Air_Temperature_Alarm`
      - `BRICK.Supply_Air_Temperature_Deadband_Setpoint`
      - `BRICK.Supply_Air_Temperature_High_Reset_Setpoint`
      - `BRICK.Supply_Air_Temperature_Low_Reset_Setpoint`
      - `BRICK.Supply_Air_Temperature_Proportional_Band_Parameter`
      - `BRICK.Supply_Air_Temperature_Reset_Differential_Setpoint`
      - `BRICK.Supply_Air_Temperature_Sensor`
      - `BRICK.Supply_Air_Temperature_Setpoint`
      - `BRICK.Supply_Air_Temperature_Step_Parameter`
      - `BRICK.Supply_Air_Velocity_Pressure_Sensor`
      - `BRICK.Supply_Chilled_Water`
      - `BRICK.Supply_Chilled_Water_Temperature_Setpoint`
      - `BRICK.Supply_Condenser_Water`
      - `BRICK.Supply_Condenser_Water_Flow_Sensor`
      - `BRICK.Supply_Condenser_Water_Temperature_Sensor`
      - `BRICK.Supply_Condenser_Water_Temperature_Setpoint`
      - `BRICK.Supply_Fan`
      - `BRICK.Supply_Hot_Water`
      - `BRICK.Supply_Hot_Water_Temperature_Setpoint`
      - `BRICK.Supply_Water`
      - `BRICK.Supply_Water_Differential_Pressure_Deadband_Setpoint`
      - `BRICK.Supply_Water_Differential_Pressure_Integral_Time_Parameter`
      - `BRICK.Supply_Water_Differential_Pressure_Proportional_Band_Parameter`
      - `BRICK.Supply_Water_Flow_Sensor`
      - `BRICK.Supply_Water_Flow_Setpoint`
      - `BRICK.Supply_Water_Temperature_Alarm`
      - `BRICK.Supply_Water_Temperature_Deadband_Setpoint`
      - `BRICK.Supply_Water_Temperature_Integral_Time_Parameter`
      - `BRICK.Supply_Water_Temperature_Proportional_Band_Parameter`
      - `BRICK.Supply_Water_Temperature_Setpoint`
      - `BRICK.Surveillance_Camera`
      - `BRICK.Switch`
      - `BRICK.Switch_Room`
      - `BRICK.Switchgear`
      - `BRICK.System`
      - `BRICK.System_Enable_Command`
      - `BRICK.System_Shutdown_Status`
      - `BRICK.System_Status`
      - `BRICK.TABS_Panel`
      - `BRICK.TETRA_Room`
      - `BRICK.TVOC_Level_Sensor`
      - `BRICK.TVOC_Sensor`
      - `BRICK.Team_Room`
      - `BRICK.Telecom_Room`
      - `BRICK.Temperature_Alarm`
      - `BRICK.Temperature_Deadband_Setpoint`
      - `BRICK.Temperature_Differential_Reset_Setpoint`
      - `BRICK.Temperature_High_Reset_Setpoint`
      - `BRICK.Temperature_Low_Reset_Setpoint`
      - `BRICK.Temperature_Parameter`
      - `BRICK.Temperature_Sensor`
      - `BRICK.Temperature_Setpoint`
      - `BRICK.Temperature_Step_Parameter`
      - `BRICK.Temperature_Tolerance_Parameter`
      - `BRICK.Temporary_Occupancy_Status`
      - `BRICK.Terminal_Unit`
      - `BRICK.Thermal_Power_Meter`
      - `BRICK.Thermal_Power_Sensor`
      - `BRICK.Thermally_Activated_Building_System_Panel`
      - `BRICK.Thermostat`
      - `BRICK.Ticketing_Booth`
      - `BRICK.Time_Parameter`
      - `BRICK.Time_Setpoint`
      - `BRICK.Tolerance_Parameter`
      - `BRICK.Torque_Sensor`
      - `BRICK.Touchpanel`
      - `BRICK.Trace_Heat_Sensor`
      - `BRICK.Transformer`
      - `BRICK.Transformer_Room`
      - `BRICK.Tunnel`
      - `BRICK.Underfloor_Air_Plenum`
      - `BRICK.Underfloor_Air_Plenum_Static_Pressure_Sensor`
      - `BRICK.Underfloor_Air_Plenum_Static_Pressure_Setpoint`
      - `BRICK.Underfloor_Air_Temperature_Sensor`
      - `BRICK.Unit_Failure_Alarm`
      - `BRICK.Unoccupied_Air_Temperature_Cooling_Setpoint`
      - `BRICK.Unoccupied_Air_Temperature_Heating_Setpoint`
      - `BRICK.Unoccupied_Air_Temperature_Setpoint`
      - `BRICK.Unoccupied_Cooling_Discharge_Air_Flow_Setpoint`
      - `BRICK.Unoccupied_Discharge_Air_Temperature_Setpoint`
      - `BRICK.Unoccupied_Load_Shed_Command`
      - `BRICK.Unoccupied_Return_Air_Temperature_Setpoint`
      - `BRICK.Unoccupied_Room_Air_Temperature_Setpoint`
      - `BRICK.Unoccupied_Supply_Air_Temperature_Setpoint`
      - `BRICK.Unoccupied_Zone_Air_Temperature_Setpoint`
      - `BRICK.Usage_Sensor`
      - `BRICK.VAV`
      - `BRICK.VFD`
      - `BRICK.VFD_Enable_Command`
      - `BRICK.Valve`
      - `BRICK.Valve_Command`
      - `BRICK.Valve_Position_Sensor`
      - `BRICK.Variable_Air_Volume_Box`
      - `BRICK.Variable_Air_Volume_Box_With_Reheat`
      - `BRICK.Variable_Frequency_Drive`
      - `BRICK.Velocity_Pressure_Sensor`
      - `BRICK.Velocity_Pressure_Setpoint`
      - `BRICK.Vent_Operating_Mode_Status`
      - `BRICK.Ventilation_Air_Flow_Ratio_Limit`
      - `BRICK.Ventilation_Air_System`
      - `BRICK.Vertical_Space`
      - `BRICK.Video_Intercom`
      - `BRICK.Video_Surveillance_Equipment`
      - `BRICK.Visitor_Lobby`
      - `BRICK.Voltage_Imbalance_Sensor`
      - `BRICK.Voltage_Sensor`
      - `BRICK.Wardrobe`
      - `BRICK.Warm_Cool_Adjust_Sensor`
      - `BRICK.Warmest_Zone_Air_Temperature_Sensor`
      - `BRICK.Waste_Storage`
      - `BRICK.Water`
      - `BRICK.Water_Alarm`
      - `BRICK.Water_Differential_Pressure_Setpoint`
      - `BRICK.Water_Differential_Temperature_Sensor`
      - `BRICK.Water_Differential_Temperature_Setpoint`
      - `BRICK.Water_Distribution`
      - `BRICK.Water_Flow_Sensor`
      - `BRICK.Water_Flow_Setpoint`
      - `BRICK.Water_Heater`
      - `BRICK.Water_Level_Alarm`
      - `BRICK.Water_Level_Sensor`
      - `BRICK.Water_Loop`
      - `BRICK.Water_Loss_Alarm`
      - `BRICK.Water_Meter`
      - `BRICK.Water_Pump`
      - `BRICK.Water_System`
      - `BRICK.Water_Tank`
      - `BRICK.Water_Temperature_Alarm`
      - `BRICK.Water_Temperature_Sensor`
      - `BRICK.Water_Temperature_Setpoint`
      - `BRICK.Water_Usage_Sensor`
      - `BRICK.Water_Valve`
      - `BRICK.Weather_Station`
      - `BRICK.Wind_Direction_Sensor`
      - `BRICK.Wind_Speed_Sensor`
      - `BRICK.Wing`
      - `BRICK.Workshop`
      - `BRICK.Zone`
      - `BRICK.Zone_Air`
      - `BRICK.Zone_Air_Cooling_Temperature_Setpoint`
      - `BRICK.Zone_Air_Dewpoint_Sensor`
      - `BRICK.Zone_Air_Heating_Temperature_Setpoint`
      - `BRICK.Zone_Air_Humidity_Sensor`
      - `BRICK.Zone_Air_Humidity_Setpoint`
      - `BRICK.Zone_Air_Temperature_Sensor`
      - `BRICK.Zone_Air_Temperature_Setpoint`
      - `BRICK.Zone_Standby_Load_Shed_Command`
      - `BRICK.Zone_Unoccupied_Load_Shed_Command`
      - `BRICK.aggregate`
      - `BRICK.area`
      - `BRICK.azimuth`
      - `BRICK.buildingPrimaryFunction`
      - `BRICK.buildingThermalTransmittance`
      - `BRICK.conversionEfficiency`
      - `BRICK.coolingCapacity`
      - `BRICK.coordinates`
      - `BRICK.currentFlowType`
      - `BRICK.electricalPhaseCount`
      - `BRICK.electricalPhases`
      - `BRICK.feeds`
      - `BRICK.feedsAir`
      - `BRICK.grossArea`
      - `BRICK.hasAddress`
      - `BRICK.hasAssociatedTag`
      - `BRICK.hasInputSubstance`
      - `BRICK.hasLocation`
      - `BRICK.hasOutputSubstance`
      - `BRICK.hasPart`
      - `BRICK.hasPoint`
      - `BRICK.hasQUDTReference`
      - `BRICK.hasTag`
      - `BRICK.hasTimeseriesId`
      - `BRICK.hasUnit`
      - `BRICK.isAssociatedWith`
      - `BRICK.isFedBy`
      - `BRICK.isLocationOf`
      - `BRICK.isMeasuredBy`
      - `BRICK.isPartOf`
      - `BRICK.isPointOf`
      - `BRICK.isRegulatedBy`
      - `BRICK.isTagOf`
      - `BRICK.latitude`
      - `BRICK.longitude`
      - `BRICK.measuredModuleConversionEfficiency`
      - `BRICK.measuredPowerOutput`
      - `BRICK.measures`
      - `BRICK.netArea`
      - `BRICK.operationalStage`
      - `BRICK.operationalStageCount`
      - `BRICK.panelArea`
      - `BRICK.powerComplexity`
      - `BRICK.powerFlow`
      - `BRICK.ratedModuleConversionEfficiency`
      - `BRICK.ratedPowerOutput`
      - `BRICK.regulates`
      - `BRICK.storedAt`
      - `BRICK.temperatureCoefficientofPmax`
      - `BRICK.thermalTransmittance`
      - `BRICK.tilt`
      - `BRICK.timeseries`
      - `BRICK.value`
      - `BRICK.volume`
      - `BRICK.yearBuilt`
    - `CSVW`
      - `CSVW.Cell`
      - `CSVW.Column`
      - `CSVW.Datatype`
      - `CSVW.Dialect`
      - `CSVW.Direction`
      - `CSVW.ForeignKey`
      - `CSVW.JSON`
      - `CSVW.NumericFormat`
      - `CSVW.Row`
      - `CSVW.Schema`
      - `CSVW.Table`
      - `CSVW.TableGroup`
      - `CSVW.TableReference`
      - `CSVW.Transformation`
      - `CSVW.aboutUrl`
      - `CSVW.auto`
      - `CSVW.base`
      - `CSVW.column`
      - `CSVW.columnReference`
      - `CSVW.commentPrefix`
      - `CSVW.csvEncodedTabularData`
      - `CSVW.datatype`
      - `CSVW.decimalChar`
      - `CSVW.default`
      - `CSVW.delimiter`
      - `CSVW.describes`
      - `CSVW.dialect`
      - `CSVW.doubleQuote`
      - `CSVW.encoding`
      - `CSVW.foreignKey`
      - `CSVW.format`
      - `CSVW.groupChar`
      - `CSVW.header`
      - `CSVW.headerRowCount`
      - `CSVW.inherit`
      - `CSVW.lang`
      - `CSVW.length`
      - `CSVW.lineTerminators`
      - `CSVW.ltr`
      - `CSVW.maxExclusive`
      - `CSVW.maxInclusive`
      - `CSVW.maxLength`
      - `CSVW.minExclusive`
      - `CSVW.minInclusive`
      - `CSVW.minLength`
      - `CSVW.name`
      - `CSVW.note`
      - `CSVW.null`
      - `CSVW.ordered`
      - `CSVW.pattern`
      - `CSVW.primaryKey`
      - `CSVW.propertyUrl`
      - `CSVW.quoteChar`
      - `CSVW.reference`
      - `CSVW.referencedRow`
      - `CSVW.required`
      - `CSVW.resource`
      - `CSVW.row`
      - `CSVW.rowTitle`
      - `CSVW.rownum`
      - `CSVW.rtl`
      - `CSVW.schemaReference`
      - `CSVW.scriptFormat`
      - `CSVW.separator`
      - `CSVW.skipBlankRows`
      - `CSVW.skipColumns`
      - `CSVW.skipInitialSpace`
      - `CSVW.skipRows`
      - `CSVW.source`
      - `CSVW.suppressOutput`
      - `CSVW.table`
      - `CSVW.tableDirection`
      - `CSVW.tableSchema`
      - `CSVW.tabularMetadata`
      - `CSVW.targetFormat`
      - `CSVW.textDirection`
      - `CSVW.title`
      - `CSVW.transformations`
      - `CSVW.trim`
      - `CSVW.uriTemplate`
      - `CSVW.url`
      - `CSVW.valueUrl`
      - `CSVW.virtual`
    - `ClosedNamespace`
      - `ClosedNamespace.__annotations__`
      - `ClosedNamespace.__contains__()`
      - `ClosedNamespace.__dir__()`
      - `ClosedNamespace.__getattr__()`
      - `ClosedNamespace.__getitem__()`
      - `ClosedNamespace.__module__`
      - `ClosedNamespace.__new__()`
      - `ClosedNamespace.__repr__()`
      - `ClosedNamespace.term()`
      - `ClosedNamespace.uri`
    - `DC`
      - `DC.contributor`
      - `DC.coverage`
      - `DC.creator`
      - `DC.date`
      - `DC.description`
      - `DC.format`
      - `DC.identifier`
      - `DC.language`
      - `DC.publisher`
      - `DC.relation`
      - `DC.rights`
      - `DC.source`
      - `DC.subject`
      - `DC.title`
      - `DC.type`
    - `DCAM`
      - `DCAM.VocabularyEncodingScheme`
      - `DCAM.domainIncludes`
      - `DCAM.memberOf`
      - `DCAM.rangeIncludes`
    - `DCAT`
      - `DCAT.Catalog`
      - `DCAT.CatalogRecord`
      - `DCAT.DataService`
      - `DCAT.Dataset`
      - `DCAT.Distribution`
      - `DCAT.Relationship`
      - `DCAT.Resource`
      - `DCAT.Role`
      - `DCAT.accessService`
      - `DCAT.accessURL`
      - `DCAT.bbox`
      - `DCAT.byteSize`
      - `DCAT.catalog`
      - `DCAT.centroid`
      - `DCAT.compressFormat`
      - `DCAT.contactPoint`
      - `DCAT.dataset`
      - `DCAT.distribution`
      - `DCAT.downloadURL`
      - `DCAT.endDate`
      - `DCAT.endpointDescription`
      - `DCAT.endpointURL`
      - `DCAT.hadRole`
      - `DCAT.keyword`
      - `DCAT.landingPage`
      - `DCAT.mediaType`
      - `DCAT.packageFormat`
      - `DCAT.qualifiedRelation`
      - `DCAT.record`
      - `DCAT.servesDataset`
      - `DCAT.service`
      - `DCAT.spatialResolutionInMeters`
      - `DCAT.startDate`
      - `DCAT.temporalResolution`
      - `DCAT.theme`
      - `DCAT.themeTaxonomy`
    - `DCMITYPE`
      - `DCMITYPE.Collection`
      - `DCMITYPE.Dataset`
      - `DCMITYPE.Event`
      - `DCMITYPE.Image`
      - `DCMITYPE.InteractiveResource`
      - `DCMITYPE.MovingImage`
      - `DCMITYPE.PhysicalObject`
      - `DCMITYPE.Service`
      - `DCMITYPE.Software`
      - `DCMITYPE.Sound`
      - `DCMITYPE.StillImage`
      - `DCMITYPE.Text`
    - `DCTERMS`
      - `DCTERMS.Agent`
      - `DCTERMS.AgentClass`
      - `DCTERMS.BibliographicResource`
      - `DCTERMS.Box`
      - `DCTERMS.DCMIType`
      - `DCTERMS.DDC`
      - `DCTERMS.FileFormat`
      - `DCTERMS.Frequency`
      - `DCTERMS.IMT`
      - `DCTERMS.ISO3166`
      - `DCTERMS.Jurisdiction`
      - `DCTERMS.LCC`
      - `DCTERMS.LCSH`
      - `DCTERMS.LicenseDocument`
      - `DCTERMS.LinguisticSystem`
      - `DCTERMS.Location`
      - `DCTERMS.LocationPeriodOrJurisdiction`
      - `DCTERMS.MESH`
      - `DCTERMS.MediaType`
      - `DCTERMS.MediaTypeOrExtent`
      - `DCTERMS.MethodOfAccrual`
      - `DCTERMS.MethodOfInstruction`
      - `DCTERMS.NLM`
      - `DCTERMS.Period`
      - `DCTERMS.PeriodOfTime`
      - `DCTERMS.PhysicalMedium`
      - `DCTERMS.PhysicalResource`
      - `DCTERMS.Point`
      - `DCTERMS.Policy`
      - `DCTERMS.ProvenanceStatement`
      - `DCTERMS.RFC1766`
      - `DCTERMS.RFC3066`
      - `DCTERMS.RFC4646`
      - `DCTERMS.RFC5646`
      - `DCTERMS.RightsStatement`
      - `DCTERMS.SizeOrDuration`
      - `DCTERMS.Standard`
      - `DCTERMS.TGN`
      - `DCTERMS.UDC`
      - `DCTERMS.URI`
      - `DCTERMS.W3CDTF`
      - `DCTERMS.abstract`
      - `DCTERMS.accessRights`
      - `DCTERMS.accrualMethod`
      - `DCTERMS.accrualPeriodicity`
      - `DCTERMS.accrualPolicy`
      - `DCTERMS.alternative`
      - `DCTERMS.audience`
      - `DCTERMS.available`
      - `DCTERMS.bibliographicCitation`
      - `DCTERMS.conformsTo`
      - `DCTERMS.contributor`
      - `DCTERMS.coverage`
      - `DCTERMS.created`
      - `DCTERMS.creator`
      - `DCTERMS.date`
      - `DCTERMS.dateAccepted`
      - `DCTERMS.dateCopyrighted`
      - `DCTERMS.dateSubmitted`
      - `DCTERMS.description`
      - `DCTERMS.educationLevel`
      - `DCTERMS.extent`
      - `DCTERMS.format`
      - `DCTERMS.hasFormat`
      - `DCTERMS.hasPart`
      - `DCTERMS.hasVersion`
      - `DCTERMS.identifier`
      - `DCTERMS.instructionalMethod`
      - `DCTERMS.isFormatOf`
      - `DCTERMS.isPartOf`
      - `DCTERMS.isReferencedBy`
      - `DCTERMS.isReplacedBy`
      - `DCTERMS.isRequiredBy`
      - `DCTERMS.isVersionOf`
      - `DCTERMS.issued`
      - `DCTERMS.language`
      - `DCTERMS.license`
      - `DCTERMS.mediator`
      - `DCTERMS.medium`
      - `DCTERMS.modified`
      - `DCTERMS.provenance`
      - `DCTERMS.publisher`
      - `DCTERMS.references`
      - `DCTERMS.relation`
      - `DCTERMS.replaces`
      - `DCTERMS.requires`
      - `DCTERMS.rights`
      - `DCTERMS.rightsHolder`
      - `DCTERMS.source`
      - `DCTERMS.spatial`
      - `DCTERMS.subject`
      - `DCTERMS.tableOfContents`
      - `DCTERMS.temporal`
      - `DCTERMS.title`
      - `DCTERMS.type`
      - `DCTERMS.valid`
    - `DOAP`
      - `DOAP.ArchRepository`
      - `DOAP.BKRepository`
      - `DOAP.BazaarBranch`
      - `DOAP.CVSRepository`
      - `DOAP.DarcsRepository`
      - `DOAP.GitBranch`
      - `DOAP.GitRepository`
      - `DOAP.HgRepository`
      - `DOAP.Project`
      - `DOAP.Repository`
      - `DOAP.SVNRepository`
      - `DOAP.Specification`
      - `DOAP.Version`
      - `DOAP.audience`
      - `DOAP.blog`
      - `DOAP.browse`
      - `DOAP.category`
      - `DOAP.created`
      - `DOAP.description`
      - `DOAP.developer`
      - `DOAP.documentation`
      - `DOAP.documenter`
      - `DOAP.helper`
      - `DOAP.homepage`
      - `DOAP.implements`
      - `DOAP.language`
      - `DOAP.license`
      - `DOAP.location`
      - `DOAP.maintainer`
      - `DOAP.module`
      - `DOAP.name`
      - `DOAP.os`
      - `DOAP.platform`
      - `DOAP.release`
      - `DOAP.repository`
      - `DOAP.repositoryOf`
      - `DOAP.revision`
      - `DOAP.screenshots`
      - `DOAP.shortdesc`
      - `DOAP.tester`
      - `DOAP.translator`
      - `DOAP.vendor`
      - `DOAP.wiki`
    - `DefinedNamespace`
      - `DefinedNamespace.__slots__`
    - `FOAF`
      - `FOAF.Agent`
      - `FOAF.Document`
      - `FOAF.Group`
      - `FOAF.Image`
      - `FOAF.LabelProperty`
      - `FOAF.OnlineAccount`
      - `FOAF.OnlineChatAccount`
      - `FOAF.OnlineEcommerceAccount`
      - `FOAF.OnlineGamingAccount`
      - `FOAF.Organization`
      - `FOAF.Person`
      - `FOAF.PersonalProfileDocument`
      - `FOAF.Project`
      - `FOAF.account`
      - `FOAF.accountName`
      - `FOAF.accountServiceHomepage`
      - `FOAF.age`
      - `FOAF.aimChatID`
      - `FOAF.based_near`
      - `FOAF.birthday`
      - `FOAF.currentProject`
      - `FOAF.depiction`
      - `FOAF.depicts`
      - `FOAF.dnaChecksum`
      - `FOAF.familyName`
      - `FOAF.family_name`
      - `FOAF.firstName`
      - `FOAF.focus`
      - `FOAF.fundedBy`
      - `FOAF.geekcode`
      - `FOAF.gender`
      - `FOAF.givenName`
      - `FOAF.givenname`
      - `FOAF.holdsAccount`
      - `FOAF.homepage`
      - `FOAF.icqChatID`
      - `FOAF.img`
      - `FOAF.interest`
      - `FOAF.isPrimaryTopicOf`
      - `FOAF.jabberID`
      - `FOAF.knows`
      - `FOAF.lastName`
      - `FOAF.logo`
      - `FOAF.made`
      - `FOAF.maker`
      - `FOAF.mbox`
      - `FOAF.mbox_sha1sum`
      - `FOAF.member`
      - `FOAF.membershipClass`
      - `FOAF.msnChatID`
      - `FOAF.myersBriggs`
      - `FOAF.name`
      - `FOAF.nick`
      - `FOAF.openid`
      - `FOAF.page`
      - `FOAF.pastProject`
      - `FOAF.phone`
      - `FOAF.plan`
      - `FOAF.primaryTopic`
      - `FOAF.publications`
      - `FOAF.schoolHomepage`
      - `FOAF.sha1`
      - `FOAF.skypeID`
      - `FOAF.status`
      - `FOAF.surname`
      - `FOAF.theme`
      - `FOAF.thumbnail`
      - `FOAF.tipjar`
      - `FOAF.title`
      - `FOAF.topic`
      - `FOAF.topic_interest`
      - `FOAF.weblog`
      - `FOAF.workInfoHomepage`
      - `FOAF.workplaceHomepage`
      - `FOAF.yahooChatID`
    - `GEO`
      - `GEO.Feature`
      - `GEO.FeatureCollection`
      - `GEO.Geometry`
      - `GEO.GeometryCollection`
      - `GEO.SpatialObject`
      - `GEO.SpatialObjectCollection`
      - `GEO.asDGGS`
      - `GEO.asGML`
      - `GEO.asGeoJSON`
      - `GEO.asKML`
      - `GEO.asWKT`
      - `GEO.coordinateDimension`
      - `GEO.defaultGeometry`
      - `GEO.dggsLiteral`
      - `GEO.dimension`
      - `GEO.ehContains`
      - `GEO.ehCoveredBy`
      - `GEO.ehCovers`
      - `GEO.ehDisjoint`
      - `GEO.ehEquals`
      - `GEO.ehInside`
      - `GEO.ehMeet`
      - `GEO.ehOverlap`
      - `GEO.geoJSONLiteral`
      - `GEO.gmlLiteral`
      - `GEO.hasArea`
      - `GEO.hasBoundingBox`
      - `GEO.hasCentroid`
      - `GEO.hasDefaultGeometry`
      - `GEO.hasGeometry`
      - `GEO.hasLength`
      - `GEO.hasMetricArea`
      - `GEO.hasMetricLength`
      - `GEO.hasMetricPerimeterLength`
      - `GEO.hasMetricSize`
      - `GEO.hasMetricSpatialAccuracy`
      - `GEO.hasMetricSpatialResolution`
      - `GEO.hasMetricVolume`
      - `GEO.hasPerimeterLength`
      - `GEO.hasSerialization`
      - `GEO.hasSize`
      - `GEO.hasSpatialAccuracy`
      - `GEO.hasSpatialResolution`
      - `GEO.hasVolume`
      - `GEO.isEmpty`
      - `GEO.isSimple`
      - `GEO.kmlLiteral`
      - `GEO.rcc8dc`
      - `GEO.rcc8ec`
      - `GEO.rcc8eq`
      - `GEO.rcc8ntpp`
      - `GEO.rcc8ntppi`
      - `GEO.rcc8po`
      - `GEO.rcc8tpp`
      - `GEO.rcc8tppi`
      - `GEO.sfContains`
      - `GEO.sfCrosses`
      - `GEO.sfDisjoint`
      - `GEO.sfEquals`
      - `GEO.sfIntersects`
      - `GEO.sfOverlaps`
      - `GEO.sfTouches`
      - `GEO.sfWithin`
      - `GEO.spatialDimension`
      - `GEO.wktLiteral`
    - `Namespace`
      - `Namespace.__annotations__`
      - `Namespace.__contains__()`
      - `Namespace.__dict__`
      - `Namespace.__getattr__()`
      - `Namespace.__getitem__()`
      - `Namespace.__module__`
      - `Namespace.__new__()`
      - `Namespace.__repr__()`
      - `Namespace.__weakref__`
      - `Namespace.term()`
      - `Namespace.title`
    - `NamespaceManager`
      - `NamespaceManager.__contains__()`
      - `NamespaceManager.__dict__`
      - `NamespaceManager.__init__()`
      - `NamespaceManager.__module__`
      - `NamespaceManager.__weakref__`
      - `NamespaceManager.absolutize()`
      - `NamespaceManager.bind()`
      - `NamespaceManager.compute_qname()`
      - `NamespaceManager.compute_qname_strict()`
      - `NamespaceManager.curie()`
      - `NamespaceManager.expand_curie()`
      - `NamespaceManager.namespaces()`
      - `NamespaceManager.normalizeUri()`
      - `NamespaceManager.qname()`
      - `NamespaceManager.qname_strict()`
      - `NamespaceManager.reset()`
      - `NamespaceManager.store`
    - `ODRL2`
      - `ODRL2.Action`
      - `ODRL2.Agreement`
      - `ODRL2.All`
      - `ODRL2.All2ndConnections`
      - `ODRL2.AllConnections`
      - `ODRL2.AllGroups`
      - `ODRL2.Assertion`
      - `ODRL2.Asset`
      - `ODRL2.AssetCollection`
      - `ODRL2.AssetScope`
      - `ODRL2.ConflictTerm`
      - `ODRL2.Constraint`
      - `ODRL2.Duty`
      - `ODRL2.Group`
      - `ODRL2.Individual`
      - `ODRL2.LeftOperand`
      - `ODRL2.LogicalConstraint`
      - `ODRL2.Offer`
      - `ODRL2.Operator`
      - `ODRL2.Party`
      - `ODRL2.PartyCollection`
      - `ODRL2.PartyScope`
      - `ODRL2.Permission`
      - `ODRL2.Policy`
      - `ODRL2.Privacy`
      - `ODRL2.Prohibition`
      - `ODRL2.Request`
      - `ODRL2.RightOperand`
      - `ODRL2.Rule`
      - `ODRL2.Set`
      - `ODRL2.Ticket`
      - `ODRL2.UndefinedTerm`
      - `ODRL2.absolutePosition`
      - `ODRL2.absoluteSize`
      - `ODRL2.absoluteSpatialPosition`
      - `ODRL2.absoluteTemporalPosition`
      - `ODRL2.acceptTracking`
      - `ODRL2.action`
      - `ODRL2.adHocShare`
      - `ODRL2.aggregate`
      - `ODRL2.andSequence`
      - `ODRL2.annotate`
      - `ODRL2.anonymize`
      - `ODRL2.append`
      - `ODRL2.appendTo`
      - `ODRL2.archive`
      - `ODRL2.assignee`
      - `ODRL2.assigneeOf`
      - `ODRL2.assigner`
      - `ODRL2.assignerOf`
      - `ODRL2.attachPolicy`
      - `ODRL2.attachSource`
      - `ODRL2.attribute`
      - `ODRL2.attributedParty`
      - `ODRL2.attributingParty`
      - `ODRL2.commercialize`
      - `ODRL2.compensate`
      - `ODRL2.compensatedParty`
      - `ODRL2.compensatingParty`
      - `ODRL2.concurrentUse`
      - `ODRL2.conflict`
      - `ODRL2.consentedParty`
      - `ODRL2.consentingParty`
      - `ODRL2.consequence`
      - `ODRL2.constraint`
      - `ODRL2.contractedParty`
      - `ODRL2.contractingParty`
      - `ODRL2.copy`
      - `ODRL2.core`
      - `ODRL2.count`
      - `ODRL2.dataType`
      - `ODRL2.dateTime`
      - `ODRL2.delayPeriod`
      - `ODRL2.delete`
      - `ODRL2.deliveryChannel`
      - `ODRL2.derive`
      - `ODRL2.device`
      - `ODRL2.digitize`
      - `ODRL2.display`
      - `ODRL2.distribute`
      - `ODRL2.duty`
      - `ODRL2.elapsedTime`
      - `ODRL2.ensureExclusivity`
      - `ODRL2.eq`
      - `ODRL2.event`
      - `ODRL2.execute`
      - `ODRL2.export`
      - `ODRL2.extract`
      - `ODRL2.extractChar`
      - `ODRL2.extractPage`
      - `ODRL2.extractWord`
      - `ODRL2.failure`
      - `ODRL2.fileFormat`
      - `ODRL2.function`
      - `ODRL2.give`
      - `ODRL2.grantUse`
      - `ODRL2.gt`
      - `ODRL2.gteq`
      - `ODRL2.hasPart`
      - `ODRL2.hasPolicy`
      - `ODRL2.ignore`
      - `ODRL2.implies`
      - `ODRL2.include`
      - `ODRL2.includedIn`
      - `ODRL2.index`
      - `ODRL2.industry`
      - `ODRL2.inform`
      - `ODRL2.informedParty`
      - `ODRL2.informingParty`
      - `ODRL2.inheritAllowed`
      - `ODRL2.inheritFrom`
      - `ODRL2.inheritRelation`
      - `ODRL2.install`
      - `ODRL2.invalid`
      - `ODRL2.isA`
      - `ODRL2.isAllOf`
      - `ODRL2.isAnyOf`
      - `ODRL2.isNoneOf`
      - `ODRL2.isPartOf`
      - `ODRL2.language`
      - `ODRL2.lease`
      - `ODRL2.leftOperand`
      - `ODRL2.lend`
      - `ODRL2.license`
      - `ODRL2.lt`
      - `ODRL2.lteq`
      - `ODRL2.media`
      - `ODRL2.meteredTime`
      - `ODRL2.modify`
      - `ODRL2.move`
      - `ODRL2.neq`
      - `ODRL2.nextPolicy`
      - `ODRL2.obligation`
      - `ODRL2.obtainConsent`
      - `ODRL2.operand`
      - `ODRL2.operator`
      - `ODRL2.output`
      - `ODRL2.partOf`
      - `ODRL2.pay`
      - `ODRL2.payAmount`
      - `ODRL2.payeeParty`
      - `ODRL2.percentage`
      - `ODRL2.perm`
      - `ODRL2.permission`
      - `ODRL2.play`
      - `ODRL2.policyUsage`
      - `ODRL2.present`
      - `ODRL2.preview`
      - `ODRL2.print`
      - `ODRL2.product`
      - `ODRL2.profile`
      - `ODRL2.prohibit`
      - `ODRL2.prohibition`
      - `ODRL2.proximity`
      - `ODRL2.purpose`
      - `ODRL2.read`
      - `ODRL2.recipient`
      - `ODRL2.refinement`
      - `ODRL2.relation`
      - `ODRL2.relativePosition`
      - `ODRL2.relativeSize`
      - `ODRL2.relativeSpatialPosition`
      - `ODRL2.relativeTemporalPosition`
      - `ODRL2.remedy`
      - `ODRL2.reproduce`
      - `ODRL2.resolution`
      - `ODRL2.reviewPolicy`
      - `ODRL2.rightOperand`
      - `ODRL2.rightOperandReference`
      - `ODRL2.scope`
      - `ODRL2.secondaryUse`
      - `ODRL2.sell`
      - `ODRL2.share`
      - `ODRL2.shareAlike`
      - `ODRL2.source`
      - `ODRL2.spatial`
      - `ODRL2.spatialCoordinates`
      - `ODRL2.status`
      - `ODRL2.stream`
      - `ODRL2.support`
      - `ODRL2.synchronize`
      - `ODRL2.system`
      - `ODRL2.systemDevice`
      - `ODRL2.target`
      - `ODRL2.textToSpeech`
      - `ODRL2.timeInterval`
      - `ODRL2.timedCount`
      - `ODRL2.trackedParty`
      - `ODRL2.trackingParty`
      - `ODRL2.transfer`
      - `ODRL2.transform`
      - `ODRL2.translate`
      - `ODRL2.uid`
      - `ODRL2.undefined`
      - `ODRL2.uninstall`
      - `ODRL2.unit`
      - `ODRL2.unitOfCount`
      - `ODRL2.use`
      - `ODRL2.version`
      - `ODRL2.virtualLocation`
      - `ODRL2.watermark`
      - `ODRL2.write`
      - `ODRL2.writeTo`
      - `ODRL2.xone`
    - `ORG`
      - `ORG.ChangeEvent`
      - `ORG.FormalOrganization`
      - `ORG.Head`
      - `ORG.Membership`
      - `ORG.Organization`
      - `ORG.OrganizationalCollaboration`
      - `ORG.OrganizationalUnit`
      - `ORG.Post`
      - `ORG.Role`
      - `ORG.Site`
      - `ORG.basedAt`
      - `ORG.changedBy`
      - `ORG.classification`
      - `ORG.hasMember`
      - `ORG.hasMembership`
      - `ORG.hasPost`
      - `ORG.hasPrimarySite`
      - `ORG.hasRegisteredSite`
      - `ORG.hasSite`
      - `ORG.hasSubOrganization`
      - `ORG.hasUnit`
      - `ORG.headOf`
      - `ORG.heldBy`
      - `ORG.holds`
      - `ORG.identifier`
      - `ORG.linkedTo`
      - `ORG.location`
      - `ORG.member`
      - `ORG.memberDuring`
      - `ORG.memberOf`
      - `ORG.organization`
      - `ORG.originalOrganization`
      - `ORG.postIn`
      - `ORG.purpose`
      - `ORG.remuneration`
      - `ORG.reportsTo`
      - `ORG.resultedFrom`
      - `ORG.resultingOrganization`
      - `ORG.role`
      - `ORG.roleProperty`
      - `ORG.siteAddress`
      - `ORG.siteOf`
      - `ORG.subOrganizationOf`
      - `ORG.transitiveSubOrganizationOf`
      - `ORG.unitOf`
    - `OWL`
      - `OWL.AllDifferent`
      - `OWL.AllDisjointClasses`
      - `OWL.AllDisjointProperties`
      - `OWL.Annotation`
      - `OWL.AnnotationProperty`
      - `OWL.AsymmetricProperty`
      - `OWL.Axiom`
      - `OWL.Class`
      - `OWL.DataRange`
      - `OWL.DatatypeProperty`
      - `OWL.DeprecatedClass`
      - `OWL.DeprecatedProperty`
      - `OWL.FunctionalProperty`
      - `OWL.InverseFunctionalProperty`
      - `OWL.IrreflexiveProperty`
      - `OWL.NamedIndividual`
      - `OWL.NegativePropertyAssertion`
      - `OWL.Nothing`
      - `OWL.ObjectProperty`
      - `OWL.Ontology`
      - `OWL.OntologyProperty`
      - `OWL.ReflexiveProperty`
      - `OWL.Restriction`
      - `OWL.SymmetricProperty`
      - `OWL.Thing`
      - `OWL.TransitiveProperty`
      - `OWL.allValuesFrom`
      - `OWL.annotatedProperty`
      - `OWL.annotatedSource`
      - `OWL.annotatedTarget`
      - `OWL.assertionProperty`
      - `OWL.backwardCompatibleWith`
      - `OWL.bottomDataProperty`
      - `OWL.bottomObjectProperty`
      - `OWL.cardinality`
      - `OWL.complementOf`
      - `OWL.datatypeComplementOf`
      - `OWL.deprecated`
      - `OWL.differentFrom`
      - `OWL.disjointUnionOf`
      - `OWL.disjointWith`
      - `OWL.distinctMembers`
      - `OWL.equivalentClass`
      - `OWL.equivalentProperty`
      - `OWL.hasKey`
      - `OWL.hasSelf`
      - `OWL.hasValue`
      - `OWL.imports`
      - `OWL.incompatibleWith`
      - `OWL.intersectionOf`
      - `OWL.inverseOf`
      - `OWL.maxCardinality`
      - `OWL.maxQualifiedCardinality`
      - `OWL.members`
      - `OWL.minCardinality`
      - `OWL.minQualifiedCardinality`
      - `OWL.onClass`
      - `OWL.onDataRange`
      - `OWL.onDatatype`
      - `OWL.onProperties`
      - `OWL.onProperty`
      - `OWL.oneOf`
      - `OWL.priorVersion`
      - `OWL.propertyChainAxiom`
      - `OWL.propertyDisjointWith`
      - `OWL.qualifiedCardinality`
      - `OWL.rational`
      - `OWL.real`
      - `OWL.sameAs`
      - `OWL.someValuesFrom`
      - `OWL.sourceIndividual`
      - `OWL.targetIndividual`
      - `OWL.targetValue`
      - `OWL.topDataProperty`
      - `OWL.topObjectProperty`
      - `OWL.unionOf`
      - `OWL.versionIRI`
      - `OWL.versionInfo`
      - `OWL.withRestrictions`
    - `PROF`
      - `PROF.Profile`
      - `PROF.ResourceDescriptor`
      - `PROF.ResourceRole`
      - `PROF.hasArtifact`
      - `PROF.hasResource`
      - `PROF.hasRole`
      - `PROF.hasToken`
      - `PROF.isInheritedFrom`
      - `PROF.isProfileOf`
      - `PROF.isTransitiveProfileOf`
    - `PROV`
      - `PROV.Accept`
      - `PROV.Activity`
      - `PROV.ActivityInfluence`
      - `PROV.Agent`
      - `PROV.AgentInfluence`
      - `PROV.Association`
      - `PROV.Attribution`
      - `PROV.Bundle`
      - `PROV.Collection`
      - `PROV.Communication`
      - `PROV.Contribute`
      - `PROV.Contributor`
      - `PROV.Copyright`
      - `PROV.Create`
      - `PROV.Creator`
      - `PROV.Delegation`
      - `PROV.Derivation`
      - `PROV.Dictionary`
      - `PROV.DirectQueryService`
      - `PROV.EmptyCollection`
      - `PROV.EmptyDictionary`
      - `PROV.End`
      - `PROV.Entity`
      - `PROV.EntityInfluence`
      - `PROV.Generation`
      - `PROV.Influence`
      - `PROV.Insertion`
      - `PROV.InstantaneousEvent`
      - `PROV.Invalidation`
      - `PROV.KeyEntityPair`
      - `PROV.Location`
      - `PROV.Modify`
      - `PROV.Organization`
      - `PROV.Person`
      - `PROV.Plan`
      - `PROV.PrimarySource`
      - `PROV.Publish`
      - `PROV.Publisher`
      - `PROV.Quotation`
      - `PROV.Removal`
      - `PROV.Replace`
      - `PROV.Revision`
      - `PROV.RightsAssignment`
      - `PROV.RightsHolder`
      - `PROV.Role`
      - `PROV.ServiceDescription`
      - `PROV.SoftwareAgent`
      - `PROV.Start`
      - `PROV.Submit`
      - `PROV.Usage`
      - `PROV.actedOnBehalfOf`
      - `PROV.activity`
      - `PROV.activityOfInfluence`
      - `PROV.agent`
      - `PROV.agentOfInfluence`
      - `PROV.alternateOf`
      - `PROV.aq`
      - `PROV.asInBundle`
      - `PROV.atLocation`
      - `PROV.atTime`
      - `PROV.category`
      - `PROV.component`
      - `PROV.constraints`
      - `PROV.contributed`
      - `PROV.definition`
      - `PROV.derivedByInsertionFrom`
      - `PROV.derivedByRemovalFrom`
      - `PROV.describesService`
      - `PROV.dictionary`
      - `PROV.dm`
      - `PROV.editorialNote`
      - `PROV.editorsDefinition`
      - `PROV.ended`
      - `PROV.endedAtTime`
      - `PROV.entity`
      - `PROV.entityOfInfluence`
      - `PROV.generalizationOf`
      - `PROV.generated`
      - `PROV.generatedAsDerivation`
      - `PROV.generatedAtTime`
      - `PROV.hadActivity`
      - `PROV.hadDelegate`
      - `PROV.hadDerivation`
      - `PROV.hadDictionaryMember`
      - `PROV.hadGeneration`
      - `PROV.hadInfluence`
      - `PROV.hadMember`
      - `PROV.hadPlan`
      - `PROV.hadPrimarySource`
      - `PROV.hadRevision`
      - `PROV.hadRole`
      - `PROV.hadUsage`
      - `PROV.has_anchor`
      - `PROV.has_provenance`
      - `PROV.has_query_service`
      - `PROV.influenced`
      - `PROV.influencer`
      - `PROV.informed`
      - `PROV.insertedKeyEntityPair`
      - `PROV.invalidated`
      - `PROV.invalidatedAtTime`
      - `PROV.inverse`
      - `PROV.locationOf`
      - `PROV.mentionOf`
      - `PROV.n`
      - `PROV.order`
      - `PROV.pairEntity`
      - `PROV.pairKey`
      - `PROV.pingback`
      - `PROV.provenanceUriTemplate`
      - `PROV.qualifiedAssociation`
      - `PROV.qualifiedAssociationOf`
      - `PROV.qualifiedAttribution`
      - `PROV.qualifiedAttributionOf`
      - `PROV.qualifiedCommunication`
      - `PROV.qualifiedCommunicationOf`
      - `PROV.qualifiedDelegation`
      - `PROV.qualifiedDelegationOf`
      - `PROV.qualifiedDerivation`
      - `PROV.qualifiedDerivationOf`
      - `PROV.qualifiedEnd`
      - `PROV.qualifiedEndOf`
      - `PROV.qualifiedForm`
      - `PROV.qualifiedGeneration`
      - `PROV.qualifiedGenerationOf`
      - `PROV.qualifiedInfluence`
      - `PROV.qualifiedInfluenceOf`
      - `PROV.qualifiedInsertion`
      - `PROV.qualifiedInvalidation`
      - `PROV.qualifiedInvalidationOf`
      - `PROV.qualifiedPrimarySource`
      - `PROV.qualifiedQuotation`
      - `PROV.qualifiedQuotationOf`
      - `PROV.qualifiedRemoval`
      - `PROV.qualifiedRevision`
      - `PROV.qualifiedSourceOf`
      - `PROV.qualifiedStart`
      - `PROV.qualifiedStartOf`
      - `PROV.qualifiedUsage`
      - `PROV.qualifiedUsingActivity`
      - `PROV.quotedAs`
      - `PROV.removedKey`
      - `PROV.revisedEntity`
      - `PROV.sharesDefinitionWith`
      - `PROV.specializationOf`
      - `PROV.started`
      - `PROV.startedAtTime`
      - `PROV.todo`
      - `PROV.unqualifiedForm`
      - `PROV.used`
      - `PROV.value`
      - `PROV.wasActivityOfInfluence`
      - `PROV.wasAssociateFor`
      - `PROV.wasAssociatedWith`
      - `PROV.wasAttributedTo`
      - `PROV.wasDerivedFrom`
      - `PROV.wasEndedBy`
      - `PROV.wasGeneratedBy`
      - `PROV.wasInfluencedBy`
      - `PROV.wasInformedBy`
      - `PROV.wasInvalidatedBy`
      - `PROV.wasMemberOf`
      - `PROV.wasPlanOf`
      - `PROV.wasPrimarySourceOf`
      - `PROV.wasQuotedFrom`
      - `PROV.wasRevisionOf`
      - `PROV.wasRoleIn`
      - `PROV.wasStartedBy`
      - `PROV.wasUsedBy`
      - `PROV.wasUsedInDerivation`
    - `QB`
      - `QB.Attachable`
      - `QB.AttributeProperty`
      - `QB.CodedProperty`
      - `QB.ComponentProperty`
      - `QB.ComponentSet`
      - `QB.ComponentSpecification`
      - `QB.DataSet`
      - `QB.DataStructureDefinition`
      - `QB.DimensionProperty`
      - `QB.HierarchicalCodeList`
      - `QB.MeasureProperty`
      - `QB.Observation`
      - `QB.ObservationGroup`
      - `QB.Slice`
      - `QB.SliceKey`
      - `QB.attribute`
      - `QB.codeList`
      - `QB.component`
      - `QB.componentAttachment`
      - `QB.componentProperty`
      - `QB.componentRequired`
      - `QB.concept`
      - `QB.dataSet`
      - `QB.dimension`
      - `QB.hierarchyRoot`
      - `QB.measure`
      - `QB.measureDimension`
      - `QB.measureType`
      - `QB.observation`
      - `QB.observationGroup`
      - `QB.order`
      - `QB.parentChildProperty`
      - `QB.slice`
      - `QB.sliceKey`
      - `QB.sliceStructure`
      - `QB.structure`
    - `RDF`
      - `RDF.Alt`
      - `RDF.Bag`
      - `RDF.CompoundLiteral`
      - `RDF.HTML`
      - `RDF.JSON`
      - `RDF.List`
      - `RDF.PlainLiteral`
      - `RDF.Property`
      - `RDF.Seq`
      - `RDF.Statement`
      - `RDF.XMLLiteral`
      - `RDF.direction`
      - `RDF.first`
      - `RDF.langString`
      - `RDF.language`
      - `RDF.nil`
      - `RDF.object`
      - `RDF.predicate`
      - `RDF.rest`
      - `RDF.subject`
      - `RDF.type`
      - `RDF.value`
    - `RDFS`
      - `RDFS.Class`
      - `RDFS.Container`
      - `RDFS.ContainerMembershipProperty`
      - `RDFS.Datatype`
      - `RDFS.Literal`
      - `RDFS.Resource`
      - `RDFS.comment`
      - `RDFS.domain`
      - `RDFS.isDefinedBy`
      - `RDFS.label`
      - `RDFS.member`
      - `RDFS.range`
      - `RDFS.seeAlso`
      - `RDFS.subClassOf`
      - `RDFS.subPropertyOf`
    - `SDO`
      - `SDO.AMRadioChannel`
      - `SDO.APIReference`
      - `SDO.Abdomen`
      - `SDO.AboutPage`
      - `SDO.AcceptAction`
      - `SDO.Accommodation`
      - `SDO.AccountingService`
      - `SDO.AchieveAction`
      - `SDO.Action`
      - `SDO.ActionAccessSpecification`
      - `SDO.ActionStatusType`
      - `SDO.ActivateAction`
      - `SDO.ActivationFee`
      - `SDO.ActiveActionStatus`
      - `SDO.ActiveNotRecruiting`
      - `SDO.AddAction`
      - `SDO.AdministrativeArea`
      - `SDO.AdultEntertainment`
      - `SDO.AdvertiserContentArticle`
      - `SDO.AerobicActivity`
      - `SDO.AggregateOffer`
      - `SDO.AggregateRating`
      - `SDO.AgreeAction`
      - `SDO.Airline`
      - `SDO.Airport`
      - `SDO.AlbumRelease`
      - `SDO.AlignmentObject`
      - `SDO.AllWheelDriveConfiguration`
      - `SDO.AllergiesHealthAspect`
      - `SDO.AllocateAction`
      - `SDO.AmpStory`
      - `SDO.AmusementPark`
      - `SDO.AnaerobicActivity`
      - `SDO.AnalysisNewsArticle`
      - `SDO.AnatomicalStructure`
      - `SDO.AnatomicalSystem`
      - `SDO.Anesthesia`
      - `SDO.AnimalShelter`
      - `SDO.Answer`
      - `SDO.Apartment`
      - `SDO.ApartmentComplex`
      - `SDO.Appearance`
      - `SDO.AppendAction`
      - `SDO.ApplyAction`
      - `SDO.ApprovedIndication`
      - `SDO.Aquarium`
      - `SDO.ArchiveComponent`
      - `SDO.ArchiveOrganization`
      - `SDO.ArriveAction`
      - `SDO.ArtGallery`
      - `SDO.Artery`
      - `SDO.Article`
      - `SDO.AskAction`
      - `SDO.AskPublicNewsArticle`
      - `SDO.AssessAction`
      - `SDO.AssignAction`
      - `SDO.Atlas`
      - `SDO.Attorney`
      - `SDO.Audience`
      - `SDO.AudioObject`
      - `SDO.AudioObjectSnapshot`
      - `SDO.Audiobook`
      - `SDO.AudiobookFormat`
      - `SDO.AuthoritativeLegalValue`
      - `SDO.AuthorizeAction`
      - `SDO.AutoBodyShop`
      - `SDO.AutoDealer`
      - `SDO.AutoPartsStore`
      - `SDO.AutoRental`
      - `SDO.AutoRepair`
      - `SDO.AutoWash`
      - `SDO.AutomatedTeller`
      - `SDO.AutomotiveBusiness`
      - `SDO.Ayurvedic`
      - `SDO.BackOrder`
      - `SDO.BackgroundNewsArticle`
      - `SDO.Bacteria`
      - `SDO.Bakery`
      - `SDO.Balance`
      - `SDO.BankAccount`
      - `SDO.BankOrCreditUnion`
      - `SDO.BarOrPub`
      - `SDO.Barcode`
      - `SDO.BasicIncome`
      - `SDO.Beach`
      - `SDO.BeautySalon`
      - `SDO.BedAndBreakfast`
      - `SDO.BedDetails`
      - `SDO.BedType`
      - `SDO.BefriendAction`
      - `SDO.BenefitsHealthAspect`
      - `SDO.BikeStore`
      - `SDO.BioChemEntity`
      - `SDO.Blog`
      - `SDO.BlogPosting`
      - `SDO.BloodTest`
      - `SDO.BoardingPolicyType`
      - `SDO.BoatReservation`
      - `SDO.BoatTerminal`
      - `SDO.BoatTrip`
      - `SDO.BodyMeasurementArm`
      - `SDO.BodyMeasurementBust`
      - `SDO.BodyMeasurementChest`
      - `SDO.BodyMeasurementFoot`
      - `SDO.BodyMeasurementHand`
      - `SDO.BodyMeasurementHead`
      - `SDO.BodyMeasurementHeight`
      - `SDO.BodyMeasurementHips`
      - `SDO.BodyMeasurementInsideLeg`
      - `SDO.BodyMeasurementNeck`
      - `SDO.BodyMeasurementTypeEnumeration`
      - `SDO.BodyMeasurementUnderbust`
      - `SDO.BodyMeasurementWaist`
      - `SDO.BodyMeasurementWeight`
      - `SDO.BodyOfWater`
      - `SDO.Bone`
      - `SDO.Book`
      - `SDO.BookFormatType`
      - `SDO.BookSeries`
      - `SDO.BookStore`
      - `SDO.BookmarkAction`
      - `SDO.Boolean`
      - `SDO.BorrowAction`
      - `SDO.BowlingAlley`
      - `SDO.BrainStructure`
      - `SDO.Brand`
      - `SDO.BreadcrumbList`
      - `SDO.Brewery`
      - `SDO.Bridge`
      - `SDO.BroadcastChannel`
      - `SDO.BroadcastEvent`
      - `SDO.BroadcastFrequencySpecification`
      - `SDO.BroadcastRelease`
      - `SDO.BroadcastService`
      - `SDO.BrokerageAccount`
      - `SDO.BuddhistTemple`
      - `SDO.BusOrCoach`
      - `SDO.BusReservation`
      - `SDO.BusStation`
      - `SDO.BusStop`
      - `SDO.BusTrip`
      - `SDO.BusinessAudience`
      - `SDO.BusinessEntityType`
      - `SDO.BusinessEvent`
      - `SDO.BusinessFunction`
      - `SDO.BusinessSupport`
      - `SDO.BuyAction`
      - `SDO.CDCPMDRecord`
      - `SDO.CDFormat`
      - `SDO.CT`
      - `SDO.CableOrSatelliteService`
      - `SDO.CafeOrCoffeeShop`
      - `SDO.Campground`
      - `SDO.CampingPitch`
      - `SDO.Canal`
      - `SDO.CancelAction`
      - `SDO.Car`
      - `SDO.CarUsageType`
      - `SDO.Cardiovascular`
      - `SDO.CardiovascularExam`
      - `SDO.CaseSeries`
      - `SDO.Casino`
      - `SDO.CassetteFormat`
      - `SDO.CategoryCode`
      - `SDO.CategoryCodeSet`
      - `SDO.CatholicChurch`
      - `SDO.CausesHealthAspect`
      - `SDO.Cemetery`
      - `SDO.Chapter`
      - `SDO.CharitableIncorporatedOrganization`
      - `SDO.CheckAction`
      - `SDO.CheckInAction`
      - `SDO.CheckOutAction`
      - `SDO.CheckoutPage`
      - `SDO.ChemicalSubstance`
      - `SDO.ChildCare`
      - `SDO.ChildrensEvent`
      - `SDO.Chiropractic`
      - `SDO.ChooseAction`
      - `SDO.Church`
      - `SDO.City`
      - `SDO.CityHall`
      - `SDO.CivicStructure`
      - `SDO.Claim`
      - `SDO.ClaimReview`
      - `SDO.Class`
      - `SDO.CleaningFee`
      - `SDO.Clinician`
      - `SDO.Clip`
      - `SDO.ClothingStore`
      - `SDO.CoOp`
      - `SDO.Code`
      - `SDO.CohortStudy`
      - `SDO.Collection`
      - `SDO.CollectionPage`
      - `SDO.CollegeOrUniversity`
      - `SDO.ComedyClub`
      - `SDO.ComedyEvent`
      - `SDO.ComicCoverArt`
      - `SDO.ComicIssue`
      - `SDO.ComicSeries`
      - `SDO.ComicStory`
      - `SDO.Comment`
      - `SDO.CommentAction`
      - `SDO.CommentPermission`
      - `SDO.CommunicateAction`
      - `SDO.CommunityHealth`
      - `SDO.CompilationAlbum`
      - `SDO.CompleteDataFeed`
      - `SDO.Completed`
      - `SDO.CompletedActionStatus`
      - `SDO.CompoundPriceSpecification`
      - `SDO.ComputerLanguage`
      - `SDO.ComputerStore`
      - `SDO.ConfirmAction`
      - `SDO.Consortium`
      - `SDO.ConsumeAction`
      - `SDO.ContactPage`
      - `SDO.ContactPoint`
      - `SDO.ContactPointOption`
      - `SDO.ContagiousnessHealthAspect`
      - `SDO.Continent`
      - `SDO.ControlAction`
      - `SDO.ConvenienceStore`
      - `SDO.Conversation`
      - `SDO.CookAction`
      - `SDO.Corporation`
      - `SDO.CorrectionComment`
      - `SDO.Country`
      - `SDO.Course`
      - `SDO.CourseInstance`
      - `SDO.Courthouse`
      - `SDO.CoverArt`
      - `SDO.CovidTestingFacility`
      - `SDO.CreateAction`
      - `SDO.CreativeWork`
      - `SDO.CreativeWorkSeason`
      - `SDO.CreativeWorkSeries`
      - `SDO.CreditCard`
      - `SDO.Crematorium`
      - `SDO.CriticReview`
      - `SDO.CrossSectional`
      - `SDO.CssSelectorType`
      - `SDO.CurrencyConversionService`
      - `SDO.DDxElement`
      - `SDO.DJMixAlbum`
      - `SDO.DVDFormat`
      - `SDO.DamagedCondition`
      - `SDO.DanceEvent`
      - `SDO.DanceGroup`
      - `SDO.DataCatalog`
      - `SDO.DataDownload`
      - `SDO.DataFeed`
      - `SDO.DataFeedItem`
      - `SDO.DataType`
      - `SDO.Dataset`
      - `SDO.Date`
      - `SDO.DateTime`
      - `SDO.DatedMoneySpecification`
      - `SDO.DayOfWeek`
      - `SDO.DaySpa`
      - `SDO.DeactivateAction`
      - `SDO.DecontextualizedContent`
      - `SDO.DefenceEstablishment`
      - `SDO.DefinedRegion`
      - `SDO.DefinedTerm`
      - `SDO.DefinedTermSet`
      - `SDO.DefinitiveLegalValue`
      - `SDO.DeleteAction`
      - `SDO.DeliveryChargeSpecification`
      - `SDO.DeliveryEvent`
      - `SDO.DeliveryMethod`
      - `SDO.DeliveryTimeSettings`
      - `SDO.Demand`
      - `SDO.DemoAlbum`
      - `SDO.Dentist`
      - `SDO.Dentistry`
      - `SDO.DepartAction`
      - `SDO.DepartmentStore`
      - `SDO.DepositAccount`
      - `SDO.Dermatologic`
      - `SDO.Dermatology`
      - `SDO.DiabeticDiet`
      - `SDO.Diagnostic`
      - `SDO.DiagnosticLab`
      - `SDO.DiagnosticProcedure`
      - `SDO.Diet`
      - `SDO.DietNutrition`
      - `SDO.DietarySupplement`
      - `SDO.DigitalAudioTapeFormat`
      - `SDO.DigitalDocument`
      - `SDO.DigitalDocumentPermission`
      - `SDO.DigitalDocumentPermissionType`
      - `SDO.DigitalFormat`
      - `SDO.DisabilitySupport`
      - `SDO.DisagreeAction`
      - `SDO.Discontinued`
      - `SDO.DiscoverAction`
      - `SDO.DiscussionForumPosting`
      - `SDO.DislikeAction`
      - `SDO.Distance`
      - `SDO.DistanceFee`
      - `SDO.Distillery`
      - `SDO.DonateAction`
      - `SDO.DoseSchedule`
      - `SDO.DoubleBlindedTrial`
      - `SDO.DownloadAction`
      - `SDO.Downpayment`
      - `SDO.DrawAction`
      - `SDO.Drawing`
      - `SDO.DrinkAction`
      - `SDO.DriveWheelConfigurationValue`
      - `SDO.DrivingSchoolVehicleUsage`
      - `SDO.Drug`
      - `SDO.DrugClass`
      - `SDO.DrugCost`
      - `SDO.DrugCostCategory`
      - `SDO.DrugLegalStatus`
      - `SDO.DrugPregnancyCategory`
      - `SDO.DrugPrescriptionStatus`
      - `SDO.DrugStrength`
      - `SDO.DryCleaningOrLaundry`
      - `SDO.Duration`
      - `SDO.EBook`
      - `SDO.EPRelease`
      - `SDO.EUEnergyEfficiencyCategoryA`
      - `SDO.EUEnergyEfficiencyCategoryA1Plus`
      - `SDO.EUEnergyEfficiencyCategoryA2Plus`
      - `SDO.EUEnergyEfficiencyCategoryA3Plus`
      - `SDO.EUEnergyEfficiencyCategoryB`
      - `SDO.EUEnergyEfficiencyCategoryC`
      - `SDO.EUEnergyEfficiencyCategoryD`
      - `SDO.EUEnergyEfficiencyCategoryE`
      - `SDO.EUEnergyEfficiencyCategoryF`
      - `SDO.EUEnergyEfficiencyCategoryG`
      - `SDO.EUEnergyEfficiencyEnumeration`
      - `SDO.Ear`
      - `SDO.EatAction`
      - `SDO.EditedOrCroppedContent`
      - `SDO.EducationEvent`
      - `SDO.EducationalAudience`
      - `SDO.EducationalOccupationalCredential`
      - `SDO.EducationalOccupationalProgram`
      - `SDO.EducationalOrganization`
      - `SDO.EffectivenessHealthAspect`
      - `SDO.Electrician`
      - `SDO.ElectronicsStore`
      - `SDO.ElementarySchool`
      - `SDO.EmailMessage`
      - `SDO.Embassy`
      - `SDO.Emergency`
      - `SDO.EmergencyService`
      - `SDO.EmployeeRole`
      - `SDO.EmployerAggregateRating`
      - `SDO.EmployerReview`
      - `SDO.EmploymentAgency`
      - `SDO.Endocrine`
      - `SDO.EndorseAction`
      - `SDO.EndorsementRating`
      - `SDO.Energy`
      - `SDO.EnergyConsumptionDetails`
      - `SDO.EnergyEfficiencyEnumeration`
      - `SDO.EnergyStarCertified`
      - `SDO.EnergyStarEnergyEfficiencyEnumeration`
      - `SDO.EngineSpecification`
      - `SDO.EnrollingByInvitation`
      - `SDO.EntertainmentBusiness`
      - `SDO.EntryPoint`
      - `SDO.Enumeration`
      - `SDO.Episode`
      - `SDO.Event`
      - `SDO.EventAttendanceModeEnumeration`
      - `SDO.EventCancelled`
      - `SDO.EventMovedOnline`
      - `SDO.EventPostponed`
      - `SDO.EventRescheduled`
      - `SDO.EventReservation`
      - `SDO.EventScheduled`
      - `SDO.EventSeries`
      - `SDO.EventStatusType`
      - `SDO.EventVenue`
      - `SDO.EvidenceLevelA`
      - `SDO.EvidenceLevelB`
      - `SDO.EvidenceLevelC`
      - `SDO.ExchangeRateSpecification`
      - `SDO.ExchangeRefund`
      - `SDO.ExerciseAction`
      - `SDO.ExerciseGym`
      - `SDO.ExercisePlan`
      - `SDO.ExhibitionEvent`
      - `SDO.Eye`
      - `SDO.FAQPage`
      - `SDO.FDAcategoryA`
      - `SDO.FDAcategoryB`
      - `SDO.FDAcategoryC`
      - `SDO.FDAcategoryD`
      - `SDO.FDAcategoryX`
      - `SDO.FDAnotEvaluated`
      - `SDO.FMRadioChannel`
      - `SDO.FailedActionStatus`
      - `SDO.FastFoodRestaurant`
      - `SDO.Female`
      - `SDO.Festival`
      - `SDO.FilmAction`
      - `SDO.FinancialProduct`
      - `SDO.FinancialService`
      - `SDO.FindAction`
      - `SDO.FireStation`
      - `SDO.Flexibility`
      - `SDO.Flight`
      - `SDO.FlightReservation`
      - `SDO.Float`
      - `SDO.FloorPlan`
      - `SDO.Florist`
      - `SDO.FollowAction`
      - `SDO.FoodEstablishment`
      - `SDO.FoodEstablishmentReservation`
      - `SDO.FoodEvent`
      - `SDO.FoodService`
      - `SDO.FourWheelDriveConfiguration`
      - `SDO.FreeReturn`
      - `SDO.Friday`
      - `SDO.FrontWheelDriveConfiguration`
      - `SDO.FullRefund`
      - `SDO.FundingAgency`
      - `SDO.FundingScheme`
      - `SDO.Fungus`
      - `SDO.FurnitureStore`
      - `SDO.Game`
      - `SDO.GamePlayMode`
      - `SDO.GameServer`
      - `SDO.GameServerStatus`
      - `SDO.GardenStore`
      - `SDO.GasStation`
      - `SDO.Gastroenterologic`
      - `SDO.GatedResidenceCommunity`
      - `SDO.GenderType`
      - `SDO.Gene`
      - `SDO.GeneralContractor`
      - `SDO.Genetic`
      - `SDO.Genitourinary`
      - `SDO.GeoCircle`
      - `SDO.GeoCoordinates`
      - `SDO.GeoShape`
      - `SDO.GeospatialGeometry`
      - `SDO.Geriatric`
      - `SDO.GettingAccessHealthAspect`
      - `SDO.GiveAction`
      - `SDO.GlutenFreeDiet`
      - `SDO.GolfCourse`
      - `SDO.GovernmentBenefitsType`
      - `SDO.GovernmentBuilding`
      - `SDO.GovernmentOffice`
      - `SDO.GovernmentOrganization`
      - `SDO.GovernmentPermit`
      - `SDO.GovernmentService`
      - `SDO.Grant`
      - `SDO.GraphicNovel`
      - `SDO.GroceryStore`
      - `SDO.GroupBoardingPolicy`
      - `SDO.Guide`
      - `SDO.Gynecologic`
      - `SDO.HVACBusiness`
      - `SDO.Hackathon`
      - `SDO.HairSalon`
      - `SDO.HalalDiet`
      - `SDO.Hardcover`
      - `SDO.HardwareStore`
      - `SDO.Head`
      - `SDO.HealthAndBeautyBusiness`
      - `SDO.HealthAspectEnumeration`
      - `SDO.HealthCare`
      - `SDO.HealthClub`
      - `SDO.HealthInsurancePlan`
      - `SDO.HealthPlanCostSharingSpecification`
      - `SDO.HealthPlanFormulary`
      - `SDO.HealthPlanNetwork`
      - `SDO.HealthTopicContent`
      - `SDO.HearingImpairedSupported`
      - `SDO.Hematologic`
      - `SDO.HighSchool`
      - `SDO.HinduDiet`
      - `SDO.HinduTemple`
      - `SDO.HobbyShop`
      - `SDO.HomeAndConstructionBusiness`
      - `SDO.HomeGoodsStore`
      - `SDO.Homeopathic`
      - `SDO.Hospital`
      - `SDO.Hostel`
      - `SDO.Hotel`
      - `SDO.HotelRoom`
      - `SDO.House`
      - `SDO.HousePainter`
      - `SDO.HowItWorksHealthAspect`
      - `SDO.HowOrWhereHealthAspect`
      - `SDO.HowTo`
      - `SDO.HowToDirection`
      - `SDO.HowToItem`
      - `SDO.HowToSection`
      - `SDO.HowToStep`
      - `SDO.HowToSupply`
      - `SDO.HowToTip`
      - `SDO.HowToTool`
      - `SDO.HyperToc`
      - `SDO.HyperTocEntry`
      - `SDO.IceCreamShop`
      - `SDO.IgnoreAction`
      - `SDO.ImageGallery`
      - `SDO.ImageObject`
      - `SDO.ImageObjectSnapshot`
      - `SDO.ImagingTest`
      - `SDO.InForce`
      - `SDO.InStock`
      - `SDO.InStoreOnly`
      - `SDO.IndividualProduct`
      - `SDO.Infectious`
      - `SDO.InfectiousAgentClass`
      - `SDO.InfectiousDisease`
      - `SDO.InformAction`
      - `SDO.IngredientsHealthAspect`
      - `SDO.InsertAction`
      - `SDO.InstallAction`
      - `SDO.Installment`
      - `SDO.InsuranceAgency`
      - `SDO.Intangible`
      - `SDO.Integer`
      - `SDO.InteractAction`
      - `SDO.InteractionCounter`
      - `SDO.InternationalTrial`
      - `SDO.InternetCafe`
      - `SDO.InvestmentFund`
      - `SDO.InvestmentOrDeposit`
      - `SDO.InviteAction`
      - `SDO.Invoice`
      - `SDO.InvoicePrice`
      - `SDO.ItemAvailability`
      - `SDO.ItemList`
      - `SDO.ItemListOrderAscending`
      - `SDO.ItemListOrderDescending`
      - `SDO.ItemListOrderType`
      - `SDO.ItemListUnordered`
      - `SDO.ItemPage`
      - `SDO.JewelryStore`
      - `SDO.JobPosting`
      - `SDO.JoinAction`
      - `SDO.Joint`
      - `SDO.KosherDiet`
      - `SDO.LaboratoryScience`
      - `SDO.LakeBodyOfWater`
      - `SDO.Landform`
      - `SDO.LandmarksOrHistoricalBuildings`
      - `SDO.Language`
      - `SDO.LaserDiscFormat`
      - `SDO.LearningResource`
      - `SDO.LeaveAction`
      - `SDO.LeftHandDriving`
      - `SDO.LegalForceStatus`
      - `SDO.LegalService`
      - `SDO.LegalValueLevel`
      - `SDO.Legislation`
      - `SDO.LegislationObject`
      - `SDO.LegislativeBuilding`
      - `SDO.LeisureTimeActivity`
      - `SDO.LendAction`
      - `SDO.Library`
      - `SDO.LibrarySystem`
      - `SDO.LifestyleModification`
      - `SDO.Ligament`
      - `SDO.LikeAction`
      - `SDO.LimitedAvailability`
      - `SDO.LimitedByGuaranteeCharity`
      - `SDO.LinkRole`
      - `SDO.LiquorStore`
      - `SDO.ListItem`
      - `SDO.ListPrice`
      - `SDO.ListenAction`
      - `SDO.LiteraryEvent`
      - `SDO.LiveAlbum`
      - `SDO.LiveBlogPosting`
      - `SDO.LivingWithHealthAspect`
      - `SDO.LoanOrCredit`
      - `SDO.LocalBusiness`
      - `SDO.LocationFeatureSpecification`
      - `SDO.LockerDelivery`
      - `SDO.Locksmith`
      - `SDO.LodgingBusiness`
      - `SDO.LodgingReservation`
      - `SDO.Longitudinal`
      - `SDO.LoseAction`
      - `SDO.LowCalorieDiet`
      - `SDO.LowFatDiet`
      - `SDO.LowLactoseDiet`
      - `SDO.LowSaltDiet`
      - `SDO.Lung`
      - `SDO.LymphaticVessel`
      - `SDO.MRI`
      - `SDO.MSRP`
      - `SDO.Male`
      - `SDO.Manuscript`
      - `SDO.Map`
      - `SDO.MapCategoryType`
      - `SDO.MarryAction`
      - `SDO.Mass`
      - `SDO.MathSolver`
      - `SDO.MaximumDoseSchedule`
      - `SDO.MayTreatHealthAspect`
      - `SDO.MeasurementTypeEnumeration`
      - `SDO.MediaGallery`
      - `SDO.MediaManipulationRatingEnumeration`
      - `SDO.MediaObject`
      - `SDO.MediaReview`
      - `SDO.MediaReviewItem`
      - `SDO.MediaSubscription`
      - `SDO.MedicalAudience`
      - `SDO.MedicalAudienceType`
      - `SDO.MedicalBusiness`
      - `SDO.MedicalCause`
      - `SDO.MedicalClinic`
      - `SDO.MedicalCode`
      - `SDO.MedicalCondition`
      - `SDO.MedicalConditionStage`
      - `SDO.MedicalContraindication`
      - `SDO.MedicalDevice`
      - `SDO.MedicalDevicePurpose`
      - `SDO.MedicalEntity`
      - `SDO.MedicalEnumeration`
      - `SDO.MedicalEvidenceLevel`
      - `SDO.MedicalGuideline`
      - `SDO.MedicalGuidelineContraindication`
      - `SDO.MedicalGuidelineRecommendation`
      - `SDO.MedicalImagingTechnique`
      - `SDO.MedicalIndication`
      - `SDO.MedicalIntangible`
      - `SDO.MedicalObservationalStudy`
      - `SDO.MedicalObservationalStudyDesign`
      - `SDO.MedicalOrganization`
      - `SDO.MedicalProcedure`
      - `SDO.MedicalProcedureType`
      - `SDO.MedicalResearcher`
      - `SDO.MedicalRiskCalculator`
      - `SDO.MedicalRiskEstimator`
      - `SDO.MedicalRiskFactor`
      - `SDO.MedicalRiskScore`
      - `SDO.MedicalScholarlyArticle`
      - `SDO.MedicalSign`
      - `SDO.MedicalSignOrSymptom`
      - `SDO.MedicalSpecialty`
      - `SDO.MedicalStudy`
      - `SDO.MedicalStudyStatus`
      - `SDO.MedicalSymptom`
      - `SDO.MedicalTest`
      - `SDO.MedicalTestPanel`
      - `SDO.MedicalTherapy`
      - `SDO.MedicalTrial`
      - `SDO.MedicalTrialDesign`
      - `SDO.MedicalWebPage`
      - `SDO.MedicineSystem`
      - `SDO.MeetingRoom`
      - `SDO.MensClothingStore`
      - `SDO.Menu`
      - `SDO.MenuItem`
      - `SDO.MenuSection`
      - `SDO.MerchantReturnEnumeration`
      - `SDO.MerchantReturnFiniteReturnWindow`
      - `SDO.MerchantReturnNotPermitted`
      - `SDO.MerchantReturnPolicy`
      - `SDO.MerchantReturnPolicySeasonalOverride`
      - `SDO.MerchantReturnUnlimitedWindow`
      - `SDO.MerchantReturnUnspecified`
      - `SDO.Message`
      - `SDO.MiddleSchool`
      - `SDO.Midwifery`
      - `SDO.MinimumAdvertisedPrice`
      - `SDO.MisconceptionsHealthAspect`
      - `SDO.MixedEventAttendanceMode`
      - `SDO.MixtapeAlbum`
      - `SDO.MobileApplication`
      - `SDO.MobilePhoneStore`
      - `SDO.MolecularEntity`
      - `SDO.Monday`
      - `SDO.MonetaryAmount`
      - `SDO.MonetaryAmountDistribution`
      - `SDO.MonetaryGrant`
      - `SDO.MoneyTransfer`
      - `SDO.MortgageLoan`
      - `SDO.Mosque`
      - `SDO.Motel`
      - `SDO.Motorcycle`
      - `SDO.MotorcycleDealer`
      - `SDO.MotorcycleRepair`
      - `SDO.MotorizedBicycle`
      - `SDO.Mountain`
      - `SDO.MoveAction`
      - `SDO.Movie`
      - `SDO.MovieClip`
      - `SDO.MovieRentalStore`
      - `SDO.MovieSeries`
      - `SDO.MovieTheater`
      - `SDO.MovingCompany`
      - `SDO.MultiCenterTrial`
      - `SDO.MultiPlayer`
      - `SDO.MulticellularParasite`
      - `SDO.Muscle`
      - `SDO.Musculoskeletal`
      - `SDO.MusculoskeletalExam`
      - `SDO.Museum`
      - `SDO.MusicAlbum`
      - `SDO.MusicAlbumProductionType`
      - `SDO.MusicAlbumReleaseType`
      - `SDO.MusicComposition`
      - `SDO.MusicEvent`
      - `SDO.MusicGroup`
      - `SDO.MusicPlaylist`
      - `SDO.MusicRecording`
      - `SDO.MusicRelease`
      - `SDO.MusicReleaseFormatType`
      - `SDO.MusicStore`
      - `SDO.MusicVenue`
      - `SDO.MusicVideoObject`
      - `SDO.NGO`
      - `SDO.NLNonprofitType`
      - `SDO.NailSalon`
      - `SDO.Neck`
      - `SDO.Nerve`
      - `SDO.Neuro`
      - `SDO.Neurologic`
      - `SDO.NewCondition`
      - `SDO.NewsArticle`
      - `SDO.NewsMediaOrganization`
      - `SDO.Newspaper`
      - `SDO.NightClub`
      - `SDO.NoninvasiveProcedure`
      - `SDO.Nonprofit501a`
      - `SDO.Nonprofit501c1`
      - `SDO.Nonprofit501c10`
      - `SDO.Nonprofit501c11`
      - `SDO.Nonprofit501c12`
      - `SDO.Nonprofit501c13`
      - `SDO.Nonprofit501c14`
      - `SDO.Nonprofit501c15`
      - `SDO.Nonprofit501c16`
      - `SDO.Nonprofit501c17`
      - `SDO.Nonprofit501c18`
      - `SDO.Nonprofit501c19`
      - `SDO.Nonprofit501c2`
      - `SDO.Nonprofit501c20`
      - `SDO.Nonprofit501c21`
      - `SDO.Nonprofit501c22`
      - `SDO.Nonprofit501c23`
      - `SDO.Nonprofit501c24`
      - `SDO.Nonprofit501c25`
      - `SDO.Nonprofit501c26`
      - `SDO.Nonprofit501c27`
      - `SDO.Nonprofit501c28`
      - `SDO.Nonprofit501c3`
      - `SDO.Nonprofit501c4`
      - `SDO.Nonprofit501c5`
      - `SDO.Nonprofit501c6`
      - `SDO.Nonprofit501c7`
      - `SDO.Nonprofit501c8`
      - `SDO.Nonprofit501c9`
      - `SDO.Nonprofit501d`
      - `SDO.Nonprofit501e`
      - `SDO.Nonprofit501f`
      - `SDO.Nonprofit501k`
      - `SDO.Nonprofit501n`
      - `SDO.Nonprofit501q`
      - `SDO.Nonprofit527`
      - `SDO.NonprofitANBI`
      - `SDO.NonprofitSBBI`
      - `SDO.NonprofitType`
      - `SDO.Nose`
      - `SDO.NotInForce`
      - `SDO.NotYetRecruiting`
      - `SDO.Notary`
      - `SDO.NoteDigitalDocument`
      - `SDO.Number`
      - `SDO.Nursing`
      - `SDO.NutritionInformation`
      - `SDO.OTC`
      - `SDO.Observation`
      - `SDO.Observational`
      - `SDO.Obstetric`
      - `SDO.Occupation`
      - `SDO.OccupationalActivity`
      - `SDO.OccupationalExperienceRequirements`
      - `SDO.OccupationalTherapy`
      - `SDO.OceanBodyOfWater`
      - `SDO.Offer`
      - `SDO.OfferCatalog`
      - `SDO.OfferForLease`
      - `SDO.OfferForPurchase`
      - `SDO.OfferItemCondition`
      - `SDO.OfferShippingDetails`
      - `SDO.OfficeEquipmentStore`
      - `SDO.OfficialLegalValue`
      - `SDO.OfflineEventAttendanceMode`
      - `SDO.OfflinePermanently`
      - `SDO.OfflineTemporarily`
      - `SDO.OnDemandEvent`
      - `SDO.OnSitePickup`
      - `SDO.Oncologic`
      - `SDO.OneTimePayments`
      - `SDO.Online`
      - `SDO.OnlineEventAttendanceMode`
      - `SDO.OnlineFull`
      - `SDO.OnlineOnly`
      - `SDO.OpenTrial`
      - `SDO.OpeningHoursSpecification`
      - `SDO.OpinionNewsArticle`
      - `SDO.Optician`
      - `SDO.Optometric`
      - `SDO.Order`
      - `SDO.OrderAction`
      - `SDO.OrderCancelled`
      - `SDO.OrderDelivered`
      - `SDO.OrderInTransit`
      - `SDO.OrderItem`
      - `SDO.OrderPaymentDue`
      - `SDO.OrderPickupAvailable`
      - `SDO.OrderProblem`
      - `SDO.OrderProcessing`
      - `SDO.OrderReturned`
      - `SDO.OrderStatus`
      - `SDO.Organization`
      - `SDO.OrganizationRole`
      - `SDO.OrganizeAction`
      - `SDO.OriginalMediaContent`
      - `SDO.OriginalShippingFees`
      - `SDO.Osteopathic`
      - `SDO.Otolaryngologic`
      - `SDO.OutOfStock`
      - `SDO.OutletStore`
      - `SDO.OverviewHealthAspect`
      - `SDO.OwnershipInfo`
      - `SDO.PET`
      - `SDO.PaidLeave`
      - `SDO.PaintAction`
      - `SDO.Painting`
      - `SDO.PalliativeProcedure`
      - `SDO.Paperback`
      - `SDO.ParcelDelivery`
      - `SDO.ParcelService`
      - `SDO.ParentAudience`
      - `SDO.ParentalSupport`
      - `SDO.Park`
      - `SDO.ParkingFacility`
      - `SDO.ParkingMap`
      - `SDO.PartiallyInForce`
      - `SDO.Pathology`
      - `SDO.PathologyTest`
      - `SDO.Patient`
      - `SDO.PatientExperienceHealthAspect`
      - `SDO.PawnShop`
      - `SDO.PayAction`
      - `SDO.PaymentAutomaticallyApplied`
      - `SDO.PaymentCard`
      - `SDO.PaymentChargeSpecification`
      - `SDO.PaymentComplete`
      - `SDO.PaymentDeclined`
      - `SDO.PaymentDue`
      - `SDO.PaymentMethod`
      - `SDO.PaymentPastDue`
      - `SDO.PaymentService`
      - `SDO.PaymentStatusType`
      - `SDO.Pediatric`
      - `SDO.PeopleAudience`
      - `SDO.PercutaneousProcedure`
      - `SDO.PerformAction`
      - `SDO.PerformanceRole`
      - `SDO.PerformingArtsTheater`
      - `SDO.PerformingGroup`
      - `SDO.Periodical`
      - `SDO.Permit`
      - `SDO.Person`
      - `SDO.PetStore`
      - `SDO.Pharmacy`
      - `SDO.PharmacySpecialty`
      - `SDO.Photograph`
      - `SDO.PhotographAction`
      - `SDO.PhysicalActivity`
      - `SDO.PhysicalActivityCategory`
      - `SDO.PhysicalExam`
      - `SDO.PhysicalTherapy`
      - `SDO.Physician`
      - `SDO.Physiotherapy`
      - `SDO.Place`
      - `SDO.PlaceOfWorship`
      - `SDO.PlaceboControlledTrial`
      - `SDO.PlanAction`
      - `SDO.PlasticSurgery`
      - `SDO.Play`
      - `SDO.PlayAction`
      - `SDO.Playground`
      - `SDO.Plumber`
      - `SDO.PodcastEpisode`
      - `SDO.PodcastSeason`
      - `SDO.PodcastSeries`
      - `SDO.Podiatric`
      - `SDO.PoliceStation`
      - `SDO.Pond`
      - `SDO.PostOffice`
      - `SDO.PostalAddress`
      - `SDO.PostalCodeRangeSpecification`
      - `SDO.Poster`
      - `SDO.PotentialActionStatus`
      - `SDO.PreOrder`
      - `SDO.PreOrderAction`
      - `SDO.PreSale`
      - `SDO.PregnancyHealthAspect`
      - `SDO.PrependAction`
      - `SDO.Preschool`
      - `SDO.PrescriptionOnly`
      - `SDO.PresentationDigitalDocument`
      - `SDO.PreventionHealthAspect`
      - `SDO.PreventionIndication`
      - `SDO.PriceComponentTypeEnumeration`
      - `SDO.PriceSpecification`
      - `SDO.PriceTypeEnumeration`
      - `SDO.PrimaryCare`
      - `SDO.Prion`
      - `SDO.Product`
      - `SDO.ProductCollection`
      - `SDO.ProductGroup`
      - `SDO.ProductModel`
      - `SDO.ProfessionalService`
      - `SDO.ProfilePage`
      - `SDO.PrognosisHealthAspect`
      - `SDO.ProgramMembership`
      - `SDO.Project`
      - `SDO.PronounceableText`
      - `SDO.Property`
      - `SDO.PropertyValue`
      - `SDO.PropertyValueSpecification`
      - `SDO.Protein`
      - `SDO.Protozoa`
      - `SDO.Psychiatric`
      - `SDO.PsychologicalTreatment`
      - `SDO.PublicHealth`
      - `SDO.PublicHolidays`
      - `SDO.PublicSwimmingPool`
      - `SDO.PublicToilet`
      - `SDO.PublicationEvent`
      - `SDO.PublicationIssue`
      - `SDO.PublicationVolume`
      - `SDO.Pulmonary`
      - `SDO.QAPage`
      - `SDO.QualitativeValue`
      - `SDO.QuantitativeValue`
      - `SDO.QuantitativeValueDistribution`
      - `SDO.Quantity`
      - `SDO.Question`
      - `SDO.Quiz`
      - `SDO.Quotation`
      - `SDO.QuoteAction`
      - `SDO.RVPark`
      - `SDO.RadiationTherapy`
      - `SDO.RadioBroadcastService`
      - `SDO.RadioChannel`
      - `SDO.RadioClip`
      - `SDO.RadioEpisode`
      - `SDO.RadioSeason`
      - `SDO.RadioSeries`
      - `SDO.RadioStation`
      - `SDO.Radiography`
      - `SDO.RandomizedTrial`
      - `SDO.Rating`
      - `SDO.ReactAction`
      - `SDO.ReadAction`
      - `SDO.ReadPermission`
      - `SDO.RealEstateAgent`
      - `SDO.RealEstateListing`
      - `SDO.RearWheelDriveConfiguration`
      - `SDO.ReceiveAction`
      - `SDO.Recipe`
      - `SDO.Recommendation`
      - `SDO.RecommendedDoseSchedule`
      - `SDO.Recruiting`
      - `SDO.RecyclingCenter`
      - `SDO.RefundTypeEnumeration`
      - `SDO.RefurbishedCondition`
      - `SDO.RegisterAction`
      - `SDO.Registry`
      - `SDO.ReimbursementCap`
      - `SDO.RejectAction`
      - `SDO.RelatedTopicsHealthAspect`
      - `SDO.RemixAlbum`
      - `SDO.Renal`
      - `SDO.RentAction`
      - `SDO.RentalCarReservation`
      - `SDO.RentalVehicleUsage`
      - `SDO.RepaymentSpecification`
      - `SDO.ReplaceAction`
      - `SDO.ReplyAction`
      - `SDO.Report`
      - `SDO.ReportageNewsArticle`
      - `SDO.ReportedDoseSchedule`
      - `SDO.ResearchOrganization`
      - `SDO.ResearchProject`
      - `SDO.Researcher`
      - `SDO.Reservation`
      - `SDO.ReservationCancelled`
      - `SDO.ReservationConfirmed`
      - `SDO.ReservationHold`
      - `SDO.ReservationPackage`
      - `SDO.ReservationPending`
      - `SDO.ReservationStatusType`
      - `SDO.ReserveAction`
      - `SDO.Reservoir`
      - `SDO.Residence`
      - `SDO.Resort`
      - `SDO.RespiratoryTherapy`
      - `SDO.Restaurant`
      - `SDO.RestockingFees`
      - `SDO.RestrictedDiet`
      - `SDO.ResultsAvailable`
      - `SDO.ResultsNotAvailable`
      - `SDO.ResumeAction`
      - `SDO.Retail`
      - `SDO.ReturnAction`
      - `SDO.ReturnAtKiosk`
      - `SDO.ReturnByMail`
      - `SDO.ReturnFeesCustomerResponsibility`
      - `SDO.ReturnFeesEnumeration`
      - `SDO.ReturnInStore`
      - `SDO.ReturnLabelCustomerResponsibility`
      - `SDO.ReturnLabelDownloadAndPrint`
      - `SDO.ReturnLabelInBox`
      - `SDO.ReturnLabelSourceEnumeration`
      - `SDO.ReturnMethodEnumeration`
      - `SDO.ReturnShippingFees`
      - `SDO.Review`
      - `SDO.ReviewAction`
      - `SDO.ReviewNewsArticle`
      - `SDO.Rheumatologic`
      - `SDO.RightHandDriving`
      - `SDO.RisksOrComplicationsHealthAspect`
      - `SDO.RiverBodyOfWater`
      - `SDO.Role`
      - `SDO.RoofingContractor`
      - `SDO.Room`
      - `SDO.RsvpAction`
      - `SDO.RsvpResponseMaybe`
      - `SDO.RsvpResponseNo`
      - `SDO.RsvpResponseType`
      - `SDO.RsvpResponseYes`
      - `SDO.SRP`
      - `SDO.SafetyHealthAspect`
      - `SDO.SaleEvent`
      - `SDO.SalePrice`
      - `SDO.SatireOrParodyContent`
      - `SDO.SatiricalArticle`
      - `SDO.Saturday`
      - `SDO.Schedule`
      - `SDO.ScheduleAction`
      - `SDO.ScholarlyArticle`
      - `SDO.School`
      - `SDO.SchoolDistrict`
      - `SDO.ScreeningEvent`
      - `SDO.ScreeningHealthAspect`
      - `SDO.Sculpture`
      - `SDO.SeaBodyOfWater`
      - `SDO.SearchAction`
      - `SDO.SearchResultsPage`
      - `SDO.Season`
      - `SDO.Seat`
      - `SDO.SeatingMap`
      - `SDO.SeeDoctorHealthAspect`
      - `SDO.SeekToAction`
      - `SDO.SelfCareHealthAspect`
      - `SDO.SelfStorage`
      - `SDO.SellAction`
      - `SDO.SendAction`
      - `SDO.Series`
      - `SDO.Service`
      - `SDO.ServiceChannel`
      - `SDO.ShareAction`
      - `SDO.SheetMusic`
      - `SDO.ShippingDeliveryTime`
      - `SDO.ShippingRateSettings`
      - `SDO.ShoeStore`
      - `SDO.ShoppingCenter`
      - `SDO.ShortStory`
      - `SDO.SideEffectsHealthAspect`
      - `SDO.SingleBlindedTrial`
      - `SDO.SingleCenterTrial`
      - `SDO.SingleFamilyResidence`
      - `SDO.SinglePlayer`
      - `SDO.SingleRelease`
      - `SDO.SiteNavigationElement`
      - `SDO.SizeGroupEnumeration`
      - `SDO.SizeSpecification`
      - `SDO.SizeSystemEnumeration`
      - `SDO.SizeSystemImperial`
      - `SDO.SizeSystemMetric`
      - `SDO.SkiResort`
      - `SDO.Skin`
      - `SDO.SocialEvent`
      - `SDO.SocialMediaPosting`
      - `SDO.SoftwareApplication`
      - `SDO.SoftwareSourceCode`
      - `SDO.SoldOut`
      - `SDO.SolveMathAction`
      - `SDO.SomeProducts`
      - `SDO.SoundtrackAlbum`
      - `SDO.SpeakableSpecification`
      - `SDO.SpecialAnnouncement`
      - `SDO.Specialty`
      - `SDO.SpeechPathology`
      - `SDO.SpokenWordAlbum`
      - `SDO.SportingGoodsStore`
      - `SDO.SportsActivityLocation`
      - `SDO.SportsClub`
      - `SDO.SportsEvent`
      - `SDO.SportsOrganization`
      - `SDO.SportsTeam`
      - `SDO.SpreadsheetDigitalDocument`
      - `SDO.StadiumOrArena`
      - `SDO.StagedContent`
      - `SDO.StagesHealthAspect`
      - `SDO.State`
      - `SDO.Statement`
      - `SDO.StatisticalPopulation`
      - `SDO.StatusEnumeration`
      - `SDO.SteeringPositionValue`
      - `SDO.Store`
      - `SDO.StoreCreditRefund`
      - `SDO.StrengthTraining`
      - `SDO.StructuredValue`
      - `SDO.StudioAlbum`
      - `SDO.SubscribeAction`
      - `SDO.Subscription`
      - `SDO.Substance`
      - `SDO.SubwayStation`
      - `SDO.Suite`
      - `SDO.Sunday`
      - `SDO.SuperficialAnatomy`
      - `SDO.Surgical`
      - `SDO.SurgicalProcedure`
      - `SDO.SuspendAction`
      - `SDO.Suspended`
      - `SDO.SymptomsHealthAspect`
      - `SDO.Synagogue`
      - `SDO.TVClip`
      - `SDO.TVEpisode`
      - `SDO.TVSeason`
      - `SDO.TVSeries`
      - `SDO.Table`
      - `SDO.TakeAction`
      - `SDO.TattooParlor`
      - `SDO.Taxi`
      - `SDO.TaxiReservation`
      - `SDO.TaxiService`
      - `SDO.TaxiStand`
      - `SDO.TaxiVehicleUsage`
      - `SDO.Taxon`
      - `SDO.TechArticle`
      - `SDO.TelevisionChannel`
      - `SDO.TelevisionStation`
      - `SDO.TennisComplex`
      - `SDO.Terminated`
      - `SDO.Text`
      - `SDO.TextDigitalDocument`
      - `SDO.TheaterEvent`
      - `SDO.TheaterGroup`
      - `SDO.Therapeutic`
      - `SDO.TherapeuticProcedure`
      - `SDO.Thesis`
      - `SDO.Thing`
      - `SDO.Throat`
      - `SDO.Thursday`
      - `SDO.Ticket`
      - `SDO.TieAction`
      - `SDO.Time`
      - `SDO.TipAction`
      - `SDO.TireShop`
      - `SDO.TollFree`
      - `SDO.TouristAttraction`
      - `SDO.TouristDestination`
      - `SDO.TouristInformationCenter`
      - `SDO.TouristTrip`
      - `SDO.Toxicologic`
      - `SDO.ToyStore`
      - `SDO.TrackAction`
      - `SDO.TradeAction`
      - `SDO.TraditionalChinese`
      - `SDO.TrainReservation`
      - `SDO.TrainStation`
      - `SDO.TrainTrip`
      - `SDO.TransferAction`
      - `SDO.TransformedContent`
      - `SDO.TransitMap`
      - `SDO.TravelAction`
      - `SDO.TravelAgency`
      - `SDO.TreatmentIndication`
      - `SDO.TreatmentsHealthAspect`
      - `SDO.Trip`
      - `SDO.TripleBlindedTrial`
      - `SDO.Tuesday`
      - `SDO.TypeAndQuantityNode`
      - `SDO.TypesHealthAspect`
      - `SDO.UKNonprofitType`
      - `SDO.UKTrust`
      - `SDO.URL`
      - `SDO.USNonprofitType`
      - `SDO.Ultrasound`
      - `SDO.UnRegisterAction`
      - `SDO.UnemploymentSupport`
      - `SDO.UnincorporatedAssociationCharity`
      - `SDO.UnitPriceSpecification`
      - `SDO.UnofficialLegalValue`
      - `SDO.UpdateAction`
      - `SDO.Urologic`
      - `SDO.UsageOrScheduleHealthAspect`
      - `SDO.UseAction`
      - `SDO.UsedCondition`
      - `SDO.UserBlocks`
      - `SDO.UserCheckins`
      - `SDO.UserComments`
      - `SDO.UserDownloads`
      - `SDO.UserInteraction`
      - `SDO.UserLikes`
      - `SDO.UserPageVisits`
      - `SDO.UserPlays`
      - `SDO.UserPlusOnes`
      - `SDO.UserReview`
      - `SDO.UserTweets`
      - `SDO.VeganDiet`
      - `SDO.VegetarianDiet`
      - `SDO.Vehicle`
      - `SDO.Vein`
      - `SDO.VenueMap`
      - `SDO.Vessel`
      - `SDO.VeterinaryCare`
      - `SDO.VideoGallery`
      - `SDO.VideoGame`
      - `SDO.VideoGameClip`
      - `SDO.VideoGameSeries`
      - `SDO.VideoObject`
      - `SDO.VideoObjectSnapshot`
      - `SDO.ViewAction`
      - `SDO.VinylFormat`
      - `SDO.VirtualLocation`
      - `SDO.Virus`
      - `SDO.VisualArtsEvent`
      - `SDO.VisualArtwork`
      - `SDO.VitalSign`
      - `SDO.Volcano`
      - `SDO.VoteAction`
      - `SDO.WPAdBlock`
      - `SDO.WPFooter`
      - `SDO.WPHeader`
      - `SDO.WPSideBar`
      - `SDO.WantAction`
      - `SDO.WarrantyPromise`
      - `SDO.WarrantyScope`
      - `SDO.WatchAction`
      - `SDO.Waterfall`
      - `SDO.WearAction`
      - `SDO.WearableMeasurementBack`
      - `SDO.WearableMeasurementChestOrBust`
      - `SDO.WearableMeasurementCollar`
      - `SDO.WearableMeasurementCup`
      - `SDO.WearableMeasurementHeight`
      - `SDO.WearableMeasurementHips`
      - `SDO.WearableMeasurementInseam`
      - `SDO.WearableMeasurementLength`
      - `SDO.WearableMeasurementOutsideLeg`
      - `SDO.WearableMeasurementSleeve`
      - `SDO.WearableMeasurementTypeEnumeration`
      - `SDO.WearableMeasurementWaist`
      - `SDO.WearableMeasurementWidth`
      - `SDO.WearableSizeGroupBig`
      - `SDO.WearableSizeGroupBoys`
      - `SDO.WearableSizeGroupEnumeration`
      - `SDO.WearableSizeGroupExtraShort`
      - `SDO.WearableSizeGroupExtraTall`
      - `SDO.WearableSizeGroupGirls`
      - `SDO.WearableSizeGroupHusky`
      - `SDO.WearableSizeGroupInfants`
      - `SDO.WearableSizeGroupJuniors`
      - `SDO.WearableSizeGroupMaternity`
      - `SDO.WearableSizeGroupMens`
      - `SDO.WearableSizeGroupMisses`
      - `SDO.WearableSizeGroupPetite`
      - `SDO.WearableSizeGroupPlus`
      - `SDO.WearableSizeGroupRegular`
      - `SDO.WearableSizeGroupShort`
      - `SDO.WearableSizeGroupTall`
      - `SDO.WearableSizeGroupWomens`
      - `SDO.WearableSizeSystemAU`
      - `SDO.WearableSizeSystemBR`
      - `SDO.WearableSizeSystemCN`
      - `SDO.WearableSizeSystemContinental`
      - `SDO.WearableSizeSystemDE`
      - `SDO.WearableSizeSystemEN13402`
      - `SDO.WearableSizeSystemEnumeration`
      - `SDO.WearableSizeSystemEurope`
      - `SDO.WearableSizeSystemFR`
      - `SDO.WearableSizeSystemGS1`
      - `SDO.WearableSizeSystemIT`
      - `SDO.WearableSizeSystemJP`
      - `SDO.WearableSizeSystemMX`
      - `SDO.WearableSizeSystemUK`
      - `SDO.WearableSizeSystemUS`
      - `SDO.WebAPI`
      - `SDO.WebApplication`
      - `SDO.WebContent`
      - `SDO.WebPage`
      - `SDO.WebPageElement`
      - `SDO.WebSite`
      - `SDO.Wednesday`
      - `SDO.WesternConventional`
      - `SDO.Wholesale`
      - `SDO.WholesaleStore`
      - `SDO.WinAction`
      - `SDO.Winery`
      - `SDO.Withdrawn`
      - `SDO.WorkBasedProgram`
      - `SDO.WorkersUnion`
      - `SDO.WriteAction`
      - `SDO.WritePermission`
      - `SDO.XPathType`
      - `SDO.XRay`
      - `SDO.ZoneBoardingPolicy`
      - `SDO.Zoo`
      - `SDO.about`
      - `SDO.abridged`
      - `SDO.abstract`
      - `SDO.accelerationTime`
      - `SDO.acceptedAnswer`
      - `SDO.acceptedOffer`
      - `SDO.acceptedPaymentMethod`
      - `SDO.acceptsReservations`
      - `SDO.accessCode`
      - `SDO.accessMode`
      - `SDO.accessModeSufficient`
      - `SDO.accessibilityAPI`
      - `SDO.accessibilityControl`
      - `SDO.accessibilityFeature`
      - `SDO.accessibilityHazard`
      - `SDO.accessibilitySummary`
      - `SDO.accommodationCategory`
      - `SDO.accommodationFloorPlan`
      - `SDO.accountId`
      - `SDO.accountMinimumInflow`
      - `SDO.accountOverdraftLimit`
      - `SDO.accountablePerson`
      - `SDO.acquireLicensePage`
      - `SDO.acquiredFrom`
      - `SDO.acrissCode`
      - `SDO.actionAccessibilityRequirement`
      - `SDO.actionApplication`
      - `SDO.actionOption`
      - `SDO.actionPlatform`
      - `SDO.actionStatus`
      - `SDO.actionableFeedbackPolicy`
      - `SDO.activeIngredient`
      - `SDO.activityDuration`
      - `SDO.activityFrequency`
      - `SDO.actor`
      - `SDO.actors`
      - `SDO.addOn`
      - `SDO.additionalName`
      - `SDO.additionalNumberOfGuests`
      - `SDO.additionalProperty`
      - `SDO.additionalType`
      - `SDO.additionalVariable`
      - `SDO.address`
      - `SDO.addressCountry`
      - `SDO.addressLocality`
      - `SDO.addressRegion`
      - `SDO.administrationRoute`
      - `SDO.advanceBookingRequirement`
      - `SDO.adverseOutcome`
      - `SDO.affectedBy`
      - `SDO.affiliation`
      - `SDO.afterMedia`
      - `SDO.agent`
      - `SDO.aggregateRating`
      - `SDO.aircraft`
      - `SDO.album`
      - `SDO.albumProductionType`
      - `SDO.albumRelease`
      - `SDO.albumReleaseType`
      - `SDO.albums`
      - `SDO.alcoholWarning`
      - `SDO.algorithm`
      - `SDO.alignmentType`
      - `SDO.alternateName`
      - `SDO.alternativeHeadline`
      - `SDO.alternativeOf`
      - `SDO.alumni`
      - `SDO.alumniOf`
      - `SDO.amenityFeature`
      - `SDO.amount`
      - `SDO.amountOfThisGood`
      - `SDO.announcementLocation`
      - `SDO.annualPercentageRate`
      - `SDO.answerCount`
      - `SDO.answerExplanation`
      - `SDO.antagonist`
      - `SDO.appearance`
      - `SDO.applicableLocation`
      - `SDO.applicantLocationRequirements`
      - `SDO.application`
      - `SDO.applicationCategory`
      - `SDO.applicationContact`
      - `SDO.applicationDeadline`
      - `SDO.applicationStartDate`
      - `SDO.applicationSubCategory`
      - `SDO.applicationSuite`
      - `SDO.appliesToDeliveryMethod`
      - `SDO.appliesToPaymentMethod`
      - `SDO.archiveHeld`
      - `SDO.archivedAt`
      - `SDO.area`
      - `SDO.areaServed`
      - `SDO.arrivalAirport`
      - `SDO.arrivalBoatTerminal`
      - `SDO.arrivalBusStop`
      - `SDO.arrivalGate`
      - `SDO.arrivalPlatform`
      - `SDO.arrivalStation`
      - `SDO.arrivalTerminal`
      - `SDO.arrivalTime`
      - `SDO.artEdition`
      - `SDO.artMedium`
      - `SDO.arterialBranch`
      - `SDO.artform`
      - `SDO.articleBody`
      - `SDO.articleSection`
      - `SDO.artist`
      - `SDO.artworkSurface`
      - `SDO.aspect`
      - `SDO.assembly`
      - `SDO.assemblyVersion`
      - `SDO.assesses`
      - `SDO.associatedAnatomy`
      - `SDO.associatedArticle`
      - `SDO.associatedClaimReview`
      - `SDO.associatedDisease`
      - `SDO.associatedMedia`
      - `SDO.associatedMediaReview`
      - `SDO.associatedPathophysiology`
      - `SDO.associatedReview`
      - `SDO.athlete`
      - `SDO.attendee`
      - `SDO.attendees`
      - `SDO.audience`
      - `SDO.audienceType`
      - `SDO.audio`
      - `SDO.authenticator`
      - `SDO.author`
      - `SDO.availability`
      - `SDO.availabilityEnds`
      - `SDO.availabilityStarts`
      - `SDO.availableAtOrFrom`
      - `SDO.availableChannel`
      - `SDO.availableDeliveryMethod`
      - `SDO.availableFrom`
      - `SDO.availableIn`
      - `SDO.availableLanguage`
      - `SDO.availableOnDevice`
      - `SDO.availableService`
      - `SDO.availableStrength`
      - `SDO.availableTest`
      - `SDO.availableThrough`
      - `SDO.award`
      - `SDO.awards`
      - `SDO.awayTeam`
      - `SDO.backstory`
      - `SDO.bankAccountType`
      - `SDO.baseSalary`
      - `SDO.bccRecipient`
      - `SDO.bed`
      - `SDO.beforeMedia`
      - `SDO.beneficiaryBank`
      - `SDO.benefits`
      - `SDO.benefitsSummaryUrl`
      - `SDO.bestRating`
      - `SDO.billingAddress`
      - `SDO.billingDuration`
      - `SDO.billingIncrement`
      - `SDO.billingPeriod`
      - `SDO.billingStart`
      - `SDO.bioChemInteraction`
      - `SDO.bioChemSimilarity`
      - `SDO.biologicalRole`
      - `SDO.biomechnicalClass`
      - `SDO.birthDate`
      - `SDO.birthPlace`
      - `SDO.bitrate`
      - `SDO.blogPost`
      - `SDO.blogPosts`
      - `SDO.bloodSupply`
      - `SDO.boardingGroup`
      - `SDO.boardingPolicy`
      - `SDO.bodyLocation`
      - `SDO.bodyType`
      - `SDO.bookEdition`
      - `SDO.bookFormat`
      - `SDO.bookingAgent`
      - `SDO.bookingTime`
      - `SDO.borrower`
      - `SDO.box`
      - `SDO.branch`
      - `SDO.branchCode`
      - `SDO.branchOf`
      - `SDO.brand`
      - `SDO.breadcrumb`
      - `SDO.breastfeedingWarning`
      - `SDO.broadcastAffiliateOf`
      - `SDO.broadcastChannelId`
      - `SDO.broadcastDisplayName`
      - `SDO.broadcastFrequency`
      - `SDO.broadcastFrequencyValue`
      - `SDO.broadcastOfEvent`
      - `SDO.broadcastServiceTier`
      - `SDO.broadcastSignalModulation`
      - `SDO.broadcastSubChannel`
      - `SDO.broadcastTimezone`
      - `SDO.broadcaster`
      - `SDO.broker`
      - `SDO.browserRequirements`
      - `SDO.busName`
      - `SDO.busNumber`
      - `SDO.businessDays`
      - `SDO.businessFunction`
      - `SDO.buyer`
      - `SDO.byArtist`
      - `SDO.byDay`
      - `SDO.byMonth`
      - `SDO.byMonthDay`
      - `SDO.byMonthWeek`
      - `SDO.callSign`
      - `SDO.calories`
      - `SDO.candidate`
      - `SDO.caption`
      - `SDO.carbohydrateContent`
      - `SDO.cargoVolume`
      - `SDO.carrier`
      - `SDO.carrierRequirements`
      - `SDO.cashBack`
      - `SDO.catalog`
      - `SDO.catalogNumber`
      - `SDO.category`
      - `SDO.causeOf`
      - `SDO.ccRecipient`
      - `SDO.character`
      - `SDO.characterAttribute`
      - `SDO.characterName`
      - `SDO.cheatCode`
      - `SDO.checkinTime`
      - `SDO.checkoutTime`
      - `SDO.chemicalComposition`
      - `SDO.chemicalRole`
      - `SDO.childMaxAge`
      - `SDO.childMinAge`
      - `SDO.childTaxon`
      - `SDO.children`
      - `SDO.cholesterolContent`
      - `SDO.circle`
      - `SDO.citation`
      - `SDO.claimInterpreter`
      - `SDO.claimReviewed`
      - `SDO.clincalPharmacology`
      - `SDO.clinicalPharmacology`
      - `SDO.clipNumber`
      - `SDO.closes`
      - `SDO.coach`
      - `SDO.code`
      - `SDO.codeRepository`
      - `SDO.codeSampleType`
      - `SDO.codeValue`
      - `SDO.codingSystem`
      - `SDO.colleague`
      - `SDO.colleagues`
      - `SDO.collection`
      - `SDO.collectionSize`
      - `SDO.color`
      - `SDO.colorist`
      - `SDO.comment`
      - `SDO.commentCount`
      - `SDO.commentText`
      - `SDO.commentTime`
      - `SDO.competencyRequired`
      - `SDO.competitor`
      - `SDO.composer`
      - `SDO.comprisedOf`
      - `SDO.conditionsOfAccess`
      - `SDO.confirmationNumber`
      - `SDO.connectedTo`
      - `SDO.constrainingProperty`
      - `SDO.contactOption`
      - `SDO.contactPoint`
      - `SDO.contactPoints`
      - `SDO.contactType`
      - `SDO.contactlessPayment`
      - `SDO.containedIn`
      - `SDO.containedInPlace`
      - `SDO.containsPlace`
      - `SDO.containsSeason`
      - `SDO.contentLocation`
      - `SDO.contentRating`
      - `SDO.contentReferenceTime`
      - `SDO.contentSize`
      - `SDO.contentType`
      - `SDO.contentUrl`
      - `SDO.contraindication`
      - `SDO.contributor`
      - `SDO.cookTime`
      - `SDO.cookingMethod`
      - `SDO.copyrightHolder`
      - `SDO.copyrightNotice`
      - `SDO.copyrightYear`
      - `SDO.correction`
      - `SDO.correctionsPolicy`
      - `SDO.costCategory`
      - `SDO.costCurrency`
      - `SDO.costOrigin`
      - `SDO.costPerUnit`
      - `SDO.countriesNotSupported`
      - `SDO.countriesSupported`
      - `SDO.countryOfAssembly`
      - `SDO.countryOfLastProcessing`
      - `SDO.countryOfOrigin`
      - `SDO.course`
      - `SDO.courseCode`
      - `SDO.courseMode`
      - `SDO.coursePrerequisites`
      - `SDO.courseWorkload`
      - `SDO.coverageEndTime`
      - `SDO.coverageStartTime`
      - `SDO.creativeWorkStatus`
      - `SDO.creator`
      - `SDO.credentialCategory`
      - `SDO.creditText`
      - `SDO.creditedTo`
      - `SDO.cssSelector`
      - `SDO.currenciesAccepted`
      - `SDO.currency`
      - `SDO.currentExchangeRate`
      - `SDO.customer`
      - `SDO.customerRemorseReturnFees`
      - `SDO.customerRemorseReturnLabelSource`
      - `SDO.customerRemorseReturnShippingFeesAmount`
      - `SDO.cutoffTime`
      - `SDO.cvdCollectionDate`
      - `SDO.cvdFacilityCounty`
      - `SDO.cvdFacilityId`
      - `SDO.cvdNumBeds`
      - `SDO.cvdNumBedsOcc`
      - `SDO.cvdNumC19Died`
      - `SDO.cvdNumC19HOPats`
      - `SDO.cvdNumC19HospPats`
      - `SDO.cvdNumC19MechVentPats`
      - `SDO.cvdNumC19OFMechVentPats`
      - `SDO.cvdNumC19OverflowPats`
      - `SDO.cvdNumICUBeds`
      - `SDO.cvdNumICUBedsOcc`
      - `SDO.cvdNumTotBeds`
      - `SDO.cvdNumVent`
      - `SDO.cvdNumVentUse`
      - `SDO.dataFeedElement`
      - `SDO.dataset`
      - `SDO.datasetTimeInterval`
      - `SDO.dateCreated`
      - `SDO.dateDeleted`
      - `SDO.dateIssued`
      - `SDO.dateModified`
      - `SDO.datePosted`
      - `SDO.datePublished`
      - `SDO.dateRead`
      - `SDO.dateReceived`
      - `SDO.dateSent`
      - `SDO.dateVehicleFirstRegistered`
      - `SDO.dateline`
      - `SDO.dayOfWeek`
      - `SDO.deathDate`
      - `SDO.deathPlace`
      - `SDO.defaultValue`
      - `SDO.deliveryAddress`
      - `SDO.deliveryLeadTime`
      - `SDO.deliveryMethod`
      - `SDO.deliveryStatus`
      - `SDO.deliveryTime`
      - `SDO.department`
      - `SDO.departureAirport`
      - `SDO.departureBoatTerminal`
      - `SDO.departureBusStop`
      - `SDO.departureGate`
      - `SDO.departurePlatform`
      - `SDO.departureStation`
      - `SDO.departureTerminal`
      - `SDO.departureTime`
      - `SDO.dependencies`
      - `SDO.depth`
      - `SDO.description`
      - `SDO.device`
      - `SDO.diagnosis`
      - `SDO.diagram`
      - `SDO.diet`
      - `SDO.dietFeatures`
      - `SDO.differentialDiagnosis`
      - `SDO.directApply`
      - `SDO.director`
      - `SDO.directors`
      - `SDO.disambiguatingDescription`
      - `SDO.discount`
      - `SDO.discountCode`
      - `SDO.discountCurrency`
      - `SDO.discusses`
      - `SDO.discussionUrl`
      - `SDO.diseasePreventionInfo`
      - `SDO.diseaseSpreadStatistics`
      - `SDO.dissolutionDate`
      - `SDO.distance`
      - `SDO.distinguishingSign`
      - `SDO.distribution`
      - `SDO.diversityPolicy`
      - `SDO.diversityStaffingReport`
      - `SDO.documentation`
      - `SDO.doesNotShip`
      - `SDO.domainIncludes`
      - `SDO.domiciledMortgage`
      - `SDO.doorTime`
      - `SDO.dosageForm`
      - `SDO.doseSchedule`
      - `SDO.doseUnit`
      - `SDO.doseValue`
      - `SDO.downPayment`
      - `SDO.downloadUrl`
      - `SDO.downvoteCount`
      - `SDO.drainsTo`
      - `SDO.driveWheelConfiguration`
      - `SDO.dropoffLocation`
      - `SDO.dropoffTime`
      - `SDO.drug`
      - `SDO.drugClass`
      - `SDO.drugUnit`
      - `SDO.duns`
      - `SDO.duplicateTherapy`
      - `SDO.duration`
      - `SDO.durationOfWarranty`
      - `SDO.duringMedia`
      - `SDO.earlyPrepaymentPenalty`
      - `SDO.editEIDR`
      - `SDO.editor`
      - `SDO.eduQuestionType`
      - `SDO.educationRequirements`
      - `SDO.educationalAlignment`
      - `SDO.educationalCredentialAwarded`
      - `SDO.educationalFramework`
      - `SDO.educationalLevel`
      - `SDO.educationalProgramMode`
      - `SDO.educationalRole`
      - `SDO.educationalUse`
      - `SDO.elevation`
      - `SDO.eligibilityToWorkRequirement`
      - `SDO.eligibleCustomerType`
      - `SDO.eligibleDuration`
      - `SDO.eligibleQuantity`
      - `SDO.eligibleRegion`
      - `SDO.eligibleTransactionVolume`
      - `SDO.email`
      - `SDO.embedUrl`
      - `SDO.embeddedTextCaption`
      - `SDO.emissionsCO2`
      - `SDO.employee`
      - `SDO.employees`
      - `SDO.employerOverview`
      - `SDO.employmentType`
      - `SDO.employmentUnit`
      - `SDO.encodesBioChemEntity`
      - `SDO.encodesCreativeWork`
      - `SDO.encoding`
      - `SDO.encodingFormat`
      - `SDO.encodingType`
      - `SDO.encodings`
      - `SDO.endDate`
      - `SDO.endOffset`
      - `SDO.endTime`
      - `SDO.endorsee`
      - `SDO.endorsers`
      - `SDO.energyEfficiencyScaleMax`
      - `SDO.energyEfficiencyScaleMin`
      - `SDO.engineDisplacement`
      - `SDO.enginePower`
      - `SDO.engineType`
      - `SDO.entertainmentBusiness`
      - `SDO.epidemiology`
      - `SDO.episode`
      - `SDO.episodeNumber`
      - `SDO.episodes`
      - `SDO.equal`
      - `SDO.error`
      - `SDO.estimatedCost`
      - `SDO.estimatedFlightDuration`
      - `SDO.estimatedSalary`
      - `SDO.estimatesRiskOf`
      - `SDO.ethicsPolicy`
      - `SDO.event`
      - `SDO.eventAttendanceMode`
      - `SDO.eventSchedule`
      - `SDO.eventStatus`
      - `SDO.events`
      - `SDO.evidenceLevel`
      - `SDO.evidenceOrigin`
      - `SDO.exampleOfWork`
      - `SDO.exceptDate`
      - `SDO.exchangeRateSpread`
      - `SDO.executableLibraryName`
      - `SDO.exerciseCourse`
      - `SDO.exercisePlan`
      - `SDO.exerciseRelatedDiet`
      - `SDO.exerciseType`
      - `SDO.exifData`
      - `SDO.expectedArrivalFrom`
      - `SDO.expectedArrivalUntil`
      - `SDO.expectedPrognosis`
      - `SDO.expectsAcceptanceOf`
      - `SDO.experienceInPlaceOfEducation`
      - `SDO.experienceRequirements`
      - `SDO.expertConsiderations`
      - `SDO.expires`
      - `SDO.expressedIn`
      - `SDO.familyName`
      - `SDO.fatContent`
      - `SDO.faxNumber`
      - `SDO.featureList`
      - `SDO.feesAndCommissionsSpecification`
      - `SDO.fiberContent`
      - `SDO.fileFormat`
      - `SDO.fileSize`
      - `SDO.financialAidEligible`
      - `SDO.firstAppearance`
      - `SDO.firstPerformance`
      - `SDO.flightDistance`
      - `SDO.flightNumber`
      - `SDO.floorLevel`
      - `SDO.floorLimit`
      - `SDO.floorSize`
      - `SDO.followee`
      - `SDO.follows`
      - `SDO.followup`
      - `SDO.foodEstablishment`
      - `SDO.foodEvent`
      - `SDO.foodWarning`
      - `SDO.founder`
      - `SDO.founders`
      - `SDO.foundingDate`
      - `SDO.foundingLocation`
      - `SDO.free`
      - `SDO.freeShippingThreshold`
      - `SDO.frequency`
      - `SDO.fromLocation`
      - `SDO.fuelCapacity`
      - `SDO.fuelConsumption`
      - `SDO.fuelEfficiency`
      - `SDO.fuelType`
      - `SDO.functionalClass`
      - `SDO.fundedItem`
      - `SDO.funder`
      - `SDO.game`
      - `SDO.gameItem`
      - `SDO.gameLocation`
      - `SDO.gamePlatform`
      - `SDO.gameServer`
      - `SDO.gameTip`
      - `SDO.gender`
      - `SDO.genre`
      - `SDO.geo`
      - `SDO.geoContains`
      - `SDO.geoCoveredBy`
      - `SDO.geoCovers`
      - `SDO.geoCrosses`
      - `SDO.geoDisjoint`
      - `SDO.geoEquals`
      - `SDO.geoIntersects`
      - `SDO.geoMidpoint`
      - `SDO.geoOverlaps`
      - `SDO.geoRadius`
      - `SDO.geoTouches`
      - `SDO.geoWithin`
      - `SDO.geographicArea`
      - `SDO.gettingTestedInfo`
      - `SDO.givenName`
      - `SDO.globalLocationNumber`
      - `SDO.governmentBenefitsInfo`
      - `SDO.gracePeriod`
      - `SDO.grantee`
      - `SDO.greater`
      - `SDO.greaterOrEqual`
      - `SDO.gtin`
      - `SDO.gtin12`
      - `SDO.gtin13`
      - `SDO.gtin14`
      - `SDO.gtin8`
      - `SDO.guideline`
      - `SDO.guidelineDate`
      - `SDO.guidelineSubject`
      - `SDO.handlingTime`
      - `SDO.hasBioChemEntityPart`
      - `SDO.hasBioPolymerSequence`
      - `SDO.hasBroadcastChannel`
      - `SDO.hasCategoryCode`
      - `SDO.hasCourse`
      - `SDO.hasCourseInstance`
      - `SDO.hasCredential`
      - `SDO.hasDefinedTerm`
      - `SDO.hasDeliveryMethod`
      - `SDO.hasDigitalDocumentPermission`
      - `SDO.hasDriveThroughService`
      - `SDO.hasEnergyConsumptionDetails`
      - `SDO.hasEnergyEfficiencyCategory`
      - `SDO.hasHealthAspect`
      - `SDO.hasMap`
      - `SDO.hasMeasurement`
      - `SDO.hasMenu`
      - `SDO.hasMenuItem`
      - `SDO.hasMenuSection`
      - `SDO.hasMerchantReturnPolicy`
      - `SDO.hasMolecularFunction`
      - `SDO.hasOccupation`
      - `SDO.hasOfferCatalog`
      - `SDO.hasPOS`
      - `SDO.hasPart`
      - `SDO.hasRepresentation`
      - `SDO.hasVariant`
      - `SDO.headline`
      - `SDO.healthCondition`
      - `SDO.healthPlanCoinsuranceOption`
      - `SDO.healthPlanCoinsuranceRate`
      - `SDO.healthPlanCopay`
      - `SDO.healthPlanCopayOption`
      - `SDO.healthPlanCostSharing`
      - `SDO.healthPlanDrugOption`
      - `SDO.healthPlanDrugTier`
      - `SDO.healthPlanId`
      - `SDO.healthPlanMarketingUrl`
      - `SDO.healthPlanNetworkId`
      - `SDO.healthPlanNetworkTier`
      - `SDO.healthPlanPharmacyCategory`
      - `SDO.healthcareReportingData`
      - `SDO.height`
      - `SDO.highPrice`
      - `SDO.hiringOrganization`
      - `SDO.holdingArchive`
      - `SDO.homeLocation`
      - `SDO.homeTeam`
      - `SDO.honorificPrefix`
      - `SDO.honorificSuffix`
      - `SDO.hospitalAffiliation`
      - `SDO.hostingOrganization`
      - `SDO.hoursAvailable`
      - `SDO.howPerformed`
      - `SDO.httpMethod`
      - `SDO.iataCode`
      - `SDO.icaoCode`
      - `SDO.identifier`
      - `SDO.identifyingExam`
      - `SDO.identifyingTest`
      - `SDO.illustrator`
      - `SDO.image`
      - `SDO.imagingTechnique`
      - `SDO.inAlbum`
      - `SDO.inBroadcastLineup`
      - `SDO.inChI`
      - `SDO.inChIKey`
      - `SDO.inCodeSet`
      - `SDO.inDefinedTermSet`
      - `SDO.inLanguage`
      - `SDO.inPlaylist`
      - `SDO.inProductGroupWithID`
      - `SDO.inStoreReturnsOffered`
      - `SDO.inSupportOf`
      - `SDO.incentiveCompensation`
      - `SDO.incentives`
      - `SDO.includedComposition`
      - `SDO.includedDataCatalog`
      - `SDO.includedInDataCatalog`
      - `SDO.includedInHealthInsurancePlan`
      - `SDO.includedRiskFactor`
      - `SDO.includesAttraction`
      - `SDO.includesHealthPlanFormulary`
      - `SDO.includesHealthPlanNetwork`
      - `SDO.includesObject`
      - `SDO.increasesRiskOf`
      - `SDO.industry`
      - `SDO.ineligibleRegion`
      - `SDO.infectiousAgent`
      - `SDO.infectiousAgentClass`
      - `SDO.ingredients`
      - `SDO.inker`
      - `SDO.insertion`
      - `SDO.installUrl`
      - `SDO.instructor`
      - `SDO.instrument`
      - `SDO.intensity`
      - `SDO.interactingDrug`
      - `SDO.interactionCount`
      - `SDO.interactionService`
      - `SDO.interactionStatistic`
      - `SDO.interactionType`
      - `SDO.interactivityType`
      - `SDO.interestRate`
      - `SDO.interpretedAsClaim`
      - `SDO.inventoryLevel`
      - `SDO.inverseOf`
      - `SDO.isAcceptingNewPatients`
      - `SDO.isAccessibleForFree`
      - `SDO.isAccessoryOrSparePartFor`
      - `SDO.isAvailableGenerically`
      - `SDO.isBasedOn`
      - `SDO.isBasedOnUrl`
      - `SDO.isConsumableFor`
      - `SDO.isEncodedByBioChemEntity`
      - `SDO.isFamilyFriendly`
      - `SDO.isGift`
      - `SDO.isInvolvedInBiologicalProcess`
      - `SDO.isLiveBroadcast`
      - `SDO.isLocatedInSubcellularLocation`
      - `SDO.isPartOf`
      - `SDO.isPartOfBioChemEntity`
      - `SDO.isPlanForApartment`
      - `SDO.isProprietary`
      - `SDO.isRelatedTo`
      - `SDO.isResizable`
      - `SDO.isSimilarTo`
      - `SDO.isUnlabelledFallback`
      - `SDO.isVariantOf`
      - `SDO.isbn`
      - `SDO.isicV4`
      - `SDO.isrcCode`
      - `SDO.issn`
      - `SDO.issueNumber`
      - `SDO.issuedBy`
      - `SDO.issuedThrough`
      - `SDO.iswcCode`
      - `SDO.item`
      - `SDO.itemCondition`
      - `SDO.itemDefectReturnFees`
      - `SDO.itemDefectReturnLabelSource`
      - `SDO.itemDefectReturnShippingFeesAmount`
      - `SDO.itemListElement`
      - `SDO.itemListOrder`
      - `SDO.itemLocation`
      - `SDO.itemOffered`
      - `SDO.itemReviewed`
      - `SDO.itemShipped`
      - `SDO.itinerary`
      - `SDO.iupacName`
      - `SDO.jobBenefits`
      - `SDO.jobImmediateStart`
      - `SDO.jobLocation`
      - `SDO.jobLocationType`
      - `SDO.jobStartDate`
      - `SDO.jobTitle`
      - `SDO.jurisdiction`
      - `SDO.keywords`
      - `SDO.knownVehicleDamages`
      - `SDO.knows`
      - `SDO.knowsAbout`
      - `SDO.knowsLanguage`
      - `SDO.labelDetails`
      - `SDO.landlord`
      - `SDO.language`
      - `SDO.lastReviewed`
      - `SDO.latitude`
      - `SDO.layoutImage`
      - `SDO.learningResourceType`
      - `SDO.leaseLength`
      - `SDO.legalName`
      - `SDO.legalStatus`
      - `SDO.legislationApplies`
      - `SDO.legislationChanges`
      - `SDO.legislationConsolidates`
      - `SDO.legislationDate`
      - `SDO.legislationDateVersion`
      - `SDO.legislationIdentifier`
      - `SDO.legislationJurisdiction`
      - `SDO.legislationLegalForce`
      - `SDO.legislationLegalValue`
      - `SDO.legislationPassedBy`
      - `SDO.legislationResponsible`
      - `SDO.legislationTransposes`
      - `SDO.legislationType`
      - `SDO.leiCode`
      - `SDO.lender`
      - `SDO.lesser`
      - `SDO.lesserOrEqual`
      - `SDO.letterer`
      - `SDO.license`
      - `SDO.line`
      - `SDO.linkRelationship`
      - `SDO.liveBlogUpdate`
      - `SDO.loanMortgageMandateAmount`
      - `SDO.loanPaymentAmount`
      - `SDO.loanPaymentFrequency`
      - `SDO.loanRepaymentForm`
      - `SDO.loanTerm`
      - `SDO.loanType`
      - `SDO.location`
      - `SDO.locationCreated`
      - `SDO.lodgingUnitDescription`
      - `SDO.lodgingUnitType`
      - `SDO.logo`
      - `SDO.longitude`
      - `SDO.loser`
      - `SDO.lowPrice`
      - `SDO.lyricist`
      - `SDO.lyrics`
      - `SDO.mainContentOfPage`
      - `SDO.mainEntity`
      - `SDO.mainEntityOfPage`
      - `SDO.maintainer`
      - `SDO.makesOffer`
      - `SDO.manufacturer`
      - `SDO.map`
      - `SDO.mapType`
      - `SDO.maps`
      - `SDO.marginOfError`
      - `SDO.masthead`
      - `SDO.material`
      - `SDO.materialExtent`
      - `SDO.mathExpression`
      - `SDO.maxPrice`
      - `SDO.maxValue`
      - `SDO.maximumAttendeeCapacity`
      - `SDO.maximumEnrollment`
      - `SDO.maximumIntake`
      - `SDO.maximumPhysicalAttendeeCapacity`
      - `SDO.maximumVirtualAttendeeCapacity`
      - `SDO.mealService`
      - `SDO.measuredProperty`
      - `SDO.measuredValue`
      - `SDO.measurementTechnique`
      - `SDO.mechanismOfAction`
      - `SDO.mediaAuthenticityCategory`
      - `SDO.mediaItemAppearance`
      - `SDO.median`
      - `SDO.medicalAudience`
      - `SDO.medicalSpecialty`
      - `SDO.medicineSystem`
      - `SDO.meetsEmissionStandard`
      - `SDO.member`
      - `SDO.memberOf`
      - `SDO.members`
      - `SDO.membershipNumber`
      - `SDO.membershipPointsEarned`
      - `SDO.memoryRequirements`
      - `SDO.mentions`
      - `SDO.menu`
      - `SDO.menuAddOn`
      - `SDO.merchant`
      - `SDO.merchantReturnDays`
      - `SDO.merchantReturnLink`
      - `SDO.messageAttachment`
      - `SDO.mileageFromOdometer`
      - `SDO.minPrice`
      - `SDO.minValue`
      - `SDO.minimumPaymentDue`
      - `SDO.missionCoveragePrioritiesPolicy`
      - `SDO.model`
      - `SDO.modelDate`
      - `SDO.modifiedTime`
      - `SDO.molecularFormula`
      - `SDO.molecularWeight`
      - `SDO.monoisotopicMolecularWeight`
      - `SDO.monthlyMinimumRepaymentAmount`
      - `SDO.monthsOfExperience`
      - `SDO.mpn`
      - `SDO.multipleValues`
      - `SDO.muscleAction`
      - `SDO.musicArrangement`
      - `SDO.musicBy`
      - `SDO.musicCompositionForm`
      - `SDO.musicGroupMember`
      - `SDO.musicReleaseFormat`
      - `SDO.musicalKey`
      - `SDO.naics`
      - `SDO.name`
      - `SDO.namedPosition`
      - `SDO.nationality`
      - `SDO.naturalProgression`
      - `SDO.negativeNotes`
      - `SDO.nerve`
      - `SDO.nerveMotor`
      - `SDO.netWorth`
      - `SDO.newsUpdatesAndGuidelines`
      - `SDO.nextItem`
      - `SDO.noBylinesPolicy`
      - `SDO.nonEqual`
      - `SDO.nonProprietaryName`
      - `SDO.nonprofitStatus`
      - `SDO.normalRange`
      - `SDO.nsn`
      - `SDO.numAdults`
      - `SDO.numChildren`
      - `SDO.numConstraints`
      - `SDO.numTracks`
      - `SDO.numberOfAccommodationUnits`
      - `SDO.numberOfAirbags`
      - `SDO.numberOfAvailableAccommodationUnits`
      - `SDO.numberOfAxles`
      - `SDO.numberOfBathroomsTotal`
      - `SDO.numberOfBedrooms`
      - `SDO.numberOfBeds`
      - `SDO.numberOfCredits`
      - `SDO.numberOfDoors`
      - `SDO.numberOfEmployees`
      - `SDO.numberOfEpisodes`
      - `SDO.numberOfForwardGears`
      - `SDO.numberOfFullBathrooms`
      - `SDO.numberOfItems`
      - `SDO.numberOfLoanPayments`
      - `SDO.numberOfPages`
      - `SDO.numberOfPartialBathrooms`
      - `SDO.numberOfPlayers`
      - `SDO.numberOfPreviousOwners`
      - `SDO.numberOfRooms`
      - `SDO.numberOfSeasons`
      - `SDO.numberedPosition`
      - `SDO.nutrition`
      - `SDO.object`
      - `SDO.observationDate`
      - `SDO.observedNode`
      - `SDO.occupancy`
      - `SDO.occupationLocation`
      - `SDO.occupationalCategory`
      - `SDO.occupationalCredentialAwarded`
      - `SDO.offerCount`
      - `SDO.offeredBy`
      - `SDO.offers`
      - `SDO.offersPrescriptionByMail`
      - `SDO.openingHours`
      - `SDO.openingHoursSpecification`
      - `SDO.opens`
      - `SDO.operatingSystem`
      - `SDO.opponent`
      - `SDO.option`
      - `SDO.orderDate`
      - `SDO.orderDelivery`
      - `SDO.orderItemNumber`
      - `SDO.orderItemStatus`
      - `SDO.orderNumber`
      - `SDO.orderQuantity`
      - `SDO.orderStatus`
      - `SDO.orderedItem`
      - `SDO.organizer`
      - `SDO.originAddress`
      - `SDO.originalMediaContextDescription`
      - `SDO.originalMediaLink`
      - `SDO.originatesFrom`
      - `SDO.overdosage`
      - `SDO.ownedFrom`
      - `SDO.ownedThrough`
      - `SDO.ownershipFundingInfo`
      - `SDO.owns`
      - `SDO.pageEnd`
      - `SDO.pageStart`
      - `SDO.pagination`
      - `SDO.parent`
      - `SDO.parentItem`
      - `SDO.parentOrganization`
      - `SDO.parentService`
      - `SDO.parentTaxon`
      - `SDO.parents`
      - `SDO.partOfEpisode`
      - `SDO.partOfInvoice`
      - `SDO.partOfOrder`
      - `SDO.partOfSeason`
      - `SDO.partOfSeries`
      - `SDO.partOfSystem`
      - `SDO.partOfTVSeries`
      - `SDO.partOfTrip`
      - `SDO.participant`
      - `SDO.partySize`
      - `SDO.passengerPriorityStatus`
      - `SDO.passengerSequenceNumber`
      - `SDO.pathophysiology`
      - `SDO.pattern`
      - `SDO.payload`
      - `SDO.paymentAccepted`
      - `SDO.paymentDue`
      - `SDO.paymentDueDate`
      - `SDO.paymentMethod`
      - `SDO.paymentMethodId`
      - `SDO.paymentStatus`
      - `SDO.paymentUrl`
      - `SDO.penciler`
      - `SDO.percentile10`
      - `SDO.percentile25`
      - `SDO.percentile75`
      - `SDO.percentile90`
      - `SDO.performTime`
      - `SDO.performer`
      - `SDO.performerIn`
      - `SDO.performers`
      - `SDO.permissionType`
      - `SDO.permissions`
      - `SDO.permitAudience`
      - `SDO.permittedUsage`
      - `SDO.petsAllowed`
      - `SDO.phoneticText`
      - `SDO.photo`
      - `SDO.photos`
      - `SDO.physicalRequirement`
      - `SDO.physiologicalBenefits`
      - `SDO.pickupLocation`
      - `SDO.pickupTime`
      - `SDO.playMode`
      - `SDO.playerType`
      - `SDO.playersOnline`
      - `SDO.polygon`
      - `SDO.populationType`
      - `SDO.position`
      - `SDO.positiveNotes`
      - `SDO.possibleComplication`
      - `SDO.possibleTreatment`
      - `SDO.postOfficeBoxNumber`
      - `SDO.postOp`
      - `SDO.postalCode`
      - `SDO.postalCodeBegin`
      - `SDO.postalCodeEnd`
      - `SDO.postalCodePrefix`
      - `SDO.postalCodeRange`
      - `SDO.potentialAction`
      - `SDO.potentialUse`
      - `SDO.preOp`
      - `SDO.predecessorOf`
      - `SDO.pregnancyCategory`
      - `SDO.pregnancyWarning`
      - `SDO.prepTime`
      - `SDO.preparation`
      - `SDO.prescribingInfo`
      - `SDO.prescriptionStatus`
      - `SDO.previousItem`
      - `SDO.previousStartDate`
      - `SDO.price`
      - `SDO.priceComponent`
      - `SDO.priceComponentType`
      - `SDO.priceCurrency`
      - `SDO.priceRange`
      - `SDO.priceSpecification`
      - `SDO.priceType`
      - `SDO.priceValidUntil`
      - `SDO.primaryImageOfPage`
      - `SDO.primaryPrevention`
      - `SDO.printColumn`
      - `SDO.printEdition`
      - `SDO.printPage`
      - `SDO.printSection`
      - `SDO.procedure`
      - `SDO.procedureType`
      - `SDO.processingTime`
      - `SDO.processorRequirements`
      - `SDO.producer`
      - `SDO.produces`
      - `SDO.productGroupID`
      - `SDO.productID`
      - `SDO.productSupported`
      - `SDO.productionCompany`
      - `SDO.productionDate`
      - `SDO.proficiencyLevel`
      - `SDO.programMembershipUsed`
      - `SDO.programName`
      - `SDO.programPrerequisites`
      - `SDO.programType`
      - `SDO.programmingLanguage`
      - `SDO.programmingModel`
      - `SDO.propertyID`
      - `SDO.proprietaryName`
      - `SDO.proteinContent`
      - `SDO.provider`
      - `SDO.providerMobility`
      - `SDO.providesBroadcastService`
      - `SDO.providesService`
      - `SDO.publicAccess`
      - `SDO.publicTransportClosuresInfo`
      - `SDO.publication`
      - `SDO.publicationType`
      - `SDO.publishedBy`
      - `SDO.publishedOn`
      - `SDO.publisher`
      - `SDO.publisherImprint`
      - `SDO.publishingPrinciples`
      - `SDO.purchaseDate`
      - `SDO.qualifications`
      - `SDO.quarantineGuidelines`
      - `SDO.query`
      - `SDO.quest`
      - `SDO.question`
      - `SDO.rangeIncludes`
      - `SDO.ratingCount`
      - `SDO.ratingExplanation`
      - `SDO.ratingValue`
      - `SDO.readBy`
      - `SDO.readonlyValue`
      - `SDO.realEstateAgent`
      - `SDO.recipe`
      - `SDO.recipeCategory`
      - `SDO.recipeCuisine`
      - `SDO.recipeIngredient`
      - `SDO.recipeInstructions`
      - `SDO.recipeYield`
      - `SDO.recipient`
      - `SDO.recognizedBy`
      - `SDO.recognizingAuthority`
      - `SDO.recommendationStrength`
      - `SDO.recommendedIntake`
      - `SDO.recordLabel`
      - `SDO.recordedAs`
      - `SDO.recordedAt`
      - `SDO.recordedIn`
      - `SDO.recordingOf`
      - `SDO.recourseLoan`
      - `SDO.referenceQuantity`
      - `SDO.referencesOrder`
      - `SDO.refundType`
      - `SDO.regionDrained`
      - `SDO.regionsAllowed`
      - `SDO.relatedAnatomy`
      - `SDO.relatedCondition`
      - `SDO.relatedDrug`
      - `SDO.relatedLink`
      - `SDO.relatedStructure`
      - `SDO.relatedTherapy`
      - `SDO.relatedTo`
      - `SDO.releaseDate`
      - `SDO.releaseNotes`
      - `SDO.releaseOf`
      - `SDO.releasedEvent`
      - `SDO.relevantOccupation`
      - `SDO.relevantSpecialty`
      - `SDO.remainingAttendeeCapacity`
      - `SDO.renegotiableLoan`
      - `SDO.repeatCount`
      - `SDO.repeatFrequency`
      - `SDO.repetitions`
      - `SDO.replacee`
      - `SDO.replacer`
      - `SDO.replyToUrl`
      - `SDO.reportNumber`
      - `SDO.representativeOfPage`
      - `SDO.requiredCollateral`
      - `SDO.requiredGender`
      - `SDO.requiredMaxAge`
      - `SDO.requiredMinAge`
      - `SDO.requiredQuantity`
      - `SDO.requirements`
      - `SDO.requiresSubscription`
      - `SDO.reservationFor`
      - `SDO.reservationId`
      - `SDO.reservationStatus`
      - `SDO.reservedTicket`
      - `SDO.responsibilities`
      - `SDO.restPeriods`
      - `SDO.restockingFee`
      - `SDO.result`
      - `SDO.resultComment`
      - `SDO.resultReview`
      - `SDO.returnFees`
      - `SDO.returnLabelSource`
      - `SDO.returnMethod`
      - `SDO.returnPolicyCategory`
      - `SDO.returnPolicyCountry`
      - `SDO.returnPolicySeasonalOverride`
      - `SDO.returnShippingFeesAmount`
      - `SDO.review`
      - `SDO.reviewAspect`
      - `SDO.reviewBody`
      - `SDO.reviewCount`
      - `SDO.reviewRating`
      - `SDO.reviewedBy`
      - `SDO.reviews`
      - `SDO.riskFactor`
      - `SDO.risks`
      - `SDO.roleName`
      - `SDO.roofLoad`
      - `SDO.rsvpResponse`
      - `SDO.runsTo`
      - `SDO.runtime`
      - `SDO.runtimePlatform`
      - `SDO.rxcui`
      - `SDO.safetyConsideration`
      - `SDO.salaryCurrency`
      - `SDO.salaryUponCompletion`
      - `SDO.sameAs`
      - `SDO.sampleType`
      - `SDO.saturatedFatContent`
      - `SDO.scheduleTimezone`
      - `SDO.scheduledPaymentDate`
      - `SDO.scheduledTime`
      - `SDO.schemaVersion`
      - `SDO.schoolClosuresInfo`
      - `SDO.screenCount`
      - `SDO.screenshot`
      - `SDO.sdDatePublished`
      - `SDO.sdLicense`
      - `SDO.sdPublisher`
      - `SDO.season`
      - `SDO.seasonNumber`
      - `SDO.seasons`
      - `SDO.seatNumber`
      - `SDO.seatRow`
      - `SDO.seatSection`
      - `SDO.seatingCapacity`
      - `SDO.seatingType`
      - `SDO.secondaryPrevention`
      - `SDO.securityClearanceRequirement`
      - `SDO.securityScreening`
      - `SDO.seeks`
      - `SDO.seller`
      - `SDO.sender`
      - `SDO.sensoryRequirement`
      - `SDO.sensoryUnit`
      - `SDO.serialNumber`
      - `SDO.seriousAdverseOutcome`
      - `SDO.serverStatus`
      - `SDO.servesCuisine`
      - `SDO.serviceArea`
      - `SDO.serviceAudience`
      - `SDO.serviceLocation`
      - `SDO.serviceOperator`
      - `SDO.serviceOutput`
      - `SDO.servicePhone`
      - `SDO.servicePostalAddress`
      - `SDO.serviceSmsNumber`
      - `SDO.serviceType`
      - `SDO.serviceUrl`
      - `SDO.servingSize`
      - `SDO.sha256`
      - `SDO.sharedContent`
      - `SDO.shippingDestination`
      - `SDO.shippingDetails`
      - `SDO.shippingLabel`
      - `SDO.shippingRate`
      - `SDO.shippingSettingsLink`
      - `SDO.sibling`
      - `SDO.siblings`
      - `SDO.signDetected`
      - `SDO.signOrSymptom`
      - `SDO.significance`
      - `SDO.significantLink`
      - `SDO.significantLinks`
      - `SDO.size`
      - `SDO.sizeGroup`
      - `SDO.sizeSystem`
      - `SDO.skills`
      - `SDO.sku`
      - `SDO.slogan`
      - `SDO.smiles`
      - `SDO.smokingAllowed`
      - `SDO.sodiumContent`
      - `SDO.softwareAddOn`
      - `SDO.softwareHelp`
      - `SDO.softwareRequirements`
      - `SDO.softwareVersion`
      - `SDO.sourceOrganization`
      - `SDO.sourcedFrom`
      - `SDO.spatial`
      - `SDO.spatialCoverage`
      - `SDO.speakable`
      - `SDO.specialCommitments`
      - `SDO.specialOpeningHoursSpecification`
      - `SDO.specialty`
      - `SDO.speechToTextMarkup`
      - `SDO.speed`
      - `SDO.spokenByCharacter`
      - `SDO.sponsor`
      - `SDO.sport`
      - `SDO.sportsActivityLocation`
      - `SDO.sportsEvent`
      - `SDO.sportsTeam`
      - `SDO.spouse`
      - `SDO.stage`
      - `SDO.stageAsNumber`
      - `SDO.starRating`
      - `SDO.startDate`
      - `SDO.startOffset`
      - `SDO.startTime`
      - `SDO.status`
      - `SDO.steeringPosition`
      - `SDO.step`
      - `SDO.stepValue`
      - `SDO.steps`
      - `SDO.storageRequirements`
      - `SDO.streetAddress`
      - `SDO.strengthUnit`
      - `SDO.strengthValue`
      - `SDO.structuralClass`
      - `SDO.study`
      - `SDO.studyDesign`
      - `SDO.studyLocation`
      - `SDO.studySubject`
      - `SDO.subEvent`
      - `SDO.subEvents`
      - `SDO.subOrganization`
      - `SDO.subReservation`
      - `SDO.subStageSuffix`
      - `SDO.subStructure`
      - `SDO.subTest`
      - `SDO.subTrip`
      - `SDO.subjectOf`
      - `SDO.subtitleLanguage`
      - `SDO.successorOf`
      - `SDO.sugarContent`
      - `SDO.suggestedAge`
      - `SDO.suggestedAnswer`
      - `SDO.suggestedGender`
      - `SDO.suggestedMaxAge`
      - `SDO.suggestedMeasurement`
      - `SDO.suggestedMinAge`
      - `SDO.suitableForDiet`
      - `SDO.superEvent`
      - `SDO.supersededBy`
      - `SDO.supply`
      - `SDO.supplyTo`
      - `SDO.supportingData`
      - `SDO.surface`
      - `SDO.target`
      - `SDO.targetCollection`
      - `SDO.targetDescription`
      - `SDO.targetName`
      - `SDO.targetPlatform`
      - `SDO.targetPopulation`
      - `SDO.targetProduct`
      - `SDO.targetUrl`
      - `SDO.taxID`
      - `SDO.taxonRank`
      - `SDO.taxonomicRange`
      - `SDO.teaches`
      - `SDO.telephone`
      - `SDO.temporal`
      - `SDO.temporalCoverage`
      - `SDO.termCode`
      - `SDO.termDuration`
      - `SDO.termsOfService`
      - `SDO.termsPerYear`
      - `SDO.text`
      - `SDO.textValue`
      - `SDO.thumbnail`
      - `SDO.thumbnailUrl`
      - `SDO.tickerSymbol`
      - `SDO.ticketNumber`
      - `SDO.ticketToken`
      - `SDO.ticketedSeat`
      - `SDO.timeOfDay`
      - `SDO.timeRequired`
      - `SDO.timeToComplete`
      - `SDO.tissueSample`
      - `SDO.title`
      - `SDO.titleEIDR`
      - `SDO.toLocation`
      - `SDO.toRecipient`
      - `SDO.tocContinuation`
      - `SDO.tocEntry`
      - `SDO.tongueWeight`
      - `SDO.tool`
      - `SDO.torque`
      - `SDO.totalJobOpenings`
      - `SDO.totalPaymentDue`
      - `SDO.totalPrice`
      - `SDO.totalTime`
      - `SDO.tourBookingPage`
      - `SDO.touristType`
      - `SDO.track`
      - `SDO.trackingNumber`
      - `SDO.trackingUrl`
      - `SDO.tracks`
      - `SDO.trailer`
      - `SDO.trailerWeight`
      - `SDO.trainName`
      - `SDO.trainNumber`
      - `SDO.trainingSalary`
      - `SDO.transFatContent`
      - `SDO.transcript`
      - `SDO.transitTime`
      - `SDO.transitTimeLabel`
      - `SDO.translationOfWork`
      - `SDO.translator`
      - `SDO.transmissionMethod`
      - `SDO.travelBans`
      - `SDO.trialDesign`
      - `SDO.tributary`
      - `SDO.typeOfBed`
      - `SDO.typeOfGood`
      - `SDO.typicalAgeRange`
      - `SDO.typicalCreditsPerTerm`
      - `SDO.typicalTest`
      - `SDO.underName`
      - `SDO.unitCode`
      - `SDO.unitText`
      - `SDO.unnamedSourcesPolicy`
      - `SDO.unsaturatedFatContent`
      - `SDO.uploadDate`
      - `SDO.upvoteCount`
      - `SDO.url`
      - `SDO.urlTemplate`
      - `SDO.usageInfo`
      - `SDO.usedToDiagnose`
      - `SDO.userInteractionCount`
      - `SDO.usesDevice`
      - `SDO.usesHealthPlanIdStandard`
      - `SDO.utterances`
      - `SDO.validFor`
      - `SDO.validFrom`
      - `SDO.validIn`
      - `SDO.validThrough`
      - `SDO.validUntil`
      - `SDO.value`
      - `SDO.valueAddedTaxIncluded`
      - `SDO.valueMaxLength`
      - `SDO.valueMinLength`
      - `SDO.valueName`
      - `SDO.valuePattern`
      - `SDO.valueReference`
      - `SDO.valueRequired`
      - `SDO.variableMeasured`
      - `SDO.variantCover`
      - `SDO.variesBy`
      - `SDO.vatID`
      - `SDO.vehicleConfiguration`
      - `SDO.vehicleEngine`
      - `SDO.vehicleIdentificationNumber`
      - `SDO.vehicleInteriorColor`
      - `SDO.vehicleInteriorType`
      - `SDO.vehicleModelDate`
      - `SDO.vehicleSeatingCapacity`
      - `SDO.vehicleSpecialUsage`
      - `SDO.vehicleTransmission`
      - `SDO.vendor`
      - `SDO.verificationFactCheckingPolicy`
      - `SDO.version`
      - `SDO.video`
      - `SDO.videoFormat`
      - `SDO.videoFrameSize`
      - `SDO.videoQuality`
      - `SDO.volumeNumber`
      - `SDO.warning`
      - `SDO.warranty`
      - `SDO.warrantyPromise`
      - `SDO.warrantyScope`
      - `SDO.webCheckinTime`
      - `SDO.webFeed`
      - `SDO.weight`
      - `SDO.weightTotal`
      - `SDO.wheelbase`
      - `SDO.width`
      - `SDO.winner`
      - `SDO.wordCount`
      - `SDO.workExample`
      - `SDO.workFeatured`
      - `SDO.workHours`
      - `SDO.workLocation`
      - `SDO.workPerformed`
      - `SDO.workPresented`
      - `SDO.workTranslation`
      - `SDO.workload`
      - `SDO.worksFor`
      - `SDO.worstRating`
      - `SDO.xpath`
      - `SDO.yearBuilt`
      - `SDO.yearlyRevenue`
      - `SDO.yearsInOperation`
    - `SH`
      - `SH.AbstractResult`
      - `SH.AndConstraintComponent`
      - `SH.BlankNode`
      - `SH.BlankNodeOrIRI`
      - `SH.BlankNodeOrLiteral`
      - `SH.ClassConstraintComponent`
      - `SH.ClosedConstraintComponent`
      - `SH.ConstraintComponent`
      - `SH.DatatypeConstraintComponent`
      - `SH.DisjointConstraintComponent`
      - `SH.EqualsConstraintComponent`
      - `SH.ExpressionConstraintComponent`
      - `SH.Function`
      - `SH.HasValueConstraintComponent`
      - `SH.IRI`
      - `SH.IRIOrLiteral`
      - `SH.InConstraintComponent`
      - `SH.Info`
      - `SH.JSConstraint`
      - `SH.JSConstraintComponent`
      - `SH.JSExecutable`
      - `SH.JSFunction`
      - `SH.JSLibrary`
      - `SH.JSRule`
      - `SH.JSTarget`
      - `SH.JSTargetType`
      - `SH.JSValidator`
      - `SH.LanguageInConstraintComponent`
      - `SH.LessThanConstraintComponent`
      - `SH.LessThanOrEqualsConstraintComponent`
      - `SH.Literal`
      - `SH.MaxCountConstraintComponent`
      - `SH.MaxExclusiveConstraintComponent`
      - `SH.MaxInclusiveConstraintComponent`
      - `SH.MaxLengthConstraintComponent`
      - `SH.MinCountConstraintComponent`
      - `SH.MinExclusiveConstraintComponent`
      - `SH.MinInclusiveConstraintComponent`
      - `SH.MinLengthConstraintComponent`
      - `SH.NodeConstraintComponent`
      - `SH.NodeKind`
      - `SH.NodeKindConstraintComponent`
      - `SH.NodeShape`
      - `SH.NotConstraintComponent`
      - `SH.OrConstraintComponent`
      - `SH.Parameter`
      - `SH.Parameterizable`
      - `SH.PatternConstraintComponent`
      - `SH.PrefixDeclaration`
      - `SH.PropertyConstraintComponent`
      - `SH.PropertyGroup`
      - `SH.PropertyShape`
      - `SH.QualifiedMaxCountConstraintComponent`
      - `SH.QualifiedMinCountConstraintComponent`
      - `SH.ResultAnnotation`
      - `SH.Rule`
      - `SH.SPARQLAskExecutable`
      - `SH.SPARQLAskValidator`
      - `SH.SPARQLConstraint`
      - `SH.SPARQLConstraintComponent`
      - `SH.SPARQLConstructExecutable`
      - `SH.SPARQLExecutable`
      - `SH.SPARQLFunction`
      - `SH.SPARQLRule`
      - `SH.SPARQLSelectExecutable`
      - `SH.SPARQLSelectValidator`
      - `SH.SPARQLTarget`
      - `SH.SPARQLTargetType`
      - `SH.SPARQLUpdateExecutable`
      - `SH.Severity`
      - `SH.Shape`
      - `SH.Target`
      - `SH.TargetType`
      - `SH.TripleRule`
      - `SH.UniqueLangConstraintComponent`
      - `SH.ValidationReport`
      - `SH.ValidationResult`
      - `SH.Validator`
      - `SH.Violation`
      - `SH.Warning`
      - `SH.XoneConstraintComponent`
      - `SH.alternativePath`
      - `SH.annotationProperty`
      - `SH.annotationValue`
      - `SH.annotationVarName`
      - `SH.ask`
      - `SH.closed`
      - `SH.condition`
      - `SH.conforms`
      - `SH.construct`
      - `SH.datatype`
      - `SH.deactivated`
      - `SH.declare`
      - `SH.defaultValue`
      - `SH.description`
      - `SH.detail`
      - `SH.disjoint`
      - `SH.entailment`
      - `SH.equals`
      - `SH.expression`
      - `SH.filterShape`
      - `SH.flags`
      - `SH.focusNode`
      - `SH.group`
      - `SH.hasValue`
      - `SH.ignoredProperties`
      - `SH.intersection`
      - `SH.inversePath`
      - `SH.js`
      - `SH.jsFunctionName`
      - `SH.jsLibrary`
      - `SH.jsLibraryURL`
      - `SH.labelTemplate`
      - `SH.languageIn`
      - `SH.lessThan`
      - `SH.lessThanOrEquals`
      - `SH.maxCount`
      - `SH.maxExclusive`
      - `SH.maxInclusive`
      - `SH.maxLength`
      - `SH.message`
      - `SH.minCount`
      - `SH.minExclusive`
      - `SH.minInclusive`
      - `SH.minLength`
      - `SH.name`
      - `SH.namespace`
      - `SH.node`
      - `SH.nodeKind`
      - `SH.nodeValidator`
      - `SH.nodes`
      - `SH.object`
      - `SH.oneOrMorePath`
      - `SH.optional`
      - `SH.order`
      - `SH.parameter`
      - `SH.path`
      - `SH.pattern`
      - `SH.predicate`
      - `SH.prefix`
      - `SH.prefixes`
      - `SH.property`
      - `SH.propertyValidator`
      - `SH.qualifiedMaxCount`
      - `SH.qualifiedMinCount`
      - `SH.qualifiedValueShape`
      - `SH.qualifiedValueShapesDisjoint`
      - `SH.result`
      - `SH.resultAnnotation`
      - `SH.resultMessage`
      - `SH.resultPath`
      - `SH.resultSeverity`
      - `SH.returnType`
      - `SH.rule`
      - `SH.select`
      - `SH.severity`
      - `SH.shapesGraph`
      - `SH.shapesGraphWellFormed`
      - `SH.sourceConstraint`
      - `SH.sourceConstraintComponent`
      - `SH.sourceShape`
      - `SH.sparql`
      - `SH.subject`
      - `SH.suggestedShapesGraph`
      - `SH.target`
      - `SH.targetClass`
      - `SH.targetNode`
      - `SH.targetObjectsOf`
      - `SH.targetSubjectsOf`
      - `SH.this`
      - `SH.union`
      - `SH.uniqueLang`
      - `SH.update`
      - `SH.validator`
      - `SH.value`
      - `SH.xone`
      - `SH.zeroOrMorePath`
      - `SH.zeroOrOnePath`
    - `SKOS`
      - `SKOS.Collection`
      - `SKOS.Concept`
      - `SKOS.ConceptScheme`
      - `SKOS.OrderedCollection`
      - `SKOS.altLabel`
      - `SKOS.broadMatch`
      - `SKOS.broader`
      - `SKOS.broaderTransitive`
      - `SKOS.changeNote`
      - `SKOS.closeMatch`
      - `SKOS.definition`
      - `SKOS.editorialNote`
      - `SKOS.exactMatch`
      - `SKOS.example`
      - `SKOS.hasTopConcept`
      - `SKOS.hiddenLabel`
      - `SKOS.historyNote`
      - `SKOS.inScheme`
      - `SKOS.mappingRelation`
      - `SKOS.member`
      - `SKOS.memberList`
      - `SKOS.narrowMatch`
      - `SKOS.narrower`
      - `SKOS.narrowerTransitive`
      - `SKOS.notation`
      - `SKOS.note`
      - `SKOS.prefLabel`
      - `SKOS.related`
      - `SKOS.relatedMatch`
      - `SKOS.scopeNote`
      - `SKOS.semanticRelation`
      - `SKOS.topConceptOf`
    - `SOSA`
      - `SOSA.ActuatableProperty`
      - `SOSA.Actuation`
      - `SOSA.Actuator`
      - `SOSA.FeatureOfInterest`
      - `SOSA.ObservableProperty`
      - `SOSA.Observation`
      - `SOSA.ObservationCollection`
      - `SOSA.Platform`
      - `SOSA.Procedure`
      - `SOSA.Result`
      - `SOSA.Sample`
      - `SOSA.Sampler`
      - `SOSA.Sampling`
      - `SOSA.Sensor`
      - `SOSA.actsOnProperty`
      - `SOSA.hasFeatureOfInterest`
      - `SOSA.hasMember`
      - `SOSA.hasOriginalSample`
      - `SOSA.hasResult`
      - `SOSA.hasSample`
      - `SOSA.hasSampledFeature`
      - `SOSA.hasSimpleResult`
      - `SOSA.hasUltimateFeatureOfInterest`
      - `SOSA.hosts`
      - `SOSA.isActedOnBy`
      - `SOSA.isFeatureOfInterestOf`
      - `SOSA.isHostedBy`
      - `SOSA.isObservedBy`
      - `SOSA.isResultOf`
      - `SOSA.isSampleOf`
      - `SOSA.madeActuation`
      - `SOSA.madeByActuator`
      - `SOSA.madeBySampler`
      - `SOSA.madeBySensor`
      - `SOSA.madeObservation`
      - `SOSA.madeSampling`
      - `SOSA.observedProperty`
      - `SOSA.observes`
      - `SOSA.phenomenonTime`
      - `SOSA.resultTime`
      - `SOSA.usedProcedure`
    - `SSN`
      - `SSN.Deployment`
      - `SSN.Input`
      - `SSN.Output`
      - `SSN.Property`
      - `SSN.Stimulus`
      - `SSN.System`
      - `SSN.deployedOnPlatform`
      - `SSN.deployedSystem`
      - `SSN.detects`
      - `SSN.forProperty`
      - `SSN.hasDeployment`
      - `SSN.hasInput`
      - `SSN.hasOutput`
      - `SSN.hasProperty`
      - `SSN.hasSubSystem`
      - `SSN.implementedBy`
      - `SSN.implements`
      - `SSN.inDeployment`
      - `SSN.isPropertyOf`
      - `SSN.isProxyFor`
      - `SSN.wasOriginatedBy`
    - `TIME`
      - `TIME.DateTimeDescription`
      - `TIME.DateTimeInterval`
      - `TIME.DayOfWeek`
      - `TIME.Duration`
      - `TIME.DurationDescription`
      - `TIME.Friday`
      - `TIME.GeneralDateTimeDescription`
      - `TIME.GeneralDurationDescription`
      - `TIME.Instant`
      - `TIME.Interval`
      - `TIME.January`
      - `TIME.Monday`
      - `TIME.MonthOfYear`
      - `TIME.ProperInterval`
      - `TIME.Saturday`
      - `TIME.Sunday`
      - `TIME.TRS`
      - `TIME.TemporalDuration`
      - `TIME.TemporalEntity`
      - `TIME.TemporalPosition`
      - `TIME.TemporalUnit`
      - `TIME.Thursday`
      - `TIME.TimePosition`
      - `TIME.TimeZone`
      - `TIME.Tuesday`
      - `TIME.Wednesday`
      - `TIME.Year`
      - `TIME.after`
      - `TIME.before`
      - `TIME.day`
      - `TIME.dayOfWeek`
      - `TIME.dayOfYear`
      - `TIME.days`
      - `TIME.generalDay`
      - `TIME.generalMonth`
      - `TIME.generalYear`
      - `TIME.hasBeginning`
      - `TIME.hasDateTimeDescription`
      - `TIME.hasDuration`
      - `TIME.hasDurationDescription`
      - `TIME.hasEnd`
      - `TIME.hasTRS`
      - `TIME.hasTemporalDuration`
      - `TIME.hasTime`
      - `TIME.hasXSDDuration`
      - `TIME.hour`
      - `TIME.hours`
      - `TIME.inDateTime`
      - `TIME.inTemporalPosition`
      - `TIME.inTimePosition`
      - `TIME.inXSDDate`
      - `TIME.inXSDDateTime`
      - `TIME.inXSDDateTimeStamp`
      - `TIME.inXSDgYear`
      - `TIME.inXSDgYearMonth`
      - `TIME.inside`
      - `TIME.intervalAfter`
      - `TIME.intervalBefore`
      - `TIME.intervalContains`
      - `TIME.intervalDisjoint`
      - `TIME.intervalDuring`
      - `TIME.intervalEquals`
      - `TIME.intervalFinishedBy`
      - `TIME.intervalFinishes`
      - `TIME.intervalIn`
      - `TIME.intervalMeets`
      - `TIME.intervalMetBy`
      - `TIME.intervalOverlappedBy`
      - `TIME.intervalOverlaps`
      - `TIME.intervalStartedBy`
      - `TIME.intervalStarts`
      - `TIME.minute`
      - `TIME.minutes`
      - `TIME.month`
      - `TIME.monthOfYear`
      - `TIME.months`
      - `TIME.nominalPosition`
      - `TIME.numericDuration`
      - `TIME.numericPosition`
      - `TIME.second`
      - `TIME.seconds`
      - `TIME.timeZone`
      - `TIME.unitDay`
      - `TIME.unitHour`
      - `TIME.unitMinute`
      - `TIME.unitMonth`
      - `TIME.unitSecond`
      - `TIME.unitType`
      - `TIME.unitWeek`
      - `TIME.unitYear`
      - `TIME.week`
      - `TIME.weeks`
      - `TIME.xsdDateTime`
      - `TIME.year`
      - `TIME.years`
    - `VANN`
      - `VANN.changes`
      - `VANN.example`
      - `VANN.preferredNamespacePrefix`
      - `VANN.preferredNamespaceUri`
      - `VANN.termGroup`
      - `VANN.usageNote`
    - `VOID`
      - `VOID.Dataset`
      - `VOID.DatasetDescription`
      - `VOID.Linkset`
      - `VOID.TechnicalFeature`
      - `VOID.classPartition`
      - `VOID.classes`
      - `VOID.dataDump`
      - `VOID.distinctObjects`
      - `VOID.distinctSubjects`
      - `VOID.documents`
      - `VOID.entities`
      - `VOID.exampleResource`
      - `VOID.feature`
      - `VOID.inDataset`
      - `VOID.linkPredicate`
      - `VOID.objectsTarget`
      - `VOID.openSearchDescription`
      - `VOID.properties`
      - `VOID.property`
      - `VOID.propertyPartition`
      - `VOID.rootResource`
      - `VOID.sparqlEndpoint`
      - `VOID.subjectsTarget`
      - `VOID.subset`
      - `VOID.target`
      - `VOID.triples`
      - `VOID.uriLookupEndpoint`
      - `VOID.uriRegexPattern`
      - `VOID.uriSpace`
      - `VOID.vocabulary`
    - `WGS`
      - `WGS.Point`
      - `WGS.SpatialThing`
      - `WGS.alt`
      - `WGS.lat`
      - `WGS.lat_long`
      - `WGS.location`
      - `WGS.long`
    - `XSD`
      - `XSD.Assertions`
      - `XSD.ENTITIES`
      - `XSD.ENTITY`
      - `XSD.ID`
      - `XSD.IDREF`
      - `XSD.IDREFS`
      - `XSD.NCName`
      - `XSD.NMTOKEN`
      - `XSD.NMTOKENS`
      - `XSD.NOTATION`
      - `XSD.Name`
      - `XSD.QName`
      - `XSD.anyURI`
      - `XSD.base64Binary`
      - `XSD.boolean`
      - `XSD.bounded`
      - `XSD.byte`
      - `XSD.cardinality`
      - `XSD.date`
      - `XSD.dateTime`
      - `XSD.dateTimeStamp`
      - `XSD.day`
      - `XSD.dayTimeDuration`
      - `XSD.decimal`
      - `XSD.double`
      - `XSD.duration`
      - `XSD.enumeration`
      - `XSD.explicitTimezone`
      - `XSD.float`
      - `XSD.fractionDigits`
      - `XSD.gDay`
      - `XSD.gMonth`
      - `XSD.gMonthDay`
      - `XSD.gYear`
      - `XSD.gYearMonth`
      - `XSD.hexBinary`
      - `XSD.hour`
      - `XSD.int`
      - `XSD.integer`
      - `XSD.language`
      - `XSD.length`
      - `XSD.long`
      - `XSD.maxExclusive`
      - `XSD.maxInclusive`
      - `XSD.maxLength`
      - `XSD.minExclusive`
      - `XSD.minInclusive`
      - `XSD.minLength`
      - `XSD.minute`
      - `XSD.month`
      - `XSD.negativeInteger`
      - `XSD.nonNegativeInteger`
      - `XSD.nonPositiveInteger`
      - `XSD.normalizedString`
      - `XSD.numeric`
      - `XSD.ordered`
      - `XSD.pattern`
      - `XSD.positiveInteger`
      - `XSD.second`
      - `XSD.short`
      - `XSD.string`
      - `XSD.time`
      - `XSD.timezoneOffset`
      - `XSD.token`
      - `XSD.totalDigits`
      - `XSD.unsignedByte`
      - `XSD.unsignedInt`
      - `XSD.unsignedLong`
      - `XSD.unsignedShort`
      - `XSD.whiteSpace`
      - `XSD.year`
      - `XSD.yearMonthDuration`
    - `is_ncname()`
    - `split_uri()`
- rdflib.plugins package
  - Subpackages
    - rdflib.plugins.parsers package
      - Submodules
      - rdflib.plugins.parsers.RDFVOC module
      - rdflib.plugins.parsers.hext module
      - rdflib.plugins.parsers.jsonld module
      - rdflib.plugins.parsers.notation3 module
      - rdflib.plugins.parsers.nquads module
      - rdflib.plugins.parsers.ntriples module
      - rdflib.plugins.parsers.patch module
      - rdflib.plugins.parsers.rdfxml module
      - rdflib.plugins.parsers.trig module
      - rdflib.plugins.parsers.trix module
      - Module contents
    - rdflib.plugins.serializers package
      - Submodules
      - rdflib.plugins.serializers.hext module
      - rdflib.plugins.serializers.jsonld module
      - rdflib.plugins.serializers.longturtle module
      - rdflib.plugins.serializers.n3 module
      - rdflib.plugins.serializers.nquads module
      - rdflib.plugins.serializers.nt module
      - rdflib.plugins.serializers.patch module
      - rdflib.plugins.serializers.rdfxml module
      - rdflib.plugins.serializers.trig module
      - rdflib.plugins.serializers.trix module
      - rdflib.plugins.serializers.turtle module
      - rdflib.plugins.serializers.xmlwriter module
      - Module contents
    - rdflib.plugins.shared package
      - Subpackages
      - Module contents
    - rdflib.plugins.sparql package
      - Subpackages
      - Submodules
      - rdflib.plugins.sparql.aggregates module
      - rdflib.plugins.sparql.algebra module
      - rdflib.plugins.sparql.datatypes module
      - rdflib.plugins.sparql.evaluate module
      - rdflib.plugins.sparql.evalutils module
      - rdflib.plugins.sparql.operators module
      - rdflib.plugins.sparql.parser module
      - rdflib.plugins.sparql.parserutils module
      - rdflib.plugins.sparql.processor module
      - rdflib.plugins.sparql.sparql module
      - rdflib.plugins.sparql.update module
      - Module contents
    - rdflib.plugins.stores package
      - Submodules
      - rdflib.plugins.stores.auditable module
      - rdflib.plugins.stores.berkeleydb module
      - rdflib.plugins.stores.concurrent module
      - rdflib.plugins.stores.memory module
      - rdflib.plugins.stores.regexmatching module
      - rdflib.plugins.stores.sparqlconnector module
      - rdflib.plugins.stores.sparqlstore module
      - Module contents
  - Module contents
- rdflib.tools package
  - Submodules
  - rdflib.tools.chunk_serializer module
    - `serialize_in_chunks()`
  - rdflib.tools.csv2rdf module
    - `CSV2RDF`
      - `CSV2RDF.__dict__`
      - `CSV2RDF.__init__()`
      - `CSV2RDF.__module__`
      - `CSV2RDF.__weakref__`
      - `CSV2RDF.convert()`
      - `CSV2RDF.triple()`
  - rdflib.tools.defined_namespace_creator module
    - `get_target_namespace_elements()`
    - `make_dn_file()`
    - `validate_namespace()`
    - `validate_object_id()`
  - rdflib.tools.graphisomorphism module
    - `IsomorphicTestableGraph`
      - `IsomorphicTestableGraph.__abstractmethods__`
      - `IsomorphicTestableGraph.__annotations__`
      - `IsomorphicTestableGraph.__eq__()`
      - `IsomorphicTestableGraph.__hash__`
      - `IsomorphicTestableGraph.__init__()`
      - `IsomorphicTestableGraph.__module__`
      - `IsomorphicTestableGraph.__ne__()`
      - `IsomorphicTestableGraph.hashtriples()`
      - `IsomorphicTestableGraph.internal_hash()`
      - `IsomorphicTestableGraph.vhash()`
      - `IsomorphicTestableGraph.vhashtriple()`
      - `IsomorphicTestableGraph.vhashtriples()`
    - `main()`
  - rdflib.tools.rdf2dot module
    - `main()`
    - `rdf2dot()`
  - rdflib.tools.rdfpipe module
    - `main()`
    - `make_option_parser()`
    - `parse_and_serialize()`
  - rdflib.tools.rdfs2dot module
    - `main()`
    - `rdfs2dot()`
  - Module contents

## Submodules

## rdflib.collection module

class rdflib.collection.Collection(graph, uri, seq=[])

  Bases: `object`

  See “Emulating container types”: https://docs.python.org/reference/datamodel.html#emulating-container-types

      >>> from rdflib.term import Literal
      >>> from rdflib.graph import Graph
      >>> from pprint import pprint
      >>> listname = BNode()
      >>> g = Graph('Memory')
      >>> listItem1 = BNode()
      >>> listItem2 = BNode()
      >>> g.add((listname, RDF.first, Literal(1)))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> g.add((listname, RDF.rest, listItem1))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> g.add((listItem1, RDF.first, Literal(2)))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> g.add((listItem1, RDF.rest, listItem2))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> g.add((listItem2, RDF.rest, RDF.nil))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> g.add((listItem2, RDF.first, Literal(3)))
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> c = Collection(g,listname)
      >>> pprint([term.n3() for term in c])
      ['"1"^^<http://www.w3.org/2001/XMLSchema#integer>',
       '"2"^^<http://www.w3.org/2001/XMLSchema#integer>',
       '"3"^^<http://www.w3.org/2001/XMLSchema#integer>']

      >>> Literal(1) in c
      True
      >>> len(c)
      3
      >>> c._get_container(1) == listItem1
      True
      >>> c.index(Literal(2)) == 1
      True

  The collection is immutable if `uri` is the empty list (`http://www.w3.org/1999/02/22-rdf-syntax-ns#nil`).

  Parameters:

    - graph (`Graph`)

    - uri (`Node`)

    - seq (`List`[`Node`])

  __delitem__(key)

        >>> from rdflib.namespace import RDF, RDFS
        >>> from rdflib import Graph
        >>> from pprint import pformat
        >>> g = Graph()
        >>> a = BNode('foo')
        >>> b = BNode('bar')
        >>> c = BNode('baz')
        >>> g.add((a, RDF.first, RDF.type))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((a, RDF.rest, b))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b, RDF.first, RDFS.label))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b, RDF.rest, c))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c, RDF.first, RDFS.comment))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c, RDF.rest, RDF.nil))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> len(g)
        6
        >>> def listAncestry(node, graph):
        ...   for i in graph.subjects(RDF.rest, node):
        ...     yield i
        >>> [str(node.n3())
        ...   for node in g.transitiveClosure(listAncestry, RDF.nil)]
        ['_:baz', '_:bar', '_:foo']
        >>> lst = Collection(g, a)
        >>> len(lst)
        3
        >>> b == lst._get_container(1)
        True
        >>> c == lst._get_container(2)
        True
        >>> del lst[1]
        >>> len(lst)
        2
        >>> len(g)
        4

    Parameters:

      key (`int`)

    Return type:

      `None`

  __dict__ = mappingproxy({'__module__': 'rdflib.collection', '__doc__': '\n See "Emulating container types":\n https://docs.python.org/reference/datamodel.html#emulating-container-types\n\n >>> from rdflib.term import Literal\n >>> from rdflib.graph import Graph\n >>> from pprint import pprint\n >>> listname = BNode()\n >>> g = Graph(\'Memory\')\n >>> listItem1 = BNode()\n >>> listItem2 = BNode()\n >>> g.add((listname, RDF.first, Literal(1))) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> g.add((listname, RDF.rest, listItem1)) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> g.add((listItem1, RDF.first, Literal(2))) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> g.add((listItem1, RDF.rest, listItem2)) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> g.add((listItem2, RDF.rest, RDF.nil)) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> g.add((listItem2, RDF.first, Literal(3))) # doctest: +ELLIPSIS\n <Graph identifier=... (<class \'rdflib.graph.Graph\'>)>\n >>> c = Collection(g,listname)\n >>> pprint([term.n3() for term in c])\n [\'"1"^^<http://www.w3.org/2001/XMLSchema#integer>\',\n \'"2"^^<http://www.w3.org/2001/XMLSchema#integer>\',\n \'"3"^^<http://www.w3.org/2001/XMLSchema#integer>\']\n\n >>> Literal(1) in c\n True\n >>> len(c)\n 3\n >>> c._get_container(1) == listItem1\n True\n >>> c.index(Literal(2)) == 1\n True\n\n The collection is immutable if ``uri`` is the empty list\n (``http://www.w3.org/1999/02/22-rdf-syntax-ns#nil``).\n ', '__init__': <function Collection.__init__>, 'n3': <function Collection.n3>, '_get_container': <function Collection._get_container>, '__len__': <function Collection.__len__>, 'index': <function Collection.index>, '__getitem__': <function Collection.__getitem__>, '__setitem__': <function Collection.__setitem__>, '__delitem__': <function Collection.__delitem__>, '__iter__': <function Collection.__iter__>, '_end': <function Collection._end>, 'append': <function Collection.append>, '__iadd__': <function Collection.__iadd__>, 'clear': <function Collection.clear>, '__dict__': <attribute '__dict__' of 'Collection' objects>, '__weakref__': <attribute '__weakref__' of 'Collection' objects>, '__annotations__': {}})
  __getitem__(key)

    TODO

    Parameters:

      key (`int`)

    Return type:

      `Node`

  __iadd__(other)
    Parameters:

      other (`Iterable`[`Node`])

  __init__(graph, uri, seq=[])
    Parameters:

      - graph (`Graph`)

      - uri (`Node`)

      - seq (`List`[`Node`])

  __iter__()

    Iterator over items in Collections

    Return type:

      `Iterator`[`Node`]

  __len__()

    length of items in collection.

    Return type:

      `int`

  __module__ = 'rdflib.collection'
  __setitem__(key, value)

    TODO

    Parameters:

      - key (`int`)

      - value (`Node`)

    Return type:

      `None`

  __weakref__

    list of weak references to the object

  append(item)

        >>> from rdflib.term import Literal
        >>> from rdflib.graph import Graph
        >>> listname = BNode()
        >>> g = Graph()
        >>> c = Collection(g,listname,[Literal(1),Literal(2)])
        >>> links = [
        ...     list(g.subjects(object=i, predicate=RDF.first))[0] for i in c]
        >>> len([i for i in links if (i, RDF.rest, RDF.nil) in g])
        1

    Parameters:

      item (`Node`)

    Return type:

      `Collection`

  clear()
  index(item)

    Returns the 0-based numerical index of the item in the list

    Parameters:

      item (`Node`)

    Return type:

      `int`

  n3()

        >>> from rdflib.term import Literal
        >>> from rdflib.graph import Graph
        >>> listname = BNode()
        >>> g = Graph('Memory')
        >>> listItem1 = BNode()
        >>> listItem2 = BNode()
        >>> g.add((listname, RDF.first, Literal(1)))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((listname, RDF.rest, listItem1))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((listItem1, RDF.first, Literal(2)))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((listItem1, RDF.rest, listItem2))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((listItem2, RDF.rest, RDF.nil))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((listItem2, RDF.first, Literal(3)))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> c = Collection(g, listname)
        >>> print(c.n3())
        ( "1"^^<http://www.w3.org/2001/XMLSchema#integer>
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`str\``

    > “2”^^<http://www.w3.org/2001/XMLSchema#integer> “3”^^<http://www.w3.org/2001/XMLSchema#integer> )

## rdflib.compare module

A collection of utilities for canonicalizing and inspecting graphs.

Among other things, they solve of the problem of deterministic bnode comparisons.

Warning: the time to canonicalize bnodes may increase exponentially on degenerate larger graphs. Use with care!

Example of comparing two graphs:

    >>> g1 = Graph().parse(format='n3', data='''
    ...     @prefix : <http://example.org/ns#> .
    ...     <http://example.org> :rel
    ...         <http://example.org/same>,
    ...         [ :label "Same" ],
    ...         <http://example.org/a>,
    ...         [ :label "A" ] .
    ... ''')
    >>> g2 = Graph().parse(format='n3', data='''
    ...     @prefix : <http://example.org/ns#> .
    ...     <http://example.org> :rel
    ...         <http://example.org/same>,
    ...         [ :label "Same" ],
    ...         <http://example.org/b>,
    ...         [ :label "B" ] .
    ... ''')
    >>>
    >>> iso1 = to_isomorphic(g1)
    >>> iso2 = to_isomorphic(g2)

These are not isomorphic:

    >>> iso1 == iso2
    False

Diff the two graphs:

    >>> in_both, in_first, in_second = graph_diff(iso1, iso2)

Present in both:

    >>> def dump_nt_sorted(g):
    ...     for l in sorted(g.serialize(format='nt').splitlines()):
    ...         if l: print(l.decode('ascii'))

    >>> dump_nt_sorted(in_both)
    <http://example.org>
        <http://example.org/ns#rel> <http://example.org/same> .
    <http://example.org>
        <http://example.org/ns#rel> _:cbcaabaaba17fecbc304a64f8edee4335e .
    _:cbcaabaaba17fecbc304a64f8edee4335e
        <http://example.org/ns#label> "Same" .

Only in first:

    >>> dump_nt_sorted(in_first)
    <http://example.org>
        <http://example.org/ns#rel> <http://example.org/a> .
    <http://example.org>
        <http://example.org/ns#rel> _:cb124e4c6da0579f810c0ffe4eff485bd9 .
    _:cb124e4c6da0579f810c0ffe4eff485bd9
        <http://example.org/ns#label> "A" .

Only in second:

    >>> dump_nt_sorted(in_second)
    <http://example.org>
        <http://example.org/ns#rel> <http://example.org/b> .
    <http://example.org>
        <http://example.org/ns#rel> _:cb558f30e21ddfc05ca53108348338ade8 .
    _:cb558f30e21ddfc05ca53108348338ade8
        <http://example.org/ns#label> "B" .

class rdflib.compare.IsomorphicGraph(**kwargs)

  Bases: `ConjunctiveGraph`

  An implementation of the RGDA1 graph digest algorithm.

  An implementation of RGDA1 (publication below), a combination of Sayers & Karp’s graph digest algorithm using sum and SHA-256 <http://www.hpl.hp.com/techreports/2003/HPL-2003-235R1.pdf> and traces <http://pallini.di.uniroma1.it>, an average case polynomial time algorithm for graph canonicalization.

  McCusker, J. P. (2015). WebSig: A Digital Signature Framework for the Web. Rensselaer Polytechnic Institute, Troy, NY. http://gradworks.umi.com/3727015.pdf

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __eq__(other)

    Graph isomorphism testing.

  __hash__()

    Return hash(self).

  __init__(**kwargs)
  __module__ = 'rdflib.compare'
  __ne__(other)

    Negative graph isomorphism testing.

  graph_digest(stats=None)

    Synonym for IsomorphicGraph.internal_hash.

  internal_hash(stats=None)

    This is defined instead of __hash__ to avoid a circular recursion scenario with the Memory store for rdflib which requires a hash lookup in order to return a generator of triples.

rdflib.compare.graph_diff(g1, g2)

  Returns three sets of triples: “in both”, “in first” and “in second”.

  Parameters:

    - g1 (`Graph`)

    - g2 (`Graph`)

  Return type:

    `Tuple`[`Graph`, `Graph`, `Graph`]

rdflib.compare.isomorphic(graph1, graph2)

  Compare graph for equality.

  Uses an algorithm to compute unique hashes which takes bnodes into account.

  Examples:

      >>> g1 = Graph().parse(format='n3', data='''
      ...     @prefix : <http://example.org/ns#> .
      ...     <http://example.org> :rel <http://example.org/a> .
      ...     <http://example.org> :rel <http://example.org/b> .
      ...     <http://example.org> :rel [ :label "A bnode." ] .
      ... ''')
      >>> g2 = Graph().parse(format='n3', data='''
      ...     @prefix ns: <http://example.org/ns#> .
      ...     <http://example.org> ns:rel [ ns:label "A bnode." ] .
      ...     <http://example.org> ns:rel <http://example.org/b>,
      ...             <http://example.org/a> .
      ... ''')
      >>> isomorphic(g1, g2)
      True

      >>> g3 = Graph().parse(format='n3', data='''
      ...     @prefix : <http://example.org/ns#> .
      ...     <http://example.org> :rel <http://example.org/a> .
      ...     <http://example.org> :rel <http://example.org/b> .
      ...     <http://example.org> :rel <http://example.org/c> .
      ... ''')
      >>> isomorphic(g1, g3)
      False

  Parameters:

    - graph1 (`Graph`)

    - graph2 (`Graph`)

  Return type:

    `bool`

rdflib.compare.similar(g1, g2)

  Checks if the two graphs are “similar”.

  Checks if the two graphs are “similar”, by comparing sorted triples where all bnodes have been replaced by a singular mock bnode (the `_MOCK_BNODE`).

  This is a much cheaper, but less reliable, alternative to the comparison algorithm in `isomorphic`.

  Parameters:

    - g1 (`Graph`)

    - g2 (`Graph`)

rdflib.compare.to_canonical_graph(g1, stats=None)

  Creates a canonical, read-only graph.

  Creates a canonical, read-only graph where all bnode id:s are based on deterministical SHA-256 checksums, correlated with the graph contents.

  Parameters:

    - g1 (`Graph`)

    - stats (`Optional`[`Dict`[`str`, `Union`[`int`, `str`]]])

  Return type:

    `ReadOnlyGraphAggregate`

rdflib.compare.to_isomorphic(graph)
  Parameters:

    graph (`Graph`)

  Return type:

    `IsomorphicGraph`

## rdflib.compat module

Utility functions and objects to ease Python 2/3 compatibility, and different versions of support libraries.

rdflib.compat.ascii(stream)

rdflib.compat.bopen(*args, **kwargs)

rdflib.compat.cast_bytes(s, enc='utf-8')

rdflib.compat.decodeStringEscape(s)

rdflib.compat.decodeUnicodeEscape(escaped)
  Parameters:

    escaped (`str`)

  Return type:

    `str`

rdflib.compat.sign(n)

## rdflib.container module

class rdflib.container.Alt(graph, uri, seq=[])

  Bases: `Container`

  __init__(graph, uri, seq=[])

    Creates a Container

    Parameters:

      - graph – a Graph instance

      - uri – URI or Blank Node of the Container

      - seq – the elements of the Container

      - rtype – the type of Container, one of “Bag”, “Seq” or “Alt”

  __module__ = 'rdflib.container'
  anyone()

class rdflib.container.Bag(graph, uri, seq=[])

  Bases: `Container`

  Unordered container (no preference order of elements)

  __annotations__ = {}
  __init__(graph, uri, seq=[])

    Creates a Container

    Parameters:

      - graph – a Graph instance

      - uri – URI or Blank Node of the Container

      - seq – the elements of the Container

      - rtype – the type of Container, one of “Bag”, “Seq” or “Alt”

  __module__ = 'rdflib.container'

class rdflib.container.Container(graph, uri, seq=[], rtype='Bag')

  Bases: `object`

  A class for constructing RDF containers, as per https://www.w3.org/TR/rdf11-mt/#rdf-containers

  Basic usage, creating a `Bag` and adding to it:

      >>> from rdflib import Graph, BNode, Literal, Bag
      >>> g = Graph()
      >>> b = Bag(g, BNode(), [Literal("One"), Literal("Two"), Literal("Three")])
      >>> print(g.serialize(format="turtle"))
      @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

      [] a rdf:Bag ;
          rdf:_1 "One" ;
          rdf:_2 "Two" ;
          rdf:_3 "Three" .

      >>> # print out an item using an index reference
      >>> print(b[2])
      Two

      >>> # add a new item
      >>> b.append(Literal("Hello"))
      <rdflib.container.Bag object at ...>
      >>> print(g.serialize(format="turtle"))
      @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

      [] a rdf:Bag ;
          rdf:_1 "One" ;
          rdf:_2 "Two" ;
          rdf:_3 "Three" ;
          rdf:_4 "Hello" .

  __annotations__ = {}
  __delitem__(key)

    Removing the item with index key or predicate rdf:_key

  __dict__ = mappingproxy({'__module__': 'rdflib.container', '__doc__': 'A class for constructing RDF containers, as per https://www.w3.org/TR/rdf11-mt/#rdf-containers\n\n Basic usage, creating a ``Bag`` and adding to it::\n\n >>> from rdflib import Graph, BNode, Literal, Bag\n >>> g = Graph()\n >>> b = Bag(g, BNode(), [Literal("One"), Literal("Two"), Literal("Three")])\n >>> print(g.serialize(format="turtle"))\n @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n <BLANKLINE>\n [] a rdf:Bag ;\n rdf:_1 "One" ;\n rdf:_2 "Two" ;\n rdf:_3 "Three" .\n <BLANKLINE>\n <BLANKLINE>\n\n >>> # print out an item using an index reference\n >>> print(b[2])\n Two\n\n >>> # add a new item\n >>> b.append(Literal("Hello")) # doctest: +ELLIPSIS\n <rdflib.container.Bag object at ...>\n >>> print(g.serialize(format="turtle"))\n @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n <BLANKLINE>\n [] a rdf:Bag ;\n rdf:_1 "One" ;\n rdf:_2 "Two" ;\n rdf:_3 "Three" ;\n rdf:_4 "Hello" .\n <BLANKLINE>\n <BLANKLINE>\n\n ', '__init__': <function Container.__init__>, 'n3': <function Container.n3>, '_get_container': <function Container._get_container>, '__len__': <function Container.__len__>, 'type_of_conatiner': <function Container.type_of_conatiner>, 'type_of_container': <function Container.type_of_container>, 'index': <function Container.index>, '__getitem__': <function Container.__getitem__>, '__setitem__': <function Container.__setitem__>, '__delitem__': <function Container.__delitem__>, 'items': <function Container.items>, 'end': <function Container.end>, 'append': <function Container.append>, 'append_multiple': <function Container.append_multiple>, 'clear': <function Container.clear>, '__dict__': <attribute '__dict__' of 'Container' objects>, '__weakref__': <attribute '__weakref__' of 'Container' objects>, '__annotations__': {}})
  __getitem__(key)

    Returns item of the container at index key

  __init__(graph, uri, seq=[], rtype='Bag')

    Creates a Container

    Parameters:

      - graph – a Graph instance

      - uri – URI or Blank Node of the Container

      - seq – the elements of the Container

      - rtype – the type of Container, one of “Bag”, “Seq” or “Alt”

  __len__()

    Number of items in container

  __module__ = 'rdflib.container'
  __setitem__(key, value)

    Sets the item at index key or predicate rdf:_key of the container to value

  __weakref__

    list of weak references to the object

  append(item)

    Adding item to the end of the container

  append_multiple(other)

    Adding multiple elements to the container to the end which are in python list other

  clear()

    Removing all elements from the container

  end()
  index(item)

    Returns the 1-based numerical index of the item in the container

  items()

    Returns a list of all items in the container

  n3()
  type_of_conatiner()
  type_of_container()

exception rdflib.container.NoElementException(message='rdf:Alt Container is empty')

  Bases: `Exception`

  __init__(message='rdf:Alt Container is empty')
  __module__ = 'rdflib.container'
  __str__()

    Return str(self).

  __weakref__

    list of weak references to the object

class rdflib.container.Seq(graph, uri, seq=[])

  Bases: `Container`

  __annotations__ = {}
  __init__(graph, uri, seq=[])

    Creates a Container

    Parameters:

      - graph – a Graph instance

      - uri – URI or Blank Node of the Container

      - seq – the elements of the Container

      - rtype – the type of Container, one of “Bag”, “Seq” or “Alt”

  __module__ = 'rdflib.container'
  add_at_position(pos, item)

## rdflib.events module

Dirt Simple Events

A Dispatcher (or a subclass of Dispatcher) stores event handlers that are ‘fired’ simple event objects when interesting things happen.

Create a dispatcher:

    >>> d = Dispatcher()

Now create a handler for the event and subscribe it to the dispatcher to handle Event events. A handler is a simple function or method that accepts the event as an argument:

    >>> def handler1(event): print(repr(event))
    >>> d.subscribe(Event, handler1)
    <rdflib.events.Dispatcher object at ...>

Now dispatch a new event into the dispatcher, and see handler1 get fired:

    >>> d.dispatch(Event(foo='bar', data='yours', used_by='the event handlers'))
    <rdflib.events.Event ['data', 'foo', 'used_by']>

class rdflib.events.Dispatcher

  Bases: `object`

  An object that can dispatch events to a privately managed group of subscribers.

  __annotations__ = {'_dispatch_map': 'Optional[Dict[Any, Any]]'}
  __dict__ = mappingproxy({'__module__': 'rdflib.events', '__annotations__': {'_dispatch_map': 'Optional[Dict[Any, Any]]'}, '__doc__': '\n An object that can dispatch events to a privately managed group of\n subscribers.\n ', '_dispatch_map': None, 'set_map': <function Dispatcher.set_map>, 'get_map': <function Dispatcher.get_map>, 'subscribe': <function Dispatcher.subscribe>, 'dispatch': <function Dispatcher.dispatch>, '__dict__': <attribute '__dict__' of 'Dispatcher' objects>, '__weakref__': <attribute '__weakref__' of 'Dispatcher' objects>})
  __module__ = 'rdflib.events'
  __weakref__

    list of weak references to the object

  dispatch(event)

    Dispatch the given event to the subscribed handlers for the event’s type

  get_map()
  set_map(amap)
    Parameters:

      amap (`Dict`[`Any`, `Any`])

  subscribe(event_type, handler)

    Subscribe the given handler to an event_type. Handlers are called in the order they are subscribed.

class rdflib.events.Event(**kw)

  Bases: `object`

  An event is a container for attributes. The source of an event creates this object, or a subclass, gives it any kind of data that the events handlers need to handle the event, and then calls notify(event).

  The target of an event registers a function to handle the event it is interested with subscribe(). When a sources calls notify(event), each subscriber to that event will be called in no particular order.

  __dict__ = mappingproxy({'__module__': 'rdflib.events', '__doc__': '\n An event is a container for attributes. The source of an event\n creates this object, or a subclass, gives it any kind of data that\n the events handlers need to handle the event, and then calls\n notify(event).\n\n The target of an event registers a function to handle the event it\n is interested with subscribe(). When a sources calls\n notify(event), each subscriber to that event will be called in no\n particular order.\n ', '__init__': <function Event.__init__>, '__repr__': <function Event.__repr__>, '__dict__': <attribute '__dict__' of 'Event' objects>, '__weakref__': <attribute '__weakref__' of 'Event' objects>, '__annotations__': {}})
  __init__(**kw)
  __module__ = 'rdflib.events'
  __repr__()

    Return repr(self).

  __weakref__

    list of weak references to the object

## rdflib.exceptions module

TODO:

exception rdflib.exceptions.Error(msg=None)

  Bases: `Exception`

  Base class for rdflib exceptions.

  Parameters:

    msg (`Optional`[`str`])

  __init__(msg=None)
    Parameters:

      msg (`Optional`[`str`])

  __module__ = 'rdflib.exceptions'
  __weakref__

    list of weak references to the object

exception rdflib.exceptions.ParserError(msg)

  Bases: `Error`

  RDF Parser error.

  Parameters:

    msg (`str`)

  __annotations__ = {}
  __init__(msg)
    Parameters:

      msg (`str`)

  __module__ = 'rdflib.exceptions'
  __str__()

    Return str(self).

    Return type:

      `str`

exception rdflib.exceptions.UniquenessError(values)

  Bases: `Error`

  A uniqueness assumption was made in the context, and that is not true

  Parameters:

    values (`Any`)

  __annotations__ = {}
  __init__(values)
    Parameters:

      values (`Any`)

  __module__ = 'rdflib.exceptions'

## rdflib.graph module

RDFLib defines the following kinds of Graphs:

- `Graph`

- `QuotedGraph`

- `ConjunctiveGraph`

- `Dataset`

### Graph

An RDF graph is a set of RDF triples. Graphs support the python `in` operator, as well as iteration and some operations like union, difference and intersection.

see `Graph`

### Conjunctive Graph

Warning

ConjunctiveGraph is deprecated, use `Dataset` instead.

A Conjunctive Graph is the most relevant collection of graphs that are considered to be the boundary for closed world assumptions. This boundary is equivalent to that of the store instance (which is itself uniquely identified and distinct from other instances of `Store` that signify other Conjunctive Graphs). It is equivalent to all the named graphs within it and associated with a `_default_` graph which is automatically assigned a `BNode` for an identifier - if one isn’t given.

see `ConjunctiveGraph`

### Quoted graph

The notion of an RDF graph [14] is extended to include the concept of a formula node. A formula node may occur wherever any other kind of node can appear. Associated with a formula node is an RDF graph that is completely disjoint from all other graphs; i.e. has no nodes in common with any other graph. (It may contain the same labels as other RDF graphs; because this is, by definition, a separate graph, considerations of tidiness do not apply between the graph at a formula node and any other graph.)

This is intended to map the idea of “{ N3-expression }” that is used by N3 into an RDF graph upon which RDF semantics is defined.

see `QuotedGraph`

### Dataset

The RDF 1.1 Dataset, a small extension to the Conjunctive Graph. The primary term is “graphs in the datasets” and not “contexts with quads” so there is a separate method to set/retrieve a graph in a dataset and to operate with dataset graphs. As a consequence of this approach, dataset graphs cannot be identified with blank nodes, a name is always required (RDFLib will automatically add a name if one is not provided at creation time). This implementation includes a convenience method to directly add a single quad to a dataset graph.

see `Dataset`

#### Working with graphs

Instantiating Graphs with default store (Memory) and default identifier (a BNode):

    >>> g = Graph()
    >>> g.store.__class__
    <class 'rdflib.plugins.stores.memory.Memory'>
    >>> g.identifier.__class__
    <class 'rdflib.term.BNode'>

Instantiating Graphs with a Memory store and an identifier - <https://rdflib.github.io>:

    >>> g = Graph('Memory', URIRef("https://rdflib.github.io"))
    >>> g.identifier
    rdflib.term.URIRef('https://rdflib.github.io')
    >>> str(g)
    "<https://rdflib.github.io> a rdfg:Graph;rdflib:storage
     [a rdflib:Store;rdfs:label 'Memory']."

Creating a ConjunctiveGraph - The top level container for all named Graphs in a “database”:

    >>> g = ConjunctiveGraph()
    >>> str(g.default_context)
    "[a rdfg:Graph;rdflib:storage [a rdflib:Store;rdfs:label 'Memory']]."

Adding / removing reified triples to Graph and iterating over it directly or via triple pattern:

    >>> g = Graph()
    >>> statementId = BNode()
    >>> print(len(g))
    0
    >>> g.add((statementId, RDF.type, RDF.Statement))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g.add((statementId, RDF.subject,
    ...     URIRef("https://rdflib.github.io/store/ConjunctiveGraph")))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g.add((statementId, RDF.predicate, namespace.RDFS.label))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g.add((statementId, RDF.object, Literal("Conjunctive Graph")))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> print(len(g))
    4
    >>> for s, p, o in g:
    ...     print(type(s))
    ...
    <class 'rdflib.term.BNode'>
    <class 'rdflib.term.BNode'>
    <class 'rdflib.term.BNode'>
    <class 'rdflib.term.BNode'>

    >>> for s, p, o in g.triples((None, RDF.object, None)):
    ...     print(o)
    ...
    Conjunctive Graph
    >>> g.remove((statementId, RDF.type, RDF.Statement))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> print(len(g))
    3

`None` terms in calls to `triples()` can be thought of as “open variables”.

Graph support set-theoretic operators, you can add/subtract graphs, as well as intersection (with multiplication operator g1*g2) and xor (g1 ^ g2).

Note that BNode IDs are kept when doing set-theoretic operations, this may or may not be what you want. Two named graphs within the same application probably want share BNode IDs, two graphs with data from different sources probably not. If your BNode IDs are all generated by RDFLib they are UUIDs and unique.

    >>> g1 = Graph()
    >>> g2 = Graph()
    >>> u = URIRef("http://example.com/foo")
    >>> g1.add([u, namespace.RDFS.label, Literal("foo")])
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g1.add([u, namespace.RDFS.label, Literal("bar")])
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add([u, namespace.RDFS.label, Literal("foo")])
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add([u, namespace.RDFS.label, Literal("bing")])
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> len(g1 + g2)  # adds bing as label
    3
    >>> len(g1 - g2)  # removes foo
    1
    >>> len(g1 * g2)  # only foo
    1
    >>> g1 += g2  # now g1 contains everything

Graph Aggregation - ConjunctiveGraphs and ReadOnlyGraphAggregate within the same store:

    >>> store = plugin.get("Memory", Store)()
    >>> g1 = Graph(store)
    >>> g2 = Graph(store)
    >>> g3 = Graph(store)
    >>> stmt1 = BNode()
    >>> stmt2 = BNode()
    >>> stmt3 = BNode()
    >>> g1.add((stmt1, RDF.type, RDF.Statement))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g1.add((stmt1, RDF.subject,
    ...     URIRef('https://rdflib.github.io/store/ConjunctiveGraph')))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g1.add((stmt1, RDF.predicate, namespace.RDFS.label))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g1.add((stmt1, RDF.object, Literal('Conjunctive Graph')))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add((stmt2, RDF.type, RDF.Statement))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add((stmt2, RDF.subject,
    ...     URIRef('https://rdflib.github.io/store/ConjunctiveGraph')))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add((stmt2, RDF.predicate, RDF.type))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g2.add((stmt2, RDF.object, namespace.RDFS.Class))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g3.add((stmt3, RDF.type, RDF.Statement))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g3.add((stmt3, RDF.subject,
    ...     URIRef('https://rdflib.github.io/store/ConjunctiveGraph')))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g3.add((stmt3, RDF.predicate, namespace.RDFS.comment))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> g3.add((stmt3, RDF.object, Literal(
    ...     'The top-level aggregate graph - The sum ' +
    ...     'of all named graphs within a Store')))
    <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
    >>> len(list(ConjunctiveGraph(store).subjects(RDF.type, RDF.Statement)))
    3
    >>> len(list(ReadOnlyGraphAggregate([g1,g2]).subjects(
    ...     RDF.type, RDF.Statement)))
    2

ConjunctiveGraphs have a `quads()` method which returns quads instead of triples, where the fourth item is the Graph (or subclass thereof) instance in which the triple was asserted:

    >>> uniqueGraphNames = set(
    ...     [graph.identifier for s, p, o, graph in ConjunctiveGraph(store
    ...     ).quads((None, RDF.predicate, None))])
    >>> len(uniqueGraphNames)
    3
    >>> unionGraph = ReadOnlyGraphAggregate([g1, g2])
    >>> uniqueGraphNames = set(
    ...     [graph.identifier for s, p, o, graph in unionGraph.quads(
    ...     (None, RDF.predicate, None))])
    >>> len(uniqueGraphNames)
    2

Parsing N3 from a string

    >>> g2 = Graph()
    >>> src = '''
    ... @prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    ... [ a rdf:Statement ;
    ...   rdf:subject <https://rdflib.github.io/store#ConjunctiveGraph>;
    ...   rdf:predicate rdfs:label;
    ...   rdf:object "Conjunctive Graph" ] .
    ... '''
    >>> g2 = g2.parse(data=src, format="n3")
    >>> print(len(g2))
    4

Using Namespace class:

    >>> RDFLib = Namespace("https://rdflib.github.io/")
    >>> RDFLib.ConjunctiveGraph
    rdflib.term.URIRef('https://rdflib.github.io/ConjunctiveGraph')
    >>> RDFLib["Graph"]
    rdflib.term.URIRef('https://rdflib.github.io/Graph')

class rdflib.graph.BatchAddGraph(graph, batch_size=1000, batch_addn=False)

  Bases: `object`

  Wrapper around graph that turns batches of calls to Graph’s add (and optionally, addN) into calls to batched calls to addN`.

  Parameters:

    - graph: The graph to wrap

    - batch_size: The maximum number of triples to buffer before passing to Graph’s addN

    - batch_addn: If True, then even calls to `addN` will be batched according to batch_size

  graph: The wrapped graph count: The number of triples buffered since initialization or the last call to reset batch: The current buffer of triples

  Parameters:

    - graph (`Graph`)

    - batch_size (`int`)

    - batch_addn (`bool`)

  __dict__ = mappingproxy({'__module__': 'rdflib.graph', '__doc__': "\n Wrapper around graph that turns batches of calls to Graph's add\n (and optionally, addN) into calls to batched calls to addN`.\n\n :Parameters:\n\n - graph: The graph to wrap\n - batch_size: The maximum number of triples to buffer before passing to\n Graph's addN\n - batch_addn: If True, then even calls to `addN` will be batched according to\n batch_size\n\n graph: The wrapped graph\n count: The number of triples buffered since initialization or the last call to reset\n batch: The current buffer of triples\n\n ", '__init__': <function BatchAddGraph.__init__>, 'reset': <function BatchAddGraph.reset>, 'add': <function BatchAddGraph.add>, 'addN': <function BatchAddGraph.addN>, '__enter__': <function BatchAddGraph.__enter__>, '__exit__': <function BatchAddGraph.__exit__>, '__dict__': <attribute '__dict__' of 'BatchAddGraph' objects>, '__weakref__': <attribute '__weakref__' of 'BatchAddGraph' objects>, '__annotations__': {}})
  __enter__()
    Return type:

      `BatchAddGraph`

  __exit__(*exc)
    Return type:

      `None`

  __init__(graph, batch_size=1000, batch_addn=False)
    Parameters:

      - graph (`Graph`)

      - batch_size (`int`)

      - batch_addn (`bool`)

  __module__ = 'rdflib.graph'
  __weakref__

    list of weak references to the object

  add(triple_or_quad)

    Add a triple to the buffer

    Parameters:

      - triple – The triple to add

      - triple_or_quad (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `BatchAddGraph`

  addN(quads)
    Parameters:

      quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `BatchAddGraph`

  reset()

    Manually clear the buffered triples and reset the count to zero

    Return type:

      `BatchAddGraph`

class rdflib.graph.ConjunctiveGraph(store='default', identifier=None, default_graph_base=None)

  Bases: `Graph`

  A ConjunctiveGraph is an (unnamed) aggregation of all the named graphs in a store.

  Warning

  ConjunctiveGraph is deprecated, use `Dataset` instead.

  It has a `default` graph, whose name is associated with the graph throughout its life. `__init__()` can take an identifier to use as the name of this default graph or it will assign a BNode.

  All methods that add triples work against this default graph.

  All queries are carried out against the union of all graphs.

  Parameters:

    - store (`Union`[`Store`, `str`])

    - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

    - default_graph_base (`Optional`[`str`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __contains__(triple_or_quad)

    Support for ‘triple/quad in graph’ syntax

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

    Return type:

      `bool`

  __init__(store='default', identifier=None, default_graph_base=None)
    Parameters:

      - store (`Union`[`Store`, `str`])

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - default_graph_base (`Optional`[`str`])

  __len__()

    Number of triples in the entire conjunctive graph

    Return type:

      `int`

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Graph`], `Tuple`[`Store`, `IdentifiedNode`]]

  __str__()

    Return str(self).

    Return type:

      `str`

  add(triple_or_quad)

    Add a triple or quad to the store.

    if a triple is given it is added to the default context

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - triple_or_quad (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  addN(quads)

    Add a sequence of triples with context

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  context_id(uri, context_id=None)

    URI#context

    Parameters:

      - uri (`str`)

      - context_id (`Optional`[`str`])

    Return type:

      `URIRef`

  contexts(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  default_context: `Graph`
  get_context(identifier, quoted=False, base=None)

    Return a context graph for the given identifier

    identifier must be a URIRef or BNode.

    Parameters:

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - quoted (`bool`)

      - base (`Optional`[`str`])

    Return type:

      `Graph`

  get_graph(identifier)

    Returns the graph identified by given identifier

    Parameters:

      identifier (`IdentifiedNode`)

    Return type:

      `Optional`[`Graph`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse source adding the resulting triples to its own context (sub graph of this graph).

    See `rdflib.graph.Graph.parse()` for documentation on arguments.

    If the source is in a format that does not support named graphs its triples will be added to the default graph (i.e. `ConjunctiveGraph.default_context`).

    Returns:

    The graph into which the source was parsed. In the case of n3 it returns the root context.

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Changed in 7.0: The `publicID` argument is no longer used as the identifier (i.e. name) of the default graph as was the case before version 7.0. In the case of sources that do not support named graphs, the `publicID` parameter will also not be used as the name for the graph that the data is loaded into, and instead the triples from sources that do not support named graphs will be loaded into the default graph (i.e. `ConjunctiveGraph.default_context`).

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`])

      - publicID (`Optional`[`str`])

      - format (`Optional`[`str`])

      - location (`Optional`[`str`])

      - file (`Union`[`BinaryIO`, `TextIO`, `None`])

      - data (`Union`[`str`, `bytes`, `None`])

      - args (`Any`)

    Return type:

      `Graph`

  quads(triple_or_quad=None)

    Iterate over all the quads in the entire conjunctive graph

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`], `Optional`[`Graph`]], `None`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]], `None`, `None`]

  remove(triple_or_quad)

    Removes a triple or quads

    if a triple is given it is removed from all contexts

    a quad is removed from the given context only

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - triple_or_quad (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  remove_context(context)

    Removes the given context from the graph

    Parameters:

      context (`Graph`)

    Return type:

      `None`

  triples(triple_or_quad, context=None)

    Iterate over all the triples in the entire conjunctive graph

    For legacy reasons, this can take the context to query either as a fourth element of the quad, or as the explicit context keyword parameter. The kw param takes precedence.

    Parameters:

      - triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Path`, `Node`]], `None`, `None`]

  triples_choices(triple, context=None)

    Iterate over all the triples in the entire conjunctive graph

    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

class rdflib.graph.Dataset(store='default', default_union=False, default_graph_base=None)

  Bases: `ConjunctiveGraph`

  RDF 1.1 Dataset. Small extension to the Conjunctive Graph: - the primary term is graphs in the datasets and not contexts with quads, so there is a separate method to set/retrieve a graph in a dataset and operate with graphs - graphs cannot be identified with blank nodes - added a method to directly add a single quad

  Examples of usage:

      >>> # Create a new Dataset
      >>> ds = Dataset()
      >>> # simple triples goes to default graph
      >>> ds.add((URIRef("http://example.org/a"),
      ...    URIRef("http://www.example.org/b"),
      ...    Literal("foo")))
      <Graph identifier=... (<class 'rdflib.graph.Dataset'>)>
      >>>
      >>> # Create a graph in the dataset, if the graph name has already been
      >>> # used, the corresponding graph will be returned
      >>> # (ie, the Dataset keeps track of the constituent graphs)
      >>> g = ds.graph(URIRef("http://www.example.com/gr"))
      >>>
      >>> # add triples to the new graph as usual
      >>> g.add(
      ...     (URIRef("http://example.org/x"),
      ...     URIRef("http://example.org/y"),
      ...     Literal("bar")) )
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> # alternatively: add a quad to the dataset -> goes to the graph
      >>> ds.add(
      ...     (URIRef("http://example.org/x"),
      ...     URIRef("http://example.org/z"),
      ...     Literal("foo-bar"),g) )
      <Graph identifier=... (<class 'rdflib.graph.Dataset'>)>
      >>>
      >>> # querying triples return them all regardless of the graph
      >>> for t in ds.triples((None,None,None)):
      ...     print(t)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"))
      >>>
      >>> # querying quads() return quads; the fourth argument can be unrestricted
      >>> # (None) or restricted to a graph
      >>> for q in ds.quads((None, None, None, None)):
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"),
       None)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>>
      >>> # unrestricted looping is equivalent to iterating over the entire Dataset
      >>> for q in ds:
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"),
       None)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>>
      >>> # resticting iteration to a graph:
      >>> for q in ds.quads((None, None, None, g)):
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>> # Note that in the call above -
      >>> # ds.quads((None,None,None,"http://www.example.com/gr"))
      >>> # would have been accepted, too
      >>>
      >>> # graph names in the dataset can be queried:
      >>> for c in ds.graphs():
      ...     print(c)  # doctest:
      DEFAULT
      http://www.example.com/gr
      >>> # A graph can be created without specifying a name; a skolemized genid
      >>> # is created on the fly
      >>> h = ds.graph()
      >>> for c in ds.graphs():
      ...     print(c)
      DEFAULT
      https://rdflib.github.io/.well-known/genid/rdflib/N...
      http://www.example.com/gr
      >>> # Note that the Dataset.graphs() call returns names of empty graphs,
      >>> # too. This can be restricted:
      >>> for c in ds.graphs(empty=False):
      ...     print(c)
      DEFAULT
      http://www.example.com/gr
      >>>
      >>> # a graph can also be removed from a dataset via ds.remove_graph(g)

  Added in version 4.0.

  Parameters:

    - store (`Union`[`Store`, `str`])

    - default_union (`bool`)

    - default_graph_base (`Optional`[`str`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __getstate__()

    Helper for pickle.

    Return type:

      `Tuple`[`Store`, `IdentifiedNode`, `Graph`, `bool`]

  __init__(store='default', default_union=False, default_graph_base=None)
    Parameters:

      - store (`Union`[`Store`, `str`])

      - default_union (`bool`)

      - default_graph_base (`Optional`[`str`])

  __iter__()

    Iterates over all quads in the store

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`IdentifiedNode`]], `None`, `None`]

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Dataset`], `Tuple`[`Store`, `bool`]]

  __setstate__(state)
    Parameters:

      state (`Tuple`[`Store`, `IdentifiedNode`, `Graph`, `bool`])

    Return type:

      `None`

  __str__()

    Return str(self).

    Return type:

      `str`

  add_graph(g)

    alias of graph for consistency

    Parameters:

      g (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

    Return type:

      `Graph`

  contexts(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  graph(identifier=None, base=None)
    Parameters:

      - identifier (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

      - base (`Optional`[`str`])

    Return type:

      `Graph`

  graphs(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse an RDF source adding the resulting triples to the Graph.

    See `rdflib.graph.Graph.parse()` for documentation on arguments.

    The source is specified using one of source, location, file or data.

    If the source is in a format that does not support named graphs its triples will be added to the default graph (i.e. `Dataset.default_context`).

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Changed in 7.0: The `publicID` argument is no longer used as the identifier (i.e. name) of the default graph as was the case before version 7.0. In the case of sources that do not support named graphs, the `publicID` parameter will also not be used as the name for the graph that the data is loaded into, and instead the triples from sources that do not support named graphs will be loaded into the default graph (i.e. `Dataset.default_context`).

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`])

      - publicID (`Optional`[`str`])

      - format (`Optional`[`str`])

      - location (`Optional`[`str`])

      - file (`Union`[`BinaryIO`, `TextIO`, `None`])

      - data (`Union`[`str`, `bytes`, `None`])

      - args (`Any`)

    Return type:

      `Graph`

  quads(quad=None)

    Iterate over all the quads in the entire conjunctive graph

    Parameters:

      quad (`Union`[`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`], `Optional`[`Graph`]], `None`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`IdentifiedNode`]], `None`, `None`]

  remove_graph(g)
    Parameters:

      - self (`TypeVar`(`_DatasetT`, bound= Dataset))

      - g (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

    Return type:

      `TypeVar`(`_DatasetT`, bound= Dataset)

class rdflib.graph.Graph(store='default', identifier=None, namespace_manager=None, base=None, bind_namespaces='rdflib')

  Bases: `Node`

  An RDF Graph

  The constructor accepts one argument, the “store” that will be used to store the graph data (see the “store” package for stores currently shipped with rdflib).

  Stores can be context-aware or unaware. Unaware stores take up (some) less space but cannot support features that require context, such as true merging/demerging of sub-graphs and provenance.

  Even if used with a context-aware store, Graph will only expose the quads which belong to the default graph. To access the rest of the data, `ConjunctiveGraph` or `Dataset` classes can be used instead.

  The Graph constructor can take an identifier which identifies the Graph by name. If none is given, the graph is assigned a BNode for its identifier.

  For more on named graphs, see: http://www.w3.org/2004/03/trix/

  Parameters:

    - store (`Union`[`Store`, `str`])

    - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

    - namespace_manager (`Optional`[`NamespaceManager`])

    - base (`Optional`[`str`])

    - bind_namespaces (`Literal`[`'core'`, `'rdflib'`, `'none'`])

  __abstractmethods__ = frozenset({})
  __add__(other)

    Set-theoretic union BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __and__(other)

    Set-theoretic intersection. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_union': 'bool', 'formula_aware': 'bool'}
  __cmp__(other)
    Return type:

      `int`

  __contains__(triple)

    Support for ‘triple in graph’ syntax

    Parameters:

      triple (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

    Return type:

      `bool`

  __dict__ = mappingproxy({'__module__': 'rdflib.graph', '__annotations__': {'context_aware': 'bool', 'formula_aware': 'bool', 'default_union': 'bool', 'base': 'Optional[str]', '__identifier': '_ContextIdentifierType', '__store': 'Store'}, '__doc__': 'An RDF Graph\n\n The constructor accepts one argument, the "store"\n that will be used to store the graph data (see the "store"\n package for stores currently shipped with rdflib).\n\n Stores can be context-aware or unaware. Unaware stores take up\n (some) less space but cannot support features that require\n context, such as true merging/demerging of sub-graphs and\n provenance.\n\n Even if used with a context-aware store, Graph will only expose the quads which\n belong to the default graph. To access the rest of the data, `ConjunctiveGraph` or\n `Dataset` classes can be used instead.\n\n The Graph constructor can take an identifier which identifies the Graph\n by name. If none is given, the graph is assigned a BNode for its\n identifier.\n\n For more on named graphs, see: http://www.w3.org/2004/03/trix/\n ', '__init__': <function Graph.__init__>, 'store': <property object>, 'identifier': <property object>, 'namespace_manager': <property object>, '__repr__': <function Graph.__repr__>, '__str__': <function Graph.__str__>, 'toPython': <function Graph.toPython>, 'destroy': <function Graph.destroy>, 'commit': <function Graph.commit>, 'rollback': <function Graph.rollback>, 'open': <function Graph.open>, 'close': <function Graph.close>, 'add': <function Graph.add>, 'addN': <function Graph.addN>, 'remove': <function Graph.remove>, 'triples': <function Graph.triples>, '__getitem__': <function Graph.__getitem__>, '__len__': <function Graph.__len__>, '__iter__': <function Graph.__iter__>, '__contains__': <function Graph.__contains__>, '__hash__': <function Graph.__hash__>, '__cmp__': <function Graph.__cmp__>, '__eq__': <function Graph.__eq__>, '__lt__': <function Graph.__lt__>, '__le__': <function Graph.__le__>, '__gt__': <function Graph.__gt__>, '__ge__': <function Graph.__ge__>, '__iadd__': <function Graph.__iadd__>, '__isub__': <function Graph.__isub__>, '__add__': <function Graph.__add__>, '__mul__': <function Graph.__mul__>, '__sub__': <function Graph.__sub__>, '__xor__': <function Graph.__xor__>, '__or__': <function Graph.__add__>, '__and__': <function Graph.__mul__>, 'set': <function Graph.set>, 'subjects': <function Graph.subjects>, 'predicates': <function Graph.predicates>, 'objects': <function Graph.objects>, 'subject_predicates': <function Graph.subject_predicates>, 'subject_objects': <function Graph.subject_objects>, 'predicate_objects': <function Graph.predicate_objects>, 'triples_choices': <function Graph.triples_choices>, 'value': <function Graph.value>, 'items': <function Graph.items>, 'transitiveClosure': <function Graph.transitiveClosure>, 'transitive_objects': <function Graph.transitive_objects>, 'transitive_subjects': <function Graph.transitive_subjects>, 'qname': <function Graph.qname>, 'compute_qname': <function Graph.compute_qname>, 'bind': <function Graph.bind>, 'namespaces': <function Graph.namespaces>, 'absolutize': <function Graph.absolutize>, 'serialize': <function Graph.serialize>, 'print': <function Graph.print>, 'parse': <function Graph.parse>, 'query': <function Graph.query>, 'update': <function Graph.update>, 'n3': <function Graph.n3>, '__reduce__': <function Graph.__reduce__>, 'isomorphic': <function Graph.isomorphic>, 'connected': <function Graph.connected>, 'all_nodes': <function Graph.all_nodes>, 'collection': <function Graph.collection>, 'resource': <function Graph.resource>, '_process_skolem_tuples': <function Graph._process_skolem_tuples>, 'skolemize': <function Graph.skolemize>, 'de_skolemize': <function Graph.de_skolemize>, 'cbd': <function Graph.cbd>, '__dict__': <attribute '__dict__' of 'Graph' objects>, '__weakref__': <attribute '__weakref__' of 'Graph' objects>, '__abstractmethods__': frozenset(), '_abc_impl': <_abc._abc_data object>})
  __eq__(other)

    Return self==value.

    Return type:

      `bool`

  __ge__(other)

    Return self>=value.

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  __getitem__(item)

    A graph can be “sliced” as a shortcut for the triples method The python slice syntax is (ab)used for specifying triples. A generator over matches is returned, the returned tuples include only the parts not given

        >>> import rdflib
        >>> g = rdflib.Graph()
        >>> g.add((rdflib.URIRef("urn:bob"), namespace.RDFS.label, rdflib.Literal("Bob")))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>

        >>> list(g[rdflib.URIRef("urn:bob")]) # all triples about bob
        [(rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#label'), rdflib.term.Literal('Bob'))]

        >>> list(g[:namespace.RDFS.label]) # all label triples
        [(rdflib.term.URIRef('urn:bob'), rdflib.term.Literal('Bob'))]

        >>> list(g[::rdflib.Literal("Bob")]) # all triples with bob as object
        [(rdflib.term.URIRef('urn:bob'), rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#label'))]

    Combined with SPARQL paths, more complex queries can be written concisely:

    Name of all Bobs friends:

    g[bob : FOAF.knows/FOAF.name ]

    Some label for Bob:

    g[bob : DC.title|FOAF.name|RDFS.label]

    All friends and friends of friends of Bob

    g[bob : FOAF.knows * “+”]

    etc.

    Added in version 4.0.

  __gt__(other)

    Return self>value.

    Return type:

      `bool`

  __hash__()

    Return hash(self).

    Return type:

      `int`

  __iadd__(other)

    Add all triples in Graph other to Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  __init__(store='default', identifier=None, namespace_manager=None, base=None, bind_namespaces='rdflib')
    Parameters:

      - store (`Union`[`Store`, `str`])

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - namespace_manager (`Optional`[`NamespaceManager`])

      - base (`Optional`[`str`])

      - bind_namespaces (`Literal`[`'core'`, `'rdflib'`, `'none'`])

  __isub__(other)

    Subtract all triples in Graph other from Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  __iter__()

    Iterates over all triples in the store

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

  __le__(other)

    Return self<=value.

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  __len__()

    Returns the number of triples in the graph

    If context is specified then the number of triples in the context is returned instead.

    Return type:

      `int`

  __lt__(other)

    Return self<value.

    Return type:

      `bool`

  __module__ = 'rdflib.graph'
  __mul__(other)

    Set-theoretic intersection. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __or__(other)

    Set-theoretic union BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Graph`], `Tuple`[`Store`, `IdentifiedNode`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __str__()

    Return str(self).

    Return type:

      `str`

  __sub__(other)

    Set-theoretic difference. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __weakref__

    list of weak references to the object

  __xor__(other)

    Set-theoretic XOR. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  absolutize(uri, defrag=1)

    Turn uri into an absolute URI if it’s not one already

    Parameters:

      - uri (`str`)

      - defrag (`int`)

    Return type:

      `URIRef`

  add(triple)

    Add a triple with self as context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Node`, `Node`, `Node`])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  addN(quads)

    Add a sequence of triple with context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  all_nodes()
    Return type:

      `Set`[`Node`]

  base: `Optional`[`str`]
  bind(prefix, namespace, override=True, replace=False)

    Bind prefix to namespace

    If override is True will bind namespace to given prefix even if namespace was already bound to a different prefix.

    if replace, replace any existing prefix with the new namespace

    for example: graph.bind(“foaf”, “http://xmlns.com/foaf/0.1/”)

    Parameters:

      - prefix (`Optional`[`str`])

      - namespace (`Any`)

      - override (`bool`)

      - replace (`bool`)

    Return type:

      `None`

  cbd(resource, *, target_graph=None)

    Retrieves the Concise Bounded Description of a Resource from a Graph

    Concise Bounded Description (CBD) is defined in [1] as:

    Given a particular node (the starting node) in a particular RDF graph (the source graph), a subgraph of that particular graph, taken to comprise a concise bounded description of the resource denoted by the starting node, can be identified as follows:

    > 1. Include in the subgraph all statements in the source graph where the subject of the statement is the

    >      starting node;

    > 2. Recursively, for all statements identified in the subgraph thus far having a blank node object, include

    >      in the subgraph all statements in the source graph where the subject of the statement is the blank node in question and which are not already included in the subgraph.

    > 3. Recursively, for all statements included in the subgraph thus far, for all reifications of each statement

    >      in the source graph, include the concise bounded description beginning from the rdf:Statement node of each reification.

    This results in a subgraph where the object nodes are either URI references, literals, or blank nodes not serving as the subject of any statement in the graph.

    [1] https://www.w3.org/Submission/CBD/

    Parameters:

      - resource (`Node`) – a URIRef object, of the Resource for queried for

      - target_graph (`Optional`[`Graph`]) – Optionally, a graph to add the CBD to; otherwise, a new graph is created for the CBD

    Return type:

      `Graph`

    Returns:

      a Graph, subgraph of self if no graph was provided otherwise the provided graph

  close(commit_pending_transaction=False)

    Close the graph store

    Might be necessary for stores that require closing a connection to a database or releasing some resource.

    Parameters:

      commit_pending_transaction (`bool`)

    Return type:

      `None`

  collection(identifier)

    Create a new `Collection` instance.

    Parameters:

    - `identifier`: a URIRef or BNode instance.

    Example:

        >>> graph = Graph()
        >>> uri = URIRef("http://example.org/resource")
        >>> collection = graph.collection(uri)
        >>> assert isinstance(collection, Collection)
        >>> assert collection.uri is uri
        >>> assert collection.graph is graph
        >>> collection += [ Literal(1), Literal(2) ]

    Parameters:

      identifier (`Node`)

    Return type:

      `Collection`

  commit()

    Commits active transactions

    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  compute_qname(uri, generate=True)
    Parameters:

      - uri (`str`)

      - generate (`bool`)

    Return type:

      `Tuple`[`str`, `URIRef`, `str`]

  connected()

    Check if the Graph is connected

    The Graph is considered undirectional.

    Performs a search on the Graph, starting from a random node. Then iteratively goes depth-first through the triplets where the node is subject and object. Return True if all nodes have been visited and False if it cannot continue and there are still unvisited nodes left.

    Return type:

      `bool`

  context_aware: `bool`
  de_skolemize(new_graph=None, uriref=None)
    Parameters:

      - new_graph (`Optional`[`Graph`])

      - uriref (`Optional`[`URIRef`])

    Return type:

      `Graph`

  default_union: `bool`
  destroy(configuration)

    Destroy the store identified by `configuration` if supported

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - configuration (`str`)

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  formula_aware: `bool`
  property identifier: IdentifiedNode
  isomorphic(other)

    does a very basic check if these graphs are the same If no BNodes are involved, this is accurate.

    See rdflib.compare for a correct implementation of isomorphism checks

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  items(list)

    Generator over all items in the resource specified by list

    list is an RDF collection.

    Parameters:

      list (`Node`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  n3(namespace_manager=None)

    Return an n3 identifier for the Graph

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  property namespace_manager: NamespaceManager

    this graph’s namespace-manager

  namespaces()

    Generator over all the prefix, namespace tuples

    Return type:

      `Generator`[`Tuple`[`str`, `URIRef`], `None`, `None`]

  objects(subject=None, predicate=None, unique=False)

    A generator of (optionally unique) objects with the given subject and predicate

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Union`[`None`, `Path`, `Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  open(configuration, create=False)

    Open the graph store

    Might be necessary for stores that require opening a connection to a database or acquiring some resource.

    Parameters:

      - configuration (`str`)

      - create (`bool`)

    Return type:

      `Optional`[`int`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse an RDF source adding the resulting triples to the Graph.

    The source is specified using one of source, location, file or data.

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`]) – An `xml.sax.xmlreader.InputSource`, file-like object, `pathlib.Path` like object, or string. In the case of a string the string is the location of the source.

      - location (`Optional`[`str`]) – A string indicating the relative or absolute URL of the source. `Graph`’s absolutize method is used if a relative location is specified.

      - file (`Union`[`BinaryIO`, `TextIO`, `None`]) – A file-like object.

      - data (`Union`[`str`, `bytes`, `None`]) – A string containing the data to be parsed.

      - format (`Optional`[`str`]) – Used if format can not be determined from source, e.g. file extension or Media Type. Defaults to text/turtle. Format support can be extended with plugins, but “xml”, “n3” (use for turtle), “nt” & “trix” are built in.

      - publicID (`Optional`[`str`]) – the logical URI to use as the document base. If None specified the document location is used (at least in the case where there is a document location). This is used as the base URI when resolving relative URIs in the source document, as defined in IETF RFC 3986, given the source document does not define a base URI.

    Return type:

      `Graph`

    Returns:

      `self`, i.e. the `Graph` instance.

    Examples:

        >>> my_data = '''
        ... <rdf:RDF
        ...   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        ...   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        ... >
        ...   <rdf:Description>
        ...     <rdfs:label>Example</rdfs:label>
        ...     <rdfs:comment>This is really just an example.</rdfs:comment>
        ...   </rdf:Description>
        ... </rdf:RDF>
        ... '''
        >>> import os, tempfile
        >>> fd, file_name = tempfile.mkstemp()
        >>> f = os.fdopen(fd, "w")
        >>> dummy = f.write(my_data)  # Returns num bytes written
        >>> f.close()

        >>> g = Graph()
        >>> result = g.parse(data=my_data, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> result = g.parse(location=file_name, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> with open(file_name, "r") as f:
        ...     result = g.parse(f, format="application/rdf+xml")
        >>> len(g)
        2

        >>> os.remove(file_name)

        >>> # default turtle parsing
        >>> result = g.parse(data="<http://example.com/a> <http://example.com/a> <http://example.com/a> .")
        >>> len(g)
        3

    Parameters:

      args (`Any`)

  predicate_objects(subject=None, unique=False)

    A generator of (optionally unique) (predicate, object) tuples for the given subject

    Parameters:

      - subject (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  predicates(subject=None, object=None, unique=False)

    A generator of (optionally unique) predicates with the given subject and object

    Parameters:

      - subject (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  print(format='turtle', encoding='utf-8', out=None)
    Parameters:

      - format (`str`)

      - encoding (`str`)

      - out (`Optional`[`TextIO`])

    Return type:

      `None`

  qname(uri)
    Parameters:

      uri (`str`)

    Return type:

      `str`

  query(query_object, processor='sparql', result='sparql', initNs=None, initBindings=None, use_store_provided=True, **kwargs)

    Query this graph.

    A type of ‘prepared queries’ can be realised by providing initial variable bindings with initBindings

    Initial namespaces are used to resolve prefixes used in the query, if none are given, the namespaces from the graph’s namespace manager are used.

    Caution

    This method can access indirectly requested network endpoints, for example, query processing will attempt to access network endpoints specified in `SERVICE` directives.

    When processing untrusted or potentially malicious queries, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Returntype:

      `Result`

    Parameters:

      - query_object (`Union`[`str`, `Query`])

      - processor (`Union`[`str`, `Processor`])

      - result (`Union`[`str`, `Type`[`Result`]])

      - initNs (`Optional`[`Mapping`[`str`, `Any`]])

      - initBindings (`Optional`[`Mapping`[`str`, `Identifier`]])

      - use_store_provided (`bool`)

      - kwargs (`Any`)

    Return type:

      `Result`

  remove(triple)

    Remove a triple from the graph

    If the triple does not provide a context attribute, removes the triple from all contexts.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  resource(identifier)

    Create a new `Resource` instance.

    Parameters:

    - `identifier`: a URIRef or BNode instance.

    Example:

        >>> graph = Graph()
        >>> uri = URIRef("http://example.org/resource")
        >>> resource = graph.resource(uri)
        >>> assert isinstance(resource, Resource)
        >>> assert resource.identifier is uri
        >>> assert resource.graph is graph

    Parameters:

      identifier (`Union`[`Node`, `str`])

    Return type:

      `Resource`

  rollback()

    Rollback active transactions

    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  serialize(destination=None, format='turtle', base=None, encoding=None, **args)

    Serialize the graph.

    Parameters:

      - destination (`Union`[`str`, `PurePath`, `IO`[`bytes`], `None`]) – The destination to serialize the graph to. This can be a path as a `str` or `PurePath` object, or it can be a `IO` `[bytes]` like object. If this parameter is not supplied the serialized graph will be returned.

      - format (`str`) – The format that the output should be written in. This value references a `Serializer` plugin. Format support can be extended with plugins, but `"xml"`, `"n3"`, `"turtle"`, `"nt"`, `"pretty-xml"`, `"trix"`, `"trig"`, `"nquads"`, `"json-ld"` and `"hext"` are built in. Defaults to `"turtle"`.

      - base (`Optional`[`str`]) – The base IRI for formats that support it. For the turtle format this will be used as the `@base` directive.

      - encoding (`Optional`[`str`]) – Encoding of output.

      - args (`Any`) – Additional arguments to pass to the `Serializer` that will be used.

      - self (`TypeVar`(`_GraphT`, bound= Graph))

    Returns:

      The serialized graph if `destination` is `None`. The serialized graph is returned as `str` if no encoding is specified, and as `bytes` if an encoding is specified.

    Return type:

      `bytes` if `destination` is `None` and `encoding` is not `None`.

    Return type:

      `str` if `destination` is `None` and `encoding` is `None`.

    Returns:

      `self` (i.e. the `Graph` instance) if `destination` is not `None`.

    Return type:

      `Graph` if `destination` is not `None`.

  set(triple)

    Convenience method to update the value of object

    Remove any existing triples for subject and predicate before adding (subject, predicate, object).

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Node`, `Node`, `Node`])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  skolemize(new_graph=None, bnode=None, authority=None, basepath=None)
    Parameters:

      - new_graph (`Optional`[`Graph`])

      - bnode (`Optional`[`BNode`])

      - authority (`Optional`[`str`])

      - basepath (`Optional`[`str`])

    Return type:

      `Graph`

  property store: Store
  subject_objects(predicate=None, unique=False)

    A generator of (optionally unique) (subject, object) tuples for the given predicate

    Parameters:

      - predicate (`Union`[`None`, `Path`, `Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  subject_predicates(object=None, unique=False)

    A generator of (optionally unique) (subject, predicate) tuples for the given object

    Parameters:

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  subjects(predicate=None, object=None, unique=False)

    A generator of (optionally unique) subjects with the given predicate and object

    Parameters:

      - predicate (`Union`[`None`, `Path`, `Node`])

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  toPython()
    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  transitiveClosure(func, arg, seen=None)

    Generates transitive closure of a user-defined function against the graph

        >>> from rdflib.collection import Collection
        >>> g=Graph()
        >>> a=BNode("foo")
        >>> b=BNode("bar")
        >>> c=BNode("baz")
        >>> g.add((a,RDF.first,RDF.type))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((a,RDF.rest,b))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b,RDF.first,namespace.RDFS.label))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b,RDF.rest,c))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c,RDF.first,namespace.RDFS.comment))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c,RDF.rest,RDF.nil))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> def topList(node,g):
        ...    for s in g.subjects(RDF.rest, node):
        ...       yield s
        >>> def reverseList(node,g):
        ...    for f in g.objects(node, RDF.first):
        ...       print(f)
        ...    for s in g.subjects(RDF.rest, node):
        ...       yield s

        >>> [rt for rt in g.transitiveClosure(
        ...     topList,RDF.nil)]
        [rdflib.term.BNode('baz'),
         rdflib.term.BNode('bar'),
         rdflib.term.BNode('foo')]

        >>> [rt for rt in g.transitiveClosure(
        ...     reverseList,RDF.nil)]
        http://www.w3.org/2000/01/rdf-schema#comment
        http://www.w3.org/2000/01/rdf-schema#label
        http://www.w3.org/1999/02/22-rdf-syntax-ns#type
        [rdflib.term.BNode('baz'),
         rdflib.term.BNode('bar'),
         rdflib.term.BNode('foo')]

    Parameters:

      - func (`Callable`[[`TypeVar`(`_TCArgT`), `Graph`], `Iterable`[`TypeVar`(`_TCArgT`)]])

      - arg (`TypeVar`(`_TCArgT`))

      - seen (`Optional`[`Dict`[`TypeVar`(`_TCArgT`), `int`]])

  transitive_objects(subject, predicate, remember=None)

    Transitively generate objects for the `predicate` relationship

    Generated objects belong to the depth first transitive closure of the `predicate` relationship starting at `subject`.

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Optional`[`Node`])

      - remember (`Optional`[`Dict`[`Optional`[`Node`], `int`]])

    Return type:

      `Generator`[`Optional`[`Node`], `None`, `None`]

  transitive_subjects(predicate, object, remember=None)

    Transitively generate subjects for the `predicate` relationship

    Generated subjects belong to the depth first transitive closure of the `predicate` relationship starting at `object`.

    Parameters:

      - predicate (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - remember (`Optional`[`Dict`[`Optional`[`Node`], `int`]])

    Return type:

      `Generator`[`Optional`[`Node`], `None`, `None`]

  triples(triple)

    Generator over the triple store

    Returns triples that match the given triple pattern. If triple pattern does not provide a context, all contexts will be searched.

    Parameters:

      triple (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

    Return type:

      `Generator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Path`, `Node`]], `None`, `None`]

  triples_choices(triple, context=None)
    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

  update(update_object, processor='sparql', initNs=None, initBindings=None, use_store_provided=True, **kwargs)

    Update this graph with the given update query.

    Caution

    This method can access indirectly requested network endpoints, for example, query processing will attempt to access network endpoints specified in `SERVICE` directives.

    When processing untrusted or potentially malicious queries, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Parameters:

      - update_object (`Union`[`Update`, `str`])

      - processor (`Union`[`str`, `UpdateProcessor`])

      - initNs (`Optional`[`Mapping`[`str`, `Any`]])

      - initBindings (`Optional`[`Mapping`[`str`, `Identifier`]])

      - use_store_provided (`bool`)

      - kwargs (`Any`)

    Return type:

      `None`

  value(subject=None, predicate=RDF.value, object=None, default=None, any=True)

    Get a value for a pair of two criteria

    Exactly one of subject, predicate, object must be None. Useful if one knows that there may only be one value.

    It is one of those situations that occur a lot, hence this ‘macro’ like utility

    Parameters:

    - subject, predicate, object: exactly one must be None

    - default: value to be returned if no values found

    - any: if True, return any value in the case there is more than one, else, raise UniquenessError

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - default (`Optional`[`Node`])

      - any (`bool`)

    Return type:

      `Optional`[`Node`]

exception rdflib.graph.ModificationException

  Bases: `Exception`

  __init__()
  __module__ = 'rdflib.graph'
  __str__()

    Return str(self).

    Return type:

      `str`

  __weakref__

    list of weak references to the object

class rdflib.graph.QuotedGraph(store, identifier)

  Bases: `Graph`

  Quoted Graphs are intended to implement Notation 3 formulae. They are associated with a required identifier that the N3 parser must provide in order to maintain consistent formulae identification for scenarios such as implication and other such processing.

  Parameters:

    - store (`Union`[`Store`, `str`])

    - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_union': 'bool', 'formula_aware': 'bool'}
  __init__(store, identifier)
    Parameters:

      - store (`Union`[`Store`, `str`])

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Graph`], `Tuple`[`Store`, `IdentifiedNode`]]

  __str__()

    Return str(self).

    Return type:

      `str`

  add(triple)

    Add a triple with self as context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Node`, `Node`, `Node`])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  addN(quads)

    Add a sequence of triple with context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  n3(namespace_manager=None)

    Return an n3 identifier for the Graph

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.graph.ReadOnlyGraphAggregate(graphs, store='default')

  Bases: `ConjunctiveGraph`

  Utility class for treating a set of graphs as a single graph

  Only read operations are supported (hence the name). Essentially a ConjunctiveGraph over an explicit subset of the entire store.

  Parameters:

    - graphs (`List`[`Graph`])

    - store (`Union`[`str`, `Store`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __cmp__(other)
    Return type:

      `int`

  __contains__(triple_or_quad)

    Support for ‘triple/quad in graph’ syntax

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

    Return type:

      `bool`

  __hash__()

    Return hash(self).

    Return type:

      `NoReturn`

  __iadd__(other)

    Add all triples in Graph other to Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `NoReturn`

  __init__(graphs, store='default')
    Parameters:

      - graphs (`List`[`Graph`])

      - store (`Union`[`str`, `Store`])

  __isub__(other)

    Subtract all triples in Graph other from Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `NoReturn`

  __len__()

    Number of triples in the entire conjunctive graph

    Return type:

      `int`

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `NoReturn`

  __repr__()

    Return repr(self).

    Return type:

      `str`

  absolutize(uri, defrag=1)

    Turn uri into an absolute URI if it’s not one already

    Parameters:

      - uri (`str`)

      - defrag (`int`)

    Return type:

      `NoReturn`

  add(triple)

    Add a triple or quad to the store.

    if a triple is given it is added to the default context

    Parameters:

      triple (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `NoReturn`

  addN(quads)

    Add a sequence of triples with context

    Parameters:

      quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `NoReturn`

  bind(prefix, namespace, override=True)

    Bind prefix to namespace

    If override is True will bind namespace to given prefix even if namespace was already bound to a different prefix.

    if replace, replace any existing prefix with the new namespace

    for example: graph.bind(“foaf”, “http://xmlns.com/foaf/0.1/”)

    Parameters:

      - prefix (`Optional`[`str`])

      - namespace (`Any`)

      - override (`bool`)

    Return type:

      `NoReturn`

  close()

    Close the graph store

    Might be necessary for stores that require closing a connection to a database or releasing some resource.

    Return type:

      `None`

  commit()

    Commits active transactions

    Return type:

      `NoReturn`

  compute_qname(uri, generate=True)
    Parameters:

      - uri (`str`)

      - generate (`bool`)

    Return type:

      `Tuple`[`str`, `URIRef`, `str`]

  destroy(configuration)

    Destroy the store identified by `configuration` if supported

    Parameters:

      configuration (`str`)

    Return type:

      `NoReturn`

  n3(namespace_manager=None)

    Return an n3 identifier for the Graph

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `NoReturn`

  namespaces()

    Generator over all the prefix, namespace tuples

    Return type:

      `Generator`[`Tuple`[`str`, `URIRef`], `None`, `None`]

  open(configuration, create=False)

    Open the graph store

    Might be necessary for stores that require opening a connection to a database or acquiring some resource.

    Parameters:

      - configuration (`str`)

      - create (`bool`)

    Return type:

      `None`

  parse(source, publicID=None, format=None, **args)

    Parse source adding the resulting triples to its own context (sub graph of this graph).

    See `rdflib.graph.Graph.parse()` for documentation on arguments.

    If the source is in a format that does not support named graphs its triples will be added to the default graph (i.e. `ConjunctiveGraph.default_context`).

    Returns:

    The graph into which the source was parsed. In the case of n3 it returns the root context.

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Changed in 7.0: The `publicID` argument is no longer used as the identifier (i.e. name) of the default graph as was the case before version 7.0. In the case of sources that do not support named graphs, the `publicID` parameter will also not be used as the name for the graph that the data is loaded into, and instead the triples from sources that do not support named graphs will be loaded into the default graph (i.e. `ConjunctiveGraph.default_context`).

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`])

      - publicID (`Optional`[`str`])

      - format (`Optional`[`str`])

      - args (`Any`)

    Return type:

      `NoReturn`

  qname(uri)
    Parameters:

      uri (`str`)

    Return type:

      `str`

  quads(triple_or_quad)

    Iterate over all the quads in the entire aggregate graph

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

    Return type:

      `Generator`[`Tuple`[`Node`, `Union`[`Path`, `Node`], `Node`, `Graph`], `None`, `None`]

  remove(triple)

    Removes a triple or quads

    if a triple is given it is removed from all contexts

    a quad is removed from the given context only

    Parameters:

      triple (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `NoReturn`

  rollback()

    Rollback active transactions

    Return type:

      `NoReturn`

  triples(triple)

    Iterate over all the triples in the entire conjunctive graph

    For legacy reasons, this can take the context to query either as a fourth element of the quad, or as the explicit context keyword parameter. The kw param takes precedence.

    Parameters:

      triple (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

    Return type:

      `Generator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Path`, `Node`]], `None`, `None`]

  triples_choices(triple, context=None)

    Iterate over all the triples in the entire conjunctive graph

    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

class rdflib.graph.Seq(graph, subject)

  Bases: `object`

  Wrapper around an RDF Seq resource

  It implements a container type in Python with the order of the items returned corresponding to the Seq content. It is based on the natural ordering of the predicate names _1, _2, _3, etc, which is the ‘implementation’ of a sequence in RDF terms.

  Parameters:

    - graph (`Graph`)

    - subject (`Node`)

  __dict__ = mappingproxy({'__module__': 'rdflib.graph', '__doc__': "Wrapper around an RDF Seq resource\n\n It implements a container type in Python with the order of the items\n returned corresponding to the Seq content. It is based on the natural\n ordering of the predicate names _1, _2, _3, etc, which is the\n 'implementation' of a sequence in RDF terms.\n ", '__init__': <function Seq.__init__>, 'toPython': <function Seq.toPython>, '__iter__': <function Seq.__iter__>, '__len__': <function Seq.__len__>, '__getitem__': <function Seq.__getitem__>, '__dict__': <attribute '__dict__' of 'Seq' objects>, '__weakref__': <attribute '__weakref__' of 'Seq' objects>, '__annotations__': {'_list': 'List[Tuple[int, _ObjectType]]'}})
  __getitem__(index)

    Item given by index from the Seq

    Return type:

      `Node`

  __init__(graph, subject)

    Parameters:

    - graph:

        the graph containing the Seq

    - subject:

        the subject of a Seq. Note that the init does not check whether this is a Seq, this is done in whoever creates this instance!

    Parameters:

      - graph (`Graph`)

      - subject (`Node`)

  __iter__()

    Generator over the items in the Seq

    Return type:

      `Generator`[`Node`, `None`, `None`]

  __len__()

    Length of the Seq

    Return type:

      `int`

  __module__ = 'rdflib.graph'
  __weakref__

    list of weak references to the object

  toPython()
    Return type:

      `Seq`

exception rdflib.graph.UnSupportedAggregateOperation

  Bases: `Exception`

  __init__()
  __module__ = 'rdflib.graph'
  __str__()

    Return str(self).

    Return type:

      `str`

  __weakref__

    list of weak references to the object

## rdflib.parser module

Parser plugin interface.

This module defines the parser plugin interface and contains other related parser support code.

The module is mainly useful for those wanting to write a parser that can plugin to rdflib. If you are wanting to invoke a parser you likely want to do so through the Graph class parse method.

class rdflib.parser.FileInputSource(file, /, encoding=None)

  Bases: `InputSource`

  Parameters:

    - file (`Union`[`BinaryIO`, `TextIO`, `TextIOBase`, `RawIOBase`, `BufferedIOBase`])

    - encoding (`Optional`[`str`])

  __init__(file, /, encoding=None)
    Parameters:

      - file (`Union`[`BinaryIO`, `TextIO`, `TextIOBase`, `RawIOBase`, `BufferedIOBase`])

      - encoding (`Optional`[`str`])

  __module__ = 'rdflib.parser'
  __repr__()

    Return repr(self).

    Return type:

      `str`

class rdflib.parser.InputSource(system_id=None)

  Bases: `InputSource`

  TODO:

  Parameters:

    system_id (`Optional`[`str`])

  __annotations__ = {}
  __init__(system_id=None)
    Parameters:

      system_id (`Optional`[`str`])

  __module__ = 'rdflib.parser'
  close()
    Return type:

      `None`

class rdflib.parser.Parser

  Bases: `object`

  __init__()
  __module__ = 'rdflib.parser'
  __slots__ = ()
  parse(source, sink)
    Parameters:

      - source (`InputSource`)

      - sink (`Graph`)

    Return type:

      `None`

class rdflib.parser.PythonInputSource(data, system_id=None)

  Bases: `InputSource`

  Constructs an RDFLib Parser InputSource from a Python data structure, for example, loaded from JSON with json.load or json.loads:

      >>> import json
      >>> as_string = """{
      ...   "@context" : {"ex" : "http://example.com/ns#"},
      ...   "@graph": [{"@type": "ex:item", "@id": "#example"}]
      ... }"""
      >>> as_python = json.loads(as_string)
      >>> source = create_input_source(data=as_python)
      >>> isinstance(source, PythonInputSource)
      True

  Parameters:

    - data (`Any`)

    - system_id (`Optional`[`str`])

  __annotations__ = {}
  __init__(data, system_id=None)
    Parameters:

      - data (`Any`)

      - system_id (`Optional`[`str`])

  __module__ = 'rdflib.parser'
  close()
    Return type:

      `None`

  getPublicId()

    Returns the public identifier of this InputSource.

    Return type:

      `Optional`[`str`]

  getSystemId()

    Returns the system identifier of this InputSource.

    Return type:

      `Optional`[`str`]

  setPublicId(public_id)

    Sets the public identifier of this InputSource.

    Parameters:

      public_id (`Optional`[`str`])

    Return type:

      `None`

  setSystemId(system_id)

    Sets the system identifier of this InputSource.

    Parameters:

      system_id (`Optional`[`str`])

    Return type:

      `None`

class rdflib.parser.StringInputSource(value, encoding='utf-8', system_id=None)

  Bases: `InputSource`

  Constructs an RDFLib Parser InputSource from a Python String or Bytes

  Parameters:

    - value (`Union`[`str`, `bytes`])

    - encoding (`str`)

    - system_id (`Optional`[`str`])

  __annotations__ = {}
  __init__(value, encoding='utf-8', system_id=None)
    Parameters:

      - value (`Union`[`str`, `bytes`])

      - encoding (`str`)

      - system_id (`Optional`[`str`])

  __module__ = 'rdflib.parser'

class rdflib.parser.URLInputSource(system_id=None, format=None)

  Bases: `InputSource`

  Constructs an RDFLib Parser InputSource from a URL to read it from the Web.

  Parameters:

    - system_id (`Optional`[`str`])

    - format (`Optional`[`str`])

  __annotations__ = {'links': 'List[str]'}
  __init__(system_id=None, format=None)
    Parameters:

      - system_id (`Optional`[`str`])

      - format (`Optional`[`str`])

  __module__ = 'rdflib.parser'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  get_alternates(type_=None)
    Parameters:

      type_ (`Optional`[`str`])

    Return type:

      `List`[`str`]

  classmethod get_links(response)
    Parameters:

      response (`addinfourl`)

    Return type:

      `List`[`str`]

  classmethod getallmatchingheaders(message, name)
    Parameters:

      message (`Message`)

    Return type:

      `List`[`str`]

  links: `List`[`str`]

## rdflib.paths module

This module implements the SPARQL 1.1 Property path operators, as defined in:

http://www.w3.org/TR/sparql11-query/#propertypaths

In SPARQL the syntax is as follows:

Syntax | Matches
--- | ---
iri | An IRI. A path of length one.
^elt | Inverse path (object to subject).
elt1 / elt2 | A sequence path of elt1 followed by elt2.
elt1 | elt2 | A alternative path of elt1 or elt2 (all possibilities are tried).
elt* | A path that connects the subject and object of the path by zero or more matches of elt.
elt+ | A path that connects the subject and object of the path by one or more matches of elt.
elt? | A path that connects the subject and object of the path by zero or one matches of elt.
!iri or !(iri1| … |irin) | Negated property set. An IRI which is not one of iri1…irin. !iri is short for !(iri).
!^iri or !(^iri1| …|^irin) | Negated property set where the excluded matches are based on reversed path. That is, not one of iri1…irin as reverse paths. !^iri is short for !(^iri).
!(iri1| …|irij|^irij+1|… |^irin)| | A combination of forward and reverse properties in a negated property set.
(elt) | A group path elt, brackets control precedence.

This module is used internally by the SPARQL engine, but the property paths can also be used to query RDFLib Graphs directly.

Where possible the SPARQL syntax is mapped to Python operators, and property path objects can be constructed from existing URIRefs.

    >>> from rdflib import Graph, Namespace
    >>> from rdflib.namespace import FOAF

    >>> ~FOAF.knows
    Path(~http://xmlns.com/foaf/0.1/knows)

    >>> FOAF.knows/FOAF.name
    Path(http://xmlns.com/foaf/0.1/knows / http://xmlns.com/foaf/0.1/name)

    >>> FOAF.name|FOAF.givenName
    Path(http://xmlns.com/foaf/0.1/name | http://xmlns.com/foaf/0.1/givenName)

Modifiers (?, *, +) are done using * (the multiplication operator) and the strings ‘*’, ‘?’, ‘+’, also defined as constants in this file.

    >>> FOAF.knows*OneOrMore
    Path(http://xmlns.com/foaf/0.1/knows+)

The path objects can also be used with the normal graph methods.

First some example data:

    >>> g=Graph()

    >>> g=g.parse(data='''
    ... @prefix : <ex:> .
    ...
    ... :a :p1 :c ; :p2 :f .
    ... :c :p2 :e ; :p3 :g .
    ... :g :p3 :h ; :p2 :j .
    ... :h :p3 :a ; :p2 :g .
    ...
    ... :q :px :q .
    ...
    ... ''', format='n3')

    >>> e = Namespace('ex:')

Graph contains:

    >>> (e.a, e.p1/e.p2, e.e) in g
    True

Graph generator functions, triples, subjects, objects, etc. :

    >>> list(g.objects(e.c, (e.p3*OneOrMore)/e.p2))
    [rdflib.term.URIRef('ex:j'), rdflib.term.URIRef('ex:g'),
        rdflib.term.URIRef('ex:f')]

A more complete set of tests:

    >>> list(eval_path(g, (None, e.p1/e.p2, None)))==[(e.a, e.e)]
    True
    >>> list(eval_path(g, (e.a, e.p1|e.p2, None)))==[(e.a,e.c), (e.a,e.f)]
    True
    >>> list(eval_path(g, (e.c, ~e.p1, None))) == [ (e.c, e.a) ]
    True
    >>> list(eval_path(g, (e.a, e.p1*ZeroOrOne, None))) == [(e.a, e.a), (e.a, e.c)]
    True
    >>> list(eval_path(g, (e.c, e.p3*OneOrMore, None))) == [
    ...     (e.c, e.g), (e.c, e.h), (e.c, e.a)]
    True
    >>> list(eval_path(g, (e.c, e.p3*ZeroOrMore, None))) == [(e.c, e.c),
    ...     (e.c, e.g), (e.c, e.h), (e.c, e.a)]
    True
    >>> list(eval_path(g, (e.a, -e.p1, None))) == [(e.a, e.f)]
    True
    >>> list(eval_path(g, (e.a, -(e.p1|e.p2), None))) == []
    True
    >>> list(eval_path(g, (e.g, -~e.p2, None))) == [(e.g, e.j)]
    True
    >>> list(eval_path(g, (e.e, ~(e.p1/e.p2), None))) == [(e.e, e.a)]
    True
    >>> list(eval_path(g, (e.a, e.p1/e.p3/e.p3, None))) == [(e.a, e.h)]
    True

    >>> list(eval_path(g, (e.q, e.px*OneOrMore, None)))
    [(rdflib.term.URIRef('ex:q'), rdflib.term.URIRef('ex:q'))]

    >>> list(eval_path(g, (None, e.p1|e.p2, e.c)))
    [(rdflib.term.URIRef('ex:a'), rdflib.term.URIRef('ex:c'))]

    >>> list(eval_path(g, (None, ~e.p1, e.a))) == [ (e.c, e.a) ]
    True
    >>> list(eval_path(g, (None, e.p1*ZeroOrOne, e.c)))
    [(rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:c')),
     (rdflib.term.URIRef('ex:a'), rdflib.term.URIRef('ex:c'))]

    >>> list(eval_path(g, (None, e.p3*OneOrMore, e.a)))
    [(rdflib.term.URIRef('ex:h'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:g'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:a'))]

    >>> list(eval_path(g, (None, e.p3*ZeroOrMore, e.a)))
    [(rdflib.term.URIRef('ex:a'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:h'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:g'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:a'))]

    >>> list(eval_path(g, (None, -e.p1, e.f))) == [(e.a, e.f)]
    True
    >>> list(eval_path(g, (None, -(e.p1|e.p2), e.c))) == []
    True
    >>> list(eval_path(g, (None, -~e.p2, e.j))) == [(e.g, e.j)]
    True
    >>> list(eval_path(g, (None, ~(e.p1/e.p2), e.a))) == [(e.e, e.a)]
    True
    >>> list(eval_path(g, (None, e.p1/e.p3/e.p3, e.h))) == [(e.a, e.h)]
    True

    >>> list(eval_path(g, (e.q, e.px*OneOrMore, None)))
    [(rdflib.term.URIRef('ex:q'), rdflib.term.URIRef('ex:q'))]

    >>> list(eval_path(g, (e.c, (e.p2|e.p3)*ZeroOrMore, e.j)))
    [(rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:j'))]

No vars specified:

    >>> sorted(list(eval_path(g, (None, e.p3*OneOrMore, None))))
    [(rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:g')),
     (rdflib.term.URIRef('ex:c'), rdflib.term.URIRef('ex:h')),
     (rdflib.term.URIRef('ex:g'), rdflib.term.URIRef('ex:a')),
     (rdflib.term.URIRef('ex:g'), rdflib.term.URIRef('ex:h')),
     (rdflib.term.URIRef('ex:h'), rdflib.term.URIRef('ex:a'))]

class rdflib.paths.AlternativePath(*args)

  Bases: `Path`

  Parameters:

    args (`Union`[`Path`, `URIRef`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]', 'args': 'List[Union[Path, URIRef]]'}
  __init__(*args)
    Parameters:

      args (`Union`[`Path`, `URIRef`])

  __module__ = 'rdflib.paths'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  eval(graph, subj=None, obj=None)
    Parameters:

      - graph (`Graph`)

      - subj (`Optional`[`Node`])

      - obj (`Optional`[`Node`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.paths.InvPath(arg)

  Bases: `Path`

  Parameters:

    arg (`Union`[`Path`, `URIRef`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]'}
  __init__(arg)
    Parameters:

      arg (`Union`[`Path`, `URIRef`])

  __module__ = 'rdflib.paths'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  eval(graph, subj=None, obj=None)
    Parameters:

      - graph (`Graph`)

      - subj (`Optional`[`Node`])

      - obj (`Optional`[`Node`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.paths.MulPath(path, mod)

  Bases: `Path`

  Parameters:

    - path (`Union`[`Path`, `URIRef`])

    - mod (`Literal`[`'*'`, `'+'`, `'?'`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]'}
  __init__(path, mod)
    Parameters:

      - path (`Union`[`Path`, `URIRef`])

      - mod (`Literal`[`'*'`, `'+'`, `'?'`])

  __module__ = 'rdflib.paths'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  eval(graph, subj=None, obj=None, first=True)
    Parameters:

      - graph (`Graph`)

      - subj (`Optional`[`Node`])

      - obj (`Optional`[`Node`])

      - first (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.paths.NegatedPath(arg)

  Bases: `Path`

  Parameters:

    arg (`Union`[`AlternativePath`, `InvPath`, `URIRef`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]', 'args': 'List[Union[URIRef, Path]]'}
  __init__(arg)
    Parameters:

      arg (`Union`[`AlternativePath`, `InvPath`, `URIRef`])

  __module__ = 'rdflib.paths'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  eval(graph, subj=None, obj=None)
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.paths.Path

  Bases: `ABC`

  __abstractmethods__ = frozenset({'eval', 'n3'})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]'}
  __dict__ = mappingproxy({'__module__': 'rdflib.paths', '__annotations__': {'__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__invert__': 'Callable[[Path], InvPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]', '__mul__': 'Callable[[Path, str], MulPath]'}, 'eval': <function Path.eval>, 'n3': <function Path.n3>, '__hash__': <function Path.__hash__>, '__eq__': <function Path.__eq__>, '__lt__': <function Path.__lt__>, '__dict__': <attribute '__dict__' of 'Path' objects>, '__weakref__': <attribute '__weakref__' of 'Path' objects>, '__doc__': None, '__abstractmethods__': frozenset({'eval', 'n3'}), '_abc_impl': <_abc._abc_data object>, '__gt__': <function _gt_from_lt>, '__le__': <function _le_from_lt>, '__ge__': <function _ge_from_lt>, '__invert__': <function inv_path>, '__neg__': <function neg_path>, '__mul__': <function mul_path>, '__or__': <function path_alternative>, '__truediv__': <function path_sequence>})
  __eq__(other)

    Return self==value.

  __ge__(other)

    Return a >= b. Computed by @total_ordering from (not a < b).

  __gt__(other)

    Return a > b. Computed by @total_ordering from (not a < b) and (a != b).

  __hash__()

    Return hash(self).

  __invert__()

    inverse path

    Parameters:

      p (`Union`[`URIRef`, `Path`])

    Return type:

      `InvPath`

  __le__(other)

    Return a <= b. Computed by @total_ordering from (a < b) or (a == b).

  __lt__(other)

    Return self<value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __module__ = 'rdflib.paths'
  __mul__(mul)

    cardinality path

    Parameters:

      - p (`Union`[`URIRef`, `Path`])

      - mul (`Literal`[`'*'`, `'+'`, `'?'`])

    Return type:

      `MulPath`

  __neg__()

    negated path

    Parameters:

      p (`Union`[`URIRef`, `AlternativePath`, `InvPath`])

    Return type:

      `NegatedPath`

  __or__(other)

    alternative path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  __truediv__(other)

    sequence path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  __weakref__

    list of weak references to the object

  abstract eval(graph, subj=None, obj=None)
    Parameters:

      - graph (`Graph`)

      - subj (`Optional`[`Node`])

      - obj (`Optional`[`Node`])

    Return type:

      `Iterator`[`Tuple`[`Node`, `Node`]]

  abstract n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.paths.PathList(iterable=(), /)

  Bases: `list`

  __dict__ = mappingproxy({'__module__': 'rdflib.paths', '__dict__': <attribute '__dict__' of 'PathList' objects>, '__weakref__': <attribute '__weakref__' of 'PathList' objects>, '__doc__': None, '__annotations__': {}})
  __module__ = 'rdflib.paths'
  __weakref__

    list of weak references to the object

class rdflib.paths.SequencePath(*args)

  Bases: `Path`

  Parameters:

    args (`Union`[`Path`, `URIRef`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__invert__': 'Callable[[Path], InvPath]', '__mul__': 'Callable[[Path, str], MulPath]', '__neg__': 'Callable[[Path], NegatedPath]', '__or__': 'Callable[[Path, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[Path, Union[URIRef, Path]], SequencePath]', 'args': 'List[Union[Path, URIRef]]'}
  __init__(*args)
    Parameters:

      args (`Union`[`Path`, `URIRef`])

  __module__ = 'rdflib.paths'
  __repr__()

    Return repr(self).

    Return type:

      `str`

  eval(graph, subj=None, obj=None)
    Parameters:

      - graph (`Graph`)

      - subj (`Optional`[`Node`])

      - obj (`Optional`[`Node`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

rdflib.paths.evalPath(graph, t)
  Parameters:

    - graph (`Graph`)

    - t (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

  Return type:

    `Iterator`[`Tuple`[`Node`, `Node`]]

rdflib.paths.eval_path(graph, t)
  Parameters:

    - graph (`Graph`)

    - t (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

  Return type:

    `Iterator`[`Tuple`[`Node`, `Node`]]

rdflib.paths.inv_path(p)

  inverse path

  Parameters:

    p (`Union`[`URIRef`, `Path`])

  Return type:

    `InvPath`

rdflib.paths.mul_path(p, mul)

  cardinality path

  Parameters:

    - p (`Union`[`URIRef`, `Path`])

    - mul (`Literal`[`'*'`, `'+'`, `'?'`])

  Return type:

    `MulPath`

rdflib.paths.neg_path(p)

  negated path

  Parameters:

    p (`Union`[`URIRef`, `AlternativePath`, `InvPath`])

  Return type:

    `NegatedPath`

rdflib.paths.path_alternative(self, other)

  alternative path

  Parameters:

    - self (`Union`[`URIRef`, `Path`])

    - other (`Union`[`URIRef`, `Path`])

rdflib.paths.path_sequence(self, other)

  sequence path

  Parameters:

    - self (`Union`[`URIRef`, `Path`])

    - other (`Union`[`URIRef`, `Path`])

## rdflib.plugin module

Plugin support for rdf.

There are a number of plugin points for rdf: parser, serializer, store, query processor, and query result. Plugins can be registered either through setuptools entry_points or by calling rdf.plugin.register directly.

If you have a package that uses a setuptools based setup.py you can add the following to your setup:

    entry_points = {
        'rdf.plugins.parser': [
            'nt =     rdf.plugins.parsers.ntriples:NTParser',
            ],
        'rdf.plugins.serializer': [
            'nt =     rdf.plugins.serializers.NTSerializer:NTSerializer',
            ],
        }

See the setuptools dynamic discovery of services and plugins for more information.

class rdflib.plugin.PKGPlugin(name, kind, ep)

  Bases: `Plugin`[`PluginT`]

  Parameters:

    - name (`str`)

    - kind (`Type`[`TypeVar`(`PluginT`)])

    - ep (`EntryPoint`)

  __init__(name, kind, ep)
    Parameters:

      - name (`str`)

      - kind (`Type`[`TypeVar`(`PluginT`)])

      - ep (`EntryPoint`)

  __module__ = 'rdflib.plugin'
  __orig_bases__ = (rdflib.plugin.Plugin[~PluginT],)
  __parameters__ = (~PluginT,)
  getClass()
    Return type:

      `Type`[`TypeVar`(`PluginT`)]

class rdflib.plugin.Plugin(name, kind, module_path, class_name)

  Bases: `Generic`[`PluginT`]

  Parameters:

    - name (`str`)

    - kind (`Type`[`TypeVar`(`PluginT`)])

    - module_path (`str`)

    - class_name (`str`)

  __annotations__ = {}
  __dict__ = mappingproxy({'__module__': 'rdflib.plugin', '__init__': <function Plugin.__init__>, 'getClass': <function Plugin.getClass>, '__orig_bases__': (typing.Generic[~PluginT],), '__dict__': <attribute '__dict__' of 'Plugin' objects>, '__weakref__': <attribute '__weakref__' of 'Plugin' objects>, '__doc__': None, '__parameters__': (~PluginT,), '__annotations__': {'_class': 'Optional[Type[PluginT]]'}})
  __init__(name, kind, module_path, class_name)
    Parameters:

      - name (`str`)

      - kind (`Type`[`TypeVar`(`PluginT`)])

      - module_path (`str`)

      - class_name (`str`)

  __module__ = 'rdflib.plugin'
  __orig_bases__ = (typing.Generic[~PluginT],)
  __parameters__ = (~PluginT,)
  __weakref__

    list of weak references to the object

  getClass()
    Return type:

      `Type`[`TypeVar`(`PluginT`)]

exception rdflib.plugin.PluginException(msg=None)

  Bases: `Error`

  Parameters:

    msg (`Optional`[`str`])

  __annotations__ = {}
  __module__ = 'rdflib.plugin'

class rdflib.plugin.PluginT

  A generic type variable for plugins

  alias of TypeVar(‘PluginT’)

rdflib.plugin.get(name, kind)

  Return the class for the specified (name, kind). Raises a PluginException if unable to do so.

  Parameters:

    - name (`str`)

    - kind (`Type`[`TypeVar`(`PluginT`)])

  Return type:

    `Type`[`TypeVar`(`PluginT`)]

rdflib.plugin.plugins(name=None, kind=None)

  A generator of the plugins.

  Pass in name and kind to filter… else leave None to match all.

  Parameters:

    - name (`Optional`[`str`])

    - kind (`Optional`[`Type`[`TypeVar`(`PluginT`)]])

  Return type:

    `Iterator`[`Plugin`[`TypeVar`(`PluginT`)]]

rdflib.plugin.register(name, kind, module_path, class_name)

  Register the plugin for (name, kind). The module_path and class_name should be the path to a plugin class.

  Parameters:

    - name (`str`)

    - kind (`Type`[`Any`])

## rdflib.query module

class rdflib.query.EncodeOnlyUnicode(stream)

  Bases: `object`

  This is a crappy work-around for http://bugs.python.org/issue11649

  Parameters:

    stream (`BinaryIO`)

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__doc__': '\n This is a crappy work-around for\n http://bugs.python.org/issue11649\n\n\n ', '__init__': <function EncodeOnlyUnicode.__init__>, 'write': <function EncodeOnlyUnicode.write>, '__getattr__': <function EncodeOnlyUnicode.__getattr__>, '__dict__': <attribute '__dict__' of 'EncodeOnlyUnicode' objects>, '__weakref__': <attribute '__weakref__' of 'EncodeOnlyUnicode' objects>, '__annotations__': {}})
  __getattr__(name)
    Parameters:

      name (`str`)

    Return type:

      `Any`

  __init__(stream)
    Parameters:

      stream (`BinaryIO`)

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  write(arg)

class rdflib.query.Processor(graph)

  Bases: `object`

  Query plugin interface.

  This module is useful for those wanting to write a query processor that can plugin to rdf. If you are wanting to execute a query you likely want to do so through the Graph class query method.

  Parameters:

    graph (`Graph`)

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__doc__': '\n Query plugin interface.\n\n This module is useful for those wanting to write a query processor\n that can plugin to rdf. If you are wanting to execute a query you\n likely want to do so through the Graph class query method.\n\n ', '__init__': <function Processor.__init__>, 'query': <function Processor.query>, '__dict__': <attribute '__dict__' of 'Processor' objects>, '__weakref__': <attribute '__weakref__' of 'Processor' objects>, '__annotations__': {}})
  __init__(graph)
    Parameters:

      graph (`Graph`)

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  query(strOrQuery, initBindings={}, initNs={}, DEBUG=False)
    Parameters:

      - strOrQuery (`Union`[`str`, `Query`])

      - initBindings (`Mapping`[`str`, `Identifier`])

      - initNs (`Mapping`[`str`, `Any`])

      - DEBUG (`bool`)

    Return type:

      `Mapping`[`str`, `Any`]

class rdflib.query.Result(type_)

  Bases: `object`

  A common class for representing query result.

  There is a bit of magic here that makes this appear like different Python objects, depending on the type of result.

  If the type is “SELECT”, iterating will yield lists of ResultRow objects

  If the type is “ASK”, iterating will yield a single bool (or bool(result) will return the same bool)

  If the type is “CONSTRUCT” or “DESCRIBE” iterating will yield the triples.

  len(result) also works.

  Parameters:

    type_ (`str`)

  __bool__()
    Return type:

      `bool`

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__doc__': '\n A common class for representing query result.\n\n There is a bit of magic here that makes this appear like different\n Python objects, depending on the type of result.\n\n If the type is "SELECT", iterating will yield lists of ResultRow objects\n\n If the type is "ASK", iterating will yield a single bool (or\n bool(result) will return the same bool)\n\n If the type is "CONSTRUCT" or "DESCRIBE" iterating will yield the\n triples.\n\n len(result) also works.\n\n ', '__init__': <function Result.__init__>, 'bindings': <property object>, 'parse': <staticmethod(<function Result.parse>)>, 'serialize': <function Result.serialize>, '__len__': <function Result.__len__>, '__bool__': <function Result.__bool__>, '__iter__': <function Result.__iter__>, '__getattr__': <function Result.__getattr__>, '__eq__': <function Result.__eq__>, '__dict__': <attribute '__dict__' of 'Result' objects>, '__weakref__': <attribute '__weakref__' of 'Result' objects>, '__hash__': None, '__annotations__': {'vars': 'Optional[List[Variable]]', '_bindings': 'MutableSequence[Mapping[Variable, Identifier]]', '_genbindings': 'Optional[Iterator[Mapping[Variable, Identifier]]]', 'askAnswer': 'Optional[bool]', 'graph': 'Optional[Graph]'}})
  __eq__(other)

    Return self==value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __getattr__(name)
    Parameters:

      name (`str`)

    Return type:

      `Any`

  __hash__ = None
  __init__(type_)
    Parameters:

      type_ (`str`)

  __iter__()
    Return type:

      `Iterator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `bool`, `ResultRow`]]

  __len__()
    Return type:

      `int`

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  property bindings: MutableSequence[Mapping[Variable, Identifier]]

    a list of variable bindings as dicts

  static parse(source=None, format=None, content_type=None, **kwargs)
    Parameters:

      - source (`Optional`[`IO`])

      - format (`Optional`[`str`])

      - content_type (`Optional`[`str`])

      - kwargs (`Any`)

    Return type:

      `Result`

  serialize(destination=None, encoding='utf-8', format='xml', **args)

    Serialize the query result.

    The `format` argument determines the Serializer class to use.

    - csv: `CSVResultSerializer`

    - json: `JSONResultSerializer`

    - txt: `TXTResultSerializer`

    - xml: `XMLResultSerializer`

    Parameters:

      - destination (`Union`[`str`, `IO`, `None`]) – Path of file output or BufferedIOBase object to write the output to.

      - encoding (`str`) – Encoding of output.

      - format (`str`) – One of [‘csv’, ‘json’, ‘txt’, xml’]

      - args (`Any`)

    Return type:

      `Optional`[`bytes`]

    Returns:

      bytes

  vars: `Optional`[`List`[`Variable`]]

    variables contained in the result.

exception rdflib.query.ResultException

  Bases: `Exception`

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

class rdflib.query.ResultParser

  Bases: `object`

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__init__': <function ResultParser.__init__>, 'parse': <function ResultParser.parse>, '__dict__': <attribute '__dict__' of 'ResultParser' objects>, '__weakref__': <attribute '__weakref__' of 'ResultParser' objects>, '__doc__': None, '__annotations__': {}})
  __init__()
  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  parse(source, **kwargs)

    return a Result object

    Parameters:

      - source (`IO`)

      - kwargs (`Any`)

    Return type:

      `Result`

class rdflib.query.ResultRow(values: Mapping[Variable, Identifier], labels: List[Variable])

  Bases: `Tuple`[`Identifier`, …]

  a single result row allows accessing bindings as attributes or with []

      >>> from rdflib import URIRef, Variable
      >>> rr=ResultRow({ Variable('a'): URIRef('urn:cake') }, [Variable('a')])

      >>> rr[0]
      rdflib.term.URIRef('urn:cake')
      >>> rr[1]
      Traceback (most recent call last):
          ...
      IndexError: tuple index out of range

      >>> rr.a
      rdflib.term.URIRef('urn:cake')
      >>> rr.b
      Traceback (most recent call last):
          ...
      AttributeError: b

      >>> rr['a']
      rdflib.term.URIRef('urn:cake')
      >>> rr['b']
      Traceback (most recent call last):
          ...
      KeyError: 'b'

      >>> rr[Variable('a')]
      rdflib.term.URIRef('urn:cake')

  Added in version 4.0.

  __annotations__ = {'labels': 'Mapping[str, int]'}
  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__annotations__': {'labels': 'Mapping[str, int]'}, '__doc__': "\n a single result row\n allows accessing bindings as attributes or with []\n\n >>> from rdflib import URIRef, Variable\n >>> rr=ResultRow({ Variable('a'): URIRef('urn:cake') }, [Variable('a')])\n\n >>> rr[0]\n rdflib.term.URIRef('urn:cake')\n >>> rr[1]\n Traceback (most recent call last):\n ...\n IndexError: tuple index out of range\n\n >>> rr.a\n rdflib.term.URIRef('urn:cake')\n >>> rr.b\n Traceback (most recent call last):\n ...\n AttributeError: b\n\n >>> rr['a']\n rdflib.term.URIRef('urn:cake')\n >>> rr['b']\n Traceback (most recent call last):\n ...\n KeyError: 'b'\n\n >>> rr[Variable('a')]\n rdflib.term.URIRef('urn:cake')\n\n .. versionadded:: 4.0\n\n ", '__new__': <staticmethod(<function ResultRow.__new__>)>, '__getattr__': <function ResultRow.__getattr__>, '__getitem__': <function ResultRow.__getitem__>, 'get': <function ResultRow.get>, 'asdict': <function ResultRow.asdict>, '__orig_bases__': (typing.Tuple[rdflib.term.Identifier, ...],), '__dict__': <attribute '__dict__' of 'ResultRow' objects>, '__parameters__': ()})
  __getattr__(name)
    Parameters:

      name (`str`)

    Return type:

      `Identifier`

  __getitem__(name)

    Return self[key].

    Parameters:

      name (`Union`[`str`, `int`, `Any`])

    Return type:

      `Identifier`

  __module__ = 'rdflib.query'
  static __new__(cls, values, labels)
    Parameters:

      - values (`Mapping`[`Variable`, `Identifier`])

      - labels (`List`[`Variable`])

  __orig_bases__ = (typing.Tuple[rdflib.term.Identifier, ...],)
  __parameters__ = ()
  asdict()
    Return type:

      `Dict`[`str`, `Identifier`]

  get(name, default=None)
    Parameters:

      - name (`str`)

      - default (`Optional`[`Identifier`])

    Return type:

      `Optional`[`Identifier`]

  labels: `Mapping`[`str`, `int`]

class rdflib.query.ResultSerializer(result)

  Bases: `object`

  Parameters:

    result (`Result`)

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__init__': <function ResultSerializer.__init__>, 'serialize': <function ResultSerializer.serialize>, '__dict__': <attribute '__dict__' of 'ResultSerializer' objects>, '__weakref__': <attribute '__weakref__' of 'ResultSerializer' objects>, '__doc__': None, '__annotations__': {}})
  __init__(result)
    Parameters:

      result (`Result`)

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  serialize(stream, encoding='utf-8', **kwargs)

    return a string properly serialized

    Parameters:

      - stream (`IO`)

      - encoding (`str`)

      - kwargs (`Any`)

    Return type:

      `None`

class rdflib.query.UpdateProcessor(graph)

  Bases: `object`

  Update plugin interface.

  This module is useful for those wanting to write an update processor that can plugin to rdflib. If you are wanting to execute an update statement you likely want to do so through the Graph class update method.

  Added in version 4.0.

  Parameters:

    graph (`Graph`)

  __dict__ = mappingproxy({'__module__': 'rdflib.query', '__doc__': '\n Update plugin interface.\n\n This module is useful for those wanting to write an update\n processor that can plugin to rdflib. If you are wanting to execute\n an update statement you likely want to do so through the Graph\n class update method.\n\n .. versionadded:: 4.0\n\n ', '__init__': <function UpdateProcessor.__init__>, 'update': <function UpdateProcessor.update>, '__dict__': <attribute '__dict__' of 'UpdateProcessor' objects>, '__weakref__': <attribute '__weakref__' of 'UpdateProcessor' objects>, '__annotations__': {}})
  __init__(graph)
    Parameters:

      graph (`Graph`)

  __module__ = 'rdflib.query'
  __weakref__

    list of weak references to the object

  update(strOrQuery, initBindings={}, initNs={})
    Parameters:

      - strOrQuery (`Union`[`str`, `Update`])

      - initBindings (`Mapping`[`str`, `Identifier`])

      - initNs (`Mapping`[`str`, `Any`])

    Return type:

      `None`

## rdflib.resource module

The `Resource` class wraps a `Graph` and a resource reference (i.e. a `rdflib.term.URIRef` or `rdflib.term.BNode`) to support a resource-oriented way of working with a graph.

It contains methods directly corresponding to those methods of the Graph interface that relate to reading and writing data. The difference is that a Resource also binds a resource identifier, making it possible to work without tracking both the graph and a current subject. This makes for a “resource oriented” style, as compared to the triple orientation of the Graph API.

Resulting generators are also wrapped so that any resource reference values (`rdflib.term.URIRef` and `rdflib.term.BNode`) are in turn wrapped as Resources. (Note that this behaviour differs from the corresponding methods in `Graph`, where no such conversion takes place.)

### Basic Usage Scenario

Start by importing things we need and define some namespaces:

    >>> from rdflib import *
    >>> FOAF = Namespace("http://xmlns.com/foaf/0.1/")
    >>> CV = Namespace("http://purl.org/captsolo/resume-rdf/0.2/cv#")

Load some RDF data:

    >>> graph = Graph().parse(format='n3', data='''
    ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    ... @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
    ... @prefix foaf: <http://xmlns.com/foaf/0.1/> .
    ... @prefix cv: <http://purl.org/captsolo/resume-rdf/0.2/cv#> .
    ...
    ... @base <http://example.org/> .
    ...
    ... </person/some1#self> a foaf:Person;
    ...     rdfs:comment "Just a Python & RDF hacker."@en;
    ...     foaf:depiction </images/person/some1.jpg>;
    ...     foaf:homepage <http://example.net/>;
    ...     foaf:name "Some Body" .
    ...
    ... </images/person/some1.jpg> a foaf:Image;
    ...     rdfs:label "some 1"@en;
    ...     rdfs:comment "Just an image"@en;
    ...     foaf:thumbnail </images/person/some1-thumb.jpg> .
    ...
    ... </images/person/some1-thumb.jpg> a foaf:Image .
    ...
    ... [] a cv:CV;
    ...     cv:aboutPerson </person/some1#self>;
    ...     cv:hasWorkHistory [ cv:employedIn </#company>;
    ...             cv:startDate "2009-09-04"^^xsd:date ] .
    ... ''')

Create a Resource:

    >>> person = Resource(
    ...     graph, URIRef("http://example.org/person/some1#self"))

Retrieve some basic facts:

    >>> person.identifier
    rdflib.term.URIRef('http://example.org/person/some1#self')

    >>> person.value(FOAF.name)
    rdflib.term.Literal('Some Body')

    >>> person.value(RDFS.comment)
    rdflib.term.Literal('Just a Python & RDF hacker.', lang='en')

Resources can be sliced (like graphs, but the subject is fixed):

    >>> for name in person[FOAF.name]:
    ...     print(name)
    Some Body
    >>> person[FOAF.name : Literal("Some Body")]
    True

Resources as unicode are represented by their identifiers as unicode:

    >>> %(unicode)s(person)
    'Resource(http://example.org/person/some1#self'

Resource references are also Resources, so you can easily get e.g. a qname for the type of a resource, like:

    >>> person.value(RDF.type).qname()
    'foaf:Person'

Or for the predicates of a resource:

    >>> sorted(
    ...     p.qname() for p in person.predicates()
    ... )
    ['foaf:depiction', 'foaf:homepage',
     'foaf:name', 'rdf:type', 'rdfs:comment']

Follow relations and get more data from their Resources as well:

    >>> for pic in person.objects(FOAF.depiction):
    ...     print(pic.identifier)
    ...     print(pic.value(RDF.type).qname())
    ...     print(pic.value(FOAF.thumbnail).identifier)
    http://example.org/images/person/some1.jpg
    foaf:Image
    http://example.org/images/person/some1-thumb.jpg

    >>> for cv in person.subjects(CV.aboutPerson):
    ...     work = list(cv.objects(CV.hasWorkHistory))[0]
    ...     print(work.value(CV.employedIn).identifier)
    ...     print(work.value(CV.startDate))
    http://example.org/#company
    2009-09-04

It’s just as easy to work with the predicates of a resource:

    >>> for s, p in person.subject_predicates():
    ...     print(s.value(RDF.type).qname())
    ...     print(p.qname())
    ...     for s, o in p.subject_objects():
    ...         print(s.value(RDF.type).qname())
    ...         print(o.value(RDF.type).qname())
    cv:CV
    cv:aboutPerson
    cv:CV
    foaf:Person

This is useful for e.g. inspection:

    >>> thumb_ref = URIRef("http://example.org/images/person/some1-thumb.jpg")
    >>> thumb = Resource(graph, thumb_ref)
    >>> for p, o in thumb.predicate_objects():
    ...     print(p.qname())
    ...     print(o.qname())
    rdf:type
    foaf:Image

### Schema Example

With this artificial schema data:

    >>> graph = Graph().parse(format='n3', data='''
    ... @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    ... @prefix owl: <http://www.w3.org/2002/07/owl#> .
    ... @prefix v: <http://example.org/def/v#> .
    ...
    ... v:Artifact a owl:Class .
    ...
    ... v:Document a owl:Class;
    ...     rdfs:subClassOf v:Artifact .
    ...
    ... v:Paper a owl:Class;
    ...     rdfs:subClassOf v:Document .
    ...
    ... v:Choice owl:oneOf (v:One v:Other) .
    ...
    ... v:Stuff a rdf:Seq; rdf:_1 v:One; rdf:_2 v:Other .
    ...
    ... ''')

From this class:

    >>> artifact = Resource(graph, URIRef("http://example.org/def/v#Artifact"))

we can get at subclasses:

    >>> subclasses = list(artifact.transitive_subjects(RDFS.subClassOf))
    >>> [c.qname() for c in subclasses]
    ['v:Artifact', 'v:Document', 'v:Paper']

and superclasses from the last subclass:

    >>> [c.qname() for c in subclasses[-1].transitive_objects(RDFS.subClassOf)]
    ['v:Paper', 'v:Document', 'v:Artifact']

Get items from the Choice:

    >>> choice = Resource(graph, URIRef("http://example.org/def/v#Choice"))
    >>> [it.qname() for it in choice.value(OWL.oneOf).items()]
    ['v:One', 'v:Other']

On add, other resources are auto-unboxed:

      >>> paper = Resource(graph, URIRef("http://example.org/def/v#Paper"))
      >>> paper.add(RDFS.subClassOf, artifact)
      >>> artifact in paper.objects(RDFS.subClassOf) # checks Resource instance
      True
      >>> (paper._identifier, RDFS.subClassOf, artifact._identifier) in graph
      True

### Technical Details

Comparison is based on graph and identifier:

    >>> g1 = Graph()
    >>> t1 = Resource(g1, URIRef("http://example.org/thing"))
    >>> t2 = Resource(g1, URIRef("http://example.org/thing"))
    >>> t3 = Resource(g1, URIRef("http://example.org/other"))
    >>> t4 = Resource(Graph(), URIRef("http://example.org/other"))

    >>> t1 is t2
    False

    >>> t1 == t2
    True
    >>> t1 != t2
    False

    >>> t1 == t3
    False
    >>> t1 != t3
    True

    >>> t3 != t4
    True

    >>> t3 < t1 and t1 > t3
    True
    >>> t1 >= t1 and t1 >= t3
    True
    >>> t1 <= t1 and t3 <= t1
    True

    >>> t1 < t1 or t1 < t3 or t3 > t1 or t3 > t3
    False

Hash is computed from graph and identifier:

    >>> g1 = Graph()
    >>> t1 = Resource(g1, URIRef("http://example.org/thing"))

    >>> hash(t1) == hash(Resource(g1, URIRef("http://example.org/thing")))
    True

    >>> hash(t1) == hash(Resource(Graph(), t1.identifier))
    False
    >>> hash(t1) == hash(Resource(Graph(), URIRef("http://example.org/thing")))
    False

The Resource class is suitable as a base class for mapper toolkits. For example, consider this utility for accessing RDF properties via qname-like attributes:

    >>> class Item(Resource):
    ...
    ...     def __getattr__(self, p):
    ...         return list(self.objects(self._to_ref(*p.split('_', 1))))
    ...
    ...     def _to_ref(self, pfx, name):
    ...         return URIRef(self._graph.store.namespace(pfx) + name)

It works as follows:

    >>> graph = Graph().parse(format='n3', data='''
    ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    ... @prefix foaf: <http://xmlns.com/foaf/0.1/> .
    ...
    ... @base <http://example.org/> .
    ... </person/some1#self>
    ...     foaf:name "Some Body";
    ...     foaf:depiction </images/person/some1.jpg> .
    ... </images/person/some1.jpg> rdfs:comment "Just an image"@en .
    ... ''')

    >>> person = Item(graph, URIRef("http://example.org/person/some1#self"))

    >>> print(person.foaf_name[0])
    Some Body

The mechanism for wrapping references as resources cooperates with subclasses. Therefore, accessing referenced resources automatically creates new `Item` objects:

    >>> isinstance(person.foaf_depiction[0], Item)
    True

    >>> print(person.foaf_depiction[0].rdfs_comment[0])
    Just an image

class rdflib.resource.Resource(graph, subject)

  Bases: `object`

  __dict__ = mappingproxy({'__module__': 'rdflib.resource', '__init__': <function Resource.__init__>, 'graph': <property object>, 'identifier': <property object>, '__hash__': <function Resource.__hash__>, '__eq__': <function Resource.__eq__>, '__ne__': <function Resource.__ne__>, '__lt__': <function Resource.__lt__>, '__gt__': <function Resource.__gt__>, '__le__': <function Resource.__le__>, '__ge__': <function Resource.__ge__>, '__unicode__': <function Resource.__unicode__>, 'add': <function Resource.add>, 'remove': <function Resource.remove>, 'set': <function Resource.set>, 'subjects': <function Resource.subjects>, 'predicates': <function Resource.predicates>, 'objects': <function Resource.objects>, 'subject_predicates': <function Resource.subject_predicates>, 'subject_objects': <function Resource.subject_objects>, 'predicate_objects': <function Resource.predicate_objects>, 'value': <function Resource.value>, 'items': <function Resource.items>, 'transitive_objects': <function Resource.transitive_objects>, 'transitive_subjects': <function Resource.transitive_subjects>, 'qname': <function Resource.qname>, '_resource_pairs': <function Resource._resource_pairs>, '_resource_triples': <function Resource._resource_triples>, '_resources': <function Resource._resources>, '_cast': <function Resource._cast>, '__iter__': <function Resource.__iter__>, '__getitem__': <function Resource.__getitem__>, '__setitem__': <function Resource.__setitem__>, '_new': <function Resource._new>, '__str__': <function Resource.__str__>, '__repr__': <function Resource.__repr__>, '__dict__': <attribute '__dict__' of 'Resource' objects>, '__weakref__': <attribute '__weakref__' of 'Resource' objects>, '__doc__': None, '__annotations__': {}})
  __eq__(other)

    Return self==value.

  __ge__(other)

    Return self>=value.

  __getitem__(item)
  __gt__(other)

    Return self>value.

  __hash__()

    Return hash(self).

  __init__(graph, subject)
  __iter__()
  __le__(other)

    Return self<=value.

  __lt__(other)

    Return self<value.

  __module__ = 'rdflib.resource'
  __ne__(other)

    Return self!=value.

  __repr__()

    Return repr(self).

  __setitem__(item, value)
  __str__()

    Return str(self).

  __unicode__()
  __weakref__

    list of weak references to the object

  add(p, o)
  property graph
  property identifier
  items()
  objects(predicate=None)
  predicate_objects()
  predicates(o=None)
  qname()
  remove(p, o=None)
  set(p, o)
  subject_objects()
  subject_predicates()
  subjects(predicate=None)
  transitive_objects(predicate, remember=None)
  transitive_subjects(predicate, remember=None)
  value(p=RDF.value, o=None, default=None, any=True)

## rdflib.serializer module

Serializer plugin interface.

This module is useful for those wanting to write a serializer that can plugin to rdflib. If you are wanting to invoke a serializer you likely want to do so through the Graph class serialize method.

TODO: info for how to write a serializer that can plugin to rdflib. See also rdflib.plugin

class rdflib.serializer.Serializer(store)

  Bases: `object`

  Parameters:

    store (`Graph`)

  __dict__ = mappingproxy({'__module__': 'rdflib.serializer', '__init__': <function Serializer.__init__>, 'serialize': <function Serializer.serialize>, 'relativize': <function Serializer.relativize>, '__dict__': <attribute '__dict__' of 'Serializer' objects>, '__weakref__': <attribute '__weakref__' of 'Serializer' objects>, '__doc__': None, '__annotations__': {'store': 'Graph', 'encoding': 'str', 'base': 'Optional[str]'}})
  __init__(store)
    Parameters:

      store (`Graph`)

  __module__ = 'rdflib.serializer'
  __weakref__

    list of weak references to the object

  relativize(uri)
    Parameters:

      uri (`TypeVar`(`_StrT`, bound= `str`))

    Return type:

      `Union`[`TypeVar`(`_StrT`, bound= `str`), `URIRef`]

  serialize(stream, base=None, encoding=None, **args)

    Abstract method

    Parameters:

      - stream (`IO`[`bytes`])

      - base (`Optional`[`str`])

      - encoding (`Optional`[`str`])

      - args (`Any`)

    Return type:

      `None`

## rdflib.store module

### rdflib.store

#### Types of store

`Context-aware`: An RDF store capable of storing statements within contexts is considered context-aware. Essentially, such a store is able to partition the RDF model it represents into individual, named, and addressable sub-graphs.

Relevant Notation3 reference regarding formulae, quoted statements, and such: http://www.w3.org/DesignIssues/Notation3.html

`Formula-aware`: An RDF store capable of distinguishing between statements that are asserted and statements that are quoted is considered formula-aware.

`Transaction-capable`: capable of providing transactional integrity to the RDF operations performed on it.

`Graph-aware`: capable of keeping track of empty graphs.

class rdflib.store.NodePickler

  Bases: `object`

  __dict__ = mappingproxy({'__module__': 'rdflib.store', '__init__': <function NodePickler.__init__>, '_get_ids': <function NodePickler._get_ids>, 'register': <function NodePickler.register>, 'loads': <function NodePickler.loads>, 'dumps': <function NodePickler.dumps>, '__getstate__': <function NodePickler.__getstate__>, '__setstate__': <function NodePickler.__setstate__>, '__dict__': <attribute '__dict__' of 'NodePickler' objects>, '__weakref__': <attribute '__weakref__' of 'NodePickler' objects>, '__doc__': None, '__annotations__': {'_objects': 'Dict[str, Any]', '_ids': 'Dict[Any, str]'}})
  __getstate__()

    Helper for pickle.

    Return type:

      `Mapping`[`str`, `Any`]

  __init__()
  __module__ = 'rdflib.store'
  __setstate__(state)
    Parameters:

      state (`Mapping`[`str`, `Any`])

    Return type:

      `None`

  __weakref__

    list of weak references to the object

  dumps(obj, protocol=None, bin=None)
    Parameters:

      - obj (`Node`)

      - protocol (`Optional`[`Any`])

      - bin (`Optional`[`Any`])

  loads(s)
    Parameters:

      s (`bytes`)

    Return type:

      `Node`

  register(object, id)
    Parameters:

      - object (`Any`)

      - id (`str`)

    Return type:

      `None`

class rdflib.store.Store(configuration=None, identifier=None)

  Bases: `object`

  Parameters:

    - configuration (`Optional`[`str`])

    - identifier (`Optional`[`Identifier`])

  __annotations__ = {'context_aware': 'bool', 'formula_aware': 'bool', 'graph_aware': 'bool', 'transaction_aware': 'bool'}
  __dict__ = mappingproxy({'__module__': 'rdflib.store', '__annotations__': {'context_aware': 'bool', 'formula_aware': 'bool', 'transaction_aware': 'bool', 'graph_aware': 'bool', '__node_pickler': 'Optional[NodePickler]'}, 'context_aware': False, 'formula_aware': False, 'transaction_aware': False, 'graph_aware': False, '__init__': <function Store.__init__>, 'node_pickler': <property object>, 'create': <function Store.create>, 'open': <function Store.open>, 'close': <function Store.close>, 'destroy': <function Store.destroy>, 'gc': <function Store.gc>, 'add': <function Store.add>, 'addN': <function Store.addN>, 'remove': <function Store.remove>, 'triples_choices': <function Store.triples_choices>, 'triples': <function Store.triples>, '__len__': <function Store.__len__>, 'contexts': <function Store.contexts>, 'query': <function Store.query>, 'update': <function Store.update>, 'bind': <function Store.bind>, 'prefix': <function Store.prefix>, 'namespace': <function Store.namespace>, 'namespaces': <function Store.namespaces>, 'commit': <function Store.commit>, 'rollback': <function Store.rollback>, 'add_graph': <function Store.add_graph>, 'remove_graph': <function Store.remove_graph>, '__dict__': <attribute '__dict__' of 'Store' objects>, '__weakref__': <attribute '__weakref__' of 'Store' objects>, '__doc__': None})
  __init__(configuration=None, identifier=None)

    identifier: URIRef of the Store. Defaults to CWD configuration: string containing information open can use to connect to datastore.

    Parameters:

      - configuration (`Optional`[`str`])

      - identifier (`Optional`[`Identifier`])

  __len__(context=None)

    Number of statements in the store. This should only account for non- quoted (asserted) statements if the context is not specified, otherwise it should return the number of statements in the formula or context given.

    Parameters:

      context (`Optional`[`Graph`]) – a graph instance to query or None

    Return type:

      `int`

  __module__ = 'rdflib.store'
  __weakref__

    list of weak references to the object

  add(triple, context, quoted=False)

    Adds the given statement to a specific context or to the model. The quoted argument is interpreted by formula-aware stores to indicate this statement is quoted/hypothetical It should be an error to not specify a context and have the quoted argument be True. It should also be an error for the quoted argument to be True when the store is not formula-aware.

    Parameters:

      - triple (`Tuple`[`Node`, `Node`, `Node`])

      - context (`Graph`)

      - quoted (`bool`)

    Return type:

      `None`

  addN(quads)

    Adds each item in the list of statements to a specific context. The quoted argument is interpreted by formula-aware stores to indicate this statement is quoted/hypothetical. Note that the default implementation is a redirect to add

    Parameters:

      quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `None`

  add_graph(graph)

    Add a graph to the store, no effect if the graph already exists. :type graph: `Graph` :param graph: a Graph instance

    Return type:

      `None`

  bind(prefix, namespace, override=True)
    Parameters:

      - override (`bool`) – rebind, even if the given namespace is already bound to another prefix.

      - prefix (`str`)

      - namespace (`URIRef`)

    Return type:

      `None`

  close(commit_pending_transaction=False)

    This closes the database connection. The commit_pending_transaction parameter specifies whether to commit all pending transactions before closing (if the store is transactional).

    Parameters:

      commit_pending_transaction (`bool`)

    Return type:

      `None`

  commit()
    Return type:

      `None`

  context_aware: `bool` = False
  contexts(triple=None)

    Generator over all contexts in the graph. If triple is specified, a generator over all contexts the triple is in.

    if store is graph_aware, may also return empty contexts

    Return type:

      `Generator`[`Graph`, `None`, `None`]

    Returns:

      a generator over Nodes

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

  create(configuration)
    Parameters:

      configuration (`str`)

    Return type:

      `None`

  destroy(configuration)

    This destroys the instance of the store identified by the configuration string.

    Parameters:

      configuration (`str`)

    Return type:

      `None`

  formula_aware: `bool` = False
  gc()

    Allows the store to perform any needed garbage collection

    Return type:

      `None`

  graph_aware: `bool` = False
  namespace(prefix)
    Parameters:

      prefix (`str`)

    Return type:

      `Optional`[`URIRef`]

  namespaces()
    Return type:

      `Iterator`[`Tuple`[`str`, `URIRef`]]

  property node_pickler: NodePickler
  open(configuration, create=False)

    Opens the store specified by the configuration string. If create is True a store will be created if it does not already exist. If create is False and a store does not already exist an exception is raised. An exception is also raised if a store exists, but there is insufficient permissions to open the store. This should return one of: VALID_STORE, CORRUPTED_STORE, or NO_STORE

    Parameters:

      - configuration (`str`)

      - create (`bool`)

    Return type:

      `Optional`[`int`]

  prefix(namespace)
    Parameters:

      namespace (`URIRef`)

    Return type:

      `Optional`[`str`]

  query(query, initNs, initBindings, queryGraph, **kwargs)

    If stores provide their own SPARQL implementation, override this.

    queryGraph is None, a URIRef or ‘__UNION__’ If None the graph is specified in the query-string/object If URIRef it specifies the graph to query, If ‘__UNION__’ the union of all named graphs should be queried (This is used by ConjunctiveGraphs Values other than None obviously only makes sense for context-aware stores.)

    Parameters:

      - query (`Union`[`Query`, `str`])

      - initNs (`Mapping`[`str`, `Any`])

      - initBindings (`Mapping`[`str`, `Identifier`])

      - queryGraph (`str`)

      - kwargs (`Any`)

    Return type:

      `Result`

  remove(triple, context=None)

    Remove the set of triples matching the pattern from the store

    Parameters:

      - triple (`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]])

      - context (`Optional`[`Graph`])

    Return type:

      `None`

  remove_graph(graph)

    Remove a graph from the store, this should also remove all triples in the graph

    Parameters:

      - graphid – a Graph instance

      - graph (`Graph`)

    Return type:

      `None`

  rollback()
    Return type:

      `None`

  transaction_aware: `bool` = False
  triples(triple_pattern, context=None)

    A generator over all the triples matching the pattern. Pattern can include any objects for used for comparing against nodes in the store, for example, REGEXTerm, URIRef, Literal, BNode, Variable, Graph, QuotedGraph, Date? DateRange?

    Parameters:

      - context (`Optional`[`Graph`]) – A conjunctive query can be indicated by either providing a value of None, or a specific context can be queries by passing a Graph instance (if store is context aware).

      - triple_pattern (`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]])

    Return type:

      `Iterator`[`Tuple`[`Tuple`[`Node`, `Node`, `Node`], `Iterator`[`Optional`[`Graph`]]]]

  triples_choices(triple, context=None)

    A variant of triples that can take a list of terms instead of a single term in any slot. Stores can implement this to optimize the response time from the default ‘fallback’ implementation, which will iterate over each term in the list and dispatch to triples

    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Tuple`[`Node`, `Node`, `Node`], `Iterator`[`Optional`[`Graph`]]], `None`, `None`]

  update(update, initNs, initBindings, queryGraph, **kwargs)

    If stores provide their own (SPARQL) Update implementation, override this.

    queryGraph is None, a URIRef or ‘__UNION__’ If None the graph is specified in the query-string/object If URIRef it specifies the graph to query, If ‘__UNION__’ the union of all named graphs should be queried (This is used by ConjunctiveGraphs Values other than None obviously only makes sense for context-aware stores.)

    Parameters:

      - update (`Union`[`Update`, `str`])

      - initNs (`Mapping`[`str`, `Any`])

      - initBindings (`Mapping`[`str`, `Identifier`])

      - queryGraph (`str`)

      - kwargs (`Any`)

    Return type:

      `None`

class rdflib.store.StoreCreatedEvent(**kw)

  Bases: `Event`

  This event is fired when the Store is created, it has the following attribute:

  > - `configuration`: string used to create the store

  __annotations__ = {}
  __module__ = 'rdflib.store'

class rdflib.store.TripleAddedEvent(**kw)

  Bases: `Event`

  This event is fired when a triple is added, it has the following attributes:

  > - the `triple` added to the graph

  > - the `context` of the triple, if any

  > - the `graph` to which the triple was added

  __annotations__ = {}
  __module__ = 'rdflib.store'

class rdflib.store.TripleRemovedEvent(**kw)

  Bases: `Event`

  This event is fired when a triple is removed, it has the following attributes:

  > - the `triple` removed from the graph

  > - the `context` of the triple, if any

  > - the `graph` from which the triple was removed

  __annotations__ = {}
  __module__ = 'rdflib.store'

## rdflib.term module

This module defines the different types of terms. Terms are the kinds of objects that can appear in a quoted/asserted triple. This includes those that are core to RDF:

- `Blank Nodes`

- `URI References`

- `Literals` (which consist of a literal value,datatype and language tag)

Those that extend the RDF model into N3:

- `Formulae`

- `Universal Quantifications (Variables)`

And those that are primarily for matching against ‘Nodes’ in the underlying Graph:

- REGEX Expressions

- Date Ranges

- Numerical Ranges

class rdflib.term.BNode(value: str | None = None, _sn_gen: Callable[[], str] | Generator | None = None, _prefix: str = _unique_id())

  Bases: `IdentifiedNode`

  RDF 1.1’s Blank Nodes Section: https://www.w3.org/TR/rdf11-concepts/#section-blank-nodes

  Blank Nodes are local identifiers for unnamed nodes in RDF graphs that are used in some concrete RDF syntaxes or RDF store implementations. They are always locally scoped to the file or RDF store, and are not persistent or portable identifiers for blank nodes. The identifiers for Blank Nodes are not part of the RDF abstract syntax, but are entirely dependent on particular concrete syntax or implementation (such as Turtle, JSON-LD).

  —

  RDFLib’s `BNode` class makes unique IDs for all the Blank Nodes in a Graph but you should never expect, or reply on, BNodes’ IDs to match across graphs, or even for multiple copies of the same graph, if they are regenerated from some non-RDFLib source, such as loading from RDF data.

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __module__ = 'rdflib.term'
  static __new__(cls, value=None, _sn_gen=None, _prefix=_unique_id())

    # only store implementations should pass in a value

    Parameters:

      - value (`Optional`[`str`])

      - _sn_gen (`Union`[`Callable`[[], `str`], `Generator`, `None`])

      - _prefix (`str`)

    Return type:

      `BNode`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`BNode`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  skolemize(authority=None, basepath=None)

    Create a URIRef “skolem” representation of the BNode, in accordance with http://www.w3.org/TR/rdf11-concepts/#section-skolemization

    Added in version 4.0.

    Parameters:

      - authority (`Optional`[`str`])

      - basepath (`Optional`[`str`])

    Return type:

      `URIRef`

class rdflib.term.IdentifiedNode(value: str)

  Bases: `Identifier`

  An abstract class, primarily defined to identify Nodes that are not Literals.

  The name “Identified Node” is not explicitly defined in the RDF specification, but can be drawn from this section: https://www.w3.org/TR/rdf-concepts/#section-URI-Vocabulary

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __getnewargs__()
    Return type:

      `Tuple`[`str`]

  __module__ = 'rdflib.term'
  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  toPython()
    Return type:

      `str`

class rdflib.term.Identifier(value: str)

  Bases: `Node`, `str`

  See http://www.w3.org/2002/07/rdf-identifer-terminology/ regarding choice of terminology.

  __abstractmethods__ = frozenset({'n3'})
  __annotations__ = {}
  __eq__(other)

    Equality for Nodes.

        >>> BNode("foo")==None
        False
        >>> BNode("foo")==URIRef("foo")
        False
        >>> URIRef("foo")==BNode("foo")
        False
        >>> BNode("foo")!=URIRef("foo")
        True
        >>> URIRef("foo")!=BNode("foo")
        True
        >>> Variable('a')!=URIRef('a')
        True
        >>> Variable('a')!=Variable('a')
        False

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __ge__(other)

    Return self>=value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __gt__(other)

    This implements ordering for Nodes,

    This tries to implement this: http://www.w3.org/TR/sparql11-query/#modOrderBy

    Variables are not included in the SPARQL list, but they are greater than BNodes and smaller than everything else

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __hash__()

    Return hash(self).

  __le__(other)

    Return self<=value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __lt__(other)

    Return self<value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __module__ = 'rdflib.term'
  __ne__(other)

    Return self!=value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  static __new__(cls, value)
    Parameters:

      value (`str`)

    Return type:

      `Identifier`

  __slots__ = ()
  eq(other)

    A “semantic”/interpreted equality function, by default, same as __eq__

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  neq(other)

    A “semantic”/interpreted not equal function, by default, same as __ne__

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  startswith(prefix, start=Ellipsis, end=Ellipsis)

    Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try.

    Parameters:

      prefix (`str`)

    Return type:

      `bool`

class rdflib.term.Literal(lexical_or_value: Any, lang: str | None = None, datatype: str | None = None, normalize: bool | None = None)

  Bases: `Identifier`

  RDF 1.1’s Literals Section: http://www.w3.org/TR/rdf-concepts/#section-Graph-Literal

  Literals are used for values such as strings, numbers, and dates.

  A literal in an RDF graph consists of two or three elements:

  - a lexical form, being a Unicode string, which SHOULD be in Normal Form C

  - a datatype IRI, being an IRI identifying a datatype that determines how the lexical form maps to a literal value, and

  - if and only if the datatype IRI is `http://www.w3.org/1999/02/22-rdf-syntax-ns#langString`, a non-empty language tag. The language tag MUST be well-formed according to section 2.2.9 of Tags for identifying languages.

  A literal is a language-tagged string if the third element is present. Lexical representations of language tags MAY be converted to lower case. The value space of language tags is always in lower case.

  —

  For valid XSD datatypes, the lexical form is optionally normalized at construction time. Default behaviour is set by rdflib.NORMALIZE_LITERALS and can be overridden by the normalize parameter to __new__

  Equality and hashing of Literals are done based on the lexical form, i.e.:

      >>> from rdflib.namespace import XSD

      >>> Literal('01') != Literal('1')  # clear - strings differ
      True

  but with data-type they get normalized:

      >>> Literal('01', datatype=XSD.integer) != Literal('1', datatype=XSD.integer)
      False

  unless disabled:

      >>> Literal('01', datatype=XSD.integer, normalize=False) != Literal('1', datatype=XSD.integer)
      True

  Value based comparison is possible:

      >>> Literal('01', datatype=XSD.integer).eq(Literal('1', datatype=XSD.float))
      True

  The eq method also provides limited support for basic python types:

      >>> Literal(1).eq(1) # fine - int compatible with xsd:integer
      True
      >>> Literal('a').eq('b') # fine - str compatible with plain-lit
      False
      >>> Literal('a', datatype=XSD.string).eq('a') # fine - str compatible with xsd:string
      True
      >>> Literal('a').eq(1) # not fine, int incompatible with plain-lit
      NotImplemented

  Greater-than/less-than ordering comparisons are also done in value space, when compatible datatypes are used. Incompatible datatypes are ordered by DT, or by lang-tag. For other nodes the ordering is None < BNode < URIRef < Literal

  Any comparison with non-rdflib Node are “NotImplemented” In PY3 this is an error.

      >>> from rdflib import Literal, XSD
      >>> lit2006 = Literal('2006-01-01',datatype=XSD.date)
      >>> lit2006.toPython()
      datetime.date(2006, 1, 1)
      >>> lit2006 < Literal('2007-01-01',datatype=XSD.date)
      True
      >>> Literal(datetime.utcnow()).datatype
      rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#dateTime')
      >>> Literal(1) > Literal(2) # by value
      False
      >>> Literal(1) > Literal(2.0) # by value
      False
      >>> Literal('1') > Literal(1) # by DT
      True
      >>> Literal('1') < Literal('1') # by lexical form
      False
      >>> Literal('a', lang='en') > Literal('a', lang='fr') # by lang-tag
      False
      >>> Literal(1) > URIRef('foo') # by node-type
      True

  The > < operators will eat this NotImplemented and throw a TypeError (py3k):

      >>> Literal(1).__gt__(2.0)
      NotImplemented

  __abs__()
    Return type:

      `Literal`

        >>> abs(Literal(-1))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> from rdflib.namespace import XSD
        >>> abs( Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> abs(Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __abstractmethods__ = frozenset({})
  __add__(val)

        >>> from rdflib.namespace import XSD
        >>> Literal(1) + 1
        rdflib.term.Literal('2', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> Literal("1") + "1"
        rdflib.term.Literal('11')

    # Handling dateTime/date/time based operations in Literals >>> a = Literal(‘2006-01-01T20:50:00’, datatype=XSD.dateTime) >>> b = Literal(‘P31D’, datatype=XSD.duration) >>> (a + b) rdflib.term.Literal(‘2006-02-01T20:50:00’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#dateTime’)) >>> from rdflib.namespace import XSD >>> a = Literal(‘2006-07-01T20:52:00’, datatype=XSD.dateTime) >>> b = Literal(‘P122DT15H58M’, datatype=XSD.duration) >>> (a + b) rdflib.term.Literal(‘2006-11-01T12:50:00’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#dateTime’))

    Parameters:

      val (`Any`)

    Return type:

      `Literal`

  __annotations__ = {'_datatype': 'Optional[URIRef]', '_ill_typed': 'Optional[bool]', '_language': 'Optional[str]', '_value': 'Any'}
  __bool__()

    Is the Literal “True” This is used for if statements, bool(literal), etc.

    Return type:

      `bool`

  __eq__(other)

    Literals are only equal to other literals.

    “Two literals are equal if and only if all of the following hold: * The strings of the two lexical forms compare equal, character by character. * Either both or neither have language tags. * The language tags, if any, compare equal. * Either both or neither have datatype URIs. * The two datatype URIs, if any, compare equal, character by character.” – 6.5.1 Literal Equality (RDF: Concepts and Abstract Syntax)

        >>> Literal("1", datatype=URIRef("foo")) == Literal("1", datatype=URIRef("foo"))
        True
        >>> Literal("1", datatype=URIRef("foo")) == Literal("1", datatype=URIRef("foo2"))
        False

        >>> Literal("1", datatype=URIRef("foo")) == Literal("2", datatype=URIRef("foo"))
        False
        >>> Literal("1", datatype=URIRef("foo")) == "asdf"
        False
        >>> from rdflib import XSD
        >>> Literal('2007-01-01', datatype=XSD.date) == Literal('2007-01-01', datatype=XSD.date)
        True
        >>> Literal('2007-01-01', datatype=XSD.date) == date(2007, 1, 1)
        False
        >>> Literal("one", lang="en") == Literal("one", lang="en")
        True
        >>> Literal("hast", lang='en') == Literal("hast", lang='de')
        False
        >>> Literal("1", datatype=XSD.integer) == Literal(1)
        True
        >>> Literal("1", datatype=XSD.integer) == Literal("01", datatype=XSD.integer)
        True

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __ge__(other)

    Return self>=value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __getstate__()

    Helper for pickle.

    Return type:

      `Tuple`[`None`, `Dict`[`str`, `Optional`[`str`]]]

  __gt__(other)

    This implements ordering for Literals, the other comparison methods delegate here

    This tries to implement this: http://www.w3.org/TR/sparql11-query/#modOrderBy

    In short, Literals with compatible data-types are ordered in value space, i.e. >>> from rdflib import XSD

        >>> Literal(1) > Literal(2) # int/int
        False
        >>> Literal(2.0) > Literal(1) # double/int
        True
        >>> from decimal import Decimal
        >>> Literal(Decimal("3.3")) > Literal(2.0) # decimal/double
        True
        >>> Literal(Decimal("3.3")) < Literal(4.0) # decimal/double
        True
        >>> Literal('b') > Literal('a') # plain lit/plain lit
        True
        >>> Literal('b') > Literal('a', datatype=XSD.string) # plain lit/xsd:str
        True

    Incompatible datatype mismatches ordered by DT

        >>> Literal(1) > Literal("2") # int>string
        False

    Langtagged literals by lang tag >>> Literal(“a”, lang=”en”) > Literal(“a”, lang=”fr”) False

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __hash__()

        >>> from rdflib.namespace import XSD
        >>> a = {Literal('1', datatype=XSD.integer):'one'}
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`int\``

        >>> Literal('1', datatype=XSD.double) in a
        False

    “Called for the key object for dictionary operations, and by the built-in function hash(). Should return a 32-bit integer usable as a hash value for dictionary operations. The only required property is that objects which compare equal have the same hash value; it is advised to somehow mix together (e.g., using exclusive or) the hash values for the components of the object that also play a part in comparison of objects.” – 3.4.1 Basic customization (Python)

    “Two literals are equal if and only if all of the following hold: * The strings of the two lexical forms compare equal, character by character. * Either both or neither have language tags. * The language tags, if any, compare equal. * Either both or neither have datatype URIs. * The two datatype URIs, if any, compare equal, character by character.” – 6.5.1 Literal Equality (RDF: Concepts and Abstract Syntax)

  __invert__()
    Return type:

      `Literal`

        >>> ~(Literal(-1))
        rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> from rdflib.namespace import XSD
        >>> ~( Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

    Not working:

        >>> ~(Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __le__(other)

        >>> from rdflib.namespace import XSD
        >>> Literal('2007-01-01T10:00:00', datatype=XSD.dateTime
        ...     ) <= Literal('2007-01-01T10:00:00', datatype=XSD.dateTime)
        True

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __lt__(other)

    Return self<value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __module__ = 'rdflib.term'
  __neg__()

        >>> (- Literal(1))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> (- Literal(10.5))
        rdflib.term.Literal('-10.5', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
        >>> from rdflib.namespace import XSD
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~rdflib.term.Literal\``

        >>> (- Literal("1", datatype=XSD.integer))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> (- Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')
        >>>

  static __new__(cls, lexical_or_value, lang=None, datatype=None, normalize=None)
    Parameters:

      - lexical_or_value (`Any`)

      - lang (`Optional`[`str`])

      - datatype (`Optional`[`str`])

      - normalize (`Optional`[`bool`])

    Return type:

      `Literal`

  __pos__()

        >>> (+ Literal(1))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> (+ Literal(-1))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> from rdflib.namespace import XSD
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~rdflib.term.Literal\``

        >>> (+ Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> (+ Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Literal`], `Tuple`[`str`, `Optional`[`str`], `Optional`[`str`]]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __setstate__(arg)
    Parameters:

      arg (`Tuple`[`Any`, `Dict`[`str`, `Any`]])

    Return type:

      `None`

  __slots__ = ('_language', '_datatype', '_value', '_ill_typed')
  __sub__(val)

        >>> from rdflib.namespace import XSD
        >>> Literal(2) - 1
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> Literal(1.1) - 1.0
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
        >>> Literal(1.1) - 1
        rdflib.term.Literal('0.1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#decimal'))
        >>> Literal(1.1, datatype=XSD.float) - Literal(1.0, datatype=XSD.float)
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#float'))
        >>> Literal("1.1") - 1.0
        Traceback (most recent call last):
        ...
        TypeError: Not a number; rdflib.term.Literal('1.1')
        >>> Literal(1.1, datatype=XSD.integer) - Literal(1.0, datatype=XSD.integer)
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

    # Handling dateTime/date/time based operations in Literals >>> a = Literal(‘2006-01-01T20:50:00’, datatype=XSD.dateTime) >>> b = Literal(‘2006-02-01T20:50:00’, datatype=XSD.dateTime) >>> (b - a) rdflib.term.Literal(‘P31D’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’)) >>> from rdflib.namespace import XSD >>> a = Literal(‘2006-07-01T20:52:00’, datatype=XSD.dateTime) >>> b = Literal(‘2006-11-01T12:50:00’, datatype=XSD.dateTime) >>> (a - b) rdflib.term.Literal(‘-P122DT15H58M’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’)) >>> (b - a) rdflib.term.Literal(‘P122DT15H58M’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’))

    Parameters:

      val (`Any`)

    Return type:

      `Literal`

  property datatype: URIRef | None
  eq(other)

    Compare the value of this literal with something else

    Either, with the value of another literal comparisons are then done in literal “value space”, and according to the rules of XSD subtype-substitution/type-promotion

    OR, with a python object:

    basestring objects can be compared with plain-literals, or those with datatype xsd:string

    bool objects with xsd:boolean

    a int, long or float with numeric xsd types

    isodate date,time,datetime objects with xsd:date,xsd:time or xsd:datetime

    Any other operations returns NotImplemented

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  property ill_typed: bool | None

    For recognized datatype IRIs, this value will be `True` if the literal is ill formed, otherwise it will be `False`. `Literal.value` (i.e. the literal value) should always be defined if this property is `False`, but should not be considered reliable if this property is `True`.

    If the literal’s datatype is `None` or not in the set of recognized datatype IRIs this value will be `None`.

  property language: str | None
  n3(namespace_manager=None)

    Returns a representation in the N3 format.

    Examples:

        >>> Literal("foo").n3()
        '"foo"'

    Strings with newlines or triple-quotes:

        >>> Literal("foo\nbar").n3()
        '"""foo\nbar"""'

        >>> Literal("''\'").n3()
        '"\'\'\'"'

        >>> Literal('"""').n3()
        '"\\"\\"\\""'

    Language:

        >>> Literal("hello", lang="en").n3()
        '"hello"@en'

    Datatypes:

        >>> Literal(1).n3()
        '"1"^^<http://www.w3.org/2001/XMLSchema#integer>'

        >>> Literal(1.0).n3()
        '"1.0"^^<http://www.w3.org/2001/XMLSchema#double>'

        >>> Literal(True).n3()
        '"true"^^<http://www.w3.org/2001/XMLSchema#boolean>'

    Datatype and language isn’t allowed (datatype takes precedence):

        >>> Literal(1, lang="en").n3()
        '"1"^^<http://www.w3.org/2001/XMLSchema#integer>'

    Custom datatype:

        >>> footype = URIRef("http://example.org/ns#foo")
        >>> Literal("1", datatype=footype).n3()
        '"1"^^<http://example.org/ns#foo>'

    Passing a namespace-manager will use it to abbreviate datatype URIs:

        >>> from rdflib import Graph
        >>> Literal(1).n3(Graph().namespace_manager)
        '"1"^^xsd:integer'

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  neq(other)

    A “semantic”/interpreted not equal function, by default, same as __ne__

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  normalize()

    Returns a new literal with a normalised lexical representation of this literal >>> from rdflib import XSD >>> Literal(“01”, datatype=XSD.integer, normalize=False).normalize() rdflib.term.Literal(‘1’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#integer’))

    Illegal lexical forms for the datatype given are simply passed on >>> Literal(“a”, datatype=XSD.integer, normalize=False) rdflib.term.Literal(‘a’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#integer’))

    Return type:

      `Literal`

  toPython()

    Returns an appropriate python datatype derived from this RDF Literal

    Return type:

      `Any`

  property value: Any

class rdflib.term.Node

  Bases: `ABC`

  A Node in the Graph.

  __abstractmethods__ = frozenset({'n3'})
  __annotations__ = {}
  __module__ = 'rdflib.term'
  __slots__ = ()
  abstract n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

class rdflib.term.URIRef(value: str, base: str | None = None)

  Bases: `IdentifiedNode`

  RDF 1.1’s IRI Section https://www.w3.org/TR/rdf11-concepts/#section-IRIs

  Note

  Documentation on RDF outside of RDFLib uses the term IRI or URI whereas this class is called URIRef. This is because it was made when the first version of the RDF specification was current, and it used the term URIRef, see RDF 1.0 URIRef

  An IRI (Internationalized Resource Identifier) within an RDF graph is a Unicode string that conforms to the syntax defined in RFC 3987.

  IRIs in the RDF abstract syntax MUST be absolute, and MAY contain a fragment identifier.

  IRIs are a generalization of URIs [RFC3986] that permits a wider range of Unicode characters.

  __abstractmethods__ = frozenset({})
  __add__(other)

    Return self+value.

    Return type:

      `URIRef`

  __annotations__ = {'__invert__': 'Callable[[URIRef], InvPath]', '__neg__': 'Callable[[URIRef], NegatedPath]', '__or__': 'Callable[[URIRef, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[URIRef, Union[URIRef, Path]], SequencePath]'}
  __invert__()

    inverse path

    Parameters:

      p (`Union`[`URIRef`, `Path`])

    Return type:

      `InvPath`

  __mod__(other)

    Return self%value.

    Return type:

      `URIRef`

  __module__ = 'rdflib.term'
  __mul__(mul)

    cardinality path

    Parameters:

      - p (`Union`[`URIRef`, `Path`])

      - mul (`Literal`[`'*'`, `'+'`, `'?'`])

    Return type:

      `MulPath`

  __neg__()

    negated path

    Parameters:

      p (`Union`[`URIRef`, `AlternativePath`, `InvPath`])

    Return type:

      `NegatedPath`

  static __new__(cls, value, base=None)
    Parameters:

      - value (`str`)

      - base (`Optional`[`str`])

    Return type:

      `URIRef`

  __or__(other)

    alternative path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  __radd__(other)
    Return type:

      `URIRef`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`URIRef`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  __truediv__(other)

    sequence path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  de_skolemize()

    Create a Blank Node from a skolem URI, in accordance with http://www.w3.org/TR/rdf11-concepts/#section-skolemization. This function accepts only rdflib type skolemization, to provide a round-tripping within the system. :rtype: `BNode`

    Added in version 4.0.

  defrag()
    Return type:

      `URIRef`

  property fragment: str

    Return the URL Fragment

        >>> URIRef("http://example.com/some/path/#some-fragment").fragment
        'some-fragment'
        >>> URIRef("http://example.com/some/path/").fragment
        ''

  n3(namespace_manager=None)

    This will do a limited check for valid URIs, essentially just making sure that the string includes no illegal characters (`<, >, ", {, }, |, \, `, ^`)

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`]) – if not None, will be used to make up a prefixed name

    Return type:

      `str`

class rdflib.term.Variable(value: str)

  Bases: `Identifier`

  A Variable - this is used for querying, or in Formula aware graphs, where Variables can be stored

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __module__ = 'rdflib.term'
  static __new__(cls, value)
    Parameters:

      value (`str`)

    Return type:

      `Variable`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Variable`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  toPython()
    Return type:

      `str`

rdflib.term.bind(datatype, pythontype, constructor=None, lexicalizer=None, datatype_specific=False)

  register a new datatype<->pythontype binding

  Parameters:

    - constructor (`Optional`[`Callable`[[`str`], `Any`]]) – an optional function for converting lexical forms into a Python instances, if not given the pythontype is used directly

    - lexicalizer (`Optional`[`Callable`[[`Any`], `Union`[`str`, `bytes`]]]) – an optional function for converting python objects to lexical form, if not given object.__str__ is used

    - datatype_specific (`bool`) – makes the lexicalizer function be accessible from the pair (pythontype, datatype) if set to True or from the pythontype otherwise. False by default

    - datatype (`str`)

    - pythontype (`Type`[`Any`])

  Return type:

    `None`

## rdflib.util module

Some utility functions.

Miscellaneous utilities

- list2set

- first

- uniq

- more_than

Term characterisation and generation

- to_term

- from_n3

Date/time utilities

- date_time

- parse_date_time

rdflib.util.date_time(t=None, local_time_zone=False)

  http://www.w3.org/TR/NOTE-datetime ex: 1997-07-16T19:20:30Z

      >>> date_time(1126482850)
      '2005-09-11T23:54:10Z'

  @@ this will change depending on where it is run #>>> date_time(1126482850, local_time_zone=True) #’2005-09-11T19:54:10-04:00’

      >>> date_time(1)
      '1970-01-01T00:00:01Z'

      >>> date_time(0)
      '1970-01-01T00:00:00Z'

rdflib.util.find_roots(graph, prop, roots=None)

  Find the roots in some sort of transitive hierarchy.

  find_roots(graph, rdflib.RDFS.subClassOf) will return a set of all roots of the sub-class hierarchy

  Assumes triple of the form (child, prop, parent), i.e. the direction of RDFS.subClassOf or SKOS.broader

  Parameters:

    - graph (`Graph`)

    - prop (`URIRef`)

    - roots (`Optional`[`Set`[`Node`]])

  Return type:

    `Set`[`Node`]

rdflib.util.first(seq)

  return the first element in a python sequence for graphs, use graph.value instead

  Parameters:

    seq (`Iterable`[`TypeVar`(`_AnyT`)])

  Return type:

    `Optional`[`TypeVar`(`_AnyT`)]

rdflib.util.from_n3(s, default=None, backend=None, nsm=None)

  Creates the Identifier corresponding to the given n3 string.

      >>> from rdflib.term import URIRef, Literal
      >>> from rdflib.namespace import NamespaceManager
      >>> from_n3('<http://ex.com/foo>') == URIRef('http://ex.com/foo')
      True
      >>> from_n3('"foo"@de') == Literal('foo', lang='de')
      True
      >>> from_n3('"""multi\nline\nstring"""@en') == Literal(
      ...     'multi\nline\nstring', lang='en')
      True
      >>> from_n3('42') == Literal(42)
      True
      >>> from_n3(Literal(42).n3()) == Literal(42)
      True
      >>> from_n3('"42"^^xsd:integer') == Literal(42)
      True
      >>> from rdflib import RDFS
      >>> from_n3('rdfs:label') == RDFS['label']
      True
      >>> nsm = NamespaceManager(rdflib.graph.Graph())
      >>> nsm.bind('dbpedia', 'http://dbpedia.org/resource/')
      >>> berlin = URIRef('http://dbpedia.org/resource/Berlin')
      >>> from_n3('dbpedia:Berlin', nsm=nsm) == berlin
      True

  Parameters:

    - s (`str`)

    - default (`Optional`[`str`])

    - backend (`Optional`[`str`])

    - nsm (`Optional`[`NamespaceManager`])

  Return type:

    `Union`[`Node`, `str`, `None`]

rdflib.util.get_tree(graph, root, prop, mapper=lambda x: ..., sortkey=None, done=None, dir='down')

  Return a nested list/tuple structure representing the tree built by the transitive property given, starting from the root given

  i.e.

  get_tree(graph,

    rdflib.URIRef(”http://xmlns.com/foaf/0.1/Person”), rdflib.RDFS.subClassOf)

  will return the structure for the subClassTree below person.

  dir=’down’ assumes triple of the form (child, prop, parent), i.e. the direction of RDFS.subClassOf or SKOS.broader Any other dir traverses in the other direction

  Parameters:

    - graph (`Graph`)

    - root (`Node`)

    - prop (`URIRef`)

    - mapper (`Callable`[[`Node`], `Node`])

    - sortkey (`Optional`[`Callable`[[`Any`], `Any`]])

    - done (`Optional`[`Set`[`Node`]])

    - dir (`str`)

  Return type:

    `Optional`[`Tuple`[`Node`, `List`[`Any`]]]

rdflib.util.guess_format(fpath, fmap=None)

  Guess RDF serialization based on file suffix. Uses `SUFFIX_FORMAT_MAP` unless `fmap` is provided. Examples:

      >>> guess_format('path/to/file.rdf')
      'xml'
      >>> guess_format('path/to/file.owl')
      'xml'
      >>> guess_format('path/to/file.ttl')
      'turtle'
      >>> guess_format('path/to/file.json')
      'json-ld'
      >>> guess_format('path/to/file.xhtml')
      'rdfa'
      >>> guess_format('path/to/file.svg')
      'rdfa'
      >>> guess_format('path/to/file.xhtml', {'xhtml': 'grddl'})
      'grddl'

  This also works with just the suffixes, with or without leading dot, and regardless of letter case:

      >>> guess_format('.rdf')
      'xml'
      >>> guess_format('rdf')
      'xml'
      >>> guess_format('RDF')
      'xml'

  Parameters:

    - fpath (`str`)

    - fmap (`Optional`[`Dict`[`str`, `str`]])

  Return type:

    `Optional`[`str`]

rdflib.util.list2set(seq)

  Return a new list without duplicates. Preserves the order, unlike set(seq)

  Parameters:

    seq (`Iterable`[`TypeVar`(`_HashableT`, bound= `Hashable`)])

  Return type:

    `List`[`TypeVar`(`_HashableT`, bound= `Hashable`)]

rdflib.util.more_than(sequence, number)

  Returns 1 if sequence has more items than number and 0 if not.

  Parameters:

    - sequence (`Iterable`[`Any`])

    - number (`int`)

  Return type:

    `int`

rdflib.util.parse_date_time(val)

  always returns seconds in UTC

  # tests are written like this to make any errors easier to understand >>> parse_date_time(‘2005-09-11T23:54:10Z’) - 1126482850.0 0.0

      >>> parse_date_time('2005-09-11T16:54:10-07:00') - 1126482850.0
      0.0

      >>> parse_date_time('1970-01-01T00:00:01Z') - 1.0
      0.0

      >>> parse_date_time('1970-01-01T00:00:00Z') - 0.0
      0.0
      >>> parse_date_time("2005-09-05T10:42:00") - 1125916920.0
      0.0

  Parameters:

    val (`str`)

  Return type:

    `int`

rdflib.util.to_term(s, default=None)

  Creates and returns an Identifier of type corresponding to the pattern of the given positional argument string `s`:

  ‘’ returns the `default` keyword argument value or `None`

  ‘<s>’ returns `URIRef(s)` (i.e. without angle brackets)

  ‘“s”’ returns `Literal(s)` (i.e. without doublequotes)

  ‘_s’ returns `BNode(s)` (i.e. without leading underscore)

  Parameters:

    - s (`Optional`[`str`])

    - default (`Optional`[`Identifier`])

  Return type:

    `Optional`[`Identifier`]

rdflib.util.uniq(sequence, strip=0)

  removes duplicate strings from the sequence.

  Parameters:

    - sequence (`Iterable`[`str`])

    - strip (`int`)

  Return type:

    `Set`[`str`]

## rdflib.void module

rdflib.void.generateVoID(g, dataset=None, res=None, distinctForPartitions=True)

  Returns a new graph with a VoID description of the passed dataset

  For more info on Vocabulary of Interlinked Datasets (VoID), see: http://vocab.deri.ie/void

  This only makes two passes through the triples (once to detect the types of things)

  The tradeoff is that lots of temporary structures are built up in memory meaning lots of memory may be consumed :) I imagine at least a few copies of your original graph.

  the distinctForPartitions parameter controls whether distinctSubjects/objects are tracked for each class/propertyPartition this requires more memory again

  Parameters:

    - g (`Graph`)

    - dataset (`Optional`[`IdentifiedNode`])

    - res (`Optional`[`Graph`])

    - distinctForPartitions (`bool`)

## rdflib.xsd_datetime module

Large parts of this module are taken from the `isodate` package. https://pypi.org/project/isodate/ Modifications are made to isodate features to allow compatibility with XSD dates and durations that are not necessarily valid ISO8601 strings.

Copyright (c) 2024, Ashley Sommer, and RDFLib contributors Copyright (c) 2021, Hugo van Kemenade and contributors Copyright (c) 2009-2018, Gerhard Weis and contributors Copyright (c) 2009, Gerhard Weis All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

class rdflib.xsd_datetime.Duration(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0, months=0, years=0)

  Bases: `object`

  A class which represents a duration.

  The difference to datetime.timedelta is, that this class handles also differences given in years and months. A Duration treats differences given in year, months separately from all other components.

  A Duration can be used almost like any timedelta object, however there are some restrictions: - It is not really possible to compare Durations, because it is unclear, whether a duration of 1 year is bigger than 365 days or not. - Equality is only tested between the two (year, month vs. timedelta) basic components.

  A Duration can also be converted into a datetime object, but this requires a start date or an end date.

  The algorithm to add a duration to a date is defined at http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes

  Parameters:

    - days (`float`)

    - seconds (`float`)

    - microseconds (`float`)

    - milliseconds (`float`)

    - minutes (`float`)

    - hours (`float`)

    - weeks (`float`)

    - months (`Union`[`Decimal`, `float`, `int`, `str`])

    - years (`Union`[`Decimal`, `float`, `int`, `str`])

  __add__(other)

    Durations can be added with Duration, timedelta, date and datetime objects.

    Parameters:

      other (`Union`[`Duration`, `timedelta`, `date`, `datetime`])

  __dict__ = mappingproxy({'__module__': 'rdflib.xsd_datetime', '__doc__': '\n A class which represents a duration.\n\n The difference to datetime.timedelta is, that this class handles also\n differences given in years and months.\n A Duration treats differences given in year, months separately from all\n other components.\n\n A Duration can be used almost like any timedelta object, however there\n are some restrictions:\n - It is not really possible to compare Durations, because it is unclear,\n whether a duration of 1 year is bigger than 365 days or not.\n - Equality is only tested between the two (year, month vs. timedelta)\n basic components.\n\n A Duration can also be converted into a datetime object, but this requires\n a start date or an end date.\n\n The algorithm to add a duration to a date is defined at\n http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes\n ', '__init__': <function Duration.__init__>, '__getstate__': <function Duration.__getstate__>, '__setstate__': <function Duration.__setstate__>, '__getattr__': <function Duration.__getattr__>, '__str__': <function Duration.__str__>, '__repr__': <function Duration.__repr__>, '__hash__': <function Duration.__hash__>, '__neg__': <function Duration.__neg__>, '__add__': <function Duration.__add__>, '__radd__': <function Duration.__add__>, '__mul__': <function Duration.__mul__>, '__rmul__': <function Duration.__mul__>, '__sub__': <function Duration.__sub__>, '__rsub__': <function Duration.__rsub__>, '__eq__': <function Duration.__eq__>, '__ne__': <function Duration.__ne__>, 'totimedelta': <function Duration.totimedelta>, '__dict__': <attribute '__dict__' of 'Duration' objects>, '__weakref__': <attribute '__weakref__' of 'Duration' objects>, '__annotations__': {}})
  __eq__(other)

    If the years, month part and the timedelta part are both equal, then the two Durations are considered equal.

  __getattr__(name)

    Provide direct access to attributes of included timedelta instance.

  __getstate__()

    Helper for pickle.

  __hash__()

    Return a hash of this instance so that it can be used in, for example, dicts and sets.

  __init__(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0, months=0, years=0)

    Initialise this Duration instance with the given parameters.

    Parameters:

      - days (`float`)

      - seconds (`float`)

      - microseconds (`float`)

      - milliseconds (`float`)

      - minutes (`float`)

      - hours (`float`)

      - weeks (`float`)

      - months (`Union`[`Decimal`, `float`, `int`, `str`])

      - years (`Union`[`Decimal`, `float`, `int`, `str`])

  __module__ = 'rdflib.xsd_datetime'
  __mul__(other)
  __ne__(other)

    If the years, month part or the timedelta part is not equal, then the two Durations are considered not equal.

  __neg__()

    A simple unary minus.

    Returns a new Duration instance with all it’s negated.

  __radd__(other)

    Durations can be added with Duration, timedelta, date and datetime objects.

    Parameters:

      other (`Union`[`Duration`, `timedelta`, `date`, `datetime`])

  __repr__()

    Return a string suitable for repr(x) calls.

  __rmul__(other)
  __rsub__(other)

    It is possible to subtract Duration objects from date, datetime and timedelta objects.

    Parameters:

      other (`Union`[`timedelta`, `date`, `datetime`])

  __setstate__(state)
  __str__()

    Return a string representation of this duration similar to timedelta.

  __sub__(other)

    It is possible to subtract Duration and timedelta objects from Duration objects.

    Parameters:

      other (`Union`[`Duration`, `timedelta`])

  __weakref__

    list of weak references to the object

  totimedelta(start=None, end=None)

    Convert this duration into a timedelta object.

    This method requires a start datetime or end datetime, but raises an exception if both are given.

rdflib.xsd_datetime.duration_isoformat(tdt, in_weeks=False)
  Parameters:

    - tdt (`Union`[`Duration`, `timedelta`])

    - in_weeks (`bool`)

  Return type:

    `str`

rdflib.xsd_datetime.fquotmod(val, low, high)

  A divmod function with boundaries.

  Parameters:

    - val (`Decimal`)

    - low (`Union`[`Decimal`, `int`])

    - high (`Union`[`Decimal`, `int`])

  Return type:

    `Tuple`[`int`, `Decimal`]

rdflib.xsd_datetime.max_days_in_month(year, month)

  Determines the number of days of a specific month in a specific year.

  Parameters:

    - year (`int`)

    - month (`int`)

  Return type:

    `int`

rdflib.xsd_datetime.parse_date()

  str -> Construct a date from a string in ISO 8601 format.

rdflib.xsd_datetime.parse_datetime()

  string -> datetime from a string in most ISO 8601 formats

rdflib.xsd_datetime.parse_time()

  string -> time from a string in ISO 8601 format

rdflib.xsd_datetime.parse_xsd_date(date_string)

  XSD Dates have more features than ISO8601 dates, specifically XSD allows timezones on dates, that must be stripped off. Also, XSD requires dashed separators, while ISO8601 is optional. RDFLib test suite has some date strings with times, the times are expected to be dropped during parsing.

  Parameters:

    date_string (`str`)

rdflib.xsd_datetime.parse_xsd_duration(dur_string, as_timedelta_if_possible=True)

  Parses an ISO 8601 durations into datetime.timedelta or Duration objects.

  If the ISO date string does not contain years or months, a timedelta instance is returned, else a Duration instance is returned.

  The following duration formats are supported:

    -`PnnW` duration in weeks -`PnnYnnMnnDTnnHnnMnnS` complete duration specification -`PYYYYMMDDThhmmss` basic alternative complete date format -`PYYYY-MM-DDThh:mm:ss` extended alternative complete date format -`PYYYYDDDThhmmss` basic alternative ordinal date format -`PYYYY-DDDThh:mm:ss` extended alternative ordinal date format

  The ‘-’ is optional.

  Limitations: ISO standard defines some restrictions about where to use fractional numbers and which component and format combinations are allowed. This parser implementation ignores all those restrictions and returns something when it is able to find all necessary components. In detail: - it does not check, whether only the last component has fractions. - it allows weeks specified with all other combinations The alternative format does not support durations with years, months or days set to 0.

  Parameters:

    - dur_string (`str`)

    - as_timedelta_if_possible (`bool`)

  Return type:

    `Union`[`Duration`, `timedelta`]

rdflib.xsd_datetime.parse_xsd_gyear(gyear_string)

  XSD gYear has more features than ISO8601 dates, specifically XSD allows timezones on a gYear, that must be stripped off.

  Parameters:

    gyear_string (`str`)

rdflib.xsd_datetime.parse_xsd_gyearmonth(gym_string)

  XSD gYearMonth has more features than ISO8601 dates, specifically XSD allows timezones on a gYearMonth, that must be stripped off.

  Parameters:

    gym_string (`str`)

rdflib.xsd_datetime.xsd_datetime_isoformat(dt)
  Parameters:

    dt (`datetime`)

## Module contents

A pure Python package providing the core RDF constructs.

The packages is intended to provide the core RDF types and interfaces for working with RDF. The package defines a plugin interface for parsers, stores, and serializers that other packages can use to implement parsers, stores, and serializers that will plug into the rdflib package.

The primary interface `rdflib` exposes to work with RDF is `rdflib.graph.Graph`.

A tiny example:

    >>> from rdflib import Graph, URIRef, Literal

    >>> g = Graph()
    >>> result = g.parse("http://www.w3.org/2000/10/swap/test/meet/blue.rdf")

    >>> print("graph has %s statements." % len(g))
    graph has 4 statements.
    >>>
    >>> for s, p, o in g:
    ...     if (s, p, o) not in g:
    ...         raise Exception("It better be!")

    >>> s = g.serialize(format='nt')
    >>>
    >>> sorted(g) == [
    ...  (URIRef("http://meetings.example.com/cal#m1"),
    ...   URIRef("http://www.example.org/meeting_organization#homePage"),
    ...   URIRef("http://meetings.example.com/m1/hp")),
    ...  (URIRef("http://www.example.org/people#fred"),
    ...   URIRef("http://www.example.org/meeting_organization#attending"),
    ...   URIRef("http://meetings.example.com/cal#m1")),
    ...  (URIRef("http://www.example.org/people#fred"),
    ...   URIRef("http://www.example.org/personal_details#GivenName"),
    ...   Literal("Fred")),
    ...  (URIRef("http://www.example.org/people#fred"),
    ...   URIRef("http://www.example.org/personal_details#hasEmail"),
    ...   URIRef("mailto:fred@example.com"))
    ... ]
    True

class rdflib.BNode(value: str | None = None, _sn_gen: Callable[[], str] | Generator | None = None, _prefix: str = _unique_id())

  Bases: `IdentifiedNode`

  RDF 1.1’s Blank Nodes Section: https://www.w3.org/TR/rdf11-concepts/#section-blank-nodes

  Blank Nodes are local identifiers for unnamed nodes in RDF graphs that are used in some concrete RDF syntaxes or RDF store implementations. They are always locally scoped to the file or RDF store, and are not persistent or portable identifiers for blank nodes. The identifiers for Blank Nodes are not part of the RDF abstract syntax, but are entirely dependent on particular concrete syntax or implementation (such as Turtle, JSON-LD).

  —

  RDFLib’s `BNode` class makes unique IDs for all the Blank Nodes in a Graph but you should never expect, or reply on, BNodes’ IDs to match across graphs, or even for multiple copies of the same graph, if they are regenerated from some non-RDFLib source, such as loading from RDF data.

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __module__ = 'rdflib.term'
  static __new__(cls, value=None, _sn_gen=None, _prefix=_unique_id())

    # only store implementations should pass in a value

    Parameters:

      - value (`Optional`[`str`])

      - _sn_gen (`Union`[`Callable`[[], `str`], `Generator`, `None`])

      - _prefix (`str`)

    Return type:

      `BNode`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`BNode`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  skolemize(authority=None, basepath=None)

    Create a URIRef “skolem” representation of the BNode, in accordance with http://www.w3.org/TR/rdf11-concepts/#section-skolemization

    Added in version 4.0.

    Parameters:

      - authority (`Optional`[`str`])

      - basepath (`Optional`[`str`])

    Return type:

      `URIRef`

class rdflib.ConjunctiveGraph(store='default', identifier=None, default_graph_base=None)

  Bases: `Graph`

  A ConjunctiveGraph is an (unnamed) aggregation of all the named graphs in a store.

  Warning

  ConjunctiveGraph is deprecated, use `Dataset` instead.

  It has a `default` graph, whose name is associated with the graph throughout its life. `__init__()` can take an identifier to use as the name of this default graph or it will assign a BNode.

  All methods that add triples work against this default graph.

  All queries are carried out against the union of all graphs.

  Parameters:

    - store (`Union`[`Store`, `str`])

    - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

    - default_graph_base (`Optional`[`str`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __contains__(triple_or_quad)

    Support for ‘triple/quad in graph’ syntax

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

    Return type:

      `bool`

  __init__(store='default', identifier=None, default_graph_base=None)
    Parameters:

      - store (`Union`[`Store`, `str`])

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - default_graph_base (`Optional`[`str`])

  __len__()

    Number of triples in the entire conjunctive graph

    Return type:

      `int`

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Graph`], `Tuple`[`Store`, `IdentifiedNode`]]

  __str__()

    Return str(self).

    Return type:

      `str`

  add(triple_or_quad)

    Add a triple or quad to the store.

    if a triple is given it is added to the default context

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - triple_or_quad (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  addN(quads)

    Add a sequence of triples with context

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  base: `Optional`[`str`]
  context_aware: `bool`
  context_id(uri, context_id=None)

    URI#context

    Parameters:

      - uri (`str`)

      - context_id (`Optional`[`str`])

    Return type:

      `URIRef`

  contexts(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  default_context: `Graph`
  default_union: `bool`
  formula_aware: `bool`
  get_context(identifier, quoted=False, base=None)

    Return a context graph for the given identifier

    identifier must be a URIRef or BNode.

    Parameters:

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - quoted (`bool`)

      - base (`Optional`[`str`])

    Return type:

      `Graph`

  get_graph(identifier)

    Returns the graph identified by given identifier

    Parameters:

      identifier (`IdentifiedNode`)

    Return type:

      `Optional`[`Graph`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse source adding the resulting triples to its own context (sub graph of this graph).

    See `rdflib.graph.Graph.parse()` for documentation on arguments.

    If the source is in a format that does not support named graphs its triples will be added to the default graph (i.e. `ConjunctiveGraph.default_context`).

    Returns:

    The graph into which the source was parsed. In the case of n3 it returns the root context.

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Changed in 7.0: The `publicID` argument is no longer used as the identifier (i.e. name) of the default graph as was the case before version 7.0. In the case of sources that do not support named graphs, the `publicID` parameter will also not be used as the name for the graph that the data is loaded into, and instead the triples from sources that do not support named graphs will be loaded into the default graph (i.e. `ConjunctiveGraph.default_context`).

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`])

      - publicID (`Optional`[`str`])

      - format (`Optional`[`str`])

      - location (`Optional`[`str`])

      - file (`Union`[`BinaryIO`, `TextIO`, `None`])

      - data (`Union`[`str`, `bytes`, `None`])

      - args (`Any`)

    Return type:

      `Graph`

  quads(triple_or_quad=None)

    Iterate over all the quads in the entire conjunctive graph

    Parameters:

      triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`], `Optional`[`Graph`]], `None`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]], `None`, `None`]

  remove(triple_or_quad)

    Removes a triple or quads

    if a triple is given it is removed from all contexts

    a quad is removed from the given context only

    Parameters:

      - self (`TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph))

      - triple_or_quad (`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Node`, `Node`, `Optional`[`Graph`]]])

    Return type:

      `TypeVar`(`_ConjunctiveGraphT`, bound= ConjunctiveGraph)

  remove_context(context)

    Removes the given context from the graph

    Parameters:

      context (`Graph`)

    Return type:

      `None`

  triples(triple_or_quad, context=None)

    Iterate over all the triples in the entire conjunctive graph

    For legacy reasons, this can take the context to query either as a fourth element of the quad, or as the explicit context keyword parameter. The kw param takes precedence.

    Parameters:

      - triple_or_quad (`Union`[`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`], `Optional`[`Graph`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Path`, `Node`]], `None`, `None`]

  triples_choices(triple, context=None)

    Iterate over all the triples in the entire conjunctive graph

    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

class rdflib.Dataset(store='default', default_union=False, default_graph_base=None)

  Bases: `ConjunctiveGraph`

  RDF 1.1 Dataset. Small extension to the Conjunctive Graph: - the primary term is graphs in the datasets and not contexts with quads, so there is a separate method to set/retrieve a graph in a dataset and operate with graphs - graphs cannot be identified with blank nodes - added a method to directly add a single quad

  Examples of usage:

      >>> # Create a new Dataset
      >>> ds = Dataset()
      >>> # simple triples goes to default graph
      >>> ds.add((URIRef("http://example.org/a"),
      ...    URIRef("http://www.example.org/b"),
      ...    Literal("foo")))
      <Graph identifier=... (<class 'rdflib.graph.Dataset'>)>
      >>>
      >>> # Create a graph in the dataset, if the graph name has already been
      >>> # used, the corresponding graph will be returned
      >>> # (ie, the Dataset keeps track of the constituent graphs)
      >>> g = ds.graph(URIRef("http://www.example.com/gr"))
      >>>
      >>> # add triples to the new graph as usual
      >>> g.add(
      ...     (URIRef("http://example.org/x"),
      ...     URIRef("http://example.org/y"),
      ...     Literal("bar")) )
      <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
      >>> # alternatively: add a quad to the dataset -> goes to the graph
      >>> ds.add(
      ...     (URIRef("http://example.org/x"),
      ...     URIRef("http://example.org/z"),
      ...     Literal("foo-bar"),g) )
      <Graph identifier=... (<class 'rdflib.graph.Dataset'>)>
      >>>
      >>> # querying triples return them all regardless of the graph
      >>> for t in ds.triples((None,None,None)):
      ...     print(t)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"))
      >>>
      >>> # querying quads() return quads; the fourth argument can be unrestricted
      >>> # (None) or restricted to a graph
      >>> for q in ds.quads((None, None, None, None)):
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"),
       None)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>>
      >>> # unrestricted looping is equivalent to iterating over the entire Dataset
      >>> for q in ds:
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/a"),
       rdflib.term.URIRef("http://www.example.org/b"),
       rdflib.term.Literal("foo"),
       None)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>>
      >>> # resticting iteration to a graph:
      >>> for q in ds.quads((None, None, None, g)):
      ...     print(q)
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/y"),
       rdflib.term.Literal("bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      (rdflib.term.URIRef("http://example.org/x"),
       rdflib.term.URIRef("http://example.org/z"),
       rdflib.term.Literal("foo-bar"),
       rdflib.term.URIRef("http://www.example.com/gr"))
      >>> # Note that in the call above -
      >>> # ds.quads((None,None,None,"http://www.example.com/gr"))
      >>> # would have been accepted, too
      >>>
      >>> # graph names in the dataset can be queried:
      >>> for c in ds.graphs():
      ...     print(c)  # doctest:
      DEFAULT
      http://www.example.com/gr
      >>> # A graph can be created without specifying a name; a skolemized genid
      >>> # is created on the fly
      >>> h = ds.graph()
      >>> for c in ds.graphs():
      ...     print(c)
      DEFAULT
      https://rdflib.github.io/.well-known/genid/rdflib/N...
      http://www.example.com/gr
      >>> # Note that the Dataset.graphs() call returns names of empty graphs,
      >>> # too. This can be restricted:
      >>> for c in ds.graphs(empty=False):
      ...     print(c)
      DEFAULT
      http://www.example.com/gr
      >>>
      >>> # a graph can also be removed from a dataset via ds.remove_graph(g)

  Added in version 4.0.

  Parameters:

    - store (`Union`[`Store`, `str`])

    - default_union (`bool`)

    - default_graph_base (`Optional`[`str`])

  __abstractmethods__ = frozenset({})
  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_context': '_ContextType', 'default_union': 'bool', 'formula_aware': 'bool'}
  __getstate__()

    Helper for pickle.

    Return type:

      `Tuple`[`Store`, `IdentifiedNode`, `Graph`, `bool`]

  __init__(store='default', default_union=False, default_graph_base=None)
    Parameters:

      - store (`Union`[`Store`, `str`])

      - default_union (`bool`)

      - default_graph_base (`Optional`[`str`])

  __iter__()

    Iterates over all quads in the store

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`IdentifiedNode`]], `None`, `None`]

  __module__ = 'rdflib.graph'
  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Dataset`], `Tuple`[`Store`, `bool`]]

  __setstate__(state)
    Parameters:

      state (`Tuple`[`Store`, `IdentifiedNode`, `Graph`, `bool`])

    Return type:

      `None`

  __str__()

    Return str(self).

    Return type:

      `str`

  add_graph(g)

    alias of graph for consistency

    Parameters:

      g (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

    Return type:

      `Graph`

  base: `Optional`[`str`]
  context_aware: `bool`
  contexts(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  default_context: `Graph`
  default_union: `bool`
  formula_aware: `bool`
  graph(identifier=None, base=None)
    Parameters:

      - identifier (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

      - base (`Optional`[`str`])

    Return type:

      `Graph`

  graphs(triple=None)

    Iterate over all contexts in the graph

    If triple is specified, iterate over all contexts the triple is in.

    Parameters:

      triple (`Optional`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `Generator`[`Graph`, `None`, `None`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse an RDF source adding the resulting triples to the Graph.

    See `rdflib.graph.Graph.parse()` for documentation on arguments.

    The source is specified using one of source, location, file or data.

    If the source is in a format that does not support named graphs its triples will be added to the default graph (i.e. `Dataset.default_context`).

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Changed in 7.0: The `publicID` argument is no longer used as the identifier (i.e. name) of the default graph as was the case before version 7.0. In the case of sources that do not support named graphs, the `publicID` parameter will also not be used as the name for the graph that the data is loaded into, and instead the triples from sources that do not support named graphs will be loaded into the default graph (i.e. `Dataset.default_context`).

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`])

      - publicID (`Optional`[`str`])

      - format (`Optional`[`str`])

      - location (`Optional`[`str`])

      - file (`Union`[`BinaryIO`, `TextIO`, `None`])

      - data (`Union`[`str`, `bytes`, `None`])

      - args (`Any`)

    Return type:

      `Graph`

  quads(quad=None)

    Iterate over all the quads in the entire conjunctive graph

    Parameters:

      quad (`Union`[`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]], `Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`], `Optional`[`Graph`]], `None`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`, `Optional`[`IdentifiedNode`]], `None`, `None`]

  remove_graph(g)
    Parameters:

      - self (`TypeVar`(`_DatasetT`, bound= Dataset))

      - g (`Union`[`IdentifiedNode`, `Graph`, `str`, `None`])

    Return type:

      `TypeVar`(`_DatasetT`, bound= Dataset)

class rdflib.Graph(store='default', identifier=None, namespace_manager=None, base=None, bind_namespaces='rdflib')

  Bases: `Node`

  An RDF Graph

  The constructor accepts one argument, the “store” that will be used to store the graph data (see the “store” package for stores currently shipped with rdflib).

  Stores can be context-aware or unaware. Unaware stores take up (some) less space but cannot support features that require context, such as true merging/demerging of sub-graphs and provenance.

  Even if used with a context-aware store, Graph will only expose the quads which belong to the default graph. To access the rest of the data, `ConjunctiveGraph` or `Dataset` classes can be used instead.

  The Graph constructor can take an identifier which identifies the Graph by name. If none is given, the graph is assigned a BNode for its identifier.

  For more on named graphs, see: http://www.w3.org/2004/03/trix/

  Parameters:

    - store (`Union`[`Store`, `str`])

    - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

    - namespace_manager (`Optional`[`NamespaceManager`])

    - base (`Optional`[`str`])

    - bind_namespaces (`Literal`[`'core'`, `'rdflib'`, `'none'`])

  __abstractmethods__ = frozenset({})
  __add__(other)

    Set-theoretic union BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __and__(other)

    Set-theoretic intersection. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __annotations__ = {'__identifier': '_ContextIdentifierType', '__store': 'Store', 'base': 'Optional[str]', 'context_aware': 'bool', 'default_union': 'bool', 'formula_aware': 'bool'}
  __cmp__(other)
    Return type:

      `int`

  __contains__(triple)

    Support for ‘triple in graph’ syntax

    Parameters:

      triple (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

    Return type:

      `bool`

  __dict__ = mappingproxy({'__module__': 'rdflib.graph', '__annotations__': {'context_aware': 'bool', 'formula_aware': 'bool', 'default_union': 'bool', 'base': 'Optional[str]', '__identifier': '_ContextIdentifierType', '__store': 'Store'}, '__doc__': 'An RDF Graph\n\n The constructor accepts one argument, the "store"\n that will be used to store the graph data (see the "store"\n package for stores currently shipped with rdflib).\n\n Stores can be context-aware or unaware. Unaware stores take up\n (some) less space but cannot support features that require\n context, such as true merging/demerging of sub-graphs and\n provenance.\n\n Even if used with a context-aware store, Graph will only expose the quads which\n belong to the default graph. To access the rest of the data, `ConjunctiveGraph` or\n `Dataset` classes can be used instead.\n\n The Graph constructor can take an identifier which identifies the Graph\n by name. If none is given, the graph is assigned a BNode for its\n identifier.\n\n For more on named graphs, see: http://www.w3.org/2004/03/trix/\n ', '__init__': <function Graph.__init__>, 'store': <property object>, 'identifier': <property object>, 'namespace_manager': <property object>, '__repr__': <function Graph.__repr__>, '__str__': <function Graph.__str__>, 'toPython': <function Graph.toPython>, 'destroy': <function Graph.destroy>, 'commit': <function Graph.commit>, 'rollback': <function Graph.rollback>, 'open': <function Graph.open>, 'close': <function Graph.close>, 'add': <function Graph.add>, 'addN': <function Graph.addN>, 'remove': <function Graph.remove>, 'triples': <function Graph.triples>, '__getitem__': <function Graph.__getitem__>, '__len__': <function Graph.__len__>, '__iter__': <function Graph.__iter__>, '__contains__': <function Graph.__contains__>, '__hash__': <function Graph.__hash__>, '__cmp__': <function Graph.__cmp__>, '__eq__': <function Graph.__eq__>, '__lt__': <function Graph.__lt__>, '__le__': <function Graph.__le__>, '__gt__': <function Graph.__gt__>, '__ge__': <function Graph.__ge__>, '__iadd__': <function Graph.__iadd__>, '__isub__': <function Graph.__isub__>, '__add__': <function Graph.__add__>, '__mul__': <function Graph.__mul__>, '__sub__': <function Graph.__sub__>, '__xor__': <function Graph.__xor__>, '__or__': <function Graph.__add__>, '__and__': <function Graph.__mul__>, 'set': <function Graph.set>, 'subjects': <function Graph.subjects>, 'predicates': <function Graph.predicates>, 'objects': <function Graph.objects>, 'subject_predicates': <function Graph.subject_predicates>, 'subject_objects': <function Graph.subject_objects>, 'predicate_objects': <function Graph.predicate_objects>, 'triples_choices': <function Graph.triples_choices>, 'value': <function Graph.value>, 'items': <function Graph.items>, 'transitiveClosure': <function Graph.transitiveClosure>, 'transitive_objects': <function Graph.transitive_objects>, 'transitive_subjects': <function Graph.transitive_subjects>, 'qname': <function Graph.qname>, 'compute_qname': <function Graph.compute_qname>, 'bind': <function Graph.bind>, 'namespaces': <function Graph.namespaces>, 'absolutize': <function Graph.absolutize>, 'serialize': <function Graph.serialize>, 'print': <function Graph.print>, 'parse': <function Graph.parse>, 'query': <function Graph.query>, 'update': <function Graph.update>, 'n3': <function Graph.n3>, '__reduce__': <function Graph.__reduce__>, 'isomorphic': <function Graph.isomorphic>, 'connected': <function Graph.connected>, 'all_nodes': <function Graph.all_nodes>, 'collection': <function Graph.collection>, 'resource': <function Graph.resource>, '_process_skolem_tuples': <function Graph._process_skolem_tuples>, 'skolemize': <function Graph.skolemize>, 'de_skolemize': <function Graph.de_skolemize>, 'cbd': <function Graph.cbd>, '__dict__': <attribute '__dict__' of 'Graph' objects>, '__weakref__': <attribute '__weakref__' of 'Graph' objects>, '__abstractmethods__': frozenset(), '_abc_impl': <_abc._abc_data object>})
  __eq__(other)

    Return self==value.

    Return type:

      `bool`

  __ge__(other)

    Return self>=value.

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  __getitem__(item)

    A graph can be “sliced” as a shortcut for the triples method The python slice syntax is (ab)used for specifying triples. A generator over matches is returned, the returned tuples include only the parts not given

        >>> import rdflib
        >>> g = rdflib.Graph()
        >>> g.add((rdflib.URIRef("urn:bob"), namespace.RDFS.label, rdflib.Literal("Bob")))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>

        >>> list(g[rdflib.URIRef("urn:bob")]) # all triples about bob
        [(rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#label'), rdflib.term.Literal('Bob'))]

        >>> list(g[:namespace.RDFS.label]) # all label triples
        [(rdflib.term.URIRef('urn:bob'), rdflib.term.Literal('Bob'))]

        >>> list(g[::rdflib.Literal("Bob")]) # all triples with bob as object
        [(rdflib.term.URIRef('urn:bob'), rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#label'))]

    Combined with SPARQL paths, more complex queries can be written concisely:

    Name of all Bobs friends:

    g[bob : FOAF.knows/FOAF.name ]

    Some label for Bob:

    g[bob : DC.title|FOAF.name|RDFS.label]

    All friends and friends of friends of Bob

    g[bob : FOAF.knows * “+”]

    etc.

    Added in version 4.0.

  __gt__(other)

    Return self>value.

    Return type:

      `bool`

  __hash__()

    Return hash(self).

    Return type:

      `int`

  __iadd__(other)

    Add all triples in Graph other to Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  __init__(store='default', identifier=None, namespace_manager=None, base=None, bind_namespaces='rdflib')
    Parameters:

      - store (`Union`[`Store`, `str`])

      - identifier (`Union`[`IdentifiedNode`, `str`, `None`])

      - namespace_manager (`Optional`[`NamespaceManager`])

      - base (`Optional`[`str`])

      - bind_namespaces (`Literal`[`'core'`, `'rdflib'`, `'none'`])

  __isub__(other)

    Subtract all triples in Graph other from Graph. BNode IDs are not changed.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - other (`Iterable`[`Tuple`[`Node`, `Node`, `Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  __iter__()

    Iterates over all triples in the store

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

  __le__(other)

    Return self<=value.

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  __len__()

    Returns the number of triples in the graph

    If context is specified then the number of triples in the context is returned instead.

    Return type:

      `int`

  __lt__(other)

    Return self<value.

    Return type:

      `bool`

  __module__ = 'rdflib.graph'
  __mul__(other)

    Set-theoretic intersection. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __or__(other)

    Set-theoretic union BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Graph`], `Tuple`[`Store`, `IdentifiedNode`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __str__()

    Return str(self).

    Return type:

      `str`

  __sub__(other)

    Set-theoretic difference. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  __weakref__

    list of weak references to the object

  __xor__(other)

    Set-theoretic XOR. BNode IDs are not changed.

    Parameters:

      other (`Graph`)

    Return type:

      `Graph`

  absolutize(uri, defrag=1)

    Turn uri into an absolute URI if it’s not one already

    Parameters:

      - uri (`str`)

      - defrag (`int`)

    Return type:

      `URIRef`

  add(triple)

    Add a triple with self as context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Node`, `Node`, `Node`])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  addN(quads)

    Add a sequence of triple with context

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - quads (`Iterable`[`Tuple`[`Node`, `Node`, `Node`, `Graph`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  all_nodes()
    Return type:

      `Set`[`Node`]

  base: `Optional`[`str`]
  bind(prefix, namespace, override=True, replace=False)

    Bind prefix to namespace

    If override is True will bind namespace to given prefix even if namespace was already bound to a different prefix.

    if replace, replace any existing prefix with the new namespace

    for example: graph.bind(“foaf”, “http://xmlns.com/foaf/0.1/”)

    Parameters:

      - prefix (`Optional`[`str`])

      - namespace (`Any`)

      - override (`bool`)

      - replace (`bool`)

    Return type:

      `None`

  cbd(resource, *, target_graph=None)

    Retrieves the Concise Bounded Description of a Resource from a Graph

    Concise Bounded Description (CBD) is defined in [1] as:

    Given a particular node (the starting node) in a particular RDF graph (the source graph), a subgraph of that particular graph, taken to comprise a concise bounded description of the resource denoted by the starting node, can be identified as follows:

    > 1. Include in the subgraph all statements in the source graph where the subject of the statement is the

    >      starting node;

    > 2. Recursively, for all statements identified in the subgraph thus far having a blank node object, include

    >      in the subgraph all statements in the source graph where the subject of the statement is the blank node in question and which are not already included in the subgraph.

    > 3. Recursively, for all statements included in the subgraph thus far, for all reifications of each statement

    >      in the source graph, include the concise bounded description beginning from the rdf:Statement node of each reification.

    This results in a subgraph where the object nodes are either URI references, literals, or blank nodes not serving as the subject of any statement in the graph.

    [1] https://www.w3.org/Submission/CBD/

    Parameters:

      - resource (`Node`) – a URIRef object, of the Resource for queried for

      - target_graph (`Optional`[`Graph`]) – Optionally, a graph to add the CBD to; otherwise, a new graph is created for the CBD

    Return type:

      `Graph`

    Returns:

      a Graph, subgraph of self if no graph was provided otherwise the provided graph

  close(commit_pending_transaction=False)

    Close the graph store

    Might be necessary for stores that require closing a connection to a database or releasing some resource.

    Parameters:

      commit_pending_transaction (`bool`)

    Return type:

      `None`

  collection(identifier)

    Create a new `Collection` instance.

    Parameters:

    - `identifier`: a URIRef or BNode instance.

    Example:

        >>> graph = Graph()
        >>> uri = URIRef("http://example.org/resource")
        >>> collection = graph.collection(uri)
        >>> assert isinstance(collection, Collection)
        >>> assert collection.uri is uri
        >>> assert collection.graph is graph
        >>> collection += [ Literal(1), Literal(2) ]

    Parameters:

      identifier (`Node`)

    Return type:

      `Collection`

  commit()

    Commits active transactions

    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  compute_qname(uri, generate=True)
    Parameters:

      - uri (`str`)

      - generate (`bool`)

    Return type:

      `Tuple`[`str`, `URIRef`, `str`]

  connected()

    Check if the Graph is connected

    The Graph is considered undirectional.

    Performs a search on the Graph, starting from a random node. Then iteratively goes depth-first through the triplets where the node is subject and object. Return True if all nodes have been visited and False if it cannot continue and there are still unvisited nodes left.

    Return type:

      `bool`

  context_aware: `bool`
  de_skolemize(new_graph=None, uriref=None)
    Parameters:

      - new_graph (`Optional`[`Graph`])

      - uriref (`Optional`[`URIRef`])

    Return type:

      `Graph`

  default_union: `bool`
  destroy(configuration)

    Destroy the store identified by `configuration` if supported

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - configuration (`str`)

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  formula_aware: `bool`
  property identifier: IdentifiedNode
  isomorphic(other)

    does a very basic check if these graphs are the same If no BNodes are involved, this is accurate.

    See rdflib.compare for a correct implementation of isomorphism checks

    Parameters:

      other (`Graph`)

    Return type:

      `bool`

  items(list)

    Generator over all items in the resource specified by list

    list is an RDF collection.

    Parameters:

      list (`Node`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  n3(namespace_manager=None)

    Return an n3 identifier for the Graph

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  property namespace_manager: NamespaceManager

    this graph’s namespace-manager

  namespaces()

    Generator over all the prefix, namespace tuples

    Return type:

      `Generator`[`Tuple`[`str`, `URIRef`], `None`, `None`]

  objects(subject=None, predicate=None, unique=False)

    A generator of (optionally unique) objects with the given subject and predicate

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Union`[`None`, `Path`, `Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  open(configuration, create=False)

    Open the graph store

    Might be necessary for stores that require opening a connection to a database or acquiring some resource.

    Parameters:

      - configuration (`str`)

      - create (`bool`)

    Return type:

      `Optional`[`int`]

  parse(source=None, publicID=None, format=None, location=None, file=None, data=None, **args)

    Parse an RDF source adding the resulting triples to the Graph.

    The source is specified using one of source, location, file or data.

    Caution

    This method can access directly or indirectly requested network or file resources, for example, when parsing JSON-LD documents with `@context` directives that point to a network location.

    When processing untrusted or potentially malicious documents, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Parameters:

      - source (`Union`[`IO`[`bytes`], `TextIO`, `InputSource`, `str`, `bytes`, `PurePath`, `None`]) – An `xml.sax.xmlreader.InputSource`, file-like object, `pathlib.Path` like object, or string. In the case of a string the string is the location of the source.

      - location (`Optional`[`str`]) – A string indicating the relative or absolute URL of the source. `Graph`’s absolutize method is used if a relative location is specified.

      - file (`Union`[`BinaryIO`, `TextIO`, `None`]) – A file-like object.

      - data (`Union`[`str`, `bytes`, `None`]) – A string containing the data to be parsed.

      - format (`Optional`[`str`]) – Used if format can not be determined from source, e.g. file extension or Media Type. Defaults to text/turtle. Format support can be extended with plugins, but “xml”, “n3” (use for turtle), “nt” & “trix” are built in.

      - publicID (`Optional`[`str`]) –

        the logical URI to use as the document base. If None specified the document location is used (at least in the case where there is a document location). This is used as the base URI when resolving relative URIs in the source document, as defined in IETF RFC 3986, given the source document does not define a base URI.

    Return type:

      `Graph`

    Returns:

      `self`, i.e. the `Graph` instance.

    Examples:

        >>> my_data = '''
        ... <rdf:RDF
        ...   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        ...   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        ... >
        ...   <rdf:Description>
        ...     <rdfs:label>Example</rdfs:label>
        ...     <rdfs:comment>This is really just an example.</rdfs:comment>
        ...   </rdf:Description>
        ... </rdf:RDF>
        ... '''
        >>> import os, tempfile
        >>> fd, file_name = tempfile.mkstemp()
        >>> f = os.fdopen(fd, "w")
        >>> dummy = f.write(my_data)  # Returns num bytes written
        >>> f.close()

        >>> g = Graph()
        >>> result = g.parse(data=my_data, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> result = g.parse(location=file_name, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> with open(file_name, "r") as f:
        ...     result = g.parse(f, format="application/rdf+xml")
        >>> len(g)
        2

        >>> os.remove(file_name)

        >>> # default turtle parsing
        >>> result = g.parse(data="<http://example.com/a> <http://example.com/a> <http://example.com/a> .")
        >>> len(g)
        3

    Parameters:

      args (`Any`)

  predicate_objects(subject=None, unique=False)

    A generator of (optionally unique) (predicate, object) tuples for the given subject

    Parameters:

      - subject (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  predicates(subject=None, object=None, unique=False)

    A generator of (optionally unique) predicates with the given subject and object

    Parameters:

      - subject (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  print(format='turtle', encoding='utf-8', out=None)
    Parameters:

      - format (`str`)

      - encoding (`str`)

      - out (`Optional`[`TextIO`])

    Return type:

      `None`

  qname(uri)
    Parameters:

      uri (`str`)

    Return type:

      `str`

  query(query_object, processor='sparql', result='sparql', initNs=None, initBindings=None, use_store_provided=True, **kwargs)

    Query this graph.

    A type of ‘prepared queries’ can be realised by providing initial variable bindings with initBindings

    Initial namespaces are used to resolve prefixes used in the query, if none are given, the namespaces from the graph’s namespace manager are used.

    Caution

    This method can access indirectly requested network endpoints, for example, query processing will attempt to access network endpoints specified in `SERVICE` directives.

    When processing untrusted or potentially malicious queries, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Returntype:

      `Result`

    Parameters:

      - query_object (`Union`[`str`, `Query`])

      - processor (`Union`[`str`, `Processor`])

      - result (`Union`[`str`, `Type`[`Result`]])

      - initNs (`Optional`[`Mapping`[`str`, `Any`]])

      - initBindings (`Optional`[`Mapping`[`str`, `Identifier`]])

      - use_store_provided (`bool`)

      - kwargs (`Any`)

    Return type:

      `Result`

  remove(triple)

    Remove a triple from the graph

    If the triple does not provide a context attribute, removes the triple from all contexts.

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Optional`[`Node`], `Optional`[`Node`], `Optional`[`Node`]])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  resource(identifier)

    Create a new `Resource` instance.

    Parameters:

    - `identifier`: a URIRef or BNode instance.

    Example:

        >>> graph = Graph()
        >>> uri = URIRef("http://example.org/resource")
        >>> resource = graph.resource(uri)
        >>> assert isinstance(resource, Resource)
        >>> assert resource.identifier is uri
        >>> assert resource.graph is graph

    Parameters:

      identifier (`Union`[`Node`, `str`])

    Return type:

      `Resource`

  rollback()

    Rollback active transactions

    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  serialize(destination=None, format='turtle', base=None, encoding=None, **args)

    Serialize the graph.

    Parameters:

      - destination (`Union`[`str`, `PurePath`, `IO`[`bytes`], `None`]) – The destination to serialize the graph to. This can be a path as a `str` or `PurePath` object, or it can be a `IO` `[bytes]` like object. If this parameter is not supplied the serialized graph will be returned.

      - format (`str`) – The format that the output should be written in. This value references a `Serializer` plugin. Format support can be extended with plugins, but `"xml"`, `"n3"`, `"turtle"`, `"nt"`, `"pretty-xml"`, `"trix"`, `"trig"`, `"nquads"`, `"json-ld"` and `"hext"` are built in. Defaults to `"turtle"`.

      - base (`Optional`[`str`]) – The base IRI for formats that support it. For the turtle format this will be used as the `@base` directive.

      - encoding (`Optional`[`str`]) – Encoding of output.

      - args (`Any`) – Additional arguments to pass to the `Serializer` that will be used.

      - self (`TypeVar`(`_GraphT`, bound= Graph))

    Returns:

      The serialized graph if `destination` is `None`. The serialized graph is returned as `str` if no encoding is specified, and as `bytes` if an encoding is specified.

    Return type:

      `bytes` if `destination` is `None` and `encoding` is not `None`.

    Return type:

      `str` if `destination` is `None` and `encoding` is `None`.

    Returns:

      `self` (i.e. the `Graph` instance) if `destination` is not `None`.

    Return type:

      `Graph` if `destination` is not `None`.

  set(triple)

    Convenience method to update the value of object

    Remove any existing triples for subject and predicate before adding (subject, predicate, object).

    Parameters:

      - self (`TypeVar`(`_GraphT`, bound= Graph))

      - triple (`Tuple`[`Node`, `Node`, `Node`])

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  skolemize(new_graph=None, bnode=None, authority=None, basepath=None)
    Parameters:

      - new_graph (`Optional`[`Graph`])

      - bnode (`Optional`[`BNode`])

      - authority (`Optional`[`str`])

      - basepath (`Optional`[`str`])

    Return type:

      `Graph`

  property store: Store
  subject_objects(predicate=None, unique=False)

    A generator of (optionally unique) (subject, object) tuples for the given predicate

    Parameters:

      - predicate (`Union`[`None`, `Path`, `Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  subject_predicates(object=None, unique=False)

    A generator of (optionally unique) (subject, predicate) tuples for the given object

    Parameters:

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`], `None`, `None`]

  subjects(predicate=None, object=None, unique=False)

    A generator of (optionally unique) subjects with the given predicate and object

    Parameters:

      - predicate (`Union`[`None`, `Path`, `Node`])

      - object (`Optional`[`Node`])

      - unique (`bool`)

    Return type:

      `Generator`[`Node`, `None`, `None`]

  toPython()
    Parameters:

      self (`TypeVar`(`_GraphT`, bound= Graph))

    Return type:

      `TypeVar`(`_GraphT`, bound= Graph)

  transitiveClosure(func, arg, seen=None)

    Generates transitive closure of a user-defined function against the graph

        >>> from rdflib.collection import Collection
        >>> g=Graph()
        >>> a=BNode("foo")
        >>> b=BNode("bar")
        >>> c=BNode("baz")
        >>> g.add((a,RDF.first,RDF.type))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((a,RDF.rest,b))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b,RDF.first,namespace.RDFS.label))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((b,RDF.rest,c))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c,RDF.first,namespace.RDFS.comment))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> g.add((c,RDF.rest,RDF.nil))
        <Graph identifier=... (<class 'rdflib.graph.Graph'>)>
        >>> def topList(node,g):
        ...    for s in g.subjects(RDF.rest, node):
        ...       yield s
        >>> def reverseList(node,g):
        ...    for f in g.objects(node, RDF.first):
        ...       print(f)
        ...    for s in g.subjects(RDF.rest, node):
        ...       yield s

        >>> [rt for rt in g.transitiveClosure(
        ...     topList,RDF.nil)]
        [rdflib.term.BNode('baz'),
         rdflib.term.BNode('bar'),
         rdflib.term.BNode('foo')]

        >>> [rt for rt in g.transitiveClosure(
        ...     reverseList,RDF.nil)]
        http://www.w3.org/2000/01/rdf-schema#comment
        http://www.w3.org/2000/01/rdf-schema#label
        http://www.w3.org/1999/02/22-rdf-syntax-ns#type
        [rdflib.term.BNode('baz'),
         rdflib.term.BNode('bar'),
         rdflib.term.BNode('foo')]

    Parameters:

      - func (`Callable`[[`TypeVar`(`_TCArgT`), `Graph`], `Iterable`[`TypeVar`(`_TCArgT`)]])

      - arg (`TypeVar`(`_TCArgT`))

      - seen (`Optional`[`Dict`[`TypeVar`(`_TCArgT`), `int`]])

  transitive_objects(subject, predicate, remember=None)

    Transitively generate objects for the `predicate` relationship

    Generated objects belong to the depth first transitive closure of the `predicate` relationship starting at `subject`.

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Optional`[`Node`])

      - remember (`Optional`[`Dict`[`Optional`[`Node`], `int`]])

    Return type:

      `Generator`[`Optional`[`Node`], `None`, `None`]

  transitive_subjects(predicate, object, remember=None)

    Transitively generate subjects for the `predicate` relationship

    Generated subjects belong to the depth first transitive closure of the `predicate` relationship starting at `object`.

    Parameters:

      - predicate (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - remember (`Optional`[`Dict`[`Optional`[`Node`], `int`]])

    Return type:

      `Generator`[`Optional`[`Node`], `None`, `None`]

  triples(triple)

    Generator over the triple store

    Returns triples that match the given triple pattern. If triple pattern does not provide a context, all contexts will be searched.

    Parameters:

      triple (`Tuple`[`Optional`[`Node`], `Union`[`Path`, `Node`, `None`], `Optional`[`Node`]])

    Return type:

      `Generator`[`Union`[`Tuple`[`Node`, `Node`, `Node`], `Tuple`[`Node`, `Path`, `Node`]], `None`, `None`]

  triples_choices(triple, context=None)
    Parameters:

      - triple (`Union`[`Tuple`[`List`[`Node`], `Node`, `Node`], `Tuple`[`Node`, `List`[`Node`], `Node`], `Tuple`[`Node`, `Node`, `List`[`Node`]]])

      - context (`Optional`[`Graph`])

    Return type:

      `Generator`[`Tuple`[`Node`, `Node`, `Node`], `None`, `None`]

  update(update_object, processor='sparql', initNs=None, initBindings=None, use_store_provided=True, **kwargs)

    Update this graph with the given update query.

    Caution

    This method can access indirectly requested network endpoints, for example, query processing will attempt to access network endpoints specified in `SERVICE` directives.

    When processing untrusted or potentially malicious queries, measures should be taken to restrict network and file access.

    For information on available security measures, see the RDFLib Security Considerations documentation.

    Parameters:

      - update_object (`Union`[`Update`, `str`])

      - processor (`Union`[`str`, `UpdateProcessor`])

      - initNs (`Optional`[`Mapping`[`str`, `Any`]])

      - initBindings (`Optional`[`Mapping`[`str`, `Identifier`]])

      - use_store_provided (`bool`)

      - kwargs (`Any`)

    Return type:

      `None`

  value(subject=None, predicate=RDF.value, object=None, default=None, any=True)

    Get a value for a pair of two criteria

    Exactly one of subject, predicate, object must be None. Useful if one knows that there may only be one value.

    It is one of those situations that occur a lot, hence this ‘macro’ like utility

    Parameters:

    - subject, predicate, object: exactly one must be None

    - default: value to be returned if no values found

    - any: if True, return any value in the case there is more than one, else, raise UniquenessError

    Parameters:

      - subject (`Optional`[`Node`])

      - predicate (`Optional`[`Node`])

      - object (`Optional`[`Node`])

      - default (`Optional`[`Node`])

      - any (`bool`)

    Return type:

      `Optional`[`Node`]

class rdflib.IdentifiedNode(value: str)

  Bases: `Identifier`

  An abstract class, primarily defined to identify Nodes that are not Literals.

  The name “Identified Node” is not explicitly defined in the RDF specification, but can be drawn from this section: https://www.w3.org/TR/rdf-concepts/#section-URI-Vocabulary

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __getnewargs__()
    Return type:

      `Tuple`[`str`]

  __module__ = 'rdflib.term'
  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  toPython()
    Return type:

      `str`

class rdflib.Literal(lexical_or_value: Any, lang: str | None = None, datatype: str | None = None, normalize: bool | None = None)

  Bases: `Identifier`

  RDF 1.1’s Literals Section: http://www.w3.org/TR/rdf-concepts/#section-Graph-Literal

  Literals are used for values such as strings, numbers, and dates.

  A literal in an RDF graph consists of two or three elements:

  - a lexical form, being a Unicode string, which SHOULD be in Normal Form C

  - a datatype IRI, being an IRI identifying a datatype that determines how the lexical form maps to a literal value, and

  - if and only if the datatype IRI is `http://www.w3.org/1999/02/22-rdf-syntax-ns#langString`, a non-empty language tag. The language tag MUST be well-formed according to section 2.2.9 of Tags for identifying languages.

  A literal is a language-tagged string if the third element is present. Lexical representations of language tags MAY be converted to lower case. The value space of language tags is always in lower case.

  —

  For valid XSD datatypes, the lexical form is optionally normalized at construction time. Default behaviour is set by rdflib.NORMALIZE_LITERALS and can be overridden by the normalize parameter to __new__

  Equality and hashing of Literals are done based on the lexical form, i.e.:

      >>> from rdflib.namespace import XSD

      >>> Literal('01') != Literal('1')  # clear - strings differ
      True

  but with data-type they get normalized:

      >>> Literal('01', datatype=XSD.integer) != Literal('1', datatype=XSD.integer)
      False

  unless disabled:

      >>> Literal('01', datatype=XSD.integer, normalize=False) != Literal('1', datatype=XSD.integer)
      True

  Value based comparison is possible:

      >>> Literal('01', datatype=XSD.integer).eq(Literal('1', datatype=XSD.float))
      True

  The eq method also provides limited support for basic python types:

      >>> Literal(1).eq(1) # fine - int compatible with xsd:integer
      True
      >>> Literal('a').eq('b') # fine - str compatible with plain-lit
      False
      >>> Literal('a', datatype=XSD.string).eq('a') # fine - str compatible with xsd:string
      True
      >>> Literal('a').eq(1) # not fine, int incompatible with plain-lit
      NotImplemented

  Greater-than/less-than ordering comparisons are also done in value space, when compatible datatypes are used. Incompatible datatypes are ordered by DT, or by lang-tag. For other nodes the ordering is None < BNode < URIRef < Literal

  Any comparison with non-rdflib Node are “NotImplemented” In PY3 this is an error.

      >>> from rdflib import Literal, XSD
      >>> lit2006 = Literal('2006-01-01',datatype=XSD.date)
      >>> lit2006.toPython()
      datetime.date(2006, 1, 1)
      >>> lit2006 < Literal('2007-01-01',datatype=XSD.date)
      True
      >>> Literal(datetime.utcnow()).datatype
      rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#dateTime')
      >>> Literal(1) > Literal(2) # by value
      False
      >>> Literal(1) > Literal(2.0) # by value
      False
      >>> Literal('1') > Literal(1) # by DT
      True
      >>> Literal('1') < Literal('1') # by lexical form
      False
      >>> Literal('a', lang='en') > Literal('a', lang='fr') # by lang-tag
      False
      >>> Literal(1) > URIRef('foo') # by node-type
      True

  The > < operators will eat this NotImplemented and throw a TypeError (py3k):

      >>> Literal(1).__gt__(2.0)
      NotImplemented

  __abs__()
    Return type:

      `Literal`

        >>> abs(Literal(-1))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> from rdflib.namespace import XSD
        >>> abs( Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> abs(Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __abstractmethods__ = frozenset({})
  __add__(val)

        >>> from rdflib.namespace import XSD
        >>> Literal(1) + 1
        rdflib.term.Literal('2', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> Literal("1") + "1"
        rdflib.term.Literal('11')

    # Handling dateTime/date/time based operations in Literals >>> a = Literal(‘2006-01-01T20:50:00’, datatype=XSD.dateTime) >>> b = Literal(‘P31D’, datatype=XSD.duration) >>> (a + b) rdflib.term.Literal(‘2006-02-01T20:50:00’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#dateTime’)) >>> from rdflib.namespace import XSD >>> a = Literal(‘2006-07-01T20:52:00’, datatype=XSD.dateTime) >>> b = Literal(‘P122DT15H58M’, datatype=XSD.duration) >>> (a + b) rdflib.term.Literal(‘2006-11-01T12:50:00’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#dateTime’))

    Parameters:

      val (`Any`)

    Return type:

      `Literal`

  __annotations__ = {'_datatype': 'Optional[URIRef]', '_ill_typed': 'Optional[bool]', '_language': 'Optional[str]', '_value': 'Any'}
  __bool__()

    Is the Literal “True” This is used for if statements, bool(literal), etc.

    Return type:

      `bool`

  __eq__(other)

    Literals are only equal to other literals.

    “Two literals are equal if and only if all of the following hold: * The strings of the two lexical forms compare equal, character by character. * Either both or neither have language tags. * The language tags, if any, compare equal. * Either both or neither have datatype URIs. * The two datatype URIs, if any, compare equal, character by character.” – 6.5.1 Literal Equality (RDF: Concepts and Abstract Syntax)

        >>> Literal("1", datatype=URIRef("foo")) == Literal("1", datatype=URIRef("foo"))
        True
        >>> Literal("1", datatype=URIRef("foo")) == Literal("1", datatype=URIRef("foo2"))
        False

        >>> Literal("1", datatype=URIRef("foo")) == Literal("2", datatype=URIRef("foo"))
        False
        >>> Literal("1", datatype=URIRef("foo")) == "asdf"
        False
        >>> from rdflib import XSD
        >>> Literal('2007-01-01', datatype=XSD.date) == Literal('2007-01-01', datatype=XSD.date)
        True
        >>> Literal('2007-01-01', datatype=XSD.date) == date(2007, 1, 1)
        False
        >>> Literal("one", lang="en") == Literal("one", lang="en")
        True
        >>> Literal("hast", lang='en') == Literal("hast", lang='de')
        False
        >>> Literal("1", datatype=XSD.integer) == Literal(1)
        True
        >>> Literal("1", datatype=XSD.integer) == Literal("01", datatype=XSD.integer)
        True

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __ge__(other)

    Return self>=value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __getstate__()

    Helper for pickle.

    Return type:

      `Tuple`[`None`, `Dict`[`str`, `Optional`[`str`]]]

  __gt__(other)

    This implements ordering for Literals, the other comparison methods delegate here

    This tries to implement this: http://www.w3.org/TR/sparql11-query/#modOrderBy

    In short, Literals with compatible data-types are ordered in value space, i.e. >>> from rdflib import XSD

        >>> Literal(1) > Literal(2) # int/int
        False
        >>> Literal(2.0) > Literal(1) # double/int
        True
        >>> from decimal import Decimal
        >>> Literal(Decimal("3.3")) > Literal(2.0) # decimal/double
        True
        >>> Literal(Decimal("3.3")) < Literal(4.0) # decimal/double
        True
        >>> Literal('b') > Literal('a') # plain lit/plain lit
        True
        >>> Literal('b') > Literal('a', datatype=XSD.string) # plain lit/xsd:str
        True

    Incompatible datatype mismatches ordered by DT

        >>> Literal(1) > Literal("2") # int>string
        False

    Langtagged literals by lang tag >>> Literal(“a”, lang=”en”) > Literal(“a”, lang=”fr”) False

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __hash__()

        >>> from rdflib.namespace import XSD
        >>> a = {Literal('1', datatype=XSD.integer):'one'}
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`int\``

        >>> Literal('1', datatype=XSD.double) in a
        False

    “Called for the key object for dictionary operations, and by the built-in function hash(). Should return a 32-bit integer usable as a hash value for dictionary operations. The only required property is that objects which compare equal have the same hash value; it is advised to somehow mix together (e.g., using exclusive or) the hash values for the components of the object that also play a part in comparison of objects.” – 3.4.1 Basic customization (Python)

    “Two literals are equal if and only if all of the following hold: * The strings of the two lexical forms compare equal, character by character. * Either both or neither have language tags. * The language tags, if any, compare equal. * Either both or neither have datatype URIs. * The two datatype URIs, if any, compare equal, character by character.” – 6.5.1 Literal Equality (RDF: Concepts and Abstract Syntax)

  __invert__()
    Return type:

      `Literal`

        >>> ~(Literal(-1))
        rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> from rdflib.namespace import XSD
        >>> ~( Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

    Not working:

        >>> ~(Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __le__(other)

        >>> from rdflib.namespace import XSD
        >>> Literal('2007-01-01T10:00:00', datatype=XSD.dateTime
        ...     ) <= Literal('2007-01-01T10:00:00', datatype=XSD.dateTime)
        True

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __lt__(other)

    Return self<value.

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  __module__ = 'rdflib.term'
  __neg__()

        >>> (- Literal(1))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> (- Literal(10.5))
        rdflib.term.Literal('-10.5', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
        >>> from rdflib.namespace import XSD
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~rdflib.term.Literal\``

        >>> (- Literal("1", datatype=XSD.integer))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> (- Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')
        >>>

  static __new__(cls, lexical_or_value, lang=None, datatype=None, normalize=None)
    Parameters:

      - lexical_or_value (`Any`)

      - lang (`Optional`[`str`])

      - datatype (`Optional`[`str`])

      - normalize (`Optional`[`bool`])

    Return type:

      `Literal`

  __pos__()

        >>> (+ Literal(1))
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> (+ Literal(-1))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> from rdflib.namespace import XSD
        :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~rdflib.term.Literal\``

        >>> (+ Literal("-1", datatype=XSD.integer))
        rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

        >>> (+ Literal("1"))
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: Not a number; rdflib.term.Literal('1')

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Literal`], `Tuple`[`str`, `Optional`[`str`], `Optional`[`str`]]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __setstate__(arg)
    Parameters:

      arg (`Tuple`[`Any`, `Dict`[`str`, `Any`]])

    Return type:

      `None`

  __slots__ = ('_language', '_datatype', '_value', '_ill_typed')
  __sub__(val)

        >>> from rdflib.namespace import XSD
        >>> Literal(2) - 1
        rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))
        >>> Literal(1.1) - 1.0
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
        >>> Literal(1.1) - 1
        rdflib.term.Literal('0.1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#decimal'))
        >>> Literal(1.1, datatype=XSD.float) - Literal(1.0, datatype=XSD.float)
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#float'))
        >>> Literal("1.1") - 1.0
        Traceback (most recent call last):
        ...
        TypeError: Not a number; rdflib.term.Literal('1.1')
        >>> Literal(1.1, datatype=XSD.integer) - Literal(1.0, datatype=XSD.integer)
        rdflib.term.Literal('0.10000000000000009', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

    # Handling dateTime/date/time based operations in Literals >>> a = Literal(‘2006-01-01T20:50:00’, datatype=XSD.dateTime) >>> b = Literal(‘2006-02-01T20:50:00’, datatype=XSD.dateTime) >>> (b - a) rdflib.term.Literal(‘P31D’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’)) >>> from rdflib.namespace import XSD >>> a = Literal(‘2006-07-01T20:52:00’, datatype=XSD.dateTime) >>> b = Literal(‘2006-11-01T12:50:00’, datatype=XSD.dateTime) >>> (a - b) rdflib.term.Literal(‘-P122DT15H58M’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’)) >>> (b - a) rdflib.term.Literal(‘P122DT15H58M’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#duration’))

    Parameters:

      val (`Any`)

    Return type:

      `Literal`

  property datatype: URIRef | None
  eq(other)

    Compare the value of this literal with something else

    Either, with the value of another literal comparisons are then done in literal “value space”, and according to the rules of XSD subtype-substitution/type-promotion

    OR, with a python object:

    basestring objects can be compared with plain-literals, or those with datatype xsd:string

    bool objects with xsd:boolean

    a int, long or float with numeric xsd types

    isodate date,time,datetime objects with xsd:date,xsd:time or xsd:datetime

    Any other operations returns NotImplemented

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  property ill_typed: bool | None

    For recognized datatype IRIs, this value will be `True` if the literal is ill formed, otherwise it will be `False`. `Literal.value` (i.e. the literal value) should always be defined if this property is `False`, but should not be considered reliable if this property is `True`.

    If the literal’s datatype is `None` or not in the set of recognized datatype IRIs this value will be `None`.

  property language: str | None
  n3(namespace_manager=None)

    Returns a representation in the N3 format.

    Examples:

        >>> Literal("foo").n3()
        '"foo"'

    Strings with newlines or triple-quotes:

        >>> Literal("foo\nbar").n3()
        '"""foo\nbar"""'

        >>> Literal("''\'").n3()
        '"\'\'\'"'

        >>> Literal('"""').n3()
        '"\\"\\"\\""'

    Language:

        >>> Literal("hello", lang="en").n3()
        '"hello"@en'

    Datatypes:

        >>> Literal(1).n3()
        '"1"^^<http://www.w3.org/2001/XMLSchema#integer>'

        >>> Literal(1.0).n3()
        '"1.0"^^<http://www.w3.org/2001/XMLSchema#double>'

        >>> Literal(True).n3()
        '"true"^^<http://www.w3.org/2001/XMLSchema#boolean>'

    Datatype and language isn’t allowed (datatype takes precedence):

        >>> Literal(1, lang="en").n3()
        '"1"^^<http://www.w3.org/2001/XMLSchema#integer>'

    Custom datatype:

        >>> footype = URIRef("http://example.org/ns#foo")
        >>> Literal("1", datatype=footype).n3()
        '"1"^^<http://example.org/ns#foo>'

    Passing a namespace-manager will use it to abbreviate datatype URIs:

        >>> from rdflib import Graph
        >>> Literal(1).n3(Graph().namespace_manager)
        '"1"^^xsd:integer'

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  neq(other)

    A “semantic”/interpreted not equal function, by default, same as __ne__

    Parameters:

      other (`Any`)

    Return type:

      `bool`

  normalize()

    Returns a new literal with a normalised lexical representation of this literal >>> from rdflib import XSD >>> Literal(“01”, datatype=XSD.integer, normalize=False).normalize() rdflib.term.Literal(‘1’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#integer’))

    Illegal lexical forms for the datatype given are simply passed on >>> Literal(“a”, datatype=XSD.integer, normalize=False) rdflib.term.Literal(‘a’, datatype=rdflib.term.URIRef(’http://www.w3.org/2001/XMLSchema#integer’))

    Return type:

      `Literal`

  toPython()

    Returns an appropriate python datatype derived from this RDF Literal

    Return type:

      `Any`

  property value: Any

rdflib.NORMALIZE_LITERALS = True

  If True - Literals lexical forms are normalized when created. I.e. the lexical forms is parsed according to data-type, then the stored lexical form is the re-serialized value that was parsed.

  Illegal values for a datatype are simply kept. The normalized keyword for Literal.__new__ can override this.

  For example:

      >>> from rdflib import Literal,XSD
      >>> Literal("01", datatype=XSD.int)
      rdflib.term.Literal("1", datatype=rdflib.term.URIRef("http://www.w3.org/2001/XMLSchema#integer"))

  This flag may be changed at any time, but will only affect literals created after that time, previously created literals will remain (un)normalized.

class rdflib.Namespace(value: str | bytes)

  Bases: `str`

  Utility class for quickly generating URIRefs with a common prefix

      >>> from rdflib.namespace import Namespace
      >>> n = Namespace("http://example.org/")
      >>> n.Person # as attribute
      rdflib.term.URIRef('http://example.org/Person')
      >>> n['first-name'] # as item - for things that are not valid python identifiers
      rdflib.term.URIRef('http://example.org/first-name')
      >>> n.Person in n
      True
      >>> n2 = Namespace("http://example2.org/")
      >>> n.Person in n2
      False

  __contains__(ref)

    Allows to check if a URI is within (starts with) this Namespace.

        >>> from rdflib import URIRef
        >>> namespace = Namespace('http://example.org/')
        >>> uri = URIRef('http://example.org/foo')
        >>> uri in namespace
        True
        >>> person_class = namespace['Person']
        >>> person_class in namespace
        True
        >>> obj = URIRef('http://not.example.org/bar')
        >>> obj in namespace
        False

    Parameters:

      ref (`str`)

    Return type:

      `bool`

  __dict__ = mappingproxy({'__module__': 'rdflib.namespace', '__doc__': '\n Utility class for quickly generating URIRefs with a common prefix\n\n >>> from rdflib.namespace import Namespace\n >>> n = Namespace("http://example.org/")\n >>> n.Person # as attribute\n rdflib.term.URIRef(\'http://example.org/Person\')\n >>> n[\'first-name\'] # as item - for things that are not valid python identifiers\n rdflib.term.URIRef(\'http://example.org/first-name\')\n >>> n.Person in n\n True\n >>> n2 = Namespace("http://example2.org/")\n >>> n.Person in n2\n False\n ', '__new__': <staticmethod(<function Namespace.__new__>)>, 'title': <property object>, 'term': <function Namespace.term>, '__getitem__': <function Namespace.__getitem__>, '__getattr__': <function Namespace.__getattr__>, '__repr__': <function Namespace.__repr__>, '__contains__': <function Namespace.__contains__>, '__dict__': <attribute '__dict__' of 'Namespace' objects>, '__weakref__': <attribute '__weakref__' of 'Namespace' objects>, '__annotations__': {}})
  __getattr__(name)
    Parameters:

      name (`str`)

    Return type:

      `URIRef`

  __getitem__(key)

    Return self[key].

    Parameters:

      key (`str`)

    Return type:

      `URIRef`

  __module__ = 'rdflib.namespace'
  static __new__(cls, value)
    Parameters:

      value (`Union`[`str`, `bytes`])

    Return type:

      `Namespace`

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __weakref__

    list of weak references to the object

  term(name)
    Parameters:

      name (`str`)

    Return type:

      `URIRef`

  property title: URIRef

    Return a version of the string where each word is titlecased.

    More specifically, words start with uppercased characters and all remaining cased characters have lower case.

class rdflib.URIRef(value: str, base: str | None = None)

  Bases: `IdentifiedNode`

  RDF 1.1’s IRI Section https://www.w3.org/TR/rdf11-concepts/#section-IRIs

  Note

  Documentation on RDF outside of RDFLib uses the term IRI or URI whereas this class is called URIRef. This is because it was made when the first version of the RDF specification was current, and it used the term URIRef, see RDF 1.0 URIRef

  An IRI (Internationalized Resource Identifier) within an RDF graph is a Unicode string that conforms to the syntax defined in RFC 3987.

  IRIs in the RDF abstract syntax MUST be absolute, and MAY contain a fragment identifier.

  IRIs are a generalization of URIs [RFC3986] that permits a wider range of Unicode characters.

  __abstractmethods__ = frozenset({})
  __add__(other)

    Return self+value.

    Return type:

      `URIRef`

  __annotations__ = {'__invert__': 'Callable[[URIRef], InvPath]', '__neg__': 'Callable[[URIRef], NegatedPath]', '__or__': 'Callable[[URIRef, Union[URIRef, Path]], AlternativePath]', '__truediv__': 'Callable[[URIRef, Union[URIRef, Path]], SequencePath]'}
  __invert__()

    inverse path

    Parameters:

      p (`Union`[`URIRef`, `Path`])

    Return type:

      `InvPath`

  __mod__(other)

    Return self%value.

    Return type:

      `URIRef`

  __module__ = 'rdflib.term'
  __mul__(mul)

    cardinality path

    Parameters:

      - p (`Union`[`URIRef`, `Path`])

      - mul (`Literal`[`'*'`, `'+'`, `'?'`])

    Return type:

      `MulPath`

  __neg__()

    negated path

    Parameters:

      p (`Union`[`URIRef`, `AlternativePath`, `InvPath`])

    Return type:

      `NegatedPath`

  static __new__(cls, value, base=None)
    Parameters:

      - value (`str`)

      - base (`Optional`[`str`])

    Return type:

      `URIRef`

  __or__(other)

    alternative path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  __radd__(other)
    Return type:

      `URIRef`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`URIRef`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  __truediv__(other)

    sequence path

    Parameters:

      - self (`Union`[`URIRef`, `Path`])

      - other (`Union`[`URIRef`, `Path`])

  de_skolemize()

    Create a Blank Node from a skolem URI, in accordance with http://www.w3.org/TR/rdf11-concepts/#section-skolemization. This function accepts only rdflib type skolemization, to provide a round-tripping within the system. :rtype: `BNode`

    Added in version 4.0.

  defrag()
    Return type:

      `URIRef`

  property fragment: str

    Return the URL Fragment

        >>> URIRef("http://example.com/some/path/#some-fragment").fragment
        'some-fragment'
        >>> URIRef("http://example.com/some/path/").fragment
        ''

  n3(namespace_manager=None)

    This will do a limited check for valid URIs, essentially just making sure that the string includes no illegal characters (`<, >, ", {, }, |, \, `, ^`)

    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`]) – if not None, will be used to make up a prefixed name

    Return type:

      `str`

class rdflib.Variable(value: str)

  Bases: `Identifier`

  A Variable - this is used for querying, or in Formula aware graphs, where Variables can be stored

  __abstractmethods__ = frozenset({})
  __annotations__ = {}
  __module__ = 'rdflib.term'
  static __new__(cls, value)
    Parameters:

      value (`str`)

    Return type:

      `Variable`

  __reduce__()

    Helper for pickle.

    Return type:

      `Tuple`[`Type`[`Variable`], `Tuple`[`str`]]

  __repr__()

    Return repr(self).

    Return type:

      `str`

  __slots__ = ()
  n3(namespace_manager=None)
    Parameters:

      namespace_manager (`Optional`[`NamespaceManager`])

    Return type:

      `str`

  toPython()
    Return type:

      `str`