ANNOUNCEMENT: RDF Query and Rule languages use cases and survey

(apologies for the cross post)

Hello everybody,

we, that is a group of implementors working on different versions of
SquishQL [1], RDQL [2] and
other similar RDF query and rule languages, met in Chia for the ISWC2002
at the beginning of June;
after a very informal meeting we decided to set up a survey about Use
Cases and practical examples
about how to query and access remotely RDF databases.

Following Andy's announcement a few days ago [3], here is one of the
first practical steps in that direction which aims to consolidate and
document existing RDF Query and Rule languages and systems. We think
that one effective way to have an open and stymulating discussion
involving as many people as possible, would be to leverage on what is
out
there, present what has been already developed in the past years and
show what is running today on user's desktops. By sharing ideas,
practical use cases and implementations should in fact improve the
learning curve of users and RDF software develpers and help them to make

better of what they already got and avoid work duplication. It is in our

hope that all this will also help the adoption of RDF systems inside
exsisting Web infrastructures and to test existing software solutions.

Here is a public accessible URL about the survey, which can be directly
used
to contribute with your own use cases and examples:

http://rdfstore.sourceforge.net/2002/06/24/rdf-query/

Even if in the past there have been similar efforts undertaken on this
list [4], with this email message we aims to gather together and share a

set of query use cases, scenarios and implementations in a kind of
database where the actual use of query is scoped out; such a knowledge
base can then be analysed to assess the various uses being made of RDF
Query and Rule languages in order to get a sense of what is important in

RDF applications and what is not. This will also help to address some of

the issues in the QL design area and take important software design
decisions.

Attached are the following files:
  + The current RDF database as HTML page
  + the RDF database including an initial set of RDF Query use cases and
examples
  + the RDFS schema

Feel free to edit the above RDF file and add your own use cases,
scenarios and
comments or simply post your contributions to the www-rules list in
which case I will provide to integrate your information into the
database.

Another parallel effort that I have been thinking about, is perhaps to
set up a set of test cases for the existing query and rule systems
(perhaps based on the RDF Test Cases) that can be used to test and
compare the generated query result sets. This should help to validate
the results generated by the various systems, assess their differences
and help interoperability with existing query and remote access systems.

What do you think about it? Do you find it useful?

Looking forward to hear about your contributions, comments, suggestions
and criticisms about how to improve or doing better :-)

Alberto

[1] http://swordfish.rdfweb.org/rdfquery/
[2] http://www.hpl.hp.com/semweb/rdql.html
[3]
http://lists.w3.org/Archives/Public/www-rdf-interest/2002Jun/0202.html
[4] http://www.w3.org/2001/11/13-RDF-Query-Rules/
<?xml version='1.0' encoding="UTF-8"?>

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> 
  <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'> 
  <!ENTITY qucs  'http://www.hpl.hp.com/semweb/query/usecases-1.rdfs#'> 
  <!ENTITY quc   'http://www.hpl.hp.com/semweb/query/usecases#'> 
]>


<rdf:RDF
	xmlns:rdf  = '&rdf;'
	xmlns:rdfs = '&rdfs;'
	xmlns:qucs = '&qucs;'
	xml:base   = '&quc;'
	>

<!-- Schema: http://www.hpl.hp.com/semweb/query/usecase-v1.rdfs -->
<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024996825-10501.rdf" xml:lang="en">
	<qucs:name>Find email message give message id</qucs:name>
	<qucs:description>Find an email messages, given some information about the message
              where the data records the message headers (RFC2822).</qucs:description>
	<qucs:submissionDate>2002-06-25</qucs:submissionDate>
	<qucs:author>Andy Seaborne</qucs:author>
	<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
	<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
	<qucs:notes></qucs:notes>
	<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024996825-10501.rdf"></qucs:label>
</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024996825-10501.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998474-25030.rdf">
				<qucs:queryLanguage>RDQL</qucs:queryLanguage>
				<qucs:query>SELECT ?x
