activity-pub-poc/doc/Translate_ttl_to_spec.md

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 ::DatatypeProperty any?)
(s/def ::FunctionalProperty any?)

(s/def ::id 
    (s/and 
        ::DeprecatedProperty 
        ::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 ::anyURI p/uri-string?)

(s/def ::id 
    (s/and 
        ...
        ::anyURI))

rdfs:domain

it belong to a rdfs:domain owner

owner is a type

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 [a owl:Class;]

Maps to

(s/def
  ::Class
  (s/merge ::owl/Class
           (s/keys :opt-un [::id])))

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 (s/keys :opt-un [::id ...]))


(s/def ::Link (s/keys :opt-un [::id]))

Further infos

RDF/S

range (https://www.w3.org/TR/rdf12-schema/#ch_range)

"P rdfs:range C" indicates that:

  1. P is an instance of the class rdf:Property
  2. C is an instance of the class rdfs:Class
  3. 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

type (https://www.w3.org/TR/rdf12-schema/#ch_type)