Did you know ... Search Documentation:
rdf11_containers.pl -- RDF 1.1 Containers
PublicShow source

Implementation of the conventional human interpretation of RDF 1.1 containers.

RDF containers are open enumeration structures as opposed to RDF collections or RDF lists which are closed enumeration structures. The same resource may appear in a container more than once. A container may be contained in itself.


author
- Wouter Beek
- Jan Wielemaker
version
- 2016/01
See also
- http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_containervocab
Compatibility
- RDF 1.1
Source rdf_alt(+Alt, ?Default, ?Others) is nondet
True when Alt is an instance of rdf:Alt with first member Default and remaining members Others.

Notice that this construct adds no machine-processable semantics but is conventionally used to indicate to a human reader that the numerical ordering of the container membership properties of Container is intended to only be relevant in distinguishing between the first and all non-first members.

Default denotes the default option to take when choosing one of the alternatives container in Container. Others denotes the non-default options that can be chosen from.

Source rdf_assert_alt(?Alt, +Default, +Others:list) is det
Source rdf_assert_alt(?Alt, +Default, +Others:list, +Graph) is det
Create an rdf:Alt with the given Default and Others. Default and the members of Others must be valid object terms for rdf_assert/3.
Source rdf_bag(+Bag, -List:list) is nondet
True when Bag is an rdf:Bag and set is the set values related through container membership properties to Bag.

Notice that this construct adds no machine-processable semantics but is conventionally used to indicate to a human reader that the numerical ordering of the container membership properties of Container is intended to not be significant.

Source rdf_assert_bag(?Bag, +Set:list) is det
Source rdf_assert_bag(?Bag, +Set:list, +Graph) is det
Create an rdf:Bag from the given set of values. The members of Set must be valid object terms for rdf_assert/3.
Source rdf_seq(+Seq, -List:list) is nondet
True when Seq is an instance of rdf:Seq and List is a list of associated values, ordered according to the container membership property used.

Notice that this construct adds no machine-processable semantics but is conventionally used to indicate to a human reader that the numerical ordering of the container membership properties of Container is intended to be significant.

Source rdf_assert_seq(?Seq, +List) is det
Source rdf_assert_seq(?Seq, +List, +Graph) is det
Source rdfs_container(+Container, -List) is nondet
True when List is the list of objects attached to Container using a container membership property (rdf:_0, rdf:_1, ...). If multiple objects are connected to the Container using the same membership property, this predicate selects one value non-deterministically.
Source rdfs_container_membership_property(?Property) is nondet
True when Property is a container membership property (rdf:_1, rdf:_2, ...).
Source rdfs_container_membership_property(?Property, ?Number:nonneg) is nondet
True when Property is the Nth container membership property.

Success of this goal does not imply that Property is present in the database.

Source rdfs_member(?Elem, ?Container) is nondet
True if rdf(Container, P, Elem) is true and P is a container membership property.
Source rdfs_nth0(?N, ?Container, ?Elem) is nondet
True if rdf(Container, P, Elem) is true and P is the N-th (0-based) container membership property.

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

Source rdf_assert_alt(Arg1, Arg2, Arg3, Arg4)
Source rdf_assert_seq(Arg1, Arg2, Arg3)
Source rdf_assert_bag(Arg1, Arg2, Arg3)