Skip to content

rdfcrate.vocabs.geo

Feature

Bases: SpatialObject

FeatureCollection

Geometry

Bases: SpatialObject

GeometryCollection

RdfClass

Bases: RdfType

An RDF entity that has a URI (or blank node).

Typically these are instance of rdfs:Class or owl:Class.

add(*args: EntityArgs, graph: ContextGraph | None = None) -> ContextGraph

Adds triples to a graph with this entity as the subject.

If the graph is not provided, an empty one will be created and returned.

Example

from rdfcrate import ContextGraph, rdfs, sdo

graph = ContextGraph() sdo.Thing("http://example.org/thing").add( sdo.name("My Thing"), sdo.description("An example thing"), graph=graph )

adhoc(term: RdfTerm) -> type[Self] classmethod

Makes an ad-hoc type class from a term.

to_type_property() -> rdf.type classmethod

Converts this class wrapper to an instance of RdfProperty that can be used to tag entities with this type.

update(*args: EntityArgs, graph: ContextGraph | None = None) -> ContextGraph

Updates this entity with the given properties, in a graph.

If the graph is not provided, an empty one will be created and returned.

with_term_label(label: str) -> type[RdfClass] classmethod

Creates a new instance of this class with the given label. This is useful in cases where the term label is already defined by another vocabulary

RdfProperty dataclass

Bases: PropertyProtocol, Generic[T]

Represents the double of (predicate, object), with the subject being the class this is attached to.

This is the normal way properties will be defined As a user, you will typically use this class by instantiating subclasses from the vocabs module and attaching them to entities. If you want to define custom vocabulary, you can first subclass this and then create instances of that subclass.

adhoc(term: RdfTerm, object: T) -> RdfProperty staticmethod

Makes an ad-hoc property class from a term.

If you want to use the property multiple times, you should define a subclass instead.

reverse(subject: RdfType) -> ReverseProperty classmethod

Utility for when you want to make the current entity the object of a property, rather than the subject.

with_term_label(label: str) -> type[RdfProperty[T]] classmethod

Creates a new instance of this property with the given label. This is useful in cases where the term label is already defined by another vocabulary

RdfTerm

Wrapper for a term with a label and URI. This is needed because RO-Crate bans the use of full URIs in JSON-LD.

RdfType

An entity within the RDF graph.

This is a thin wrapper around a rdflib Identifier such as a URIRef or BNode, but which allows for static type checking.

as_object(graph: ContextGraph, subject: Subject, predicate: Predicate) -> Object

Converts this entity to an Object that can be used in triples.

as_subject(graph: ContextGraph, predicate: Predicate, object: Object) -> Subject

Converts this entity to a Subject that can be used in triples.

SpatialObject

Bases: RdfClass

SpatialObjectCollection

Bases: Container

asDGGS dataclass

asGML dataclass

asGeoJSON dataclass

asKML dataclass

asWKT dataclass

coordinateDimension dataclass

defaultGeometry dataclass

dggsLiteral

Bases: RdfClass

dimension dataclass

ehContains dataclass

ehCoveredBy dataclass

ehCovers dataclass

ehDisjoint dataclass

ehEquals dataclass

ehInside dataclass

ehMeet dataclass

ehOverlap dataclass

geoJSONLiteral

Bases: RdfClass

gmlLiteral

Bases: RdfClass

hasArea dataclass

hasBoundingBox dataclass

hasCentroid dataclass

hasDefaultGeometry dataclass

hasGeometry dataclass

hasLength dataclass

hasMetricArea dataclass

hasMetricLength dataclass

hasMetricPerimeterLength dataclass

hasMetricSize dataclass

hasMetricSpatialAccuracy dataclass

hasMetricSpatialResolution dataclass

hasMetricVolume dataclass

hasPerimeterLength dataclass

hasSerialization dataclass

hasSize dataclass

hasSpatialAccuracy dataclass

hasSpatialResolution dataclass

hasVolume dataclass

isEmpty dataclass

isSimple dataclass

kmlLiteral

Bases: RdfClass

rcc8dc dataclass

rcc8ec dataclass

rcc8eq dataclass

rcc8ntpp dataclass

rcc8ntppi dataclass

rcc8po dataclass

rcc8tpp dataclass

rcc8tppi dataclass

sfContains dataclass

sfCrosses dataclass

sfDisjoint dataclass

sfEquals dataclass

sfIntersects dataclass

sfOverlaps dataclass

sfTouches dataclass

sfWithin dataclass

spatialDimension dataclass

wktLiteral

Bases: RdfClass