RDF-star (soon to be RDF 1.2) introduces a new term, quoted triples, that can be the subject or object of a triple. In the Turtle 1.2 syntax, an example of a basic quoted triple would be written:
<< <IRI1> <IRI2> <IRI3> >>
Now suppose that I want to have the range of a property include not just a specific quoted triple but a class containing certain kinds of quoted triples. In particular, the quoted triples I want to allow in the range of the property are of the form:
<< (instance of class C) (predicate P) (instance of class C) >>
How does one define the class of quoted triples of this form in RDF 1.2/RDF-star, so that one can say that the range of a property includes instances of that class?
I tried using something like the following:
<predicate1>
rdf:type owl:ObjectProperty;
rdfs:range [
rdf:type owl:Class;
[
<< [rdf:type <classC>] <predicateP> [rdf:type <classC>] >>
]
].
However, I don't think that what follows owl:class
is even valid Turtle 1.2, much less that it is semantically correct. (I am also not sure if there are reliable Turtle 1.2/Turtle-star validators, so recommendations there are also appreciated.)