PPHML v1.0 Technical Preview
Schema Documentation

This version: http://www.pphml.org/schema/doc/pphml-v1-0-tp.html.
Newest version: this is the newest version.

Author: PPHML.org Team.

Comments on this document should be sent to schema-comments@pphml.org.

Table of contents

Abstract

Introduction

Skeleton elements
  The "paraphrase" element
  The "situation" element
  The "statement" element
  The "probability" element
  The "boost" element

Clauses
  The "subject" clause
  The "predicate" clause
  The "what" clause
  The "where" clause
  The "how" clause

Contexts
  The "earlier" context
  The "before" context
  The "after" context
  The "later" context

Data embedding
  Data blocks

Descriptor elements
  E-mail
  Name
  Source descriptors

PPHML reference tokens
  Entities
  Actions
  Objects
  Places
  Adverbs
  Source types
  Data types
  Attributes

Samples

Abstract

This document introduces the usage of PPHML schema, which is the creation rules collection of the Paraphrase Markup Language. This XML schema is designed for producing, filtering, interchanging, rephrasing and notifying paraphrases. Any paraphrase according to this schema can contain a set of situations, which are the most important elements in PPHML. Situations are produced by snooping services then filtered by sharing services. Both of them are typically running on portable devices. After sharing, situations may interchange over public services, like social networks which are able to rephrase them based on their additional information. Notifier engines run anywhere in order to show or tell paraphrases as human readable and understandable declarative sentences in any language.

Introduction

PPHML acronym stands for Paraphrase Markup Language. It is designed to describe situations in declarative sentence forms. PPHML documents are XML documents, typically generated by software engines which use identifiers rather than real words while producing paraphrases. Think of a paraphrase just as a short story, a situation as a paragraph of a story and a statement as a sentence of a paragraph. Statements have more optional clause, context and data elements in order to provide modeling ability of human languages. Of course, a software engine is not smarter than a brain, so PPHML allows the use of conditional elements (probabilities) when these engines are going to describe situations.

There is another important element in PPHML: the boost tag. Public services may generate situation dependent information, able to insert them into the original document, then turn back paraphrases to the sender or forward them to others. This is the way for example, how a mobile phone owner can receive a shopping list from his wife when he arrives at a shopping center.

Power of PPHML is not depending only on its structural complexity. Amount of resource identifiers (reference tokens) declared in the schema basically determines the usage scope of paraphrases. It is important to understand, that version of the PPHML discussed in this document is a technical preview instance.

Skeleton elements

There are some foot-stone PPHML elements used to create paraphrase skeletons, which are the "paraphrase", "situation", "statement", "probability", and "boost" tags. The first four elements of these provide the main logic structure of the XML documents. The boost tag is able to insert extra information around situations.

The "paraphrase" element

This is the root element in a PPHML document. It is a container tag in order to describe one or more situations within the same XML. Any situation enumerated in a paraphrase is on the top logical level, which means they have to been handled independently while a process interprets a PPHML document. A "paraphrase" generally contains one "situation" element only. This is because a paraphrase typically generated by a portable device, which describes only one situation at a time about its owner.

This is a simple paraphrase skeleton sample, contains one "situation" item only. It is the regular form of PPHML documents.

<?xml version="1.0" ?>
<paraphrase>
 <situation>
  ...
 </situation>
</paraphrase>

This is a complex paraphrase skeleton sample. It is able to describe more independent "situation" items in a PPHML document.

<?xml version="1.0" ?>
<paraphrase>
 <situation>
  ...
 </situation>
 <situation>
  ...
 </situation>
</paraphrase>

PPHML documents use clauses to explain entities, actions, places and other things about situations. Of course, some of these clauses may have the same content through all situations of a paraphrase. Typically the "subject" clause describes the owner of a mobile phone, so it is identical for all "situation" items. In this case, it is possible to emphasize these consistent clauses.

This is a complex paraphrase skeleton sample with a common emphasized clause: "subject".

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  ...
 </situation>
 <situation>
  ...
 </situation>
</paraphrase>

This complex paraphrase skeleton sample is equal to previous one, but it does not use emphasizing.

<?xml version="1.0" ?>
<paraphrase>
 <situation>
  <subject>
   ...
  </subject>
  ...
 </situation>
 <situation>
  <subject>
   ...
  </subject>
  ...
 </situation>