WHERE (?x, &lt;email:message-id&gt;, &apos;123456@example.com&apos;)
USING email FOR &lt;http://www.hpl.hp.com/email/email#&gt;
</qucs:query>
				<qucs:software rdf:resource="Jena"></qucs:software>
				<qucs:submissionDate>2002-06-23</qucs:submissionDate>
				<qucs:author>Andy Seaborne</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998474-25030.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997137-13181.rdf" xml:lang="en">
	<qucs:name>Find some value in a data structure</qucs:name>
	<qucs:description>Find the a data value within a larger structure of RDF.  For example: find the given name, where we know the family name.</qucs:description>
	<qucs:submissionDate>2002-06-25</qucs:submissionDate>
	<qucs:author>Andy Seaborne</qucs:author>
	<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
	<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
	<qucs:notes>This depends on the regularity of the data </qucs:notes>
	<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997137-13181.rdf"></qucs:label>
</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997137-13181.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998740-3599.rdf">
				<qucs:queryLanguage>RDQL</qucs:queryLanguage>
				<qucs:query>SELECT ?v
WHERE
  (?x, &lt;vcard:N&gt;, ?y) ,
  (?y, &lt;vcard:Family&gt;, &quot;Smith&quot;) ,
  (?y, &lt;vcard:Given&gt;, ?v)
USING 
  vcard FOR &lt;http://www.w3.org/2001/vcard-rdf/3.0#&gt;</qucs:query>
				<qucs:software rdf:resource="http://www.hpl.hp.com/semweb/"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Andy Seaborne</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998740-3599.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997280-31327.rdf" xml:lang="en">
	<qucs:name>Find some values and the assoicated schema information</qucs:name>
	<qucs:description>For a known resource, find the values of properties which have range
information in the schema. </qucs:description>
	<qucs:submissionDate>2002-06-25</qucs:submissionDate>
	<qucs:author>Andy Seaborne</qucs:author>
	<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
	<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
	<qucs:notes>If no range information from the schema is available, this
query fails to match a property of resource &lt;x&gt;. </qucs:notes>
	<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997280-31327.rdf"></qucs:label>
</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997280-31327.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998895-19440.rdf">
				<qucs:queryLanguage>RDQL</qucs:queryLanguage>
				<qucs:query>SELECT ?property, ?value, ?type
WHERE
  (&lt;data:x&gt;, ?property, ?value) ,
  (?property, &lt;rdfs:range&gt;, ?type)
USING 
  vcard FOR &lt;http://www.w3.org/2001/vcard-rdf/3.0#&gt;
  rdfs  FOR &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
  rdf   FOR &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
  data  FOR &lt;file://test/&gt;</qucs:query>
				<qucs:software rdf:resource="http://www.hpl.hp.com/semweb/"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Andy Seaborne</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024998895-19440.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997517-12612.rdf" xml:lang="en">
	<qucs:name>Extract information from RDF for report generation</qucs:name>
	<qucs:description>Given an RDF database of various information, extract selected parts for
generating (say) an HTML document from the content.  The result of the query
is a collection of variable bindings that are passed to a report formatter.
This approach has been used in practice for the generation of Internet protocol
registry documents.</qucs:description>
	<qucs:submissionDate>2002-06-25</qucs:submissionDate>
	<qucs:author>Graham Klyne</qucs:author>
	<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
	<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
	<qucs:notes></qucs:notes>
	<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997517-12612.rdf"></qucs:label>
</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997517-12612.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999117-2135.rdf">
				<qucs:queryLanguage>Custom</qucs:queryLanguage>
				<qucs:query>( ?Header
  ( rdf:type hdr:HeaderField &amp;
    hdr:fieldName ?name &amp;
    rdfs:label ?purpose &amp;
    hdr:protocol ?p
    ( hdr:protocolName ?pname &amp;
      hdr:specification ?ps hdr:document ?psdocument ) ) )</qucs:query>
				<qucs:software rdf:resource="http://www.ninebynine.org/RDFNotes/RDFForLittleLanguages.htm"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Graham Klyne</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999117-2135.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>


	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024997517-12612.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999261-30513.rdf">
				<qucs:queryLanguage>N3/RDF</qucs:queryLanguage>
				<qucs:query>hrep:HdrProtoPattern :-
  ( [ rep:var &quot;header&quot; ]
    [ rep:and
      ( [ rep:uri rdf:type ] [ rep:uri hdr:HeaderField ] ),
      ( [ rep:uri hdr:fieldName ] [ rep:var &quot;name&quot; ] ),
      ( [ rep:uri rdfs:label ] [ rep:var &quot;purpose&quot; ] ),
      ( [ rep:uri hdr:protocol ] [ rep:var &quot;p&quot; ]
        [ rep:and
          ( [ rep:uri hdr:protocolName] [ rep:var &quot;pname&quot; ] ),
          ( [ rep:uri hdr:specification] [ rep:var &quot;ps&quot; ]
            [ rep:uri hdr:document ] [ rep:var &quot;psdocument&quot; ] )
      ] )
   ] ) .</qucs:query>
				<qucs:software rdf:resource="http://www.ninebynine.org/RDFNotes/RDFForLittleLanguages.htm"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Graham Klyne</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999261-30513.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999879-27433.rdf" xml:lang="en">
		<qucs:name>Find the title and URL of the latest published articles on XMLHack.com Web site</qucs:name>
		<qucs:description>Find the title and link (URL) of the latest published articles on XMLHack.com Web site
