SRU (Search/Retrieval Using URL)

Network Context Set

Introduction

This context set was created to address the need for network oriented information retrieval, such as IP addresses, port numbers and protocols. This is intended to be very broad in scope to allow specific needs to be addressed in futher, related, sets. For example, a related context set which exposed more of the Explain data for SRW might also include being able to search by supported indexes and record schemas or supported attribute combinations in Z39.50.

The identifier for the Network context set is: http://srw.cheshire3.org/contextSets/net/1.0/
The recommended prefix for the Network index set is: net

Indexes

Index Name Description
host A network address of the host, either numeric IP or resolvable name
ipRange A - separated pair of network address for the host, in dotted quad notation
port A network port
protocol The name of a protocol
version The version of the protocol
method An HTTP method. Possible values, in upper case: "GET" "POST" "HEAD" "PUT" "DELETE" "OPTIONS" "TRACE" "CONNECT"
path A unique path to a specific resource, if appropriate to the protocol (1)

Relation Modifiers

Relation Modifier Name Description
ipAddress An IP address in dotted quad notation (eg 123.234.123.234)

Notes

  1. Path is protocol specific. In HTTP and related protocols such as SOAP or SRW this would contain the 'path' part of a URL (eg '/indexSets/net/'), for IRC it would contain the name of a channel, for Z39.50 it would contain the name of a database and so forth. On the other hand SMTP has no notion of a 'path' within an SMTP server so this would not be an appropriate index to use.

Examples

  1. In a database of explain records, one could search for:
    host="srw.o-r-g.org" and port=8080 and protocol="srw" and version=1.0
    in order to find all of the databases at http://srw.o-r-g.org:8080/ that use srw version 1.0
  2. In a database of IRC servers, one could search for:
    path="#linux"
    in order to find all of the servers that have a channel named '#linux'