RDF schemas

Here are a few RDF schemas, by category. This list is not complete, but is a nice starting point.

See RDF basics at the Semantic Web page for the concept of RDF, and RDF Applications for some application using these RDF schemas.

Recommended namespace prefix
In XML, you need to specify namespaces by using a prefix. While you are free to pick the prefix you like, your XML becomes more readable if you use the same prefix as other people uses.

Resource Description Framework (RDF)
The RDF schema allows you to make statements. It contains the basic concepts, such as rdf:about, rdf:resource, and rdf:type.

The best start is to read the RDF Primer: http://www.w3.org/TR/rdf-primer/

RDF Classes: XMLLiteral, Property, Bag, Seq, Alt, List, Statement

RDF Predicates: type, value, first, rest, nil, subject, predicate, object, li

XML Elements: RDF

XML Attributes: datatype

Note that the schema and specification do not list rdf:li and rdf:_1. For that, see the RDF/XML syntax document. In addition, rdf:RDF (to identify an XML-formated RDF document) and rdf:datatype are used but not formally defined.

RDF Schema (RDFS)
RDF allows you to make statements such as "MyAutomobile" "hasColor" "Blue", and "MyAutomobile" "type" "Car". RDFS allows you to define what your predicates ("hasColor") and classes ("Car") mean.

Next to that, RDFS defines seeAlso and isDefinedBy: two important concepts that allows you to point from one RDF document to another.

The best start is to read the RDF Primer: http://www.w3.org/TR/rdf-primer/

RDF Classes: Resource, Class, Literal, Datatype, Container, ContainerMembershipProperty

RDF Predicates: range, domain, subClassOf, subPropertyOf, label, comment, member, seeAlso, isDefinedBy

OWL
OWL (Web Ontology Language) adds more logic to RDF statements. For example, it can describe relations between classes (e.g. disjointness), cardinality (e.g. "exactly one"), equality, etc.

The best starting point for a short overview of all classes and predicates is the OWL Overview. For an introduction with example files and glossary, see the OWL Guide.

OWL has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL Full.

RDF Classes: Class, Thing, Nothing, Individual, AllDifferent, Ontology, ObjectProperty, DatatypeProperty, TransitiveProperty, SymmetricProperty, FunctionalProperty, InverseFunctionalProperty, Restriction, DeprecatedClass, DeprecatedProperty, AnnotationProperty, OntologyProperty

RDF Predicates: equivalentClass, equivalentProperty, sameAs, differentFrom, distinctMembers, inverseOf, onProperty, allValuesFrom, someValuesFrom, minCardinality, maxCardinality, cardinality, imports, intersectionOf, versionInfo, priorVersion, backwardCompatibleWith, incompatibleWith

RDF Predicates (OWL DL and OWL Full only, not in OWL Lite): oneOf, dataRange, disjointWith, equivalentClass, unionOf, complementOf, intersectionOf, minCardinality, maxCardinality, cardinality, hasValue

XML Schema and Datatypes (XSD)
The best start is to read the XML Schema Primer: http://www.w3.org/TR/xmlschema-0/

XSD is only relevant because the simple datatypes can be used as value in the rdf:datatype attribute, as desribed in XML Schema Datatypes in RDF and OWL. E.g. 3

Since XSD is not defined in RDF format, it does not define classes and predicates, but attributes:

XML Elements / rdf:datatype value (simple datatypes): string, boolean, decimal, float, double, dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay, gMonth, hexBinary, base64Binary, anyURI, normalizedString, token, language, NMTOKEN, Name, NCName, integer, nonPositiveInteger, negativeInteger, long, int, short, byte, nonNegativeInteger, unsignedLong, unsignedInt, unsignedShort, unsignedByte, positiveInteger

