|
|
|
@ -50,24 +50,33 @@
|
|
|
|
|
(s/and
|
|
|
|
|
::owl/ObjectProperty
|
|
|
|
|
::Class
|
|
|
|
|
(s/or ::Object
|
|
|
|
|
::Link)))
|
|
|
|
|
::Object
|
|
|
|
|
::Link))
|
|
|
|
|
|
|
|
|
|
;http://www.w3.org/ns/activitystreams#object
|
|
|
|
|
(s/def ::Object
|
|
|
|
|
(s/keys :opt-un [::id ::Class]))
|
|
|
|
|
(defmulti object-type map?)
|
|
|
|
|
(defmethod object-type true [_]
|
|
|
|
|
(s/and ::Class
|
|
|
|
|
(s/keys :opt-un [::id])))
|
|
|
|
|
(defmethod object-type false [_]
|
|
|
|
|
(s/and ::Class))
|
|
|
|
|
(s/def ::Object object-type)
|
|
|
|
|
|
|
|
|
|
;http://www.w3.org/ns/activitystreams#Link
|
|
|
|
|
;TODO: definition in progress
|
|
|
|
|
(s/def ::Link (s/keys :opt-un [::id]))
|
|
|
|
|
(defmulti link-type map?)
|
|
|
|
|
(defmethod link-type true [_]
|
|
|
|
|
(s/and ::Class
|
|
|
|
|
(s/keys :opt-un [::id])))
|
|
|
|
|
(defmethod link-type false [_]
|
|
|
|
|
(s/and ::Class))
|
|
|
|
|
(s/def ::Link link-type)
|
|
|
|
|
|
|
|
|
|
;TODO: There is no as:Class! Why do we need this?
|
|
|
|
|
;Answer jem: I do not want to enhance owl/Class inline from here.
|
|
|
|
|
(s/def
|
|
|
|
|
::Class
|
|
|
|
|
(s/and ::owl/Class
|
|
|
|
|
))
|
|
|
|
|
;(s/keys :opt-un [::id ::object])))
|
|
|
|
|
(s/and ::owl/Class))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;http://www.w3.org/ns/activitystreams#Like
|
|
|
|
|