</paraphrase>

Of course, simple paraphrases may use this technics too.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  ...
 </situation>
</paraphrase>

The "situation" element

The "situation" XML tag in a PPHML document provides a description about something, generally provides the actual state of a mobile phone user. This description may be rich or poor depending on circumstances. Possible child items of a "situation" element are "statement", "probability" and "boost".

Usually, description of a situation contains one element only, typically a "statement".

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   ...
  </statement>
 </situation>
</paraphrase>

Description of a rich situation may contain more elements if necessary, like "probability" or "boost".

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   ...
  </statement>
  <probability>
   ...
  </probability>
  <boost>
   ...
  </boost>
 </situation>
</paraphrase>

Clause emphasizing works as well. In sample below, the "subject" clause applies to both "statement" items within the "situation".

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
 </situation>
</paraphrase>

The "situation" item has an optional date-time (ISO 8601) attribute, named "timestamp". It is the timestamp value of the observation which has generated the situation in the paraphrase.

Sample below shows a simple situation skeleton with its timestamp information.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation timestamp="2008-01-17T19:21:33.12+02:00">
  <statement>
   ...
  </statement>
 </situation>
</paraphrase>

The "statement" element

A statement tells something about a situation. Depending on complexity, a situation may contain more statements if necessary. Each "statement" applies to its parent "situation" in the XML hierarchy. This means if more statements exist within a situation, all of them are say some truth about that situation. Any child of a "statement" tag must be a set of "clauses", "contexts" or "data" items.

This is a simple situation below with one "statement" item only.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
 </situation>
</paraphrase>

Complex situations have more "statement" items.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
   <how>
    ...
   </how>
  </statement>
 </situation>
</paraphrase>

The "probability" element

This is a grouping element. It must have two or more "chance" tags. Like statements, any chance tells something about a situation, but all of these "chance" tags within a "probability" must not be true at the same time. So probability contains a chance list of possible statements. As default, chances have the same hit probabilities. Chance tags have optional "odds" properties in order to balance their hit probabilities.

Sample below tells that Jack stops, but the place where Jack stops is ambiguous. For example, it is because his favourite pub and restaurant are at that same place.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
  </statement>
  <probability>
   <chance>
    <where ref="pphml://place/entertainment/pub" />
   </chance>
   <chance>
    <where ref="pphml://place/entertainment/restaurant" />
   </chance>
  </probability>
 </situation>
</paraphrase>

This sample is similar to the previous one but it uses odds properties to redefine hit probabilities. It means that Jack stops at a pub, rather than at a restaurant, because he used to go to the pub ten times more than going to the restaurant.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
  </statement>
  <probability>
   <chance odds="10">
    <where ref="pphml://place/entertainment/pub" />
   </chance>
   <chance odds="1">
    <where ref="pphml://place/entertainment/restaurant" />
   </chance>
  </probability>
 </situation>
</paraphrase>

The "boost" element

This element is similar to the "statement", but it has no "context" description possibility. Any child of this tag must be a set of "clauses" or "data" items. Boost is used to append paraphrases with situation dependent information.

Sample below shows a social network engine generated paraphrase which contains a "boost" tag. Originally, Jack's portable device has sent this paraphrase without any "boost" tag. His wife, Jane made a shopping list before, so the public service is able to insert that list into this paraphrase then push back to Jack at the moment he stops at the shopping center.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <where ref="pphml://place/regular/shop" />
  </statement>
  <boost>
   <subject ref="pphml://entity/person/female">
    <e-mail>jane@foo.org</e-mail>
   </subject>
   <predicate ref="pphml://action/generic/pass" />
   <what ref="pphml://object/list/shopping">
    ...
   </what>
  </boost>
 </situation>
</paraphrase>

Clauses

Any statement in a PPHML document use "clause" tags to compose declarative sentences, which built on simple subjects and simple predicates. Of course, it is possible to make more complex sentences. Each clause is optional and can occur once a time in a statement. Possible clause tags are "subject", "predicate", "what", "where" and "how". By the way, this is the fixed order of these tags within a skeleton element.

Sample below is a skeleton of a moderated statement. It uses only "subject" and "predicate" clauses.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
  </statement>
 </situation>
</paraphrase>

This is a skeleton of a more sophisticated statement. Not only "subject" and "predicate", but "where" and "how" also used to compose the statement.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
  ...
 </subject>
 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
   <how>
    ...
   </how>
  </statement>
 </situation>
</paraphrase>

The "subject" clause

One of the most important tags in a PPHML document is the "subject" clause. It is the simple subject of a declarative sentence, can be referred by an e-mail address or a name string (or both of them). Content of this tag generally points to the user of the mobile phone which has created the PPHML document. This clause may contain a "source" child item in order to provide more system dependent details. The "ref" attribute is a required property which is a reference to the type of the "subject" clause.

Sample: referencing to an entity by its e-mail address. This is the generic form of entity referencing.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>

 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
 </situation>
</paraphrase>

Sample: referencing to an entity by its name. It is also recommended to use e-mail address, because the name usually is not enough for referencing to an entity. For example a social network may exists a number of hundreds with name Jack Smith.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <name>Jack Smith</name>
 </subject>

 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
 </situation>
</paraphrase>

Sample below shows a detailed description of an entity. For example, the "source" tag in this paraphrase has inserted by a social network engine in order to provide more details about referenced entity, Jack Smith.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
  <source ref="pphml://source/social-network/library">
   <attribute name="pphml://attribute/entity/first-name">Jack</attribute>
   <attribute name="pphml://attribute/entity/last-name">Smith</attribute>
   <attribute name="pphml://attribute/entity/age">27</attribute>
  </source>
 </subject>

 <situation>
  <statement>
   <predicate>
    ...
   </predicate>
   <where>
    ...
   </where>
  </statement>
 </situation>
</paraphrase>

The "predicate" clause

This clause is used to describe an action, typically taken by the owner of a portable device. In other words, this clause is the simple predicate of a declarative sentence, it is a verb. Optionally a "name" tag can be used in order to naming exactly the action. This clause may contain a "source" child item in order to provide more system dependent details. The "ref" attribute is a required property which is a reference to the type of the "predicate" clause.

Sample below references to an action by a URI: "Someone is shopping somewhere." This is the generic form of action referencing.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
   ...
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/shopping" />
   <where>
    ...
   </where>
  </statement>
 </situation>

This sample references to an action by its name: "Someone is cooking somewhere." The cooking is not a standard verb in the PPHML's world, because a mobile phone or a social network engine is unable to detect this special action (till 12/02/2008). In this case the URI must point to an unknown action, so the PPHML creator must name it directly. This form of action referencing is not recommended.

<?xml version="1.0" ?>
<paraphrase>
 <subject>
   ...
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/unknown">
    <name>cook</name>
   </predicate>

   <where>
    ...
   </where>
  </statement>
 </situation>

Sample below uses an additional "source" tag in order to explain details of the action: "Someone is driving somewhere. (It is because the mobile phone is connected to a Bluetooth device, named My car Kit and this car kit is dedicated to a driving action.)"

<?xml version="1.0" ?>
<paraphrase>
 <subject>
   ...
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/moving/drive">
    <source ref="pphml://source/portable/bluetooth">
     <attribute name="pphml://attribute/device/id">My car kit</attribute>
    </source>
   </predicate>

   <where>
    ...
   </where>
  </statement>
 </situation>

The "what" clause

The "what" clause is used to describe the object of a declarative sentence. Optionally a "name" tag can be used in order to naming exactly the object. This clause may contain a "source" child item in order to provide more system dependent details. The "ref" attribute is a required property which is a reference to the type of the "what" clause.

This is a primitive sample which tells: "jack@foo.org is driving a car."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/moving/drive" />
   <what ref="pphml://object/vehicle/car" />
  </statement>
 </situation>
</paraphrase>

The "where" clause

The "where" clause is used to describe the location of an action within a declarative sentence. It can be referred by an "e-mail" address or a "name" string (or both of them). This clause may contain a "source" child item in order to provide more system dependent details. The "ref" attribute is a required property which is a reference to the type of the "where" clause.

This is a primitive sample which tells: "jack@foo.org is at a restaurant."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/is" />
   <where ref="pphml://place/entertainment/restaurant" />
  </statement>
 </situation>
</paraphrase>

The "how" clause

The "how" clause is used to describe the adverb part of a declarative sentence. Optionally a "name" tag can be used in order to naming exactly the adverb. This clause may contain a "source" child item in order to provide more system dependent details. The "ref" attribute is a required property which is a reference to the type of the "how" clause.

This is a primitive sample which tells: "jack@foo.org is stopping by car."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <how ref="pphml://adverb/vehicle/car" />
  </statement>
 </situation>
</paraphrase>

Contexts

Situations composed with PPHML are basically in present tense and they are declarative sentences. There are some special tags which are able to extend a situation meaning. These are the context elements: "earlier", "before", "after" and "later". The "earlier" and "before" items tell something prior to the situation, the "after" and "later" items tell something following the situation.

The "earlier" context

The "earlier" element composes a statement as a part of the parent situation.

This sample tells: "jack@foo.org arrives at home from shopping."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/arrive" />
   <where ref="pphml://place/regular/home" />
   <earlier>
    <predicate ref="pphml://action/generic/shopping" />
   </earlier>

  </statement>
 </situation>
</paraphrase>

The "before" context

The "before" element composes a statement as a part of the parent situation.

This sample tells: "jack@foo.org stops at a restaurant as he driving by car."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <where ref="pphml://place/entertainment/restaurant" />
   <before>
    <predicate ref="pphml://action/moving/drive" />
    <how ref="pphml://adverb/vehicle/car" />
   </before>

  </statement>
 </situation>
</paraphrase>

The "after" context

The "after" element composes a statement as a part of the parent situation.

This sample tells: "jack@foo.org driving by car. He arrives at home."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/moving/drive" />
   <how ref="pphml://adverb/vehicle/car" />
   <after>
    <predicate ref="pphml://action/generic/arrive" />
    <where ref="pphml://place/regular/home" />
   </after>

  </statement>
 </situation>
</paraphrase>

The "later" context

The "later" element composes a statement as a part of the parent situation.

This sample tells: "jack@foo.org driving by car. He will arrive at home soon."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/moving/drive" />
   <how ref="pphml://adverb/vehicle/car" />
   <later>
    <predicate ref="pphml://action/generic/arrive" />
    <where ref="pphml://place/regular/home" />
   </later>

  </statement>
 </situation>
</paraphrase>

Data embedding

Declarative sentences composed in paraphrases may contain embedded data which are additional information around the paraphrases, not real parts of a human language. Version of the PPHML discussed in this document supports only the "data" tag in order to use data embedding.

Data blocks

Any "statement", "chance" or "boost" element may have one or more data blocks, represented as "data" tags. Each data block has a required "ref" attribute which is a reference to the type of the "data" element. Inside this tag, the data can be presented in any XML form.

Paraphrase below tells that jack@foo.org drives by car. It has an extra data tag with some tracking information.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/moving/drive" />
   <how ref="pphml://adverb/vehicle/car" />
   <data ref="pphml://data/track">
    ...
   </data>

  </statement>
 </situation>
</paraphrase>

Descriptor elements

Descriptor elements are used to describe clauses in PPHML. There are three types of descriptors: "e-mail", "name" and "source" tags.

E-mail

Any "subject" and "where" clause may contain an "e-mail" tag which can describe an entity or a place by its e-mail address.

This is a very simple paraphrase, which use e-mail addresses to describe both the subject and the place: "jack@foo.org stops at restaurant@foo.org."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <where ref="pphml://place/entertainment/restaurant">
    <e-mail>restaurant@foo.org</e-mail>
   </where>
  </statement>
 </situation>
</paraphrase>

Name

Any "clause" may contain a "name" tag which can describe a clause by its real name. Using this tag alone in a clause is not recommended.

This simple paraphrase use e-mail addresses and name strings to describe both the subject and the place: "Jack Smith stops at the Old Times Restaurant."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
  <name>Jack Smith</name>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <where ref="pphml://place/entertainment/restaurant">
    <e-mail>restaurant@foo.org</e-mail>
    <name>Old Times Restaurant</name>
   </where>
  </statement>
 </situation>
</paraphrase>

Source descriptors

Any "clause" may contain one or more "source" tags which can describe system dependent details. The "ref" attribute is a required property which is a reference to the type of the "source" element.