published as RSS1.0</qucs:description>
		<qucs:submissionDate>2002-06-25</qucs:submissionDate>
		<qucs:author>Alberto Reggiori</qucs:author>
		<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
		<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
		<qucs:notes></qucs:notes>
		<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999879-27433.rdf"></qucs:label>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1024999879-27433.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000635-20268.rdf">
				<qucs:queryLanguage>RDQL</qucs:queryLanguage>
				<qucs:query>SELECT ?title, ?link
FROM &lt;http://xmlhack.com/rss10.php&gt;
WHERE
     (?item, &lt;rdf:type&gt;, &lt;rss:item&gt;),
     (?item, &lt;rss::title&gt;, ?title),
     (?item, &lt;rss::link&gt;, ?link)
USING
     rdf for &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;,
     rss for &lt;http://purl.org/rss/1.0/&gt;</qucs:query>
				<qucs:software rdf:resource="http://rdfstore.sourceforge.net"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Alberto Reggiori</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000635-20268.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000021-18764.rdf" xml:lang="en">
		<qucs:name>Find the URL of the latest published articles on XMLHack.com Web site which title contains the word &apos;RDQL&apos;</qucs:name>
		<qucs:description>Find the URL of the latest published articles on XMLHack.com Web site which title
contains the word &apos;RDQL&apos;</qucs:description>
		<qucs:submissionDate>2002-06-25</qucs:submissionDate>
		<qucs:author>Alberto Reggiori</qucs:author>
		<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
		<rdfs:seeAlso rdf:resource=""></rdfs:seeAlso>
		<qucs:notes></qucs:notes>
		<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000021-18764.rdf"></qucs:label>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000021-18764.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001208-31567.rdf">
				<qucs:queryLanguage>RDQL/RDFStore</qucs:queryLanguage>
				<qucs:query>SELECT ?link
FROM &lt;http://xmlhack.com/rss10.php&gt;
WHERE
     (?item, &lt;rdf:type&gt;, &lt;rss:item&gt;),
     (?item, &lt;rss::title&gt;, %&quot;RDQL&quot;%),
     (?item, &lt;rss::link&gt;, ?link)
USING
     rdf for &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;,
     rss for &lt;http://purl.org/rss/1.0/&gt;</qucs:query>
				<qucs:software rdf:resource="http://rdfstore.sourceforge.net"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Alberto Reggiori</qucs:author>
				<qucs:notes>This query is leveraring on RDFStore free-text extensions to RDQL/SquishQL</qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001208-31567.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000021-18764.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001351-16923.rdf">
				<qucs:queryLanguage>RDQL/RDFStore</qucs:queryLanguage>
				<qucs:query>SELECT ?link
FROM &lt;http://xmlhack.com/rss10.php&gt;
WHERE
      (?item, &lt;rdf:type&gt;, &lt;rss:item&gt;),
      (?item, &lt;rss::title&gt;, ?title),
      (?item, &lt;rss::link&gt;, ?link)
AND ?title LIKE &apos;/RDql/i&apos;
USING
     rdf for &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;,
     rss for &lt;http://purl.org/rss/1.0/&gt;</qucs:query>
				<qucs:software rdf:resource="http://rdfstore.sourceforge.net"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Alberto Reggiori</qucs:author>
				<qucs:notes>Same as the previous example but less efficient requiring to read the whole results in memory and
