[an error occurred while processing this directive]

Product page for Perssert. [] (Perssert), product page, page 722041
http://www.purl.org/stefan_ram/pub/perssert (canonical URI).
Stefan Ram

Perssert

Perssert  allows to write assertions and their sources.

Source

A Perssert -sheet starts with a source specification. This might be the author of the sheet.

A source specification
b( 'Jack' );

This source specification applies to all assertions following it (up to the next source specification).

Assertion with notions

An assertion is made up of a subject, a predicate  and an object.

A subject, predicate, or an object is a role of a notion. A source also is a notion.

The subject is specified using "t". The predicate and object is given using "a".

The following example shows how the assertion “The moon orbits the earth.” is written.

An Assertion
t( 'the moon' );

a( 'orbits', 'the earth' );

More assertions about the same subject might follow, without the need to repeat the subject. The next example shows a complete sheet with two assertions.

A complete sheet with two assertions
b( 'Jack' );

t( 'the moon' );

a( 'orbits', 'the earth' );

a( 'is a', 'celestial body' );

Assertions about objects and predicates

Given the above explanation, it does not seem necessary to add this, but because some systems exclude this possibility, we feel forced to make clear, that a notion appearing as the predicate or object in one assertion might appear in another role in another assertion. For example, one might want to speak about the relation "orbits" or "the earth".

A sheet with some assertions
b( 'Jack' );

t( 'the moon' );

a( 'orbits', 'the earth' );

a( 'is a', 'celestial body' );

t( 'the earth' );

a( 'is a', 'celestial body' );

t( 'orbits' );

a( 'means', 'revolves around' );

Assertions with value object

There is another form of an assertion with a “value object”. Here, the "a"-form has three arguments. The third argument is the value object while the second gives the languages of that value object.

A sheet with some assertions
b( 'Jack' );

t( 'Jill' );

a( 'said', 'English', 'Hello, how are you?' );

A value object is not a notion. It can not be referred to directly, it can not appear as a subject.

Vocabulary

It might be a good idea to combine Perssert with a controlled vocabulary. But such a vocabulary is not part of the Perssert  language.

A sheet with a controlled vocabulary
b( ':concept/Jack' );

t( ':concept/the moon' );

a( ':relation/orbits', ':concept/the earth' );

a( ':relation/is a', ':concept/celestial body' );

t( ':concept/the earth' );

a( ':relation/is a', ':concept/celestial body' );

t( ':concept/orbits' );

a( ':relation/means', ':concept/revolves around' );

Assertions about sources

The system has not much support for more metadata, but it is possible to add arbitrary meta information using a special source. For example, if Jack would want to do so, he could add the date to his source specification. Or he might use a source specification as the subject.

A sheet with more source information
b( ':concept/Jack:2005-03-10' );

t( ':concept/the moon' );

a( ':relation/orbits', ':concept/the earth' );

a( ':relation/is a', ':concept/celestial body' );

b( ':concept/Jack:2005-03-12' );

t( ':concept/the earth' );

a( ':relation/is a', ':concept/celestial body' );

b( ':concept/Jack:2005-03-14' );

t( ':concept/orbits' );

a( ':relation/means', ':concept/revolves around' );

t( ':concept/Jack:2005-03-14' );

a( ':relation/writing that was', ':concept/fun' );

Reification

Reification of assertions was not needed jet. If it should be needed, it could possibly be added.

Example

Jack wants to describe his newsgroup-vocabulary and use it to describe some newsgroups.

A newsgroup vocabulary and its usage
b( ':concept/Jack' );

t( ':concept/Jack:newsgroup:tag_line' );

a( ':relation/description', ':concept/English', 'A short description of this newsgroup' );

t( ':concept/Jack:newsgroup/de.comp.lang.java' );

a( ':concept/Jack:newsgroup:tag_line', ':concept/text', 'Die Programmiersprache Java' );

This might look as if the notion ':concept/Jack:newsgroup:tag_line' was defined first and then used. However, such a definition is not necessary in Perssert. The same notion might as well be used without a definition:

Direct usage without an explicit „definition“
b( ':concept/Jack' );

t( ':concept/Jack:newsgroup/de.comp.lang.java' );

a( ':concept/Jack:newsgroup:tag_line', ':concept/text', 'Die Programmiersprache Java' );

So a „definition“ of a notion used is voluntary in Perssert.

Other Similar Systems

Some other systems that are similar to Perssert  are RDF  and BibTeX.

The following text is an example of a BibTeX  entry.

Gettys90.BibTeX
@article{Gettys90,

   author = {Jim Gettys and Phil Karlton},

   title = {The {X} Window System, Version 11}}

The following text is a translation of the above BibTeX  entry to Perssert.

Gettys90.Perssert
t( 'Gettys90' );

a( 'author', 'Jim Gettys' );

a( 'author', 'Phil Karlton' );

a( 'title', 'The X Window System, Version 11' );

In RDF  the same information might be rendered as follows.

Gettys90.XML
<RDF:RDF>

  <RDF:Description about="http://example.com/Gettys90">

    <Author>Jim Gettys</Author>

    <Author>Phil Karlton</Author>

    <Title>The X Window System, Version 11</Title>

    </RDF:Description>

  </RDF:RDF>

About this page, Impressum  |   Form for messages to the publisher regarding this page  |   "ram@zedat.fu-berlin.de" (without the quotation marks) is the email-address of Stefan Ram.   |   Beginning at the start page often more information about the topics of this page can be found. (A link to the start page appears at the very top of this page.)  |   Copyright 2004 Stefan Ram, Berlin. All rights reserved. This page is a publication by Stefan Ram. slrprd, PbclevtugFgrsnaEnz