Sample below tells that jack@foo.org stops somewhere. The place is unknown, but there are two source elements which contain one location information and three WiFi hotspot name in order to provide easy decoding of this place.

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/stop" />
   <where ref="pphml://place/unknown">
    <source ref="pphml://source/portable/gps">
     <attribute ref="pphml://attribute/location/latitude">0.765432</attribute>
     <attribute ref="pphml://attribute/location/longitude">0.123456</attribute>
    </source>
    <source ref="pphml://source/portable/wifi">
     <attribute ref="pphml://attribute/device/id">PublicNET</attribute>
     <attribute ref="pphml://attribute/device/id">HRCoffe</attribute>
     <attribute ref="pphml://attribute/device/id">NetIT</attribute>
    </source>

   </where>
  </statement>
 </situation>
</paraphrase>

PPHML reference tokens

PPHML documents use reference tokens (URI strings conform to RFC 2396) rather than real words to build statements. Each token starts with the "pphml://" prefix and has a structure like "pphml://<class>/<name>" or "pphml://<class>/<subclass>/<name>". The class fragment determines the main scope of the usage.

Entities

An entity reference token identifies someone or something. It is used to describe the simple subject of a statement. This reference token type is used in "subject" clauses.

pphml://entity/unknown

This URI refers to an unknown entity.

pphml://entity/person

This URI refers to a person.

pphml://entity/person/female

This URI refers to a female person.

pphml://entity/person/male

This URI refers to a male person.

pphml://entity/entertainment

This URI refers to any type of an entertainment.

pphml://entity/entertainment/pub

This URI refers to an entertainment entity: a pub.

pphml://entity/entertainment/restaurant

This URI refers to an entertainment entity: a restaurant.

pphml://entity/animal

This URI refers to an animal.

pphml://entity/animal/pet

This URI refers to a pet.

Actions

An action reference token identifies a verb. It is used to describe the simple predicate of a statement. This reference token type is used in "predicate" clauses.

pphml://action/unknown

This URI refers to an unknown action.

pphml://action/generic

This URI refers to any type of a generic action.

pphml://action/generic/arrive

This URI refers to a generic action: it means that someone arrives somewhere.

pphml://action/generic/is

This URI refers to a generic action: to be or to do something.

pphml://action/generic/pass

This URI refers to a generic action: to pass. It means that someone or something passes anything.

pphml://action/generic/shopping

This URI refers to a generic action: to shopping. It means that someone does shopping.

pphml://action/generic/start

This URI refers to a generic action: to start. It means that someone or something starts anything.

pphml://action/generic/stop

This URI refers to a generic action: to stop. It means that someone or something stops anything.

pphml://action/moving

This URI refers to any type of a moving action. It means that someone or something makes moving.

pphml://action/moving/drive

This URI refers to a moving action: to drive. It means that someone or something drives anything.

Objects

An object reference token identifies the object of a declarative sentence. This reference token type is used in "what" clauses.

pphml://object/unknown

This URI refers to an unknown object.

pphml://object/list

This URI refers to any type of a list object.

pphml://object/list/shopping

This URI refers to a shopping list object.

pphml://object/list/to-do

This URI refers to a to-do list object.

pphml://object/vehicle

This URI refers to any type of a vehicle object.

pphml://object/vehicle/car

This URI refers to a car as an object.

Places

A place reference token identifies a location. It is used to describe the place of a predicate. This reference token type is used in "where" clauses.

pphml://place/unknown

This URI refers to an unknown place.

pphml://place/regular

This URI refers to any type of a regular place.

pphml://place/regular/home

This URI refers to a regular place: at home.

pphml://place/regular/school

This URI refers to a regular place: a school.

pphml://place/regular/shop

This URI refers to a regular place: a shop.

pphml://place/entertainment

This URI refers to any type of an entertainment place.

pphml://place/entertainment/pub

This URI refers to an entertainment place: a pub.

pphml://place/entertainment/restaurant

This URI refers to an entertainment place: a restaurant.

Adverbs

An adverb reference token identifies that how the subject does an action. This reference token type is used in "how" clauses.

pphml://adverb/unknown

This URI refers to an unknown adverb.

pphml://adverb/vehicle

This URI refers to an adverb: ...by any type of a vehicle.

pphml://adverb/vehicle/car

This URI refers to an adverb: ...by car.

Source types

A source type reference token identifies an input type.

pphml://source/portable/gsm

This URI refers to a GSM module of a portable unit as a source device.

pphml://source/portable/wifi

This URI refers to a WiFi module of a portable unit as a source device.