then prune them; the first example instead will do the free-text triple selection while the actual
triple-patterns are processed (i.e. in the storage self) </qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001351-16923.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000200-851.rdf" xml:lang="en">
		<qucs:name>For the given resource find the title, the subject, the description and their languages together with the language of the resource and its URL</qucs:name>
		<qucs:description>For the given RDF DC/DCQ resource description find the dc:title, the dc:subject
(encoded using the ETB multilingual thesaurus), the dc:description and their dc:language
qualification; in addition retrieve the dc:language of the resource and dc:identifier given the URL
pointing to it. </qucs:description>
		<qucs:submissionDate>2002-06-25</qucs:submissionDate>
		<qucs:author>Alberto Reggiori</qucs:author>
		<qucs:emailArchiveURL rdf:resource=""></qucs:emailArchiveURL>
		<rdfs:seeAlso rdf:resource="http://etb.eun.org"></rdfs:seeAlso>
		<qucs:notes></qucs:notes>
		<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000200-851.rdf"></qucs:label>
	</qucs:UseCase>

	<qucs:UseCase rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025000200-851.rdf" xml:lang="en">
		<qucs:example>
			<qucs:Example rdf:about="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001893-23241.rdf">
				<qucs:queryLanguage>RDQL</qucs:queryLanguage>
				<qucs:query>SELECT
      ?title_value, ?title_language,
      ?subject_value,?subject_language,
      ?description_value, ?description_language,
      ?language,
      ?identifier
FROM
    &lt;http://etbrowse.jrc.it/xml/rdf/example10.xml&gt;
WHERE
      ( ?x, &lt;dc:title&gt;, ?tt),
      ( ?tt, &lt;rdf:value&gt;, ?title_value),
      ( ?tt, &lt;dc:language&gt;, ?ttl),
      ( ?ttl, &lt;dcq:RFC1766&gt;, ?title_language),
      ( ?x, &lt;dc:subject&gt;, ?ss1),
      ( ?ss1, &lt;etbthes:ETBT&gt;, ?ss2),
      ( ?ss2, &lt;rdf:value&gt;, ?subject_value),
      ( ?ss2, &lt;dc:language&gt;, ?ss3),
      ( ?ss3, &lt;dcq:RFC1766&gt;, ?subject_language),
      ( ?x, &lt;dc:description&gt;, ?dd),
      ( ?dd, &lt;rdf:value&gt;, ?description_value),
      ( ?dd, &lt;dc:language&gt;, ?ddl),
      ( ?ddl, &lt;dcq:RFC1766&gt;, ?description_language),
      ( ?x, &lt;dc:identifier&gt;, ?identifier),
      ( ?x, &lt;dc:language&gt;, ?ll1),
      ( ?ll1, &lt;dcq:RFC1766&gt;, ?language)
USING
     rdf for &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;,
     rdfs for &lt;http://www.w3.org/2000/01/rdf-schema#&gt;,
     dc for &lt;http://purl.org/dc/elements/1.1/&gt;,
     dcq for &lt;http://purl.org/dc/terms/&gt;,
     dct for &lt;http://purl.org/dc/dcmitype/&gt;,
     etb for &lt;http://eun.org/etb/elements/&gt;,
     etbthes for &lt;http://eun.org/etb/thesaurus/elements/&gt;</qucs:query>
				<qucs:software rdf:resource="http://rdfstore.sourceforge.net"></qucs:software>
				<qucs:submissionDate>2002-06-25</qucs:submissionDate>
				<qucs:author>Alberto Reggiori</qucs:author>
				<qucs:notes></qucs:notes>
				<qucs:label rdf:resource="http://rdfstore.sourceforge.net/2002/06/24/rdf-query/incoming/139191723-1025001893-23241.rdf"></qucs:label>
			</qucs:Example>
		</qucs:example>
	</qucs:UseCase>

</rdf:RDF>
<?xml version='1.0' encoding="UTF-8"?>
<!--
	RDF Query and Rule languages and systems use cases RDF Schema 
	by Andy Seaborne <andy.seaborne@hp.com> and Alberto Reggiori <areggiori@webweaving.org>
-->

<!DOCTYPE rdf:RDF [
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> 
  <!ENTITY dc "http://purl.org/dc/elements/1.1/">
  <!ENTITY dcq "http://purl.org/dc/terms/">
  <!ENTITY qucs "http://www.hpl.hp.com/semweb/query/usecases-1.rdfs#"> 
]>

