As per Relevance of the word relation, we have this rfc below:











Network Working Group J.
Request for Comments: 2259 Epic Systems
Category: Informational J.
Bell Labs, Lucent
January 1998


Simple Nomenclator Query Protocol (SNQP


Status of this

This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited

Copyright

Copyright (C) The Internet Society (1998). All Rights Reserved



The Simple Nomenclator Query Protocol (SNQP) allows a client
communicate with a descriptive name service or other relational-
query service. The protocol is useful to services that search
data repositories for query responses. Clients can pose queries
relations, list descriptions of relations, and obtain advice
reducing the search time and cost of their queries. Clients
informed of the age of information in caches, and may request
recent information. SNQP provides support for graphical
interfaces. It also supports different types of
operators, so services can use SNQP with a variety of back-
servers, e.g. relational database servers, CCSO servers, and
providing relational views of X.500.

SNQP is an ASCII protocol in the request-reply style of SMTP. It
specifically designed for use with the Nomenclator name
information service, and has been useful elsewhere

1.

The Simple Nomenclator Query Protocol (SNQP) is a protocol
querying servers that search collections of data repositories.
retrieve information from an SNQP server by describing attributes
the information. SNQP servers contact one or many data
to retrieve the response to a user query. If the data





Elliott & Ordille Informational [Page 1]

RFC 2259 SNQP January 1998


differ in protocol or data format, it is responsibility of the
server to translate protocols and data formats to provide one
integrated answer to the user's query

SNQP servers share the protocol needs of centralized
repositories that answer queries with locally stored data.
servers also require specialized protocol features due to
distributed search characteristics

In highly distributed environments, it is unreasonable to expect
data repositories that need to be searched to be available
queries are posed. SNQP servers require facilities for
partial results in the presence of communications errors with
repositories. The partial results must indicate how to resubmit
query only to those data repositories that are unavailable

In addition, users may pose queries without realizing the cost of
search for query responses. SNQP provides facilities for
users of query costs and advising them on limiting that cost.
and advice are returned before queries are executed

Finally, SNQP servers may cache data and meta-data to speed
responses. Servers can inform users of the t-bound for their
response. A t-bound is the time after which changes may
occurred to the data that are not reflected in the query
[6,2]. A t-bound is the time of the oldest cache entry used
calculate the response. Users can request that query responses
more current then a particular t-bound. Making such a
flushes older items from the cache

SNQP provides support for graphical user interfaces. It
supports different types of comparison operators, so SNQP servers
query a variety of back-end data repositories, e.g.
databases, CCSO servers [3], and servers providing relational
of X.500 [10].

SNQP is a connection-oriented protocol. A client initiates a
session with an SNQP server by making a TCP connection to a well
known port. The client then executes a series of SNQP commands
These commands are listed briefly in Table 1. Section 2
some typical scenarios for using these commands, and Section 3
describes the commands fully. The server replies to each
using the theory of reply codes described for the Simple
Transfer Protocol (SMTP) [9]. The theory of reply codes and
defined reply codes are described in Section 4.






Elliott & Ordille Informational [Page 2]

RFC 2259 SNQP January 1998


---------------------------------------------------------------------
Command
---------------------------------------------------------------------
advice Provide advice on query costs without
query
attributes List the attributes for a relation
compare Set type of comparison operation
help Explain the SNQP commands
imagui Format replies for a graphical user interface
next Stop processing current query, continue with
query in block
noadvice Provide responses to queries. Do not
on costs
noimagui Format replies for people
query Submit a block of one or more SQL query statements
relations List the relations available through the
server
stop End processing of current query, and cancel
queries remaining in block
quit Terminate the query session


Table 1: SNQP

---------------------------------------------------------------------

SNQP queries are posed in SQL, a standard relational database
language [4,12]. Information that is obtained through SNQP
is organized by type into database relations. SQL queries may
have more functionality then a server supports or an
demands. Moreover, advice on query costs, some types of
operations or t-bounds may not be supported by a particular server
SNQP defines a minimal subset of functionality for a working
protocol. Functionality beyond this subset is optional.
that do not support optional functionality must return replies
indicate this to the user. The required and optional features
SNQP are summarized in Section 5.

SNQP was specifically designed for use with the Nomenclator name
information service [8,7,5]. Nomenclator produces query responses
integrating information from data repositories with
protocols and data formats. It constrains the searches for
responses through a variety of distributed indexing techniques.
has also been found useful elsewhere, even as a query language for
single data repository

SNQP is defined for US-ASCII only, and use with other character
will require further work



Elliott & Ordille Informational [Page 3]

RFC 2259 SNQP January 1998


Section 6 concludes this document with a description of
considerations

2.

This section illustrates the basic SNQP commands by
several client scenarios. The scenarios include a new user, a
who prefers CCSO style comparisons and more current responses,
graphical user interface program, a user with a change of mind, and
user worried about costs. Although SNQP will work for a human
on a bare connection (like one provided by telnet), it also works
client programs. Several of these programs have been written
provide enhanced interfaces

2.1 New

A new SNQP user will first make a tcp connection to an SNQP server
For purposes of illustration, we will assume that the user makes
connection with the Unix telnet command, and that the server
located at nomen.research.bell-labs.com on port 4224. The user
a relation command to discover what relations are available, and
attributes command to discover the attributes for a
relation. The user eventually asks for people with a given name
"J*" and a surname of "Ordille" who work for "Lucent Tech*".
response is current through June 11, 1996 at 11 p.m. EDT. Figure 1
and Figure 1b provide this scenario

























Elliott & Ordille Informational [Page 4]

RFC 2259 SNQP January 1998


---------------------------------------------------------------------

> telnet nomen.research.bell-labs.com 4224
Trying 135.104.70.9...
Connected to nomen.research.bell-labs.com
Escape character is '^]'.
220 nomen.research.bell-labs.com Nomenclator Query Service


211-There is 1 relation defined
211

attributes
212-There are 20 attributes in relation "People":
212-Given_
212-Middle_
212-
212-Name_
212-
212-
212-
212-
212-
212-
212-
212-State_or_
212-Postal_
212-
212-
212-
212-
212-
212-Last_
212


Figure 1a: New User Queries

---------------------------------------------------------------------












Elliott & Ordille Informational [Page 5]

RFC 2259 SNQP January 1998


---------------------------------------------------------------------


350 Send the query text, end with .

select * from People
given_name = "J*" and surname = "Ordille"
organization = "Lucent Tech*";
.
351 Partial response follows, ended with .

Given_Name:
Middle_Name: J
Surname:
Title:
Organization: Lucent
Division: Bell
Department: Computing Sciences Research
Building: 2C-301
Street: 700 Mountain
City: Murray
State_or_Province: New
Postal_Code: 07974
Country: United
Phone: +1 908 582 7114
Email: joann@bell-labs.
Source: nomen://bell-labs.com:17036/email=joann@bell-labs.

.
250 All queries processed. Current through 11-Jun-1996 23:00 EDT


221 nomen.research.bell-labs.com closing transmission

Connection closed by foreign host


Figure 1b: New User Queries
(continued

---------------------------------------------------------------------

2.2 User with CCSO and Currentness

A user who is accustomed to CCSO name servers prefers CCSO word-
matching within attribute strings. Each word in the query string
an attribute must appear in some order in the response string.
wildcard "*" matches any substring within a word. The



Elliott & Ordille Informational [Page 6]

RFC 2259 SNQP January 1998


matching, illustrated in Figure 1b, is exact matching of a
string. The query string may include "*" wildcards which match
substring within the response string. Both types of matching
case insensitive

In Figure 2, the CCSO-style user connects to the SNQP server,
csso matching, and requests some information about Ordille who
in research at a lab division of some company. The request asks
information that is more current than June 11, 1996 at 11 p.m. if
is available

---------------------------------------------------------------------

compare
213 Performing ccso equality

query 11-Jun-1996 23:00
350 Send the query text, end with .

select given_name, surname, organization, division, department
email from
where surname = "Ordille" and department = "research
and division = "lab*";
.

351 Partial response follows, ended with .

Given_Name:
Surname:
Organization: Lucent
Division: Bell
Department: Computing Sciences Research
Email: joann@bell-labs.

.
250 All queries processed. Current through 12-Jun-1996 22:35 EDT

Figure 2: User with CCSO Preferences Queries

---------------------------------------------------------------------

2.3 Graphical User Interface

A user designs a Windows program as a front end to the SNQP server
In Figure 3, the program requests replies formatted for a
user interface program. The program submits two SQL queries,





Elliott & Ordille Informational [Page 7]

RFC 2259 SNQP January 1998


receives detailed responses that indicate the type and position
errors. The error messages are discussed in more detail in
3.

---------------------------------------------------------------------


214 GUI responses


350 Send the query text, end with .

select * from Peple where name = "Elliott";
.
735 00000001a000015 e Unknown relation, "Peple

735 00000001a000027 e Attribute "name" not found in any relation used


250 All queries processed. Current through 12-Jun-1996 22:35 EDT


350 Send the query text, end with .

select * from People wher surname = "Elliott";
.
730 00000001a000022 e syntax

730 00000001a000027 e syntax

730 00000001a000037 e syntax

730 00000001a000039 e syntax


250 All queries

Figure 3: Graphical User Interface Program Queries

---------------------------------------------------------------------

2.4 User Changes

An exuberant user decides to search everywhere for family members
then look up a friend who works at Epic Systems, and finally
everywhere for an old school friend. Once the query set starts,
user realizes the folly of searching everywhere, stops the




Elliott & Ordille Informational [Page 8]

RFC 2259 SNQP January 1998


query, executes the second query and then stops executing the
block. This scenario is illustrated in Figure 4. The t-bound
represented by




if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum