
rdfs.pl -- RDFS handlingThis module provides various primitives for more high-level handling of RDF models from an RDFS viewpoint. Note that there exist two approaches for languages on top of RDF:
rdfs_subproperty_of(+SubProperty, ?Property) is nondet
rdfs_subclass_of(+Class, ?Super) is nondetAccording to production 2.4 "rdfs:Datatype", Each instance of rdfs:Datatype is a subclass of rdfs:Literal.
rdfs_individual_of(+Resource, +Class) is semidet
rdfs_individual_of(+, -) does not exploit domain and range
properties, deriving that if rdf(R, P, _) is present R must
satisfy the domain of P (and similar for range).
There are a few hacks:
literal(_) is an individual of rdfs:Literal
rdfs_label(+Resource, -Label)
rdfs_label(+Resource, ?Lang, -Label) is multi
rdfs_ns_label(+Resource, -Label) is multi
rdfs_ns_label(+Resource, ?Lang, -Label) is multi
rdfs_class_property(+Class, ?Property)
rdfs_member(?Element, +Set)
rdfs_list_to_prolog_list(+RDFSList, -PrologList)
rdfs_assert_list(+Resources, -List) is det
rdfs_assert_list(+Resources, -List, +DB) is det
rdfs_find(+String, +Domain, ?Properties, +Method, -Subject)
domain is defined by owl_satisfy from owl.pl
Note that the rdfs:label field is handled by rdfs_label/2, making the URI-ref fragment name the last resort to determine the label.
The following predicates are exported, but not or incorrectly documented.
rdfs_ns_label(Arg1, Arg2, Arg3)
rdfs_assert_list(Arg1, Arg2, Arg3)