XML Elements (complex datatype and datatypes that can't be used in RDF or OWL): facet, localSimpleType, noFixedFacet, numFacet, topLevelSimpleType, derivationControl, duration, ENTITIES, ENTITY, ID, IDREF, IDREFS, NMTOKENS, NOTATION, QName, simpleDerivationSet

XML Elements (scheme): schema, complexType, complexContent, simpleContent, extension, element, group, all, choice, sequence, any, anyAttribute, attribute, attributeGroup, unique, key, keyref, selector, field, include, import, redefine, notation, appinfo, documentation, annotation

XML Elements (facet): maxExclusive, minExclusive, maxInclusive, minInclusive, totalDigits, fractionDigits, length, minLength, maxLength, enumeration, pattern, whiteSpace

XML Elements (enumeration): list, union, restriction

Properties (not seen in the wild): bounded, cardinality, numeric, ordered

Note that the XSD definition is a bit vague; it requires human-interpretable comments. So the above may not be entirally correct.

XML Schema instance (XSI)
The best start is to read the XML Schema Primer: http://www.w3.org/TR/xmlschema-0/

Since XSI is not defined in RDF format, it does not define classes and predicates, but attributes:

XML Attributes: type, nil, schemaLocation, noNamespaceSchemaLocation

Note that the XSI is probably even vaguer then the XSD definition; it requires human-interpretable comments. So the above may not be entirally correct.

Only xsi:type seem to be used in combination with RDF, in particular in combination with the dcterms classes. e.g.: NZ

XML Facet and Property Schema
The best start is to read the XML Schema Primer: http://www.w3.org/TR/xmlschema-0/

The XML Facet and Property Schema is actually defined in combination with the XSD Datascheme, but it is defined in another (little used) namespace. Facets are the restrictions, so you can define a minute as DataType integer with restriction in value of {0..59}.

Since XSD is not defined in RDF format, it does not define classes and predicates, but attributes:

XML Elements: hasFacet, hasProperty

vCard
This scheme maps vCards (RFC 2426) to RDF. The informational document is an excellent read, and even shows how to represent it in simple XML, which gives you a good idea of the differences between XML and RDF.

Note that: FN = Full Name, BDAY = birthday, N = name, ADR = address, and ORG = organization.

RDF Predicates: FN, NICKNAME, BDAY, MAILER, GEO, TITLE, ROLE, CATEGORIES, NAME, SOURCE, NOTE, PRODID, REV, SORT-STRING, CLASS

RDF Predicates (groups): N, ADR, ORG, TEL, EMAIL, GROUP, PHOTO, LOGO, SOUND, KEY, AGENT, UID

RDF Predicates (of N, ADR and ORG): Family, Given, Other, Prefix, Suffix, Pobox, Extadd, Street, Locality, Region, Pcode, Country, Label, TZ, Orgname, Orgunit

RDF Attributes TYPE, ENCODING

RDF Classes (types): home, msg, work, pref, voice, fax, cell, video, pager, bbs, modem, car, isdn, pcs, internet, x400, dom, intl, postal, parcel, text

The type classes are to be used in conjunction with the rdf:value and rdf:type predicates:  +61 7 555 5555  

Note that attributes can be represented in a N3 notation as predicates:  [Base 64 data]  translates to: genid:1  vCard:TYPE     image/jpeg genid:1  rdf:value      [Base 64 data]
 * 1) me      vCard:PHOTO    genid:1

Photoshop
The photoshop schema is widely used in XMP data (JPG, PNG, TIFF images). Since it precedes the vCards RDF, it replicates a lot of that work.

RDF Predicates: City, State, Country, TransmissionReference, Credit, Source, DateCreated

Geo
Geo simply defines predicates to point to a latitude and longitude. The standard never seems to explicitly define the sign, but it follows convention of WGS84 ("GPS coordinates"):
 * Latitude: decimal degrees; positive = North
 * Longitude: decimal degrees; positive = East
 * Altitude: decimal meters

RDF Classes: SpatialThing, Point

RDF Predicates: lat, long, alt

FOAF
The Friend of a Friend (FOAF) project defines a vocabulary for describing people, the links between them and the things they create and do, according to their website.

Unfortunately, the current specification of FOAF (0.1) does not seem very polished, probably because it tries to tackle a too broad range of subjects. It is probably too immature to use for a serious purpose. The two main merits are that it makes the concept of the semantic web in combination with RDF accessible for a wider range of people, and that it touches upon business contacts, even more so than vCard. Hopefully the specification will evolve to a mature businesscard vocabulary, perhaps merging with the vCard-RDF proposal, while pointing to XFN for social networks and DC for published documents.