<rdf:RDF
	xmlns:rdf='&rdf;'
	xmlns:rdfs='&rdfs;'
	xmlns:dc='&dc;'
	xmlns:dcq='&dcq;'
	xml:base='&qucs;'>

<rdf:Description rdf:about="">
	<rdfs:comment>This is a namespace for describing RDF Query and Rule languages and systems use cases</rdfs:comment>
	<dc:creator rdf:resource="mailto:andy.seaborne@hp.com" />
	<dc:creator rdf:resource="mailto:areggiori@webweaving.org" />
</rdf:Description>

<!-- A single Use Case description -->
<rdfs:Class rdf:about='&qucs;UseCase'>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdfs:Class>

<rdf:Property rdf:about='&qucs;emailArchiveURL'>
	<rdfs:subPropertyOf rdf:resource='&dcq;source' />
	<rdfs:domain rdf:resource='&qucs;UseCase'/>
	<rdfs:range  rdf:resource='&rdfs;Resource'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;description'>
	<rdfs:subPropertyOf rdf:resource='&dc;description' />
	<rdfs:domain rdf:resource='&qucs;UseCase'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;name'>
	<rdfs:subPropertyOf rdf:resource='&dc;title' />
	<rdfs:range  rdf:resource='&rdfs;Literal'/>
	<rdfs:domain rdf:resource='&qucs;UseCase'/>
	<rdfs:comment>Single line descriptive text for this query use case</rdfs:comment>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;label'>
	<rdfs:subPropertyOf rdf:resource='&dc;identifier'/>
	<rdfs:domain rdf:resource='&qucs;UseCase'/>
	<rdfs:comment>Unique index string</rdfs:comment>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<!-- A specific Example of a Use Case using a specific implementation -->
<rdfs:Class rdf:about='&qucs;Example'>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdfs:Class>

<rdf:Property rdf:about='&qucs;example'>
	<rdfs:domain rdf:resource='&qucs;UseCase'/>
        <rdfs:range  rdf:resource='&qucs;Example'/>
</rdf:Property>

<rdf:Property rdf:about='&qucs;queryLanguage'>
	<rdfs:domain rdf:resource='&qucs;Example'/>
	<rdfs:range  rdf:resource='&rdfs;Literal'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;query'>
	<rdfs:domain rdf:resource='&qucs;Example'/>
	<rdfs:range  rdf:resource='&rdfs;Literal'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;software'>
	<rdfs:domain rdf:resource='&qucs;Example'/>
	<rdfs:range  rdf:resource='&rdfs;Resource'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
	<rdfs:comment>URL of the software project actually implementing the example; this might directly picked up from Art Barstow &lt;barstow@w3.org&gt; Data Store survey for example</rdfs:comment>
</rdf:Property>

<rdf:Property rdf:about='&qucs;expectedInput'>
	<rdfs:domain rdf:resource='&qucs;Example'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
	<rdfs:comment>URL or text of the input syntax expected by the query processor; it might be a pointer to one of the RDF Test Cases at http://www.w3.org/TR/rdf-testcases/ </rdfs:comment>
</rdf:Property>

<rdf:Property rdf:about='&qucs;expectedOutput'>
	<rdfs:domain rdf:resource='&qucs;Example'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
	<rdfs:comment>URL or text of the output syntax containing the results of the query as generated by the query processor; it might be even N-triples, N3 or XML/RDF</rdfs:comment>
</rdf:Property>

<!-- end Example objects -->

<rdf:Property rdf:about='&qucs;notes'>
	<rdfs:subPropertyOf rdf:resource='&rdfs;comment'/>
	<rdfs:range  rdf:resource='&rdfs;Literal'/>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;author'>
	<rdfs:subPropertyOf rdf:resource='&dc;creator' />
	<rdfs:comment>The name of the person or organization that provided the information about the use case or example query</rdfs:comment>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

<rdf:Property rdf:about='&qucs;submissionDate'>
	<rdfs:subPropertyOf rdf:resource='&dcq;issued' />
	<rdfs:range  rdf:resource='&rdfs;Literal'/>
	<rdfs:comment>Date of publication of the RDF Query and Rules Use Case or Example</rdfs:comment>
	<rdfs:isDefinedBy rdf:resource="&qucs;" />
</rdf:Property>

</rdf:RDF>

Received on Tuesday, 25 June 2002 07:25:51 UTC