[要約] RFC 2259は、Simple Nomenclator Query Protocol(SNQP)に関する規格です。SNQPは、簡単な命名規則のクエリを行うためのプロトコルであり、主な目的は、ネットワーク上のリソースの名前解決を効率的に行うことです。
Network Working Group J. Elliott Request for Comments: 2259 Epic Systems Corporation Category: Informational J. Ordille Bell Labs, Lucent Technologies January 1998
Simple Nomenclator Query Protocol (SNQP)
Simple Nomenclator Query Protocol(SNAP)
Status of this Memo
本文書の状態
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準も規定していません。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright(C)The Internet Society(1998)。全著作権所有。
Abstract
概要
The Simple Nomenclator Query Protocol (SNQP) allows a client to communicate with a descriptive name service or other relational-style query service. The protocol is useful to services that search many data repositories for query responses. Clients can pose queries on relations, list descriptions of relations, and obtain advice on reducing the search time and cost of their queries. Clients are informed of the age of information in caches, and may request more recent information. SNQP provides support for graphical user interfaces. It also supports different types of comparison operators, so services can use SNQP with a variety of back-end servers, e.g. relational database servers, CCSO servers, and servers providing relational views of X.500.
Simple Nomenclator Query Protocol(SNQP)を使用すると、クライアントは記述的なネームサービスまたは他のリレーショナルスタイルのクエリサービスと通信できます。このプロトコルは、多くのデータリポジトリでクエリ応答を検索するサービスに役立ちます。クライアントは、関係に対してクエリを実行し、関係の説明を一覧表示し、クエリの検索時間とコストを削減するためのアドバイスを得ることができます。クライアントはキャッシュ内の情報の古さを知らされ、より新しい情報を要求する場合があります。 SNQPは、グラフィカルユーザーインターフェイスのサポートを提供します。また、さまざまなタイプの比較演算子をサポートしているため、サービスはさまざまなバックエンドサーバーでSNQPを使用できます。リレーショナルデータベースサーバー、CCSOサーバー、およびX.500のリレーショナルビューを提供するサーバー。
SNQP is an ASCII protocol in the request-reply style of SMTP. It was specifically designed for use with the Nomenclator name and information service, and has been useful elsewhere.
SNQPは、SMTPの要求/応答スタイルのASCIIプロトコルです。これは、命名者の名前および情報サービスで使用するために特別に設計されたもので、他の場所でも役立ちました。
The Simple Nomenclator Query Protocol (SNQP) is a protocol for querying servers that search collections of data repositories. Users retrieve information from an SNQP server by describing attributes of the information. SNQP servers contact one or many data repositories to retrieve the response to a user query. If the data repositories differ in protocol or data format, it is responsibility of the SNQP server to translate protocols and data formats to provide one, integrated answer to the user's query.
Simple Nomenclator Query Protocol(SNQP)は、データリポジトリのコレクションを検索するサーバーにクエリを実行するためのプロトコルです。ユーザーは、情報の属性を記述することにより、SNQPサーバーから情報を取得します。 SNQPサーバーは、1つ以上のデータリポジトリに接続して、ユーザークエリへの応答を取得します。データリポジトリのプロトコルまたはデータ形式が異なる場合は、SNQPサーバーがプロトコルとデータ形式を変換して、ユーザーのクエリに対して1つの統合された回答を提供する必要があります。
SNQP servers share the protocol needs of centralized data repositories that answer queries with locally stored data. SNQP servers also require specialized protocol features due to their distributed search characteristics.
SNQPサーバーは、ローカルに保存されたデータを使用してクエリに応答する一元化されたデータリポジトリのプロトコルニーズを共有します。 SNQPサーバーには、分散検索特性があるため、特殊なプロトコル機能も必要です。
In highly distributed environments, it is unreasonable to expect all data repositories that need to be searched to be available when queries are posed. SNQP servers require facilities for returning partial results in the presence of communications errors with data repositories. The partial results must indicate how to resubmit the query only to those data repositories that are unavailable.
高度に分散された環境では、検索が必要なすべてのデータリポジトリがクエリの実行時に利用可能であると期待するのは不合理です。 SNQPサーバーには、データリポジトリとの通信エラーがある場合に部分的な結果を返す機能が必要です。部分的な結果は、使用できないデータリポジトリにのみクエリを再送信する方法を示す必要があります。
In addition, users may pose queries without realizing the cost of the search for query responses. SNQP provides facilities for informing users of query costs and advising them on limiting that cost. Costs and advice are returned before queries are executed.
さらに、ユーザーは、クエリ応答の検索のコストを認識せずにクエリをポーズできます。 SNQPは、ユーザーにクエリコストを通知し、そのコストを制限するようにアドバイスする機能を提供します。コストとアドバイスは、クエリが実行される前に返されます。
Finally, SNQP servers may cache data and meta-data to speed query responses. Servers can inform users of the t-bound for their query response. A t-bound is the time after which changes may have occurred to the data that are not reflected in the query response [6,2]. A t-bound is the time of the oldest cache entry used to calculate the response. Users can request that query responses are more current then a particular t-bound. Making such a request flushes older items from the cache.
最後に、SNQPサーバーはデータとメタデータをキャッシュして、クエリ応答を高速化できます。サーバーは、ユーザーのクエリ応答のt-boundを通知できます。 tバウンドは、クエリの応答に反映されない変更がデータに発生した後の時間です[6、2]。 tバウンドは、応答の計算に使用される最も古いキャッシュエントリの時間です。ユーザーは、クエリの応答が特定のt境界よりも新しいことを要求できます。このようなリクエストを行うと、古いアイテムがキャッシュからフラッシュされます。
SNQP provides support for graphical user interfaces. It also supports different types of comparison operators, so SNQP servers can query a variety of back-end data repositories, e.g. relational databases, CCSO servers [3], and servers providing relational views of X.500 [10].
SNQPは、グラフィカルユーザーインターフェイスのサポートを提供します。また、さまざまなタイプの比較演算子をサポートしているため、SNQPサーバーはさまざまなバックエンドデータリポジトリにクエリを実行できます。リレーショナルデータベース、CCSOサーバー[3]、およびX.500のリレーショナルビューを提供するサーバー[10]。
SNQP is a connection-oriented protocol. A client initiates a query 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 provides some typical scenarios for using these commands, and Section 3 describes the commands fully. The server replies to each command using the theory of reply codes described for the Simple Mail Transfer Protocol (SMTP) [9]. The theory of reply codes and the defined reply codes are described in Section 4.
SNQPは接続指向のプロトコルです。クライアントは、既知のポートへのTCP接続を確立することにより、SNQPサーバーとのクエリセッションを開始します。次に、クライアントは一連のSNQPコマンドを実行します。これらのコマンドを表1に簡単にリストします。セクション2はこれらのコマンドを使用するためのいくつかの典型的なシナリオを示し、セクション3はコマンドを完全に説明します。サーバーは、Simple Mail Transfer Protocol(SMTP)[9]で説明されている応答コードの理論を使用して、各コマンドに応答します。応答コードの理論と定義された応答コードについては、セクション4で説明します。
--------------------------------------------------------------------- Command Description --------------------------------------------------------------------- advice Provide advice on query costs without executing 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 next query in block. noadvice Provide responses to queries. Do not advise 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 SNQP server. stop End processing of current query, and cancel any queries remaining in block. quit Terminate the query session.
Table 1: SNQP Commands
表1:SNQPコマンド
---------------------------------------------------------------------
SNQP queries are posed in SQL, a standard relational database query language [4,12]. Information that is obtained through SNQP servers is organized by type into database relations. SQL queries may often have more functionality then a server supports or an application demands. Moreover, advice on query costs, some types of comparison operations or t-bounds may not be supported by a particular server. SNQP defines a minimal subset of functionality for a working SNQP protocol. Functionality beyond this subset is optional. Servers that do not support optional functionality must return replies that indicate this to the user. The required and optional features of SNQP are summarized in Section 5.
SNQPクエリは、標準のリレーショナルデータベースクエリ言語であるSQLで行われます[4、12]。 SNQPサーバーを通じて取得される情報は、タイプごとにデータベース関係に編成されます。多くの場合、SQLクエリには、サーバーがサポートする機能やアプリケーションが要求する機能よりも多くの機能があります。さらに、クエリコスト、一部のタイプの比較演算、またはt境界に関するアドバイスは、特定のサーバーでサポートされていない場合があります。 SNQPは、機能するSNQPプロトコルの機能の最小限のサブセットを定義します。このサブセットを超える機能はオプションです。オプション機能をサポートしないサーバーは、これをユーザーに示す応答を返す必要があります。 SNQPの必須機能とオプション機能は、セクション5にまとめられています。
SNQP was specifically designed for use with the Nomenclator name and information service [8,7,5]. Nomenclator produces query responses by integrating information from data repositories with different protocols and data formats. It constrains the searches for query responses through a variety of distributed indexing techniques. SNQP has also been found useful elsewhere, even as a query language for a single data repository.
SNQPは、命名者名および情報サービス[8,7,5]で使用するために特別に設計されました。 Nomenclatorは、データリポジトリからの情報をさまざまなプロトコルとデータ形式で統合することにより、クエリ応答を生成します。これは、さまざまな分散インデックス作成手法を通じてクエリ応答の検索を制限します。 SNQPは、単一のデータリポジトリのクエリ言語としても、他の場所で役立つことがわかっています。
SNQP is defined for US-ASCII only, and use with other character sets will require further work.
SNQPはUS-ASCIIに対してのみ定義されており、他の文字セットで使用するにはさらに作業が必要になります。
Section 6 concludes this document with a description of security considerations.
セクション6では、セキュリティに関する考慮事項を説明してこのドキュメントを締めくくっています。
This section illustrates the basic SNQP commands by presenting several client scenarios. The scenarios include a new user, a user who prefers CCSO style comparisons and more current responses, a graphical user interface program, a user with a change of mind, and a user worried about costs. Although SNQP will work for a human client on a bare connection (like one provided by telnet), it also works for client programs. Several of these programs have been written and provide enhanced interfaces.
このセクションでは、いくつかのクライアントシナリオを提示して、基本的なSNQPコマンドを示します。シナリオには、新規ユーザー、CCSOスタイルの比較とより最新の応答を好むユーザー、グラフィカルユーザーインターフェイスプログラム、気が変わったユーザー、およびコストを心配しているユーザーが含まれます。 SNQPは、(telnetによって提供されるような)ベア接続の人間のクライアントで機能しますが、クライアントプログラムでも機能します。これらのプログラムのいくつかは作成され、拡張されたインターフェースを提供します。
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 the connection with the Unix telnet command, and that the server is located at nomen.research.bell-labs.com on port 4224. The user enters a relation command to discover what relations are available, and an attributes command to discover the attributes for a particular relation. The user eventually asks for people with a given name of "J*" and a surname of "Ordille" who work for "Lucent Tech*". The response is current through June 11, 1996 at 11 p.m. EDT. Figure 1a and Figure 1b provide this scenario.
新しいSNQPユーザーは、最初にSNQPサーバーへのTCP接続を確立します。説明のために、ユーザーがUnix telnetコマンドを使用して接続し、サーバーがポート4224のnomen.research.bell-labs.comにあると想定します。ユーザーは関係コマンドを入力して、 、および特定の関係の属性を検出する属性コマンドが利用可能です。ユーザーは最終的に、「ルーセントテック*」で働く、「J *」という名と「Ordille」という姓を持つ人々を求めます。応答は1996年6月11日の午後11時までです。 EDT。図1aと図1bはこのシナリオを示しています。
---------------------------------------------------------------------
> 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 ready
> telnet nomen.research.bell-labs.com 4224 135.104.70.9を試行しています... nomen.research.bell-labs.comに接続しています。エスケープ文字は「^]」です。 220 nomen.research.bell-labs.com Nomenclatorクエリサービスの準備ができました
relations 211-There is 1 relation defined: 211 People
関係211-1つの関係が定義されています:211人
attributes People 212-There are 20 attributes in relation "People": 212-Given_Name 212-Middle_Name 212-Surname 212-Name_Suffix 212-Title 212-Organization 212-Division 212-Department 212-Building 212-Street 212-City 212-State_or_Province 212-Postal_Code 212-Country 212-Phone 212-Fax 212-Email 212-MHSmail 212-Last_Modified 212 Source
属性人212-関係「人」には20の属性があります:212-Given_Name 212-Middle_Name 212-Surname 212-Name_Suffix 212-Title 212-Organization 212-Division 212-Department 212-Building 212-Street 212-City 212-State_or_Province 212-Postal_Code 212-Country 212-Phone 212-Fax 212-Email 212-MHSmail 212-Last_Modified 212ソース
Figure 1a: New User Queries Server
図1a:新しいユーザークエリサーバー
---------------------------------------------------------------------
---------------------------------------------------------------------
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from People where given_name = "J*" and surname = "Ordille" and organization = "Lucent Tech*"; . 351 Partial response follows, ended with .
与えられた名前= "J *"および姓= "Ordille"および組織= "Lucent Tech *"の人から*を選択します。 。 351部分応答が続き、で終了します。
Given_Name: Joann Middle_Name: J. Surname: Ordille Title: MTS Organization: Lucent Technologies Division: Bell Laboratories Department: Computing Sciences Research Center Building: 2C-301 Street: 700 Mountain Avenue City: Murray Hill State_or_Province: New Jersey Postal_Code: 07974 Country: United States Phone: +1 908 582 7114 Email: joann@bell-labs.com Source: nomen://bell-labs.com:17036/email=joann@bell-labs.com
. 250 All queries processed. Current through 11-Jun-1996 23:00 EDT.
。 250すべてのクエリが処理されました。 1996年6月11日23:00 EDTまでの電流。
quit 221 nomen.research.bell-labs.com closing transmission channel
終了221 nomen.research.bell-labs.com伝送チャネルを閉じる
Connection closed by foreign host.
接続は外部ホストによって閉じられました。
Figure 1b: New User Queries Server (continued)
図1b:新しいユーザークエリサーバー(続き)
---------------------------------------------------------------------
A user who is accustomed to CCSO name servers prefers CCSO word-based matching within attribute strings. Each word in the query string for an attribute must appear in some order in the response string. The wildcard "*" matches any substring within a word. The default matching, illustrated in Figure 1b, is exact matching of a query string. The query string may include "*" wildcards which match any substring within the response string. Both types of matching are case insensitive.
CCSOネームサーバーに慣れているユーザーは、属性文字列内でのCCSOの単語ベースのマッチングを好みます。属性のクエリ文字列内の各単語は、応答文字列に何らかの順序で出現する必要があります。ワイルドカード「*」は、単語内の任意の部分文字列と一致します。図1bに示すデフォルトの一致は、クエリ文字列の完全一致です。クエリ文字列には、応答文字列内の任意の部分文字列と一致する「*」ワイルドカードを含めることができます。どちらのタイプのマッチングでも、大文字と小文字は区別されません。
In Figure 2, the CCSO-style user connects to the SNQP server, enables csso matching, and requests some information about Ordille who works in research at a lab division of some company. The request asks for information that is more current than June 11, 1996 at 11 p.m. if it is available.
図2では、CCSOスタイルのユーザーがSNQPサーバーに接続し、cssoマッチングを有効にして、ある会社の研究部門で研究しているOrdilleに関する情報を要求しています。リクエストには、1996年6月11日午後11時よりも新しい情報が必要です。利用可能な場合。
---------------------------------------------------------------------
compare ccso 213 Performing ccso equality comparisons
ccsoの比較213 ccsoの等価比較の実行
query 11-Jun-1996 23:00 350 Send the query text, end with .
クエリ1996年6月11日23:00 350末尾がであるクエリテキストを送信します。
select given_name, surname, organization, division, department, email from People where surname = "Ordille" and department = "research" and division = "lab*"; .
「名」、「姓」、「組織」、「部署」、「部署」、「姓」が「Ordille」、部署が「research」、および部署が「lab *」のPeopleからのメールを選択します。 。
351 Partial response follows, ended with .
351部分応答が続き、で終了します。
Given_Name: Joann Surname: Ordille Organization: Lucent Technologies Division: Bell Laboratories Department: Computing Sciences Research Center Email: joann@bell-labs.com
名:ジョアン姓:オルディル組織:ルーセントテクノロジー部門:ベル研究所部門:コンピューティングサイエンス研究センターメール:joann@bell-labs.com
. 250 All queries processed. Current through 12-Jun-1996 22:35 EDT.
。 250すべてのクエリが処理されました。 1996年6月12日22:35 EDTまでの電流。
Figure 2: User with CCSO Preferences Queries Server
図2:CCSO設定クエリサーバーを持つユーザー
---------------------------------------------------------------------
A user designs a Windows program as a front end to the SNQP server. In Figure 3, the program requests replies formatted for a graphical user interface program. The program submits two SQL queries, and receives detailed responses that indicate the type and position of errors. The error messages are discussed in more detail in Section 3.
ユーザーは、SNQPサーバーのフロントエンドとしてWindowsプログラムを設計します。図3では、プログラムがグラフィカルユーザーインターフェイスプログラム用にフォーマットされた応答を要求しています。プログラムは2つのSQLクエリを送信し、エラーの種類と位置を示す詳細な応答を受け取ります。エラーメッセージについては、セクション3で詳しく説明します。
---------------------------------------------------------------------
imagui 214 GUI responses enabled
imagui 214 GUI応答が有効
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from Peple where name = "Elliott"; . 735 00000001a000015 e Unknown relation, "Peple"
Pepleから*を選択します= name = "Elliott"; 。 735 00000001a000015 e不明な関係、「人」
735 00000001a000027 e Attribute "name" not found in any relation used.
735 00000001a000027 e属性 "name"は、使用されているどの関係にも見つかりません。
250 All queries processed. Current through 12-Jun-1996 22:35 EDT.
250すべてのクエリが処理されました。 1996年6月12日22:35 EDTまでの電流。
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from People wher surname = "Elliott"; . 730 00000001a000022 e syntax error
select * from People wher surname = "Elliott"; 。 730 00000001a000022 e構文エラー
730 00000001a000027 e syntax error
730 00000001a000027 e構文エラー
730 00000001a000037 e syntax error
730 00000001a000037 e構文エラー
730 00000001a000039 e syntax error
730 00000001a000039 e構文エラー
250 All queries processed
250すべてのクエリが処理されました
Figure 3: Graphical User Interface Program Queries Server
図3:グラフィカルユーザーインターフェイスプログラムクエリサーバー
---------------------------------------------------------------------
An exuberant user decides to search everywhere for family members, then look up a friend who works at Epic Systems, and finally search everywhere for an old school friend. Once the query set starts, the user realizes the folly of searching everywhere, stops the first query, executes the second query and then stops executing the query block. This scenario is illustrated in Figure 4. The t-bound is represented by <time> in this scenario due to space restrictions.
熱狂的なユーザーは、どこでも家族を探し、次にEpic Systemsで働いている友達を探し、最後にどこでも古い学校の友達を探します。クエリセットが開始すると、ユーザーはあらゆる場所を検索するという愚かなことに気付き、最初のクエリを停止し、2番目のクエリを実行してから、クエリブロックの実行を停止します。このシナリオを図4に示します。このシナリオでは、スペースの制限により、t-boundは<time>で表されています。
---------------------------------------------------------------------
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from people where surname = "Smith"; select given_name, surname, email from people where surname = "Elliott" and organization = "Epic Systems*"; select * from people where surname = "Brown"; . next
352 Starting next query. Any pending responses discarded.
352次のクエリを開始します。保留中の応答は破棄されました。
351 Partial response follows, ended with .
351部分応答が続き、で終了します。
Given_Name: Jim Surname: Elliott Email: jim@apocalypse.com
氏名:ジム姓:エリオットメール:jim@apocalypse.com
. 352 Beginning next query. Previous current through <time>.
。 352次のクエリを開始します。 <time>までの以前の現在。
stop
やめる
251 All pending queries and responses discarded
251保留中のすべてのクエリと応答が破棄されました
Figure 4: User Changes Mind About Submitted Queries
図4:送信されたクエリに関するユーザーの変更の心
---------------------------------------------------------------------
In Figure 5a, the exuberant user decides to apply more caution, and asks for advice on searching for a friend named "Susan Brown". The user can not recall the name of the organization where Susan works, but remembers that the state name begins with "I". The advice response lists the locations of the data repositories that will be contacted. These locations can be supplied to the SNQP server using the "source" attribute. Each location is followed by a blank and a descriptive phrase for the data repository. Continuing in Figure 5b, the SNQP server also supplies a list of attributes that may constrain the query further. The user recognizes the name Northeastern, and submits the query directly to that location. The user could also have added "organization = "Northeastern*"" to the original query. Other advice options are described in Section 3.
図5aでは、熱狂的なユーザーがさらに注意を払うことを決定し、「Susan Brown」という名前の友達を検索することについてアドバイスを求めています。ユーザーはスーザンが勤務する組織の名前を思い出すことはできませんが、州名が「I」で始まることを覚えています。アドバイス応答は、連絡されるデータリポジトリの場所をリストします。これらの場所は、「ソース」属性を使用してSNQPサーバーに提供できます。各場所の後には、データリポジトリの空白と説明句が続きます。図5bに続いて、SNQPサーバーは、クエリをさらに制約する可能性のある属性のリストも提供します。ユーザーはNortheasternという名前を認識し、その場所に直接クエリを送信します。ユーザーは、元のクエリに「organization = "Northeastern *"」を追加することもできます。その他のアドバイスオプションについては、セクション3で説明します。
---------------------------------------------------------------------
advice 214 Basic advice enabled. Query responses disabled.
アドバイス214基本的なアドバイスが有効になっています。クエリ応答が無効になっています。
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from people where surname = "Brown" and given_name = "Susan" and state_or_province = "I*"; .
姓が「茶色」で、given_nameが「スーザン」、state_or_provinceが「I *」の場合は、*から選択します。 。
354 The query will contact 8 data repositories, ended with . ccso://ns.dacc.cc.il.us:105/* Danville Area Community College ccso://ns.eiu.bgu.edu:105/* Eastern Illinois University ccso://ns.ilstu.edu:105/* Illinois State University ccso://ns.imsa.edu:105/* Illinois Math and Science Academy ccso://ns.ne.edu:105/* Northeastern Illinois University ccso://ns.uiuc.edu:105/* University of Illinois at Urbana-Champaign ccso://ns.iup.edu:105/* Indiana University of Pennsylvania ccso://ph.indstate.edu:105/* Indiana State University .
Figure 5a: User Asks About Costs Before Executing Query
図5a:ユーザーがクエリを実行する前にコストについて尋ねる
---------------------------------------------------------------------
---------------------------------------------------------------------
355 There are 8 attributes that may constrain the query, ended with . Organization Department Email State_or_Province Country Postal_Code Phone Source .
355クエリを制約する可能性のある8つの属性があり、で終了します。組織部門のメールState_or_Province Country Postal_Code電話ソース。
250 All queries processed. Current through 12-Jun-1996 22:35 EDT.
250すべてのクエリが処理されました。 1996年6月12日22:35 EDTまでの電流。
noadvice 214 Query responses returned. Advice disabled.
noadvice 214クエリ応答が返されました。アドバイスが無効になっています。
query 350 Send the query text, end with .
query 350末尾がであるクエリテキストを送信します。
select * from people where surname = "Brown" and given_name = "Susan" and state_or_province = "I*" and source ="ccso://ns.neiu.bgu.edu:105/*"; .
姓=「茶色」、given_name =「スーザン」、state_or_province =「I *」、source = "ccso://ns.neiu.bgu.edu:105 / *"のユーザーから*を選択します。 。
351 Partial response follows, ended with .
351部分応答が続き、で終了します。
Given_Name: Susan Middle_Name: W. Surname: Brown Organization: Northeastern Illinois University Email: sw-brown@ne.edu Source: ccso://ne.edu:105/alias=SW-Brown
. 250 All queries processed. Current through 12-Jun-1996 22:35 EDT.
。 250すべてのクエリが処理されました。 1996年6月12日22:35 EDTまでの電流。
Figure 5b: User Asks About Costs Before Executing Query
図5b:ユーザーがクエリを実行する前にコストについて尋ねる
---------------------------------------------------------------------
SNQP commands are case insensitive and terminated with a newline <LF> or carriage return <CR>. In the following descriptions, SNQP commands are in upper case and SNQP replies are in mixed case. Items in a command list are separated by blanks.
SNQPコマンドは大文字と小文字を区別せず、改行<LF>またはキャリッジリターン<CR>で終了します。以下の説明では、SNQPコマンドは大文字で、SNQP応答は大文字と小文字が混在しています。コマンドリストの項目は空白で区切られます。
Most SNQP replies are short. They have a rely code (see Section 4), followed by a continuation character and reply text. If the continuation character is blank, the reply is complete. If the continuation character is a dash ("-"), the reply continues on the next line. Text within the reply can vary, but the reply code remains the same. A two line reply example is given below:
ほとんどのSNQP応答は短いです。依存コード(セクション4を参照)に続き、継続文字と応答テキストが続きます。継続文字がブランクの場合、応答は完了です。継続文字がダッシュ( "-")の場合、応答は次の行に続きます。返信内のテキストは異なる場合がありますが、返信コードは変わりません。 2行の応答の例を以下に示します。
---------------------------------------------------------------------
nnn-Message1 nnn Message2
nnnメッセージ1 nnnメッセージ2
---------------------------------------------------------------------
In some cases commands or replies may be long, so these commands/replies use the '.'-terminated block structure that is used for message bodies in SMTP. Blocks are comprised of lines of text that constitute the command/reply. Blocks are terminated with a period on a line by itself.
コマンドまたは応答が長い場合があるため、これらのコマンド/応答は、SMTPのメッセージ本文に使用される「。」で終わるブロック構造を使用します。ブロックは、コマンド/応答を構成するテキスト行で構成されています。ブロックは行自体にピリオドで終了します。
SNQP generally ignores blank lines in both directions, except that blanks lines separate tuples within query response blocks.
SNQPは通常、双方向の空白行を無視します。ただし、空白行はクエリ応答ブロック内のタプルを分離します。
Whenever a time is listed in a command or response, it has the format:
時刻がコマンドまたは応答にリストされている場合は常に、次の形式になります。
---------------------------------------------------------------------
DD-MMM-YYYY HH:MM ZZZ
DD-MMM-YYYY HH:MM ZZZ
---------------------------------------------------------------------
where DD is the day, MMM are the first three characters of the month, YYYY is the year, HH the hours on a 24 hour clock, MM the minutes, and ZZZ the commonly used US timezone abbreviations. If time zone is unspecified in a command, the timezone of the SNQP server is assumed.
ここで、DDは日、MMMは月の最初の3文字、YYYYは年、HHは24時間制の時間、MMは分、ZZZは一般的に使用される米国のタイムゾーン省略形です。コマンドでタイムゾーンが指定されていない場合は、SNQPサーバーのタイムゾーンが想定されます。
SNQP servers support a source attribute in every relation. In queries, the source attribute directs the SNQP server to a particular data repository. In query responses, the source attribute indicates the origin of the information in a tuple. In advice and error messages, the source attribute is provided so the client can contact the source in later queries. The source attribute has two possible forms:
SNQPサーバーは、すべての関係でソース属性をサポートします。クエリでは、source属性はSNQPサーバーを特定のデータリポジトリに送信します。クエリ応答では、source属性はタプル内の情報の出所を示します。アドバイスおよびエラーメッセージでは、クライアントが後のクエリでソースにアクセスできるように、source属性が提供されます。 source属性には2つの可能な形式があります。
---------------------------------------------------------------------
<protocol>://<domain-name>:<port>
<protocol>://<domain-name>:<port>/<tuple-id>
---------------------------------------------------------------------
<protocol> identifies the protocol used to contact the data repository. The data repository can be (was) contacted at <domain-name> and <port>. When present, <tuple-id> identifies a specific entry in the data repository. It is missing when the data repository does not have an attribute that uniquely identifies its entries. Although the source string is similar to a URL, the protocols listed may or may not be supported by World-Wide Web browsers. An effort should be made to keep the protocol identifiers consistent with accepted standards, but in the end they are specific to SNQP servers.
<protocol>は、データリポジトリへの接続に使用されるプロトコルを識別します。データリポジトリは、<domain-name>および<port>で(以前は)接続できます。存在する場合、<tuple-id>はデータリポジトリ内の特定のエントリを識別します。エントリを一意に識別する属性がデータリポジトリにない場合は、存在しません。ソース文字列はURLに似ていますが、リストされているプロトコルは、World-Wide Webブラウザーでサポートされている場合とサポートされていない場合があります。プロトコル識別子を承認された標準と一致させるよう努力する必要がありますが、最終的にはそれらはSNQPサーバーに固有のものです。
When a connection is established with an SNQP server, the server returns the following greeting where <domain-name> is the domain name of the server host, e.g. nomen.research.bell-labs.com, and <service-name> is the name of the service, e.g. Nomenclator:
SNQPサーバーとの接続が確立されると、サーバーは次の挨拶を返します。<domain-name>はサーバーホストのドメイン名です。 nomen.research.bell-labs.com、<service-name>はサービスの名前です。命名法:
---------------------------------------------------------------------
220 <domain-name> <snqp-service-name> Query Service ready
---------------------------------------------------------------------
The following sections describe each command in detail. The commands are ordered alphabetically. Typical reply messages are explained with each command. Exceptional error conditions, for example system errors or rejection of connections due to load, may sometimes occur. These error replies are documented in Section 4.
次のセクションでは、各コマンドについて詳しく説明します。コマンドはアルファベット順に並べられています。典型的な応答メッセージは、各コマンドで説明されています。システムエラーや負荷による接続の拒否など、例外的なエラー状態が発生することがあります。これらのエラー応答は、セクション4に記載されています。
---------------------------------------------------------------------
ADVICE 214 Basic advice enabled. Query responses disabled. 514 Advice not available
ADVICE 214基本的なアドバイスが有効になりました。クエリ応答が無効になっています。 514アドバイスはありません
ADVICE <RELATION> <ATTRIBUTE> 214 Advice enabled for "<attribute>" in "<relation>" 553 Unknown relation 554 Unknown attribute 514 Advice not available for "<attribute>"
---------------------------------------------------------------------
In all cases, advice disables query searches. When queries are submitted, advice is returned about the cost of the query or ways of constraining the query further. There are two forms of the advice command.
すべての場合において、アドバイスはクエリ検索を無効にします。クエリが送信されると、クエリのコストまたはクエリをさらに制限する方法についてアドバイスが返されます。アドバイスコマンドには2つの形式があります。
The first form of command does not include an attribute name. When an SQL query is processed, the SNQP server returns a list of data repositories that it will contact. It also returns a list of attributes that may constrain the query further. The specific values of the attributes will determine whether the query is constrained further. If advice is not available from the server, an error is returned.
コマンドの最初の形式には属性名が含まれていません。 SQLクエリが処理されると、SNQPサーバーは、接続するデータリポジトリのリストを返します。また、クエリをさらに制約する可能性のある属性のリストも返します。属性の特定の値によって、クエリがさらに制約されるかどうかが決まります。サーバーからアドバイスがない場合は、エラーが返されます。
The second form of advice includes the name of a relation and the name of an attribute in that relation. SQL queries return a list of possible values for the attribute. The list may be complete, or may only include values that are known to constrain the search. This distinction is described further in the query command. If advice is not available on the attribute or the relation or attribute is unknown, an error is returned. When advice is not available on an attribute, basic advice and advice on other attributes may be available.
2番目の形式のアドバイスには、リレーションの名前とそのリレーションの属性の名前が含まれます。 SQLクエリは、属性の可能な値のリストを返します。リストは完全な場合もあれば、検索を制約することがわかっている値のみを含む場合もあります。この違いについては、クエリコマンドで詳しく説明します。属性に関するアドバイスがない場合、またはリレーションまたは属性が不明な場合は、エラーが返されます。属性に関するアドバイスが利用できない場合、基本的なアドバイスと他の属性に関するアドバイスが利用できる場合があります。
Basic advice and advice for one or more attributes can be enabled simultaneously. They are not mutually exclusive.
基本的なアドバイスと1つ以上の属性のアドバイスを同時に有効にすることができます。それらは相互に排他的ではありません。
The advice command is useful to application programs which present lists of alternatives to the user. A query-form program can enable advice for an attribute, submit an empty query, and obtain the list of options for the attribute. The list will indicate whether it is a full list of all values for the attribute, or a constraint list of only those values known to constrain queries. The program can use full lists to create a selection menu on its query form. A program can also enable basic advice, submit the query, and then ask the user to select the data repositories to search from the resulting list.
Adviceコマンドは、ユーザーに代替のリストを提示するアプリケーションプログラムに役立ちます。クエリ形式のプログラムは、属性のアドバイスを有効にして、空のクエリを送信し、属性のオプションのリストを取得できます。リストは、属性のすべての値の完全なリストであるか、クエリを制約することがわかっている値のみの制約リストであるかを示します。プログラムは完全なリストを使用して、クエリフォームに選択メニューを作成できます。プログラムは、基本的なアドバイスを有効にしてクエリを送信し、結果のリストから検索するデータリポジトリを選択するようにユーザーに要求することもできます。
---------------------------------------------------------------------
ATTRIBUTES <RELATION> <TIME> 212-There are <n> attributes in relation "<RELATION>": 212-<Attribute-name> 212-<Attribute-name> 212 Current through <TIME>
553 Unknown relation. Current through <TIME>. 556 T-bounds not supported
553関係が不明です。 <TIME>までの現在。 556 T境界はサポートされていません
---------------------------------------------------------------------
The attributes command lists the attributes defined for the given relation. Since characteristics of relations may be defined outside the SNQP server and cached there, the user may ask for an answer that is more recent than <TIME>. The SNQP server will endeavor to provide this information. The first line of the reply notes the number of attributes <n>. Subsequent lines list the attribute names. The information in the response is current through the time returned, but may have changed after that time. Accepting requests to improve a t-bound and indicating the t-bound of the result are optional for SNQP servers.
attributesコマンドは、指定された関係に定義された属性をリストします。関係の特性はSNQPサーバーの外部で定義され、そこにキャッシュされるため、ユーザーは<TIME>よりも新しい回答を要求する場合があります。 SNQPサーバーは、この情報の提供に努めます。応答の最初の行は、属性<n>の数を示しています。 2行目以降は属性名をリストしています。応答の情報は、返された時間を通じて最新ですが、それ以降は変更されている可能性があります。 tバウンドを改善する要求を受け入れることと、結果のtバウンドを示すことは、SNQPサーバーではオプションです。
If the relation is unknown, an error is returned. If <TIME> is submitted when t-bounds are not supported, an error is returned.
関係が不明な場合、エラーが返されます。 t境界がサポートされていないときに<TIME>が送信されると、エラーが返されます。
---------------------------------------------------------------------
COMPARE <COMPARISON-TYPE> 213 Performing <COMPARISON-TYPE> comparisons
555 Unknown comparison type
555不明な比較タイプ
---------------------------------------------------------------------
The compare command lists the type of equality comparison performed for SQL queries. The compare command can be followed by a comparison type to set the type. Reply 555 is returned if the comparison type is unknown or unsupported. "Default" and "CCSO" are defined comparison types. The default equality comparison is exact string matching. The query string may include "*" wildcards which match any substring within the response string. The CCSO equality comparison matches words within strings. Each word in the query string for an attribute must appear in some order in the response string. Words are delimited by blank, comma, colon, semi-colon, tab, and newline. The wildcard "*" matches any substring within a word. Both string and word comparisons are case insensitive.
compareコマンドは、SQLクエリに対して実行される等値比較のタイプを一覧表示します。 compareコマンドの後には、タイプを設定するための比較タイプを続けることができます。比較タイプが不明またはサポートされていない場合、応答555が返されます。 「デフォルト」と「CCSO」は、定義された比較タイプです。デフォルトの等値比較は、文字列の完全一致です。クエリ文字列には、応答文字列内の任意の部分文字列と一致する「*」ワイルドカードを含めることができます。 CCSOの等価比較では、文字列内の単語が一致します。属性のクエリ文字列内の各単語は、応答文字列に何らかの順序で出現する必要があります。単語は、空白、カンマ、コロン、セミコロン、タブ、改行で区切られます。ワイルドカード「*」は、単語内の任意の部分文字列と一致します。文字列と単語の比較では、大文字と小文字が区別されません。
---------------------------------------------------------------------
HELP 210-The following commands are available: 210-<comma-separated-command-list> 210 <comma-separated-command-list>
ヘルプ210-次のコマンドを使用できます:210- <comma-separated-command-list> 210 <comma-separated-command-list>
HELP <COMMAND> 210-<explanation of <COMMAND>> 210 <explanation of <COMMAND>>
500 Sorry, no help available for "<COMMAND>"
500申し訳ありませんが、「<COMMAND>」に関するヘルプはありません
---------------------------------------------------------------------
The help command returns the list of available commands. If some commands are not supported, for example advice, they should not be listed. Use of unsupported commands should still return an informative error message. Help can be followed by a command name for information on that command. If no help is available for a command or the command does not exist, Reply 500 is returned.
helpコマンドは、使用可能なコマンドのリストを返します。アドバイスなど、一部のコマンドがサポートされていない場合は、リストに含めないでください。サポートされていないコマンドを使用しても、有益なエラーメッセージが返されます。ヘルプの後に、そのコマンドに関する情報のコマンド名を続けることができます。コマンドのヘルプがない場合、またはコマンドが存在しない場合、Reply 500が返されます。
---------------------------------------------------------------------
IMAGUI 215 GUI responses enabled
IMAGUI 215 GUI応答が有効
---------------------------------------------------------------------
The imagui command informs the server that the client is a graphical user interface (GUI). The client requests more comprehensive, program-oriented errors and progress reports. It replies that GUI responses are enabled. See Section 4 for more information on GUI responses.
imaguiコマンドは、クライアントがグラフィカルユーザーインターフェイス(GUI)であることをサーバーに通知します。クライアントは、より包括的なプログラム指向のエラーと進捗レポートを要求します。 GUI応答が有効であると応答します。 GUI応答の詳細については、セクション4を参照してください。
---------------------------------------------------------------------
NEXT 353 Starting next query. Any pending responses discarded.
NEXT 353次のクエリを開始します。保留中の応答は破棄されました。
450 No query in progress
450進行中のクエリはありません
---------------------------------------------------------------------
The next command stops processing of the current SQL query. It starts the next SQL query in the block submitted with the last query command. If none remain, the query command is completed. An error is returned if no query is in progress.
次のコマンドは、現在のSQLクエリの処理を停止します。最後のクエリコマンドで送信されたブロックで次のSQLクエリを開始します。何も残っていない場合は、クエリコマンドが完了します。進行中のクエリがない場合は、エラーが返されます。
---------------------------------------------------------------------
NOADVICE 216 Query responses enabled. Advice disabled.
NOADVICE 216クエリ応答が有効になっています。アドバイスが無効になっています。
---------------------------------------------------------------------
The noadvice command disables advice for query commands. It activates query searches, so queries will return responses. See the advice command for more information.
noadviceコマンドは、クエリコマンドのアドバイスを無効にします。クエリ検索をアクティブにするため、クエリは応答を返します。詳細については、アドバイスコマンドを参照してください。
---------------------------------------------------------------------
NOIMAGUI 215 GUI responses disabled
NOIMAGUI 215 GUI応答が無効
---------------------------------------------------------------------
The noimagui command disables detailed messages to a graphical user interface program. It replies that GUI responses are disabled. See Section 4 for more information on GUI responses.
noimaguiコマンドは、グラフィカルユーザーインターフェイスプログラムへの詳細メッセージを無効にします。 GUI応答が無効であると応答します。 GUI応答の詳細については、セクション4を参照してください。
The query command behaves differently depending on whether responses or advice are enabled. We first describe the submission of a query and the possible immediate error responses. We then describe the possible replies to the query command when responses are enabled. We finish by describing the possible replies to the query command when advice is enabled.
queryコマンドの動作は、応答またはアドバイスが有効になっているかどうかによって異なります。まず、クエリの送信と起こりうる即時のエラー応答について説明します。次に、応答が有効な場合のqueryコマンドへの可能な応答について説明します。最後に、アドバイスが有効な場合のqueryコマンドへの可能な応答について説明します。
---------------------------------------------------------------------
QUERY <TIME> 350 Send query text, end with .
QUERY <TIME> 350で終わるクエリテキストを送信します。
450 Query already in progress 552 Query blocks are limited to one SQL query 556 T-bounds not supported
450クエリはすでに進行中です552クエリブロックは1つのSQLクエリに制限されています556 T境界はサポートされていません
---------------------------------------------------------------------
The query command submits a block of SQL queries to the SNQP server. Each SQL query must be terminated with a semi-colon, and the entire block is terminated with a line containing a single period. Special characters in query string constants can be included using the C language conventions, e.g. "\n" is the newline character.
queryコマンドは、SQLクエリのブロックをSNQPサーバーに送信します。各SQLクエリはセミコロンで終了する必要があり、ブロック全体は単一のピリオドを含む行で終了します。クエリ文字列定数の特殊文字は、C言語の規則を使用して含めることができます。 「\ n」は改行文字です。
Since a variety of cached information can be used in processing the SQL queries, the user may ask for answers that are more recent than <TIME>. The SNQP server will endeavor to provide this information. Accepting requests to improve a t-bound is optional for SNQP servers.
キャッシュされたさまざまな情報をSQLクエリの処理に使用できるため、ユーザーは<TIME>よりも新しい回答を要求する場合があります。 SNQPサーバーは、この情報の提供に努めます。 SNQPサーバーでは、tバウンドを改善する要求を受け入れることはオプションです。
If a query command is already in process, the entire block is refused. If multiple SQL queries are submitted in one block to a server that does not support multi-query blocks, an error is returned. If <TIME> is submitted when t-bounds are not supported, an error is returned.
クエリコマンドが既に処理中の場合、ブロック全体が拒否されます。マルチクエリブロックをサポートしていないサーバーに1つのブロックで複数のSQLクエリが送信されると、エラーが返されます。 t境界がサポートされていないときに<TIME>が送信されると、エラーが返されます。
---------------------------------------------------------------------
351 Partial response follows ended with . 352 Beginning next query. Previous query current through <TIME>. 250 All queries processed. Current through <TIME>.
351部分的応答はで終了します。 352次のクエリを開始します。 <TIME>まで現在の以前のクエリ。 250すべてのクエリが処理されました。 <TIME>までの現在。
653 <Communications err> with <location> <location description> 660 <Error> from <location> <location description>
700 <SQL query parsing error> 750 <SQL query semantic error> 761 <Requirements Error> for <location> <location description>
--------------------------------------------------------------------- Responses are returned in blocks as they arrive from data repositories. Reply 351 begins a response block. Response blocks are terminated with periods. Tuples are sent within the block as a list of attribute name and value pairs:
---------------------------------------------------------------------
<attribute-name>: <attribute-value> : <attribute-value>
---------------------------------------------------------------------
Only the first line of a multi-line attribute returns the <attribute-name>. Successive tuples are separated with blank lines. Attributes with null or blank values are suppressed at the option of the SNQP server.
複数行の属性の最初の行だけが<attribute-name>を返します。連続するタプルは空白行で区切られます。 nullまたは空白の値を持つ属性は、SNQPサーバーのオプションで抑制されます。
In between response blocks, error replies can be reported. Replies 653, 660 and 761 are examples of such errors. Reply 653 reports a communication error with the data repository identified by the source location and described by the associated string. Reply 660 reports an error returned by a data repository. Reply 761 reports a known requirement of the data repository that the query failed to satisfy. Reply 761 reflects comparison of the query with known characteristics of the data repository by the SNQP server. For example, some data repositories refuse queries that do not contain a specific subset of attributes in the relation. Other replies are possible. It is best to check the the type and severity of the reply against the theory of reply codes in Section 4.
応答ブロック間で、エラー応答を報告できます。返信653、660、および761は、このようなエラーの例です。応答653は、ソースの場所によって識別され、関連付けられた文字列によって記述されたデータリポジトリとの通信エラーを報告します。応答660は、データリポジトリから返されたエラーを報告します。返信761は、クエリが満たさなかったデータリポジトリの既知の要件を報告します。応答761は、クエリとSNQPサーバーによるデータリポジトリの既知の特性との比較を反映しています。たとえば、一部のデータリポジトリは、リレーションに特定の属性のサブセットを含まないクエリを拒否します。他の返信も可能です。セクション4の応答コードの理論に照らして、応答のタイプと重大度をチェックするのが最善です。
When an SQL query in a block is successfully completed, the SNQP server sends Reply 352 to indicate that the next query is being started. Reply 352 reports the t-bound of the previous query if it is available. Reply 352 is sent even if the previous query terminated due to permanent errors. The one exception is that permanent errors generated by the next or stop command supersede Reply 352.
ブロック内のSQLクエリが正常に完了すると、SNQPサーバーは応答352を送信して、次のクエリが開始されていることを示します。返答352は、前のクエリが使用可能な場合、そのt境界を報告します。永続的なエラーのために前のクエリが終了した場合でも、応答352が送信されます。 1つの例外は、nextコマンドまたはstopコマンドによって生成される永続的なエラーが応答352に取って代わることです。
When all SQL queries are complete, the SNQP server sends Reply 250 to indicate that all queries have been processed. A query block containing one query that has no responses will only return Reply 250. Reply 250 reports the t-bound of the last SQL query in the block if it is available. Reply 250 is sent even if the last query in the block terminated due to permanent errors. The one exception is that permanent errors generated by the stop command supersede Reply 352.
すべてのSQLクエリが完了すると、SNQPサーバーは応答250を送信して、すべてのクエリが処理されたことを示します。応答のない1つのクエリを含むクエリブロックは、返信250のみを返します。返信250は、ブロック内の最後のSQLクエリのt-boundが利用可能な場合、それを報告します。ブロック内の最後のクエリが永続的なエラーのために終了した場合でも、応答250が送信されます。 1つの例外は、stopコマンドによって生成される永続的なエラーが応答352に取って代わることです。
Note that this command follows the convention that "intermediate" reply codes, as defined in Section 4, are used until the SQL query is complete. Final query completion error codes abort the processing of the SQL query. Examples of these errors include parsing errors (Reply 700) and semantic errors (Reply 750) in the SQL query. The SNQP server will attempt to continue with the next query if possible. The block of queries will be terminated with Reply 250 or 251 (from the stop command) to indicate that another query will be accepted. Indicating the t-bound of a query response is optional for SNQP servers.
このコマンドは、セクション4で定義されている「中間」応答コードがSQLクエリが完了するまで使用されるという規則に従っていることに注意してください。最終クエリ完了エラーコードは、SQLクエリの処理を中止します。これらのエラーの例には、SQLクエリの解析エラー(返信700)とセマンティックエラー(返信750)が含まれます。 SNQPサーバーは、可能であれば次のクエリの続行を試みます。クエリのブロックは、(stopコマンドからの)応答250または251で終了し、別のクエリが受け入れられることを示します。クエリ応答のtバウンドを示すことは、SNQPサーバーではオプションです。
---------------------------------------------------------------------
354-The query will contact <n> data repositories, ended with . <location> <location-description>
355-There are <n> attributes that may constrain the query, ended with . <attribute-name>
356-There are <n> possible values for "<attribute>", ended with . <attribute-value>
357-There are <n> constraining values for "<attribute>", ended with . 357-<attribute-value> 357 <attribute-value>
352 Beginning next query. Previous query current through <TIME>. 250 All queries processed. Current through <TIME>.
352次のクエリを開始します。 <TIME>まで現在の以前のクエリ。 250すべてのクエリが処理されました。 <TIME>までの現在。
700 <SQL query parsing error> 750 <SQL query semantic error>
---------------------------------------------------------------------
Different kinds of advice are returned in different blocks. Basic advice about the number, n, of data repositories that will be searched is returned with Reply 354. Subsequent lines list location and location description for the data repositories that will be searched. The data repository locations can be supplied to the SNQP server using the "source" attribute. Each location is followed by a blank and a descriptive phrase for the data repository.
異なる種類のアドバイスが異なるブロックで返されます。検索されるデータリポジトリの数nに関する基本的なアドバイスは、返信354で返されます。後続の行には、検索されるデータリポジトリの場所と場所の説明がリストされます。データソースの場所は、 "source"属性を使用してSNQPサーバーに提供できます。各場所の後には、データリポジトリの空白と説明句が続きます。
Basic advice about the attributes that may constrain the query is returned with reply code 355. The first line of the reply includes the number, n, of attributes. Subsequent lines list the names of the attributes. The specific values of the attribute will determine whether the query is constrained further.
クエリを制約する可能性のある属性に関する基本的なアドバイスは、応答コード355で返されます。応答の最初の行には、属性の数nが含まれています。後続の行には、属性の名前がリストされています。属性の特定の値によって、クエリがさらに制約されるかどうかが決まります。
Advice for a particular attribute has two forms. First, the advice may list the n possible values for the attribute in reply 356. The list is complete; no other values for the attribute exist within the context of the query. Second, the advice may list the n values for the attribute that are known to constrain the query. The list is incomplete; other values of the attribute may exist within the context of the query.
特定の属性に対するアドバイスには2つの形式があります。第1に、アドバイスは、返信356で属性の可能なn個の値をリストすることができる。リストは完全である。クエリのコンテキスト内には、属性の他の値は存在しません。次に、アドバイスは、クエリを制約することがわかっている属性のn個の値をリストする場合があります。リストは不完全です。属性の他の値は、クエリのコンテキスト内に存在する可能性があります。
When advice for an SQL query in a block is successfully completed, the SNQP server sends reply 352 to indicate that the next query is being started. Reply 352 reports the t-bound of the advice for the previous query if it is available. Reply 352 is sent even if the previous query terminated due to permanent errors. The one exception is that permanent errors generated by the next or stop command supersede Reply 352.
ブロック内のSQLクエリのアドバイスが正常に完了すると、SNQPサーバーは応答352を送信して、次のクエリが開始されていることを示します。返信352は、前のクエリが利用可能な場合、そのクエリのt境界を報告します。永続的なエラーのために前のクエリが終了した場合でも、応答352が送信されます。 1つの例外は、nextコマンドまたはstopコマンドによって生成される永続的なエラーが応答352に取って代わることです。
When all SQL queries are complete, the SNQP server sends Reply 250 to indicate that all queries have been processed. Reply 250 reports the t-bound of the last SQL query in the block if it is available. Reply 250 is sent even if the last query in the block terminated due to permanent errors. The one exception is that permanent errors generated by the stop command supersede Reply 352.
すべてのSQLクエリが完了すると、SNQPサーバーは応答250を送信して、すべてのクエリが処理されたことを示します。応答250は、使用可能な場合、ブロック内の最後のSQLクエリのt境界を報告します。ブロック内の最後のクエリが永続的なエラーのために終了した場合でも、応答250が送信されます。 1つの例外は、stopコマンドによって生成される永続的なエラーが応答352に取って代わることです。
Final query completion error codes abort the processing of the SQL query. Examples of these errors include parsing errors and semantic errors in the SQL query. The SNQP server will attempt to continue with the next query if possible. The block of queries will be terminated with Reply 250 or 251 (from the stop command) to indicate that another query will be accepted. Indicating the t-bound of advice is optional for SNQP servers.
最終クエリ完了エラーコードは、SQLクエリの処理を中止します。これらのエラーの例としては、SQLクエリの解析エラーやセマンティックエラーがあります。 SNQPサーバーは、可能であれば次のクエリの続行を試みます。クエリのブロックは、(stopコマンドからの)応答250または251で終了し、別のクエリが受け入れられることを示します。 SNQPサーバーでは、アドバイスのt範囲の指定はオプションです。
---------------------------------------------------------------------
RELATIONS <TIME> 211-There are <n> relations defined: 211-<Relation-name> 211-<Relation-name> 211 Current through <TIME>.
RELATIONS <TIME> 211- <n>リレーションが定義されています:211- <Relation-name> 211- <Relation-name> 211 <TIME>までの現在。
556 T-bounds not supported
556 T境界はサポートされていません
---------------------------------------------------------------------
The relations command lists the currently available relation names. Since characteristics of relations can be cached, the user may ask for an answer that is more recent than <TIME>. The SNQP server will endeavor to provide this information. The first line of the reply notes the number of relations <n>. Subsequent lines list the relation names. The information in the response is current through the time returned, but may have changed after that time. Accepting requests to improve a t-bound and indicating the t-bound of the result are optional for SNQP servers.
Relationsコマンドは、現在使用可能な関係名を一覧表示します。リレーションの特性をキャッシュできるため、ユーザーは<TIME>よりも新しい回答を要求する場合があります。 SNQPサーバーは、この情報の提供に努めます。返信の最初の行は、関係<n>の数を示しています。後続の行には、関係名がリストされています。応答の情報は、返された時間を通じて最新ですが、それ以降は変更されている可能性があります。 tバウンドを改善する要求を受け入れることと、結果のtバウンドを示すことは、SNQPサーバーではオプションです。
If <TIME> is submitted when t-bounds are not supported, an error is returned.
t境界がサポートされていないときに<TIME>が送信されると、エラーが返されます。
---------------------------------------------------------------------
STOP 251 All pending queries and responses discarded
STOP 251保留中のすべてのクエリと応答が破棄されました
450 No query in progress
450進行中のクエリはありません
---------------------------------------------------------------------
The stop command ends processing of the current SQL query, and cancels any that may have followed it in the last query command. An error is returned if no queries are in progress.
stopコマンドは、現在のSQLクエリの処理を終了し、最後のクエリコマンドでそれに続いた可能性のあるクエリをキャンセルします。進行中のクエリがない場合は、エラーが返されます。
---------------------------------------------------------------------
QUIT 221 <domain-name> closing transmission channel
QUIT 221 <ドメイン名>伝送チャネルを閉じています
---------------------------------------------------------------------
The quit command ends the session. It closes the TCP connection after signing off with the domain name of the SNQP server.
quitコマンドはセッションを終了します。 SNQPサーバーのドメイン名でサインオフした後、TCP接続を閉じます。
Most SNQP replies are short. They have a rely code followed by a continuation character and reply text. If the continuation character is blank, the reply is complete. If the continuation character is a dash ("-"), the reply continues on the next line. Text within the reply can vary, but the reply code remains the same. A two line reply example is given below:
ほとんどのSNQP応答は短いです。依存コードとそれに続く継続文字と応答テキストがあります。継続文字がブランクの場合、応答は完了です。継続文字がダッシュ( "-")の場合、応答は次の行に続きます。返信内のテキストは異なる場合がありますが、返信コードは変わりません。 2行の応答の例を以下に示します。
---------------------------------------------------------------------
nnn-Message1 nnn Message2
nnn-Message1 nnn Message2
---------------------------------------------------------------------
In some cases commands or replies may be long, so these commands/replies use the '.'-terminated block structure that is used for message bodies in SMTP. Blocks are comprised of lines of text that constitute the command/reply. Blocks are terminated with a period on a line by itself.
コマンドまたは応答が長い場合があるため、これらのコマンド/応答は、SMTPのメッセージ本文に使用される「。」で終わるブロック構造を使用します。ブロックは、コマンド/応答を構成するテキスト行で構成されています。ブロックは行自体にピリオドで終了します。
The theory of reply codes explained for SMTP in RFC-821 is used here. Table 2 defines the reply code structure. Reply codes are three digits, xyz. The x digit indicates the command status. The y digit indicates the component of the system that generated the reply. The z digit allows for further distinctions within replies from the same component.
RFC-821でSMTPについて説明されている応答コードの理論がここで使用されます。表2は、応答コードの構造を定義しています。応答コードは3桁のxyzです。 xの数字はコマンドのステータスを示します。 y桁は、応答を生成したシステムのコンポーネントを示します。 z桁は、同じコンポーネントからの応答内でさらに区別できるようにします。
--------------------------------------------------------------------- Code Interpretation ---------------------------------------------------------------------
1yz Positive preliminary reply (not used in SNQP) 2yz Positive completion reply 3yz Positive intermediate reply 4yz Transient negative completion reply 5yz Permanent negative completion reply 6yx Transient negative intermediate reply 7yx Permanent negative intermediate reply
1yz肯定的な予備応答(SNQPでは使用されません)2yz肯定的な完了応答3yz肯定的な中間応答4yz一時的な否定完了応答5yz永続的な否定完了応答6yx一時的な否定中間応答7yx永続的な否定中間応答
x0z Syntax or semantic problem x1z Informational reply x2z Related to transmission channel x3z Formatted (location coded) report for GUI x4z Status message to be displayed by GUI x5z Related to query resolver x6z Related to data repository x9z Component generating the error is unknown or suspect
x0z構文または意味上の問題x1z情報応答x2z伝送チャネルに関連x3z GUIのフォーマット済み(ロケーションコード)レポート
Table 2: Reply Code Structure
表2:応答コードの構造
--------------------------------------------------------------------- The GUI-related reply codes are only used if the server has been informed that it is communicating with a graphical user interface, via the imagui command. For such codes in the x3z space, digit "z" takes on the role of digit "y" in other codes. I.e. 735 are permanent negative intermediate replies about the query resolver.
Table 3a and Table 3b list the defined regular (non-GUI) reply codes. Text messages for the reply codes may vary. The codes are sorted numerically.
表3aおよび表3bは、定義された通常の(非GUI)応答コードをリストしています。応答コードのテキストメッセージは異なる場合があります。コードは数値でソートされます。
---------------------------------------------------------------------
210-The following commands are available: 211-There are <n> relations defined: 212-There are <n> attributes in relation "<relation>": 213 Performing <comparison-type> type equality comparisons 214 Basic advice enabled. Query responses disabled. 214 Advice enabled for "<attribute>" in "<relation>" 215 GUI responses enabled 215 GUI responses disabled 216 Query responses enabled. Advice disabled.
210-次のコマンドを使用できます。211-定義された<n>リレーションがあります:212-リレーション "<relation>"に<n>属性があります:213 <comparison-type>タイプの等価比較を実行しています214基本的なアドバイスが有効です。クエリ応答が無効になっています。 214「<relation>」の「<attribute>」に対してアドバイスが有効になっています。215GUI応答が有効です。215GUI応答が無効です。216クエリ応答が有効です。アドバイスが無効になっています。
220 <domain-name> <snqp-service-name> Query Service ready 221 <domain-name> closing transmission channel
250 All queries processed 250 All queries processed. Current through <time>. 251 All pending queries and responses discarded
250すべてのクエリが処理されました250すべてのクエリが処理されました<time>までの現在。 251保留中のすべてのクエリと応答が破棄されました
340 Searching <n> data repositories 350 Send the query text, end with . 351 Partial response follows, ended with . 352 Beginning next query in batch 352 Beginning next query in batch. Previous current through <time>. 353 Starting next query. Any pending responses discarded. 354 The query will contact <n> data repositories, ended with . 355 There are <n> attributes that may constrain the query, ended with . 356 There are <n> possible values for attribute "<attribute>": 357 There are <n> constraining values for attribute "<attribute>":
340 <n>データリポジトリの検索350末尾がであるクエリテキストを送信します。 351部分応答が続き、で終了します。 352バッチで次のクエリを開始します。352バッチで次のクエリを開始します。 <time>までの以前の現在。 353次のクエリを開始します。保留中の応答は破棄されました。 354クエリは<n>データリポジトリに接続し、末尾がです。 355クエリを制約する可能性のある<n>属性があり、で終了しています。 356属性 "<属性>"には<n>可能な値があります:357属性 "<属性>"には<n>制約値があります:
420 Too many connections in progress. Try later. 421 Error in communicating with <snqp-service-name> 450 No query in progress 451 Cancel ignored
420接続が多すぎます。後で試してください。 421 <snqp-service-name>との通信エラー450進行中のクエリはありません451キャンセルは無視されました
Table 3a: Reply Codes
表3a:応答コード
---------------------------------------------------------------------
---------------------------------------------------------------------
450 Query already in progress 490 Internal error: Invalid query reference number 491 System error: <error number or message> 492 Internal error: Out of client table space 499 <snqp-service-name> shutting down 500 Sorry, no help is available for "<command>" 501 Unknown command 502 Too many arguments for this command 502 Not enough arguments for this command
450クエリはすでに進行中です490内部エラー:無効なクエリ参照番号491システムエラー:<エラー番号またはメッセージ> 492内部エラー:クライアントのテーブルスペースが不足しています499 <snqp-service-name>シャットダウン中500申し訳ありませんが、ヘルプはありません"<command>" 501不明なコマンド502このコマンドの引数が多すぎます502このコマンドの引数が足りません
514 Advice not available 514 Advice not available on <attribute>
514アドバイスは利用できません514アドバイスは<attribute>では利用できません
552 Query blocks are limited to one SQL query 553 Unknown relation 553 Unknown relation. Current through <TIME>. 554 Unknown attribute 555 Unknown comparison type 556 T-bounds not supported 557 Will not list more than <n> data repositories 557 Will not list more than <n> attribute values 557 Will not list more than <n> responses 557 Too many data repositories to list 557 Too many attribute values to list 557 Too many responses to list 557 Too many data repositories to search
552クエリブロックは1つのSQLクエリに制限されます553不明な関係553不明な関係。 <TIME>までの現在。 554不明な属性555不明な比較タイプ556サポートされていないT境界557 <n>個を超えるデータリポジトリをリストしない557 <n>個を超える属性値をリストしない557 <n>個を超える応答をリストしない557データリポジトリが多すぎますリスト557にリストする属性値が多すぎるリスト557にリストする応答が多すぎる557検索するデータリポジトリが多すぎる
651 <Error message from query resolver> 653 <Communications error> with <location> <location description> 660 <Error> from <location> <location description>
700 <SQL parse error message> 750 <SQL semantic error message> 751 <Error message from query resolver> 761 <Requirements error> for <location> <location description>
790 Internal error: <fatal error from SNQP server>
Table 3b: Reply Codes (Continued)
表3b:応答コード(続き)
--------------------------------------------------------------------- Table 4 lists the defined GUI reply codes. Text messages for the reply codes may vary. The codes are sorted numerically. An explanation of the codes follows the table.
---------------------------------------------------------------------
331 nnnnnnn! <message> 331 nnnnnnn.mmmmmm <message> 331 nnnnnnn-mmmmmm <message> 730 nnnnnnnammmmmm e <parse error message> 735 nnnnnnnammmmmm e <semantic error message> 340 <status>
Table 4: GUI Reply Codes
表4:GUI応答コード
---------------------------------------------------------------------
In Table 4, nnnnnnn is the line number in a query block, and mmmmmm is the column in the line. Both numbers begin counting with 1. The exclamation point response directs the program to list information after line n. The period response directs the program to break line n at column m. The hyphen response directs the program to flag line n at column m. Replies 730 and 735 direct the GUI to indicate the parsing or semantic error at line n, column m. Response 340 provides status information that can be displayed immediately in the GUI's status line. A sample status message is one that indicates which data repository is being contacted.
表4で、nnnnnnnは照会ブロックの行番号であり、mmmmmmは行の列です。どちらの数値も1から数え始めます。感嘆符の応答は、プログラムにn行の後に情報をリストするように指示します。ピリオド応答は、プログラムに列mで行nを分割するように指示します。ハイフン応答は、プログラムに列mの行nにフラグを付けるように指示します。返信730と735は、GUIに行n、列mの解析または意味上のエラーを示すように指示します。応答340は、GUIのステータス行にすぐに表示できるステータス情報を提供します。サンプルのステータスメッセージは、接続されているデータリポジトリを示すメッセージです。
SQL queries may often have more functionality then a server supports or an application demands. Moreover, query blocks larger than one SQL query, advice on query costs, some types of comparison operations or t-bounds need not be supported by a particular server. SNQP defines a minimal subset of functionality for a working SNQP protocol. Functionality beyond this subset is optional. Servers that do not support optional functionality must return replies that indicate this to the user.
多くの場合、SQLクエリには、サーバーがサポートする機能やアプリケーションが要求する機能よりも多くの機能があります。さらに、1つのSQLクエリよりも大きいクエリブロック、クエリコストに関するアドバイス、一部の種類の比較演算またはt境界は、特定のサーバーでサポートする必要はありません。 SNQPは、機能するSNQPプロトコルの機能の最小限のサブセットを定義します。このサブセットを超える機能はオプションです。オプション機能をサポートしないサーバーは、これをユーザーに示す応答を返す必要があります。
Table 5 lists the minimum functionality for an SNQP server.
表5に、SNQPサーバーの最小機能を示します。
--------------------------------------------------------------------- Command Limitations --------------------------------------------------------------------- advice Not supported. attributes List the attributes for a relation. compare List type of comparison operation. At least one of CCSO and default comparison types must be supported. Wildcards in SQL query strings can be rejected by the query command with an appropriate semantic error message. help Explain the available SNQP commands. imagui Not supported. next Not supported. noadvice Supported, but has no effect since advice is not supported. noimagui Supported, but has no effect since imagui is not supported. query Submit a block containing one SQL query statement. The minimum supported SQL query statement is a selection query that performs equality comparisons between attribute values and constant strings. Conjunctions of such comparisons are supported. The minimum SQL query does not allow projections, but returns all the attributes for matching tuples. relations List the relations available through the SNQP server. stop End processing of current query. quit Terminate the query session.
Table 5: Minimum SNQP Server Requirements (Commands do not support t-bounds)
Table 5: Minimum SNQP Server Requirements (Commands do not support t-bounds)
---------------------------------------------------------------------
SNQP clients and servers depend on the Domain Name Service. They are subject to all the security issues that arise in that context. This version of the SNQP protocol does not define procedures for protecting the information communicated to and from an SNQP server.
SNQP clients and servers depend on the Domain Name Service. They are subject to all the security issues that arise in that context. This version of the SNQP protocol does not define procedures for protecting the information communicated to and from an SNQP server.
[1] American National Standards Institute. "SQL," ANSI Standard X3.135-1989. 1989.
[1] 米国規格協会。 「SQL」、ANSI標準X3.135-1989。 1989。
[2] H. Garcia-Molina, G. Wiederhold. "Read-Only Transactions in a Distributed Database," ACM Transactions on Database Systems 7(2), pp. 209-234. June 1982.
[2] H.ガルシアモリーナ、G。ヴィーダーホールド。 「分散データベースでの読み取り専用トランザクション」、データベースシステム7(2)のACMトランザクション、ページ209-234。 1982年6月。
[3] S. Dorner, P. Pomes. "The CCSO Nameserver: A Description," Computer and Communications Services Office Technical Report, University of Illinois, Urbana, USA. 1992. Available in the current "qi" distribution from <URL:ftp://uiarchive.cso.uiuc.edu/local/packages/ph>
[4] J. Levine, T. Mason, D. Brown. "Parsing SQL," lex yacc, 2nd ed. O'Reilly and Associates, Inc. 1992.
[4] J.レバイン、T。メイソン、D。ブラウン。 「SQLの解析」、lex yacc、2nd ed。 O'Reilly and Associates、Inc. 1992。
[5] Ordille, J., "The Internet Nomenclator Project", RFC 2258, January 1998.
[5] Ordille、J。、「The Internet Nomenclator Project」、RFC 2258、1998年1月。
[6] J. Ordille. "Descriptive Name Services for Large Internets," Ph. D. Dissertation. University of Wisconsin. 1993. <URL:http://cm.bell-labs.com/cm/cs/doc/93/12-01.ps.gz>
[7] J. Ordille, B. Miller. "Distributed Active Catalogs and Meta-Data Caching in Descriptive Name Services," Thirteenth International IEEE Conference on Distributed Computing Systems, pp. 120-129. May 1993. <URL:http://cm.bell-labs.com/cm/cs/doc/93/5-01.ps.gz>
[8] J. Ordille. "Nomenclator Home Page." 1997. <URL:http://cm.bell-labs.com/cm/cs/what/nomenclator/>
[9] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, August 1982.
[9] Postel、J。、「Simple Mail Transfer Protocol」、STD 10、RFC 821、1982年8月。
[10 Yeong, W., Howes, T., and S. Kille. "Lightweight Directory Access Protocol", RFC 1777, March 1995.
[10 Yeong、W.、Howes、T。、およびS. Kille。 「ライトウェイトディレクトリアクセスプロトコル」、RFC 1777、1995年3月。
Jim Elliott Epic Systems Corporation 5301 Tokay Boulevard Madison, WI 53711 USA
Jim Elliott Epic Systems Corporation 5301 Tokay Boulevard Madison、WI 53711 USA
EMail: jim@apocalypse.org
Joann J. Ordille Bell Labs, Lucent Technologies Computing Sciences Research Center 700 Mountain Avenue, Rm 2C-301 Murray Hill, NJ 07974 USA
Joann J. Ordille Bell Labs、Lucent Technologies Computing Sciences Research Center 700 Mountain Avenue、Rm 2C-301 Murray Hill、NJ 07974 USA
EMail: joann@bell-labs.com
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができますただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、このドキュメント自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されない一切の保証を含みません。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。