The library(semweb/rdfs) 
library adds interpretation of the triple store in terms of concepts 
from RDF-Schema (RDFS). There are two ways to provide support for more 
high level languages in RDF. One is to view such languages as a set of entailment 
rules. In this model the rdfs library would provide a predicate rdfs/3 
providing the same functionality as rdf/3 
on union of the raw graph and triples that can be derived by applying 
the RDFS entailment rules.
Alternatively, RDFS provides a view on the RDF store in terms of 
individuals, classes, properties, etc., and we can provide predicates 
that query the database with this view in mind. This is the approach 
taken in the library(semweb/rdfs.p)l library, providing 
calls like
rdfs_individual_of(?Resource, ?Class).5The 
SeRQL language is based on querying the deductive closure of the triple 
set. The SWI-Prolog SeRQL library provides entailment modules 
that take the approach outlined above.
The predicates in this section explore the rdfs:subPropertyOf,
rdfs:subClassOf and rdf:type relations. Note 
that the most fundamental of these, rdfs:subPropertyOf, is 
also used by rdf_has/[3,4].
rdfs:subPropertyOf relation. It can be used to test as well 
as generate sub-properties or super-properties. Note that the commonly 
used semantics of this predicate is wired into rdf_has/[3,4].bugThe 
current implementation cannot deal with cycles.bugThe 
current implementation cannot deal with predicates that are an rdfs:subPropertyOf 
of rdfs:subPropertyOf, such as owl:samePropertyAs.rdfs:subClassOf relation. It can be used to test as well as 
generate sub-classes or super-classes.bugThe 
current implementation cannot deal with cycles.rdf:type property that refers to
Class or a sub-class thereof. Can be used to test, generate 
classes Resource belongs to or generate individuals described 
by Class.
The 
RDF construct rdf:parseType=Collection 
constructs a list using the rdf:first and rdf:next 
relations.
rdf:List or rdfs:Container.rdf:List 
into a Prolog list of objects.user.