2.8 KiB
receipts to transform ttl to spec
a
it is a something
Example:
as:id a owl:DatatypeProperty ,
owl:FunctionalProperty,
Maps to
(s/def ::id
(s/and
::owl/DeprecatedProperty
::owl/FunctionalProperty))
Der token a
in einer ttl Definition entspricht dem RDF-Prädikat rdf:type
. Siehe:
Das bedeutet für das Tripel: (R, rdf:type, C) => C instanceof rdfs:Class & R instanceof C
rdfs:range
its value is defined in a rdfs:range the range
If range links to an other definition we map range same as a.
Example:
as:id rdfs:range xsd:anyURI ;
Maps to
(s/def ::id
(s/and
...
::xsd/anyURI))
rdfs:domain
it belong to a rdfs:domain owner
owner is a type
We ignore this.
Example in namespace activitypub2
as:id rdfs:domain [a owl:Class;]
Maps to
owner is a owl:unionOf types
It is added to the owner. That's the way to model properties. If the owner is membe of an other namespace, we create a subclass with same name in the namespce in scope and enhance the subclass.
Example in namespace activitypub2
as:id rdfs:domain [owl:unionOf (as:Link as:Object)]
Maps to
(s/def ::Object (sh/map-spec (s/keys :opt [::id ...])))
(s/def ::Link (sh/map-spec (s/keys :opt [::id])))
rdfs:subClassOf
its value a rdfs:subClassOf the class
If subClassOf links to an other definition we map range same as a.
Example:
as:Activity rdfs:subClassOf as:Object ;
Maps to
(s/def ::Object ...)
(s/def ::Activity
(s/and
...
::Object
...))
Further infos
RDF/S
range (https://www.w3.org/TR/rdf12-schema/#ch_range)
"P rdfs:range C" indicates that:
- P is an instance of the class rdf:Property
- C is an instance of the class rdfs:Class
- all the resources denoted by the objects of triples whose predicate is P are instances of the class C. =>Bedeutet(?): Es gilt: Tupel = (Subjekt, Prädikat, Objekt): => Wenn (P, rdfs:range, C) & (S, P, C2) => C2 is instance of C