| Ontology for self-describing networks | S-TEN D2.1 |
A sten:physical_thing can bear a pattern which can be decoded by a person, by a machine or by a person using a machine. Such a sten:physical_thing is an sten:information_carrier.
NOTE 1 An sten:information_carrier can be a computer file which is identified by a path on a computer system, or by a URL on the Internet. A computer file is not usually thought of as "physical", but:
An object can be "physical" even if it is made up of matter which cannot be precisely identified, or which changes from time to time. Consider a sten:facility which is a pump within a process plant. The pump is used by the plant operators to move fluids, and is naturally regarded as physical. From time to time, the installed pump sten:physical_asset will be removed for servicing and will be replaced by a new pump sten:physical_asset, but the operators will regard the sten:facility as continuing to exist.
The Grand Canyon in Arizona is "physical". The matter which forms the Grand Canyon is uncertain, but clearly its existence depends upon matter. It can be regarded as a "feature", like a slot in a manufacture part but on a larger scale. An sten:activity is also "physical".
It can be debated whether a computer file is more like a facility, feature or activity. The answer may even depend upon the nature of the computer hardware.
EXAMPLE 1 The English language printed copy of the UN "Universal declaration of human rights" possessed by Fred Bloggs is an sten:information_carrier. This can be decoded by any sighted, literate, English language speaking person.
EXAMPLE 2 The file http://www.un.org/Overview/rights.html is an
sten:information_carrier. This can be decoded by a Web Browser, where "decoding"
is defined as generating a human readable presentation.
This can be decoded by an English language speaking person using a Web Browser, where "decoding" is defined as understanding the intention of UN resolution 217 A (III) of 1948-12-10.
NOTE 2 An sten:information_carrier can be a sten:signal which is transmitted from a sender to a receiver.
A sten:signal is not usually thought of a "physical", but it is something which can be detected by an instrument and which exists during a sten:period. A sten:signal is analogous to a flow of material (iso15926-2:stream), which is also a sten:physical_thing.
An sten:information_carrier can be classified according to the nature of the response made by a person, machine or person using a machine which decodes it. A class which consists of all information carriers which produce the same response is an sten:information_content.
NOTE 3 The class sten:information_content is a subclass of iso15926-2:class_of_information_representation.
EXAMPLE 3 The class of all information carriers which can lead to an understanding of the UN "Universal declaration of human rights" is an sten:information_content. We can call this class "UN Universal declaration of human rights document".
The English language printed copy of the UN "Universal declaration of human rights" possessed by Fred Bloggs is a menber if this class.
The file http://www.un.org/Overview/rights.html is a member of this
class. It can be decoded by any English language speaking person using a
web browser.
The file http://www.unhchr.ch/udhr/lang/wls.htm is a member of this
class. It can be decoded by any Welsh (Cymraeg) language speaking person using a
web browser.
EXAMPLE 4 The class of all information carriers which can lead to an understanding of the UN "Univeral declaration of human rights" by a person who only speaks English is an sten:information_content. We can call this class "UN Universal declaration of human rights document in English".
The English language printed copy of the UN "Universal declaration of human rights" possessed by Fred Bloggs is a menber if this class.
The file http://www.un.org/Overview/rights.html is a member of this
class. It can be decoded by any English language speaking person using a
web browser.
The file http://www.unhchr.ch/udhr/lang/eng.htm is a member of this
class. It can be decoded by any English language speaking person using a
web browser.
EXAMPLE 5 The class of all information carriers which reproduce the UN "Universal declaration of human rights" with the same format as the official record of the 1948-12-10 General Assembly session is an sten:information_content. We can call this class "UN Universal declaration of human rights reproduction of official record".
The printed copy of the 1948-12-10 UN General Assembly session possessed by the UK Foreign Office is a menber if this class. It can be decoded by any sighted person.
The file http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/RES/217(III)&Lang=E is a member of this
class. It can be decoded by any web browser which supports PDF.
An sten:information_content can be a class which consists of all copies of a file.
EXAMPLE 6 The class of all copies of
http://www.un.org/Overview/rights.html is an sten:information_content.
We can call this class "Copy of UN Universal declaration of human rights from UN website".
The file C:\useful_documents\UN_declaration_of_human_rights.html
on the computer possessed by Fred Bloggs is a member of this class.
An sten:information_content can be an RDF graph. An sten:information_carrier which is a member of an RDF graph can be:
EXAMPLE 7 The RDF graph "Janet loves John" is an sten:information_content. Three members of this class are:
GIF file:
XML serialisation:
<rdf:RDF xmlns:my_ontology="urn:my_ontology"> <owl:Thing rdf:about="urn:people:Janet"> <my_ontology:loves rdf:about="urn:people:John"/> </owl:Thing> </rdf:RDF>
N3 serialisation:
urn:people:Janet urn:my_ontology:loves urn:people:John .
A URI can be used to identify anything.
EXAMPLE 1 The animal "Babar the elephant" can be given the URI "urn:animal_registry:Babar". This does not mean that I can download "Babar the elephant" from the Internet. Animal, real or ficticious cannot be stored in my computer.
The use of URIs is explained in
http://www.rfc-editor.org/rfc/rfc3986.txt
"Uniform Resource Identifier (URI): Generic Syntax", January 2005. This document says:
A URI can be further classified as a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location").
Hence an sten:information_carrier that is a resource on the Internet can be identified by a URL. An object of any other type, including an sten:information_content, is identified by a URI, which is not a URL.
EXAMPLE 2 Consider a sensor which is operated by Fred Bloggs and which has
the URN urn:123:456. This is not useful on its own because
the URN does not tell you where to go to find out more information.
However, Fred Bloggs can also run a server which provides information about the
sensor with the URL http://www.fred.bloggs.eu/sensors#456. This is useful
provided that you know that urn:123:456 is operated by Fred Bloggs and
you know the algorithm by which Fred Bloggs has converted the URN into a URL.
Life becomes easier if Fred Bloggs registers urn:123:456 with a
sensor registry. Information about the sensor in the registry has the URL:
http://www.sensor_registry.eu/sensors/urn:123:456
The sensor registry can also manage aliases so that the information about the sensor also has the URL:
http://www.sensor_registry.eu/sensors/http://www.fred.bloggs.eu/sensors#456
There is a tradition within RDF to regard a URL as a surrogate for a thing, so that a reference to a URL is regarded as equivalent to a reference to a thing.
EXAMPLE 3 The statement:
http://www.myspace.com/Janet urn:my_ontology:loves http://www.myspace.com/John .
is regarded as equivalent to:
urn:people:Janet urn:my_ontology:loves urn:people:John .
even though the URLs identify resources which can be accessed over the Internet rather than people.
If it is decided not to comply with this tradition, then the URN can be related to the URL by a sten:has_registry_data relationship.
EXAMPLE 4:
urn:people:Janet urn:has_registry_data http://www.myspace.com/Janet .
On the other hand, if it is decided to comply with this tradition, then sten:has_registry_data is the same as owl:sameAs.
An sten:activity can use and create information. This means that it has an sten:information_carrier as an input or output.
The "provenance" of information is the activity which created it.
EXAMPLE Extracting from the human observation example in the section Observation and measurement, we have:
[ a sten:observing_activity ] ;
sten:gives_result_record
http://www.somewhere.com/observations/my_bearing_2007-03-15T16:00 .
The property sten:gives_result_record is a specialisation of sten:has_output_record, which is a specialisation of sten:has_output.
It is possible to record the output content as a named graph, as follows:
[ a sten:observing_activity ] ;
sten:gives_result_record
{ [ a sten:physical_object_at_instant ]
sten:temporal_part_of :my_bearing ;
sten:at_time [ sten:utc_iso8601 "2007-03-15T16:00" ] ;
a sten:hot
} .
A owl:Thing can be associated with an sten:information_carrier which describes it.
EXAMPLE 1 The information that "Janet loves John" can be regarded as information
about either Janet or John. If this information is held in
sten:information_carrier
http://www.somewhere.org/gossip/janet_and_john, then the association
between the information and the people can be recorded as follows:
http://www.somewhere.org/gossip/janet_and_john
sten:is_about urn:people:Janet ;
sten:is_about urn:people:John .
or looked at in the other direction:
urn:people:Janet sten:is_described by http://www.somewhere.org/gossip/janet_and_john . urn:people:John sten:is_described by http://www.somewhere.org/gossip/janet_and_john .
EXAMPLE 2 The BioPathways Consortium provides a Life Science Identifier Service which gives information about objects in the Life Sciences. The consortium says:
The World-Wide Web provides a globally distributed communication framework that is essential for almost all scientific collaboration, including bioinformatics. However, several limits and inadequacies have become apparent, one of which is the inability to programmatically identify locally named objects that may be widely distributed over the network. This shortcoming limits our ability to integrate multiple knowledgebases, each of which gives partial information of a shared domain, as is commonly seen in bioinformatics. The Life Science Identifier (LSID) and LSID Resolution System (LSRS) provide simple and elegant solutions to this problem, based on the extension of existing internet technologies. LSID and LSRS are consistent with next-generation semantic web and semantic grid approaches.
A Life Science Identifier is a URN, such as
urn:lsid:gdb.org:GenomicSegment:GDB132938. Information about this object,
provided by the Life Science Identifier Service has the URL
http://lsid.biopathways.org/resolver/urn:lsid:gdb.org:GenomicSegment:GDB132938.
A user of the Life Science Identifier Service can either access this URL directly,
or enter the URN as data in a field of
http://lsid.biopathways.org/resolver/.
The functionality of the Life Science Identifier Service can be recorded by statements of the form:
urn:lsid:gdb.org:GenomicSegment:GDB132938
sten:is_described_by
http://lsid.biopathways.org/resolver/urn:lsid:gdb.org:GenomicSegment:GDB132938 .
ACKNOWLEDGEMENT David Leal is indebted to David Price of Eurostep Limited for drawing his attention to this example.
There are related concepts as follows:
The sten:information_content that is an ISO standard. This object is assigned a URN by ISO in accordance with J. Goodwin, "A Uniform Resource Name (URN) Namespace for the International Organization for Standardization (ISO)".
EXAMPLE 1 The standard ISO 10303-214 edition 2 (2003) is assigned the URN:
urn:iso:std:iso:10303:-214:ed-2.
An sten:information_content that complies with a standard.
EXAMPLE 2 The sten:information_content "my_data" complies with ISO 10303-214:2003. This is recorded as follows:
:my_data sten:complies_with urn:iso:std:iso:10303:-214:ed-2 .
An sten:information_carrier which holds sten:information_content that complies with a standard. As described in Information content and information carrier, the sten:information_carrier is a member of the sten:information_content.
EXAMPLE 3 The sten:information_carrier
with URL http://www.fred.bloggs.eu/design/system_789.stp
complies with ISO 10303-214:2003. This is recorded as follows:
http://www.fred.bloggs.eu/design/system_789.stp
a [ sten:complies_with urn:iso:std:iso:10303:-214:ed-2 ] .
Consider a sensor with URN urn:123:456. A sensor registry can
provide the resource http://www.sensor_registry.eu/sensors/urn:123:456
which is an HTML page as follows:
|
|||||||
|
|||||||
|
This is person readable information. The presentation could be neater, with hypertext links which do not show the actual URLs. For computer processing, an OWL equivalent is required, which is as follows:
urn:123;456 a sten:sensor ;
sten:has_registry_data http://www.fred.bloggs.eu/sensors#456 ;
sten:has_registry_data http://www.sensor_registry.eu/sensors/urn:123:456 .
urn:123;456 sten:has_design_data http://www.fred.bloggs.eu/design/system_789.stp .
http://www.fred.bloggs.eu/design/system_789.stp
a [ sten:complies_with urn:iso:std:iso:10303:-214:ed-2 ] .
[ sten:temporal_part_of urn:123;456 ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-01 .
[ sten:temporal_part_of urn:123;456 ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-02 .
[ sten:temporal_part_of urn:123;456 ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-03 .
This OWL is formally equivalent to the HTML, but a person would guess that
http://www.fred.bloggs.eu/measurements/2007-01 applies to month 2006-01.
So that software does not have to access the resource to discover this, the
information can be put in the OWL as follows:
[ sten:temporal_part_of urn:123;456 ;
sten:during [ iso8601:calendar_month "2007-01" ] ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-01 .
[ sten:temporal_part_of urn:123;456 ;
sten:during [ iso8601:calendar_month "2007-02" ] ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-02 .
[ sten:temporal_part_of urn:123;456 ;
sten:during [ iso8601:calendar_month "2007-03" ] ]
sten:has_result_record http://www.fred.bloggs.eu/measurements/2007-03 .
The resources identified by the URLs can be HTML files with the corresponding OWL file specified by a link in the <head> element as follows:
<head> <title>Sensor 456</title> <link rel="meta" type="application/rdf+n3" href="http://http://www.sensor_registry.eu/sensors/urn:123:456/n3"/> </head>
An object is a sten:information_carrier if and only if:
NOTE An object identified by a URL must be an sten:information_carrier.
OWL specification:
--> <owl:Class rdf:about="&sten;#information_carrier"> <rdfs:subClassOf rdf:resource="&sten;#physical_object"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#information_carrier"/> </owl:Class> <!--
An rdfg:graph is an sten:information_carrier.
OWL specification:
--> <owl:Class rdf:about="&rdfg;graph"> <rdfs:subClassOf rdf:resource="&sten;information_carrier"/> </owl:Class> <!--
An object is a sten:information_content if and only if:
OWL specification:
-->
<owl:Class rdf:about="&sten;information_content">
<rdfs:subClassOf rdf:resource="&owl;Class"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&rdfs;subClassOf"/>
<owl:someValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Class rdf:resource="&sten;information_carrier"/>
</owl:oneOf>
</owl:Class>
</owl:someValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<meta:defined_by rdf:resource="&D2.1;/information.htm#information_content"/>
</owl:Class>
<!--
An object is a sten:has_output_record relationship if and only if:
NOTE An sten:information_carrier which has an sten:has_input_record relationship can also have a sten:has_role_player relationship.
This will be the case if the sten:information_carrier is an ink on paper document or a computer file, because in either case the input is a sten:persistent_object which is present during the sten:activity.
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;has_output_record"> <rdfs:domain rdf:resource="&sten;activity"/> <rdfs:range rdf:resource="&sten;information_carrier"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_output_record"/> </owl:ObjectProperty> <!--
An object is a sten:record_produced_by relationship if and only if:
OWL specification:
--> <owl:FunctionalProperty rdf:about="&sten;record_produced_by"> <rdfs:domain rdf:resource="&sten;information_carrier"/> <rdfs:range rdf:resource="&sten;activity"/> <owl:inverseOf rdf:resource="&sten;has_output_record"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#record_produced_by"/> </owl:FunctionalProperty> <!--
An object is a sten:has_input_record relationship if and only if:
NOTE An sten:information_carrier which has an sten:has_input_record relationship can also have a sten:has_role_player relationship.
This will be the case if the sten:information_carrier is an ink on paper document or a computer file, because in either case the input is a sten:persistent_object which is present during the sten:activity.
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;has_input_record"> <rdfs:domain rdf:resource="&sten;activity"/> <rdfs:range rdf:resource="&sten;information_carrier"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_input_record"/> </owl:ObjectProperty> <!--
An object is a sten:record_used_by relationship if and only if:
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;record_used_by"> <rdfs:domain rdf:resource="&sten;information_carrier"/> <rdfs:range rdf:resource="&sten;activity"/> <owl:inverseOf rdf:resource="&sten;has_input_record"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#record_used_by"/> </owl:ObjectProperty> <!--
An object is a sten:has_content relationship if and only if:
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;has_content"> <rdfs:domain rdf:resource="&sten;information_carrier"/> <rdfs:range rdf:resource="&sten;information_content"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_content"/> </owl:ObjectProperty> <!--
An object is a sten:has_content_literal relationship if and only if:
OWL specification:
--> <owl:DatatypeProperty rdf:about="&sten;has_content"> <rdfs:domain rdf:resource="&sten;information_carrier"/> <rdfs:range rdf:resource="&sten;information_content"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_content_literal"/> </owl:DatatypeProperty> <!--
An object is a sten:is_about relationship if and only if:
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;is_about"> <rdfs:domain rdf:resource="&sten;information_carrier"/> <rdfs:range rdf:resource="&owl;Thing"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#is_about"/> </owl:ObjectProperty> <!--
An object is a sten:is_described_by relationship if and only if:
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;is_described_by"> <rdfs:domain rdf:resource="&owl;Thing"/> <rdfs:range rdf:resource="&sten;information_carrier"/> <owl:inverseOf rdf:resource="&sten;is_about"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#is_described_by"/> </owl:ObjectProperty> <!--
An object is a sten:is_registry_data_for relationship if and only if:
NOTE This relationship can associate a thing identified by a URN and a resource with a location on the Internet identified by a URL.
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;is_registry_data_for"> <rdfs:subPropertyOf rdf:resource="&sten;is_about"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#is_registry_data_for"/> </owl:ObjectProperty> <!--
An object is a sten:has_registry_data relationship if and only if:
NOTE This relationship can associate a thing identified by a URN and a resource with a location on the Internet identified by a URL.
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;has_registry_data"> <rdfs:subPropertyOf rdf:resource="&sten;is_described_by"/> <owl:inverseOf rdf:resource="&sten;is_registry_data_for"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_registry_data"/> </owl:ObjectProperty> <!--
An object is a sten:has_design_data relationship if and only if:
NOTE An sten:information_carrier can contain design information about more than one thing.
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;has_design_data"> <rdfs:subPropertyOf rdf:resource="&sten;is_described_by"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_design_data"/> </owl:ObjectProperty> <!--
An object is a sten:complies_with relationship if and only if:
OWL specification:
--> <owl:ObjectProperty rdf:about="&sten;complies_with"> <rdfs:domain rdf:resource="&sten;information_content"/> <rdfs:range rdf:resource="&sten;information_content"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#complies_with"/> </owl:ObjectProperty> <!--
An object is an sten:has_set_of_input_records relationship if and only if:
OWL specification:
--> <owl:FunctionalProperty rdf:about="&sten;has_set_of_input_records"> <rdfs:domain rdf:resource="&sten;activity"/> <rdfs:range rdf:resource="&sten;set_of_information_carrier"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_set_of_input_records"/> </owl:FunctionalProperty> <!--
An object is an sten:has_set_of_output_records relationship if and only if:
OWL specification:
--> <owl:FunctionalProperty rdf:about="&sten;has_set_of_output_records"> <rdfs:domain rdf:resource="&sten;activity"/> <rdfs:range rdf:resource="&sten;set_of_information_carrier"/> <meta:defined_by rdf:resource="&D2.1;/information.htm#has_set_of_output_records"/> </owl:FunctionalProperty> <!--
An object is an sten:set_of_information_carrier it is the powerset of sten:information_carrier.
OWL specification:
-->
<owl:Class rdf:about="&sten;set_of_information_carrier">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="&rdfs:subClassOf"/>
<owl:someValuesFrom>
<Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Class rdf:about="&sten;information_carrier"/>
</owl:oneOf>
</Class>
</owl:someValuesFrom>
</owl:Restriction>
</owl:equivalentClass>
<meta:defined_by rdf:resource="&D2.1;/information.htm#set_of_information_carriers"/>
</owl:Class>
<!--
An object is a sten:signal if and only if:
OWL specification:
-->
<owl:Class rdf:about="&sten;signal">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="&sten;information_carrier"/>
<owl:Class>
<owl:complementOf rdf:about="&sten;persistent_object"/>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
<meta:defined_by rdf:resource="&D2.1;/information.htm#signal"/>
</owl:Class>
<!--
© S-TEN Association e.V. — Public deliverable of the S-TEN project