Belongs to the 2009-03/Leap2A specification > predicates
This page specifies relationships between portfolio items, or entries.
Relationships between items are normally represented using atom:link sub-elements of relevant atom:entry elements. There are two exceptions.
For relationships using atom:link
Contents |
<author> <name>Mark Pilgrim</name> <uri>http://example.org/</uri> <email>f8dy@example.com</email> </author>
(Example taken from the Atom documentation.)
Atom requires every entry to have an author. If the author is not defined for a particular entry, it is inherited from the feed author,
where it has to be defined if there are any authors left out of entries.
The atom:author element is
an atom person construct that must have a name,
can have an e-mail address and can have a URI.
If there is a separate person entry defined for that person,
the URI should be the (internal) URI of that person entry. E.g.
<uri>portfolio:person_153</uri>
If there is no person entry, the URI may instead be a personal URI in the sense envisaged in FOAF, etc.
This is a relationship, as if the author has a person entry attached, the internal URL of that entry should be used as the author uri.
If there is no URI, the author could be considered more as a literal.
Note: rel="related" is Atom, not Leap2A, given in page 22 of the Atom spec. As in other cases, Leap2A prefers native Atom where it is defined.
<link rel="related" href="..." />
Inverse: relation
This is the basic default relationship, and is non-directional, simply asserting that a relationship exists.
This corresponds to dc:relation (URI).
Use this if nothing can be reliably represented about the nature of the relationship.
For discussion of the terminology used, please see this e-mail topic
This is an Atom relationship, specifically to be used to identify a file or other resource that provides an alternate, equivalent, representation of the content of a resource entry. Use:
<link rel="alternate" href="..." />
These relationships were considered to be needed to clarify which entries or other types of record express reflections on which other ones. Typically they are used to connect two things where the user interface invites the user to enter their reflections on something.
<link rel="leap:reflects_on" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#reflects_on" href="..." />
Inverse: reflected on by
<link rel="leap:reflected_on_by" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#reflected_on_by" href="..." />
Inverse: reflects on
The relationships here are very general purpose, and include two closely related concepts. One is structural or inherent whole-part relations, generally between items of the same type, and the other is the relation between a selection (collection, presentation, etc.) and its components. This includes relating blog feeds and CVs to the entries that make them up. CVs are in essence a selection of other information.
The basic relationships, "has part" and "is part of", work for unordered selections. Where ordering is needed, for example to represent the order of entries in a blog, either or both of two extra new attributes are added.
Display order and when added must be represented identically at both ends of the relationship.
In terms of the paper, "Representing Order in RDF", this approach would appear to be closest to the "ternary" option.
In a multi-level whole-part hierarchy, part relationships must only be represented between adjacent levels: the whole-part relationship is only immediate, not transitive. Thus, if A has part B, and B has part C, A must NOT have part C. The necessity for this is even clearer where the relationship has ordering attributes.
<link rel="leap:has_part" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#has_part" href="..." />
or, to indicate an ordered part:
<link rel="leap:has_part" leap:display_order="2" leap:when_added="2009-02-27T07:19:30+00:00" href="..." />
Inverse: is part of
Optional attributes: display_order; when_added
<link rel="leap:is_part_of" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#is_part_of" href="..." />
or, to indicate being an ordered part of something:
<link rel="leap:is_part_of" leap:display_order="2" leap:when_added="2009-02-27T07:19:30+00:00" href="..." />
Inverse: has part
Optional attributes: display_order; when_added
These two concepts are sometimes, but not always, linked.
Supports and supported by are general contributory or causal relationships, which other more specific ones can degrade into.
The concept of evidence is well understood within PDP and portfolio practice. No particular quality or type of evidence is implied. Evidence includes entries describing or explaining what evidence there is.
<link rel="leap:supports" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#supports" href="..." />
Inverse: supported by
Note: an organization supports any activity that belong to them.
<link rel="leap:supported_by" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#supported_by" href="..." />
Inverse: supports
<link rel="leap:has_evidence" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#has_evidence" href="..." />
Inverse: is evidence of
<link rel="leap:is_evidence_of" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#is_evidence_of" href="..." />
Inverse: has evidence
These relationships are specifically designed for meetings, but could be used elsewhere. Any item can be an agenda item, or an entry can give a listed agenda for a meeting. Outcomes can be specific entries with the outcomes (or minutes) written down, or they can be other items, particularly plans, or potentially achievements.
<link rel="leap:has_agenda" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#has_agenda" href="..." />
Inverse: is agenda of
Can degrade to supported by.
<link rel="leap:is_agenda_of" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#is_agenda_of" href="..." />
Inverse: has agenda
Can degrade to supports.
<link rel="leap:has_outcome" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#has_outcome" href="..." />
Inverse: is outcome of
Can degrade to supports.
<link rel="leap:is_outcome_of" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#is_outcome_of" href="..." />
Inverse: has outcome
Can degrade to supported by.
<link rel="leap:attended_by" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#attended_by" href="..." />
Inverse:attends
Can degrade to supported by.
For relating meetings to people who attend them.
<link rel="leap:attends" href="..." /> or <link rel="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#attends" href="..." />
Inverse:attended by
Can degrade to supports.
For relating people to meetings they attend.
These are supported natively by Atom Threading Extensions.
<link rel="replies" href="..." />
Inverse: in reply to
Can degrade to supports.
This has a similar intent as in the Atom documentation,
but rather than linking to another feed that contains several replies, as Atom does,
here we specify one href in each link pointing directly to a single other entry, and multiple link elements if there is more than one reply.
Atom has "replies" in the plural, but here it is understood as a singular "reply", so that it can be an inverse relationship to "in reply to".
Other attributes of link are not expected.
<thr:in-reply-to ref="..." ... />
Note the hyphens in the Atom Threading version of this. If this is used, the following namespace should be defined in the first element of the document:
xmlns:thr="http://purl.org/syndication/thread/1.0"
(see Section 3 of the Threading documentation)
Inverse: has reply
Can degrade to supported by.
This is used as a direct sub-element of an entry.
Note particularly that it is the "ref" attribute, not the "href" attribute, that should be used,
to stay as close as possible to the original specification.
Nothing was specified in this 2009-03 version of Leap2A specifically for attachments. See the working proposals as part of the Leap2A relationships page.
To use CURIEs with Leap2A relationships, you should have the leap namespace defined something like this
xmlns:leap="http://wiki.cetis.ac.uk/2009-03/Leap2A_predicates#"
in the opening element of the XML. Then, for example, instead of the entry example, you would use
<link rel="leap:supports" href="..." />
in place of the example given above for supports.