RDF Classes: Agent, Person, OnlineAccount, OnlineChatAccount, OnlineEcommerceAccount, OnlineGamingAccount, Project, Organization, Group, Document, Image, PersonalProfileDocument

RDF Predicates: name, nick, title, homepage, mbox, mbox_sha1sum, img, depiction, surname, family_name, givenname, firstName, weblog, knows, interest, currentProject, pastProject, plan, based_near, workplaceHomepage, workInfoHomepage, schoolHomepage, topic_interest, publications, geekcode, myersBriggs, dnaChecksum, holdsAccount, accountServiceHomepage, accountName, icqChatID, msnChatID, aimChatID, jabberID, yahooChatID, member, membershipClass, fundedBy, theme, topic, primaryTopic, tipjar, sha1, made, thumbnail, logo

XFN
The Xhtml Friends Network is a specification to describe relations between people. According to a Google study in late 2005, XFN was the most popular metadata vocabulary in HTML, followed by the Dublin Core. However, it is still not widely used. However, it seems desirable that XFN is used over FOAF, since it defines very fine-grained relations, distinguishing between for example co-worker and colleague.

Unfortunately, XFN does not (yet) use RDF, but defines values to be used in HTML meta data. Fortunately, it seems relatively trivial to convert these values to RDF predicates with a person as the Subject (domain) and Object (range), and the authors acknowledge that: their website says "RDF coming soon" for quite a while now!

HTML meta values (may be used as RDF predicates): contact, acquaintance, friend, met, co-worker, colleague, co-resident, neighbor, child, parent, sibling, spouse, kin, muse, crush, date, sweetheart, me

