A library to specify transport objects for individual informations
A library to specify transport objects for individual informations
The installation of this library is made via composer.
Download composer.phar
from their website.
Then add to your composer.json :
"require": {
...
"php-extended/php-information-interface": "^15",
...
}
Then run php composer.phar update
to install this library.
The autoloading of all classes of this library is made through composer's autoloader.
This library is an interface-only library. It represents individual messages for conveying information between two systems.
For a concrete implementation, see php-extended/php-information
.
There are different types of informations. For a pure semantic web implementation,
only two of those types are needed : the InformationDataInterface
and the
InformationRelationInterface
. Also, the InformationTripleInterface
is given to handle specifically those information types. If handled that way,
you will need a converter to separate the semantic information data from the
semantic information relations.
The other types of informations were added to face the complexity of relational database primary key management. The details about those types of informations follow.
Note that for every Timed
interface, the time information that is carried
by those object is supposed to take place within the primary key of the object
they describe, making the primary key a composite key with the two fields, one
of those being the date time field.
The InformationDataInterface
is the most basic data that can transit.
It represents a simple information that an object can own.
The InformationRelationInterface
is the most basic relation that can
transit.
It represents a simple link between two objects.
The InformationRelationDataInterface
is the first composed object.
It is composed with the relation part and the data part.
It represents a simple link between two objects that carries a simple information.
The InformationDataTimedInterface
is the simplest timed information
composed object. It is composed with the data and the timed part.
It represents a data for a given object that may occur multiple times and have different values each time.
The InformationRelationTimedInterface
is the timed information based
on a relation object. It is composed with the relation and the timed part.
It represents a relation between two objects that may occur multiple times and have different values each time.
The InformationRelationDataTimedInterface
is the timed information
based on the composite relation and data object. It is composed with the
relation, the data and the time part.
It represents a relation between two objects that carry a specific information, and that relation may occur multiple times and have different values each time, as well as a relation that have the same value but where the inner information differ over time.
The InformationCompositeDataInterface
is the first composite
information. It is composed of the composite information from the relation part,
and the data part.
It represents a data that may be declined over from a specific object without being a fully double sided relation. This may be useful for specifying translations of a specific model where the language is not a table.
The InformationCompositeRelationInterface
is similar to
the InformationRelationInterface but the way the key of the object is built is
different. It is composed of the composite information from the object, the
source information and the target information for the relation.
It represents a relation that is made on top of a composite object. This may be useful for relations to make on a translated object.
The InformationCompositeTimedInterface
is a composite information
which is mixed with timed information. It is composed of the composite part and
the timed part.
It represents a data that may be traced at different times without additional information to store.
The InformationCompositeDataTimedInterface
is a composite data
information. It is composed of the composite part, the data part and the timed
part.
It represents a data that may be traced at different times with additional information to store. This may be useful to store price evolutions of a specific object.
The InformationCompositeRelationTimedInterface
is a composite
data information. It is composed of the composite part, the data part and the
time part, as well as the target and the source of the relation.
It represents a relation that may be traced at different times on a composite timed object. This may be useful for example to trace who is the better bidder on prices over time.
The InformationTripleInterface
is used for semantic-web informations.
It is composed of only three fields, the subject, the predicate, and the object
of the triple (or tuple).
It can represent information for a specific object or a relation between two objects or a reference list.
The InformationMultiInterface
is a complex information that carries
in one go multiple data and self-relation informations.
It represents a complete object full of its own informations.
The InformationVisitorInterface
is the only object that can interact
with all the others information interfaces.
It represents a dispatcher that will process with specific paths each of the available information interface.
MIT (See license file).