|
@@ -158,10 +158,11 @@ class Ldpr(metaclass=ABCMeta):
|
|
set) it refers to the root node. It can also be the full URI or
|
|
set) it refers to the root node. It can also be the full URI or
|
|
URN, in which case it will be converted.
|
|
URN, in which case it will be converted.
|
|
:param dict repr_opts: Options used to retrieve the IMR. See
|
|
:param dict repr_opts: Options used to retrieve the IMR. See
|
|
- `parse_rfc7240` for format details.
|
|
|
|
|
|
+ :py:meth:`~lakesuperior.endpoints.ldp.parse_repr_options` for
|
|
|
|
+ format details.
|
|
:param str provided_imr: RDF data provided by the client in
|
|
:param str provided_imr: RDF data provided by the client in
|
|
operations such as `PUT` or `POST`, serialized as a string. This
|
|
operations such as `PUT` or `POST`, serialized as a string. This
|
|
- sets the `provided_imr` property.
|
|
|
|
|
|
+ sets the :py:data:`~Ldpr.provided_imr` property.
|
|
"""
|
|
"""
|
|
self.uid = (
|
|
self.uid = (
|
|
rdfly.uri_to_uid(uid) if isinstance(uid, URIRef) else uid)
|
|
rdfly.uri_to_uid(uid) if isinstance(uid, URIRef) else uid)
|
|
@@ -264,6 +265,17 @@ class Ldpr(metaclass=ABCMeta):
|
|
return self._metadata
|
|
return self._metadata
|
|
|
|
|
|
|
|
|
|
|
|
+ @property
|
|
|
|
+ def user_data(self):
|
|
|
|
+ """
|
|
|
|
+ User-defined triples.
|
|
|
|
+ """
|
|
|
|
+ if not hasattr(self, '_user_data'):
|
|
|
|
+ self._user_data = rdfly.get_user_data(self.uid)
|
|
|
|
+
|
|
|
|
+ return self._user_data
|
|
|
|
+
|
|
|
|
+
|
|
@metadata.setter
|
|
@metadata.setter
|
|
def metadata(self, rsrc):
|
|
def metadata(self, rsrc):
|
|
"""
|
|
"""
|
|
@@ -339,7 +351,8 @@ class Ldpr(metaclass=ABCMeta):
|
|
|
|
|
|
@property
|
|
@property
|
|
def types(self):
|
|
def types(self):
|
|
- """All RDF types.
|
|
|
|
|
|
+ """
|
|
|
|
+ All RDF types, both server-managed and user-defined.
|
|
|
|
|
|
:rtype: set(rdflib.term.URIRef)
|
|
:rtype: set(rdflib.term.URIRef)
|
|
"""
|
|
"""
|
|
@@ -352,7 +365,7 @@ class Ldpr(metaclass=ABCMeta):
|
|
else:
|
|
else:
|
|
return set()
|
|
return set()
|
|
|
|
|
|
- self._types = set(metadata[self.uri: RDF.type])
|
|
|
|
|
|
+ self._types = set(metadata[self.uri: RDF.type]) | self.user_types
|
|
|
|
|
|
return self._types
|
|
return self._types
|
|
|
|
|
|
@@ -369,6 +382,18 @@ class Ldpr(metaclass=ABCMeta):
|
|
return self._ldp_types
|
|
return self._ldp_types
|
|
|
|
|
|
|
|
|
|
|
|
+ @property
|
|
|
|
+ def user_types(self):
|
|
|
|
+ """User-defined types.
|
|
|
|
+
|
|
|
|
+ :rtype: set(rdflib.term.URIRef)
|
|
|
|
+ """
|
|
|
|
+ if not hasattr(self, '_ud_types'):
|
|
|
|
+ self._ud_types = self.user_data[self.uri: RDF.type]
|
|
|
|
+
|
|
|
|
+ return self._ud_types
|
|
|
|
+
|
|
|
|
+
|
|
## LDP METHODS ##
|
|
## LDP METHODS ##
|
|
|
|
|
|
def head(self):
|
|
def head(self):
|