Others
Do not to use the "contact" schema (http://www.w3.org/2000/10/swap/pim/contact#). Instead, use vCard.

Publication metadata
The following schemas define properties of publications. In particular, publication on websites (or even complete websites).

Dublin Core Elements (dc)
The Dublin Core metadata element set defines some basic classes and predicates. Note that a substantial amount of predicates are refined in the Dublin Core Terms (dcterms) vocabulary. You are recommended to use a refined predicates if it exists.

See also the pages on Dublin Core, which has an overview of the Dublic Core properties and classes (this is a summary of DCMI Metadata Terms).

Predicates: contributor, coverage, creator, date, description, format, identifier, language, publisher, relation, rights, source, subject, title, type

Dublin Core Terms (dcterms)
The Dublin Core Terms defines two refinements of the Dublin Core elements (dc). In addition, it defines encodings, like country codes, and library classification.

See also the pages on Dublin Core, which has an overview of the Dublic Core properties and classes (this is a summary of DCMI Metadata Terms).

Classess: Box, DCMIType, DDC, IMT, ISO3166, ISO639-2, LCC, LCSH, MESH, NLM, Period, Point, RFC1766, RFC3066, TGN, UDC, URI, W3CDTF

Predicates: abstract, accessRights, accrualMethod, accrualPeriodicity, accrualPolicy, alternative, audience, available, bibliographicCitation, conformsTo, created, dateAccepted, dateCopyrighted, dateSubmitted, educationLevel, extent, hasFormat, hasPart, hasVersion, instructionalMethod, isFormatOf, isPartOf, isReferencedBy, isReplacedBy, isRequiredBy, issued, isVersionOf, license, mediator, medium, modified, provenance, references, replaces, requires, rightsHolder, spatial, tableOfContents, temporal, valid

The classes can be used in XML schemas: NL As well as in RDF:  <dcterms:ISO3166>NL</dcterms:ISO3166> </dcterms:spatial>

Dublin Core Type Vocabulary (dctype)
The Dublin Core Type Vocabulary defines generic object types, like Event, Collection, Physical Object, etc. This can be used in conjunctions with rdfs:subClassOf.

Classess: Collection, Dataset, Event, Image, InteractiveResource, MovingImage, PhysicalObject, Service, Software, Sound, StillImage, Text

Creative Commons Licensing (cc)
Creative Commons allows to define Licensing terms. In particular, it lists the restrictions upon which people can re-use content. A good starting point regarding Creative Common licences is License Your Work.

Classess: Work, Agent, License, Permission, Requirement, Prohibition, PublicDomain, Reproduction, Distribution, DerivativeWorks, Notice, Attribution, ShareAlike, SourceCode, CommercialUse

Predicates: license, permits, requires, prohibits, derivativeWork

Content Labels (label)
Content Labels are tags to make a common rating for content. For example, a content label can say that a picture contains nudity. The Content Label does not allow that, but instead allows to create an RDF scheme to do so.

In my opinion, it's not very interesting. The only schema to use this schema is the ICRA (former PICS) rating. It may be interesting to note the URI grouping properties to define a website though; that part may be re-used for ICRA and CC.

Classes: ContentLabel, Category, Modifier, Ruleset, Hosts, UnionOf, IntersectionOf

Predicates: descriptor, hasDescriptor, isMoreSevereThan, hasModifier, hasDefaultLabel, hasLabel, hasDefaultManagementInfo, hasManagementInfo, hasDefaultClassification, hasClassification, hasFrequentScenes, hasSeveralScenes, hasOccasionalScenes, hasSingleScene, hasHostRestrictions, hostRestriction, hasURI, authorityFor

Internet Content Rating (ICRA)
ICRA, the Internet Content Rating Association, has defined an RDF schema based on the W3C label schema to label websites. An ICRA label facilitates parent filter software to protect children from seeing undesirable websites.

While this initiative is applaudable, I have the feeling that the usage of RDF is not particular good. I wouldn't use the classes and predicates for any other use than this.

Classes (subClassOf label:Category): nx, sx, vx, lx, ox, cx

Classes (subClassOf label:Modifier): xa, xb, xc, xd, xe

Predicates: icraDescriptor

Predicates (subClassOf icra:icraDescriptor): na, nb, nc, nz, sa, sb, ...., cz

P3P
P3P is W3C's Privacy Preferences Project. It allows websites to express their privacy settings (usage of cookies, etc.). P3P is not natively defined in RDF, but in simple XML. An RDF schema for P3P exists, and is based on P3P 1.0 (the latest version of P3P is 1.1).

For comparision between the original XML and derivate RDF schema, compare or http://www.w3.org/TR/P3P/base (original XML schema in XSD format) and http://www.w3.org/TR/p3p-rdfschema/p3p-rdf-schema.xml (derivate RDF schema in RDFS format).

Classes: PolicyResource, PolicyRefResource, PolicyReferences, Expiry, PolicyRef, Hint, CookieDescription, Policy, Disclosure, OptInstructions, Test, Business, AccessClass, Access, DisputeResolution, DisputeResolution-customer-service, &p3p;DisputeResolution-independent-organization, DisputeResolution-court, DisputeResolution-applicable-law, Remedy, RemedyClass, Statement, NonIdentifiable, Purpose, PurposeClass, Recipient, RecipientClass, RetentionPolicy, RetentionPolicyClass, Category, CategoryClass, ExtOptional, ExtMandatory, RelativeClass, DataElement, UnstructuredDataElement, StructuredDataElement, StructuredDataElementClass, UnstructuredDataElementClass, DataElementComponent, Image

Predicates: expiry, abs-date, max-age, start-time, about, base, include, exclude, hint, hintScope, hintPath, includeCookies, excludeCookies, cookieDomain, cookiePath, cookieValue, cookieName, method, disclosure, optInstructions, entity, access, disputeResolution, service, verification, remedy, statement, consequence, purpose, purposeAlways, purposeOptIn, purposeOptOut, recipient, recipientAlways, recipientOptIn, recipientOptOut, recipient-description, retention, data, optionalData, category, extOptional, extMandatory, relativeTo, extends, imageWidth, imageHeight, imageAltText, shortDescription, longDescription, image

Other
Do not to use "doc" (http://www.w3.org/2000/10/swap/pim/doc#). Instead, use Dublin Core.

RSS 1.0
RSS, is a way to publish short headlines on a website. RSS stands for RDF Site Summary, Rich Site Summary, or Really Simple Syndication, depending whom you ask.

RSS 1.0 is a slightly older standard. The successor is Atom, which is standardized by the IETF. However, Atom is specificied as an XML schema, not as a RDF schema. There are some attempts to translate the Atom specification to RDF, but that is not wide-spread.

Classess: channel, image, item, textinput

Predicates: items, title, link, url, description, name

RSS Syndication
Syndication is an extension to the RSS 1.0 specification, defining how often a feed is updated.

Predicates: updatePeriod, updateFrequency, updateBase

RSS Content
Content is an extension to the RSS 1.0 specification, allowing for structured (HTML) content (as oppossed to plain text).

Classes: item

Predicates: encoded, items, format

NDL
The NDL schema allows to describe a network topology on a single layer.

Classess: Device, Interface, Location,

Predicates: connectedTo, linkTo, switchedTo, hasInterface, locatedAt

Other schemas
Links:
 * Top 100 most common RDF namespaces.
 * SchemaWeb, a directory or RDF schemas.
 * DAML Ontology Library

An other good starting point is to look at actual RDF Applications, which includes XMP (Image Metadata; all Adobe applications) and PDF (Document Metadata).

Other interesting name spaces may be: prism "http://prismstandard.org/namespaces/basic/1.0/":mentioned in RDF primer
 * wot "http://xmlns.com/wot/0.1/":?? Pointed to in the FOAF RDFS
 * vs "http://www.w3.org/2003/06/sw-vocab-status/ns#":Some versioning? Pointed to in the FOAF RDFS
 * MetaVocab "http://webns.net/mvcb/":seems to define only one element, the Prefix, specifying a prefered prefix for a namespace (e.g. "geo" for "http://www.w3.org/2003/01/geo/wgs84_pos#").
 * "http://www.getty.edu/vocabularies/ulan":Arts vocabulary. Used at http://e-culture.multimedian.nl/demo/search
 * http://www.w3.org/2001/04/infoset:RDF schema for the XML information set.
 * earl "http://www.w3.org/WAI/ER/EARL/nmg-strawman#":Evaluation and Report Language (EARL)
 * prl "http://prismstandard.org/namespaces/prl/1.0/":mentioned in RDF primer
 * pcv "http://prismstandard.org/namespaces/pcv/1.0/":mentioned in RDF primer
 * xpackage "http://xpackage.org/namespaces/2003/xpackage#":mentioned in RDF primer
 * mime "http://xpackage.org/namespaces/2003/mime#":mentioned in RDF primer
 * x "http://xpackage.org/namespaces/2003/xml#":mentioned in RDF primer
 * xlink "http://www.w3.org/1999/xlink":mentioned in RDF primer
 * xp "http://au.com.Langdale/2000/Xpetal":mentioned in RDF primer
 * cims "http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#":mentioned in RDF primer
 * prf="http://www.wapforum.org/profiles/UAPROF/ccppschema-20010330#":mentioned in RDF primer
 * mms="http://www.wapforum.org/profiles/MMS/ccppschema-20010111#":mentioned in RDF primer

XMP
Some frequently found namespaces in XMP, besides the omni-present "photoshop" namespace:


 * tiff "http://ns.adobe.com/tiff/1.0/":TIFF file format, apparently
 * xap "http://ns.adobe.com/xap/1.0/":Apparantly has only one predicate: "Rating" (a value from 1 to 5), giving the user rating of an image, movie or song.
 * xapRights "http://ns.adobe.com/xap/1.0/rights/":Defines predicate "UsageTerms", which is a string. Used in XMP. Better use Creative Commons though.
 * mediapro "http://ns.iview-multimedia.com/mediapro/1.0/":Extension by the MediaPro application. Defines tags like Event, People (an rdf:Bag of string items)
 * Iptc4xmpCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/":Most like IPTC data, I presume, re-encoded in RDF. IPTC is beside EXIF a large standard for metadata in images.
 * pdf "http://ns.adobe.com/pdf/1.3/":??

To understand the meaning, please check the excellent Exiftool information page on XMP