pphml://source/portable/zigbee

This URI refers to a ZigBee module of a portable unit as a source device.

pphml://source/portable/bluetooth

This URI refers to a Bluetooth module of a portable unit as a source device.

pphml://source/portable/gps

This URI refers to a GPS module of a portable unit as a source device.

pphml://source/portable/compass

This URI refers to a compass module of a portable unit as a source device.

pphml://source/portable/accelerometer

This URI refers to an accelerometer module of a portable unit as a source device.

pphml://source/portable/orientation

This URI refers to an orientation sensor module of a portable unit as a source device.

pphml://source/portable/pressure

This URI refers to a pressure sensor module of a portable unit as a source device.

pphml://source/portable/temperature

This URI refers to a temperature sensor module of a portable unit as a source device.

pphml://source/portable/camera

This URI refers to a camera of a portable unit as a source device.

pphml://source/portable/microphone

This URI refers to a microphone of a portable unit as a source device.

pphml://source/portable/keypad

This URI refers to a keypad of a portable unit as a source device.

pphml://source/portable/usb

This URI refers to a USB interface of a portable unit as a source device.

pphml://source/portable/system-clock

This URI refers to a system clock of a portable unit as a data source.

pphml://source/portable/power-management

This URI refers to a power management module of a portable unit as a data source.

pphml://source/social-network/library

This URI refers to a social network library as a source engine.

Data types

A data type reference token identifies how a data block can be interpreted.

pphml://data/undefined

This URI refers to an undefined data type.

pphml://data/image

This URI refers to a data type: an image.

pphml://data/list

This URI refers to a data type: a list.

pphml://data/text

This URI refers to a data type: a text.

pphml://data/track

This URI refers to a data type: a track.

Attributes

An attribute reference token identifies a property type.

pphml://attribute/undefined

This URI refers to an undefined property type.

pphml://attribute/device/id

This URI refers to a property type: a device identifier.

pphml://attribute/device/name

This URI refers to a property type: a device name.

pphml://attribute/device/state

This URI refers to a property type: state of a device.

pphml://attribute/device/connected

This URI refers to a property type: a connected device.

pphml://attribute/device/disconnected

This URI refers to a property type: a disconnected device.

pphml://attribute/entity/first-name

This URI refers to a property type: first name of an entity.

pphml://attribute/entity/last-name

This URI refers to a property type: last name of an entity.

pphml://attribute/entity/nickname

This URI refers to a property type: nickname of an entity.

pphml://attribute/entity/age

This URI refers to a property type: age of an entity.

pphml://attribute/location/latitude

This URI refers to a property type: latitude of a location.

pphml://attribute/location/longitude

This URI refers to a property type: longitude of a location.

pphml://attribute/location/altitude

This URI refers to a property type: altitude of a location.

Samples

Samples below contain casual cases with roundabout paraphrases, drawed up in PPHTML documents.

Sample #1

It describes a simple situation: Jack arrived at home. He has a portable device with WiFi ability. At home, when he arrives, it connects to a hotspot, named JackHomeWiFi. This hotspot dedicated as Jack's home used wireless device.

EN: "jack@foo.org arrived at home."
HU: "jack@foo.org hazaérkezett."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/arrive" />
   <where ref="pphml://place/regular/home">
    <source ref="pphml://source/portable/wifi">
     <attribute name="pphml://attribute/device/id">JackHomeWiFi</attribute>
    </source>
   </where>
  </statement>
 </situation>
</paraphrase>

When the previous paraphrase sent to a service (e.g. social network), Jack's full name added, and WiFi data changed to the location information.

EN: "Jack Smith arrived at home."
HU: "Jack Smith hazaérkezett."

<?xml version="1.0" ?>
<paraphrase>
 <subject ref="pphml://entity/person/male">
  <e-mail>jack@foo.org</e-mail>
  <name>Jack Smith</name>
 </subject>
 <situation>
  <statement>
   <predicate ref="pphml://action/generic/arrive" />
   <where ref="pphml://place/regular/home">
    <source ref="pphml://source/social-network/library">
     <attribute name="pphml://attribute/location/latitude">0.765432</attribute>
     <attribute name="pphml://attribute/location/longitude">0.123456</attribute>
    </source>
   </where>
  </statement>
 </situation>
</paraphrase>