index.html 44.8 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CBD - Concise Bounded Description</title>
<style type="text/css">
pre.box { border: 1px solid; background-color: #E8E8E8; padding-left: 1mm; padding-right: 1mm; padding: 2mm; page-break-inside: avoid }
</style>
<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-Member-SUBM.css" />
</head>

<body>

<div class="head">

<p><a href="http://www.w3.org/"><img
src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48"
width="72" /></a> <a href="http://www.w3.org/Submission/">
     <img height="48" width="211" alt="W3C Member Submission"
      src="http://www.w3.org/Icons/member_subm" /></a></p>

<h1 id="cbd">CBD - Concise Bounded Description</h1>

<h2><a name="w3c-doctype" id="w3c-doctype"></a>W3C Member
Submission 3 June 2005</h2>

<dl>
<dt>This version:</dt>
<dd><a href="http://www.w3.org/Submission/2005/SUBM-CBD-20050603/">http://www.w3.org/Submission/2005/SUBM-CBD-20050603/</a></dd>
<dt>Latest version:</dt>
<dd><a href="http://www.w3.org/Submission/CBD/">http://www.w3.org/Submission/CBD/</a></dd>
<dt>Previous version:</dt>
<dd><a href="http://www.w3.org/Submission/2004/SUBM-CBD-20040930/">http://www.w3.org/Submission/2004/SUBM-CBD-20040930/</a></dd>
<dt>Author:</dt>
<dd>Patrick Stickler, Nokia, <a href="mailto:patrick.stickler@nokia.com">patrick.stickler@nokia.com</a></dd>
</dl>

<p class="copyright">
Copyright <a href="http://www.nokia.com">Nokia</a> 2003-2004.<br /> This document is available under the <a href="http://www.w3.org/Consortium/Legal/copyright-documents">W3C
Document License</a>. See the <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">W3C
Intellectual Rights Notice and Legal Disclaimers</a> for additional information.
</p>

</div>

<hr />


<h2><a name="abstract">Abstract</a></h2>

<p>
This document <a href="#r1">[1]</a> defines a <em>concise bounded description</em> of a resource in
terms of an RDF graph, as a general and broadly optimal unit of specific knowledge 
about that resource to be utilized by, and/or interchanged between,
semantic web agents.
</p>

<div>
<h2><a name="status" id="status">Status of this Document</a></h2>

<p><em>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document.</em></p>

<p>By publishing this document, W3C acknowledges that Nokia has
made a formal submission to W3C for discussion. Publication of this
document by W3C indicates no endorsement of its content by W3C, nor
that W3C has, is, or will be allocating any resources to the issues
addressed by it. This document is not the product of a chartered W3C
group, but is published as potential input to the <a
href="/Consortium/Process">W3C Process</a>. Publication of
acknowledged Member Submissions at the W3C site is one of the benefits
of <a href="/Consortium/Prospectus/Joining">W3C Membership</a>. Please
consult the requirements associated with Member Submissions of <a
href="http://www.w3.org/Consortium/Patent-Policy-20030520.html#sec-submissions">section
3.3 of the W3C Patent Policy</a>. Please consult the complete <a
href="/Submission">list of acknowledged W3C Member
Submissions</a>. See also <a href="/Submission/2004/06/">Submission request</a> and 
<a href="/Submission/2004/06/Comment">Team Comment</a>.</p>
</div>

<hr />

<h2><a name="contents">Table of contents</a></h2>
<blockquote>
<ol>
  <li><a href="#introduction">Introduction</a></li>
  <li><a href="#definition">Definition</a></li>
  <li><a href="#example">Example</a></li>
  <li><a href="#application">Application Issues</a></li>
  <li><a href="#alternatives">Alternative Forms of Description</a></li>
  <li><a href="#references">Notes and References</a></li>
</ol>
</blockquote>

<hr />

<h2><a name="introduction">Introduction</a></h2>
<blockquote>

<p>
As the semantic web <a href="#r2">[2]</a> emerges and the behavior of automated software
agents becomes increasingly directed by formally defined knowledge about resources
<a href="#r3">[3]</a>
gathered from disparate sources <a href="#r4">[4]</a>, the need for optimal and consistent
interchange of knowledge about specific resources between agents
becomes critical to achieving an efficient, globally scalable, and ubiquitous semantic web. 
</p>

<p>
This document defines a <em>concise bounded description</em> of a resource in
terms of an RDF graph <a href="#r5">[5]</a>, as a general and broadly optimal unit of specific knowledge 
about that resource to be utilized by, and/or interchanged between,
semantic web agents.
</p>

<p>
Given a particular node in a particular RDF graph, a <em>concise bounded description</em>
is a subgraph consisting of those statements which together constitute a 
focused body of knowledge about the resource denoted by that particular node. The
precise nature of that subgraph will hopefully become clear given the definition,
discussion and example provided below.
</p>

<p>
Optimality is, of course, application dependent and it is not presumed that a <em>concise
bounded description</em> is an optimal form of description for every application;
however, it is presented herein as a reasonably general and broadly optimal form
of description for many applications, and unless otherwise warranted,
constitutes a reasonable default response to the request "tell me about this resource".
</p>
</blockquote>

<hr />

<h2><a name="definition">Definition</a></h2>
<blockquote>

<p>
Given a particular node (the starting node) in a particular RDF graph (the
source graph), a subgraph 
of that particular graph, taken to comprise a <em>concise bounded description</em>
of the resource denoted by the starting node, can be identified
as follows:
</p>

<ol>
<li>
Include in the subgraph all statements in the source graph where the subject of the
statement is the starting node; 
</li>
<li>
Recursively, for all statements identified in the subgraph
thus far having a blank node object, include in the subgraph
all statements in the source graph where the subject of the statement is the blank
node in question and which are not already included in the subgraph.
</li>
<li>
Recursively, for all statements included in the subgraph
thus far, for all reifications of each statement in the source
graph, include
the <em>concise bounded description</em> beginning from
the rdf:Statement node of each reification.
</li>
</ol>

<p>
This results in a subgraph where the object nodes are either URI references,
literals, or blank nodes not serving as the subject of any
statement in the graph.
</p>
</blockquote>

<hr />

<h2><a name="example">Example</a></h2>
<blockquote>

<p>
<a name="sourcegraph">
Given the following RDF graph as input (the source graph):
</a>
</p>

<pre class="box">

&lt;?xml version="1.0"?&gt;

&lt;rdf:RDF
   xmlns:rdf  ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs ="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:owl  ="http://www.w3.org/2002/07/owl#"
   xmlns:dc   ="http://purl.org/dc/elements/1.1/"
   xmlns:dct  ="http://purl.org/dc/terms/"
   xmlns:xsd  ="http://www.w3.org/2001/XMLSchema#"
   xmlns:foaf ="http://xmlns.com/foaf/0.1/"
   xmlns:ex   ="http://example.com/"&gt;

   &lt;rdf:Description rdf:about="http://example.com/aReallyGreatBook"&gt;
      &lt;dc:title&gt;A Really Great Book&lt;/dc:title&gt;
      &lt;dc:publisher&gt;Examples-R-Us&lt;/dc:publisher&gt;
      &lt;dc:creator&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;John Doe&lt;/foaf:name&gt;
            &lt;foaf:mbox&gt;john@example.com&lt;/foaf:mbox&gt;
            &lt;foaf:img&gt;
               &lt;rdf:Description rdf:about="http://example.com/john.jpg"&gt;
                  &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Image"/&gt;
                  &lt;dc:format&gt;image/jpeg&lt;/dc:format&gt;
                  &lt;dc:extent&gt;1234&lt;/dc:extent&gt;
               &lt;/rdf:Description&gt;
            &lt;/foaf:img&gt;
            &lt;foaf:phone rdf:resource="tel:+1-999-555-1234"/&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:creator&gt;
      &lt;dc:contributor&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;Jane Doe&lt;/foaf:name&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:contributor&gt;
      &lt;dc:language&gt;en&lt;/dc:language&gt;
      &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
      &lt;dc:rights&gt;Copyright (C) 2004 Examples-R-Us. All rights reserved.&lt;/dc:rights&gt;
      &lt;dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2004-01-19&lt;/dct:issued&gt;
      &lt;rdfs:seeAlso rdf:resource="http://example.com/anotherGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Statement&gt;
      &lt;rdf:subject rdf:resource="http://example.com/aReallyGreatBook"/&gt;
      &lt;rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/format"/&gt; 
      &lt;rdf:object&gt;application/pdf&lt;/rdf:object&gt;
      &lt;rdfs:isDefinedBy rdf:resource="http://example.com/book-formats.rdf"/&gt;
   &lt;/rdf:Statement&gt;

   &lt;rdf:Statement&gt;
      &lt;rdf:subject rdf:resource="http://xmlns.com/foaf/0.1/Image"/&gt;
      &lt;rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/format"/&gt; 
      &lt;rdf:object&gt;image/jpeg&lt;/rdf:object&gt;
      &lt;rdfs:isDefinedBy rdf:resource="http://example.com/image-formats.rdf"/&gt;
   &lt;/rdf:Statement&gt;

   &lt;rdf:Description rdf:about="http://example.com/anotherGreatBook"&gt;
      &lt;dc:title&gt;Another Great Book&lt;/dc:title&gt;
      &lt;dc:publisher&gt;Examples-R-Us&lt;/dc:publisher&gt;
      &lt;dc:creator&gt;June Doe (june@example.com)&lt;/dc:creator&gt;
      &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
      &lt;dc:language&gt;en&lt;/dc:language&gt;
      &lt;dc:rights&gt;Copyright (C) 2004 Examples-R-Us. All rights reserved.&lt;/dc:rights&gt;
      &lt;dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2004-05-03&lt;/dct:issued&gt;
      &lt;rdfs:seeAlso rdf:resource="http://example.com/aReallyGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Description rdf:about="http://example.com/aBookCritic"&gt;
      &lt;ex:likes rdf:resource="http://example.com/aReallyGreatBook"/&gt;
      &lt;ex:dislikes rdf:resource="http://example.com/anotherGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox"&gt;
      &lt;rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/&gt;
   &lt;/rdf:Property&gt;

&lt;/rdf:RDF&gt;

</pre>

<p>
The <em>concise bounded description</em> of 
<tt>http://example.com/aReallyGreatBook</tt>
corresponds to the following subgraph:
</p>

<pre class="box">

&lt;?xml version="1.0"?&gt;

&lt;rdf:RDF
   xmlns:rdf  ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs ="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:owl  ="http://www.w3.org/2002/07/owl#"
   xmlns:dc   ="http://purl.org/dc/elements/1.1/"
   xmlns:dct  ="http://purl.org/dc/terms/"
   xmlns:xsd  ="http://www.w3.org/2001/XMLSchema#"
   xmlns:foaf ="http://xmlns.com/foaf/0.1/"&gt;

   &lt;rdf:Description rdf:about="http://example.com/aReallyGreatBook"&gt;
      &lt;dc:title&gt;A Really Great Book&lt;/dc:title&gt;
      &lt;dc:publisher&gt;Examples-R-Us&lt;/dc:publisher&gt;
      &lt;dc:creator&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;John Doe&lt;/foaf:name&gt;
            &lt;foaf:mbox&gt;john@example.com&lt;/foaf:mbox&gt;
            &lt;foaf:img rdf:resource="http://example.com/john.jpg"/&gt;
            &lt;foaf:phone rdf:resource="tel:+1-999-555-1234"/&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:creator&gt;
      &lt;dc:contributor&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;Jane Doe&lt;/foaf:name&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:contributor&gt;
      &lt;dc:language&gt;en&lt;/dc:language&gt;
      &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
      &lt;dc:rights&gt;Copyright (C) 2004 Examples-R-Us. All rights reserved.&lt;/dc:rights&gt;
      &lt;dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2004-01-19&lt;/dct:issued&gt;
      &lt;rdfs:seeAlso rdf:resource="http://example.com/anotherGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Statement&gt;
      &lt;rdf:subject rdf:resource="http://example.com/aReallyGreatBook"/&gt;
      &lt;rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/format"/&gt; 
      &lt;rdf:object&gt;application/pdf&lt;/rdf:object&gt;
      &lt;rdfs:isDefinedBy rdf:resource="http://example.com/book-formats.rdf"/&gt;
   &lt;/rdf:Statement&gt;

&lt;/rdf:RDF&gt;

</pre>
</blockquote>

<hr />

<h2><a name="application">Application Issues</a></h2>
<blockquote>

<h3 id="Representations_versus_Descriptions">Representations versus Descriptions</h3>
<blockquote>

<p>
The web, as traditionally defined <a href="#r6">[6]</a>, <a href="#r7">[7]</a>,
is concerned with providing representations
of resources. Representations can essentially be anything
associated with the resource which is considered useful in
understanding, accessing, interacting, and/or manipulating that
resource, such that the representation conveys information about the state of
the resource. This is fine for visual presentation to
humans browsing the web, who can deal with a great amount of variety,
inconsistency, and ambiguity while still deriving benefit from the representations
provided. It is this flexibility and unconstrained richness of what representations
can be that is one of the factors responsible for the tremendous success of the web.
</p>

<p>
However, semantic web agents (at present at least) are not
able to deal as well with the broad range of possible representations
which might be associated with a resource; and in nearly all cases,
are unable to make any use of such representations, as they are 
typically intended for human rather than machine consumption. Semantic
web agents, not being anywhere near as intelligent as most humans, require 
information which is explicit and formally defined. In short,
semantic web agents need concise, bounded descriptions of resources, expressed
in a machine understandable language, rather than seemingly arbitrary representations which
to agents are usually semantically opaque.
</p>

<p>
Concise bounded descriptions of resources can be considered to be a form
of representation, however they are a highly specialized form and not
the most usual or obvious form in a web primarily intended for human consumption.
They are, however, a key form of representation which semantic web
agents need in order to reason about such resources and adjust their behavior
accordingly.
</p>
</blockquote>

<h3 id="Determination_of_the_Source_Graph">Determination of the Source Graph</h3>
<blockquote>

<p>
The starting point for obtaining a <em>concise bounded description</em> is a
particular node in a particular RDF graph. 
Determination of the particular source graph from which the description
is to be obtained is (primarily) a <strong>system issue</strong>.
</p>

<p>
The source graph does not necessarily correspond exactly to the set
of statements persistently managed by a given system in a triple
store, or set of triple stores.
There may be statements maintained by the system which
are sensitive and not intended to be accessible to the public at large.
There may be statements maintained by the system which are
specific only to the internal functioning of the system, and not 
relevant or interesting to most agents.
The system may employ a reasoning component which is able to
dynamically infer new statements from those persistently stored.
The system may allow access to certain statements to certain users 
but not to others.
</p>

<p>
So, in practice, the actual graph which a particular service utilizes
as the source graph for returning <em>concise bounded
descriptions</em> in response to query requests to that service, may be a virtual
graph that only exists in a transient state at run-time, during
the execution of a particular query.
</p>

<p>
Thus, issues such as security, visibility, inference, etc. which
may govern the determination of the particular
graph employed by a given service in a given context to satisfy
a given request are distinct
from the identification of a particular <em>concise bounded
description</em> once that source graph has been determined.
</p>

<p>
However, while such issues are functionally disjunct, that does not mean they cannot
be addressed in parallel, when processing a request for a <em>concise
bounded description</em>. E.g., in the 
Nokia Semantic Web Server <a href="#r8">[8]</a> implementation <a href="#r9">[9]</a>,
identification of statements belonging to a particular
<em>concise bounded description</em> are determined using inference
rules, which may be evaluated in parallel with select RDFS <a href="#r5">[5]</a>,
OWL <a href="#r10">[10]</a>,
and service specific inference rules. The source graph is not
first constructed, by applying the RDFS, OWL, and other inference
rules, from which the <em>concise bounded description</em> is
then afterwards obtained; rather, all are performed as a single
logical step, implemented using the same reasoning machinery. 
</p>
</blockquote>

<h3 id="Query_and_Application_Programming_Interfaces">Query and Application Programming Interfaces</h3>
<blockquote>

<p>
Again, as stated above, the starting point for obtaining a
<em>concise bounded description</em> is a particular node in a
particular RDF graph.  
How you identify that
particular node in the source graph is an <strong>interface issue</strong>. 
</p>

<p>
Also, in some cases, the source graph may be explicitly named <a href="#r11">[11]</a>
and therefore identification of the source graph by name may also be 
a potential interface issue.
</p>

<p>
Different query and application programming interfaces can provide different
means by which the particular graph and/or the particular node in that graph
might be identified and referred to when requesting a <em>concise bounded
description</em>. And while different interfaces may identify that node
and that graph by different means, once that node and graph are identified,
obtaining a <em>concise bounded description</em> can proceed the same
for all cases, irrespective of how the starting point was arrived at.
</p>

<p>
However, insofar as particular forms of descriptions are concerned,
it is important to note that the form of description
can introduce requirements on the functionality of the interface
(and visa versa)
which must be satisfied if all statements contained
in a given source graph are to be accessible via at least one query
expressable via that interface.
</p>

<p>
For example, to provide access to <em>concise bounded descriptions</em>,
a service requires only the simplest, minimal query interface -- one
in which only a single, known, and predefined graph is
accessible (and need not be explicitly specified)
and where the URI label of a subject node is specified as the only
query parameter. An example of such a query interface is the basic
URIQA query interface <a href="#r4">[4]</a>. Given a source RDF graph
which is accessible via the basic URIQA interface, which takes a URI as
its sole query parameter and returns a <em>concise
bounded description</em> (if successful), every statement in that source
graph is accessible
via that simple interface such that, if every URI which
occurs as the subject of a statement in that source graph is known,
then if the results of executing a
basic URIQA query for each such URI are merged together, the merged
graph will equal the source graph being queried.
</p>

<p>
Some alternative forms of description, such as those
presented <a href="#alternatives">below</a>, which explicitly accomodate
inverse functional
properties, require slightly more comprehensive query interfaces if all
statements in the source graph are to be accessible via the same query
interface. Specifically, in addition to basic URIQA-like queries, they
must provide for queries comprised minimally of 
a unique arc label for the inverse functional property as well as an object 
node label. If a query service provided access to an RDF graph using only the basic
URIQA query interface, but returned <em>inverse functional concise bounded descriptions</em>,
rather than the more general <em>concise bounded descriptions</em>, then there
could be statements in the source graph relating to resources denoted by
blank nodes which are inaccessible via that query interface, because they
would not be included in any <em>concise bounded description</em>
accessible via the basic URIQA interface, due to the occurrence of inverse
functional properties in statements about such a resource, and
one cannot otherwise explicitly inquire about that resource using
the URIQA query interface, as that interface does not enable one
to directly inquire about a resource denoted by a blank node.
</p>

<p>
This should not be seen as a shortcoming inherent in either the query interface
or the form of description employed, but simply as an
example of how the interface via which requests about resources
are made and the form of description provided in responses to such
requests must be functionally matched. For some applications, requirements
may dictate first selecting a particular interface, in which case the form(s)
of description employed in responses should take into account the
capabilities of the interface to ensure that all statements are accessible 
via that interface in some response. For other applications, requirements may
dictate first selecting
the form(s) of description, in which case the interface must take into
account the form(s) of the description to ensure that all statements
are accessible via that interface in some response.
</p>

<p>
The more general and capable the query interface, the more options
one has regarding suitable forms of descriptions. Though it should
be noted that the more general the query interface, and the more
variable the forms of description returned, the greater the implementational
and processing burden for both the requesting and responding agents.
That said, even a service employing a fully general query interface
and supporting numerous possible forms of descriptions can offer significant 
benefit to arbitrary semantic web agents by providing a
<em>concise bounded description</em> as its default form of description.
</p>
</blockquote>

<h3 id="Managing_Magnitude">Managing Magnitude</h3>
<blockquote>

<p>
In certain cases, for certain source graphs, a <em>concise bounded description</em>
may exceed what is a useful magnitude for a given application or requesting
agent, and the service may choose to employ various means to limit the number 
of statements included in a response in order to address practical capacity and performance
issues.
</p>

<p>
Such practical limitations on the magnitude of responses should be
employed only when absolutely necessary, and while a partial description may
still be returned, the service should clearly indicate to the requesting
agent that such limits have been reached and that the response does not
constitute a complete <em>concise bounded description</em> per the original
request. The requesting agent, being made aware of the magnitude limitations,
can then make informed decisions about how or whether to proceed based on
the incomplete information it has been provided.
</p>

<p>
A system may also allow the requesting agent to specify its preferred
limits, where applicable. Though, whether the limits are defined 
by the system or specified by the requesting agent, it should
nevertheless be clear in the response whether any such limit was
reached, and that the response does not otherwise constitute a complete
description.
</p>

<p>
The following are only a few possible ways to limit the 
magnitude of responses. There are surely others.
</p>

<h4><a name="bnodebloat">Limit the (over)use of Blank Nodes</a></h4>
<blockquote>

<p>
The most common cause of unmanagable magnitudes in responses
corresponding to a <em>concise bounded description</em> is when
the source graph constitutes a large body of knowledge which
extensively employs blank nodes to denote "significant"
resources, and which relies on the use of inverse functional
properties to uniquely refer to such "significant" blank
node denoted resources. Many FOAF <a href="#r12">[12]</a> specific
knowledge bases exhibit such characteristics.
</p>

<p>
Thus, it is conceivable that for a given source graph, a
request for a <em>concise bounded description</em> of a 
resource per a particular node in that graph may result
in a subgraph that contains nearly all of the statements
in the source graph, or is even equal to the source graph,
because the description did not terminate at a useful
boundary, given the extensive use of blank nodes. 
</p>

<p>
A simple way to rectify this particular problem is, 
obviously, to limit the use of blank nodes.
</p>

<p>
This can be done in several ways. One can simply assign
dynamically generated URIs employing UUIDs, e.g.</p>
<blockquote>
<p>
<tt>http://example.com/id/12bf7f7a-2698-461a-b20a-587cfcadba80</tt>
</p>
</blockquote>
<p>
to all otherwise unnamed ("blank") nodes, thus
providing explicit points of termination in <em>concise
bounded descriptions</em> which otherwise would not terminate
at a blank node; as well as explicit means of reference
by which access to descriptions about those particular resources
is provided.
</p>

<p>
One could also adopt the commendable practice of always
using specifically assigned <tt>http:</tt> URIs <a href="#r6">[6]</a>
to denote resources which are expected to occur as the object of multiple
statements and/or be commonly referred to
in communication between agents, even if statements about such resources
might otherwise employ inverse functional properties.
</p>
</blockquote>

<h4 id="Limiting_Path_Length">Limiting Path Length</h4>
<blockquote>

<p>
The system can limit the length of any non-cyclic path from the starting
node to any other node in the description subgraph; effectively limiting
the "depth" of the subgraph from the starting node.
</p>
</blockquote>

<h4 id="Limiting_Total_Number_of_Statements">Limiting Total Number of Statements</h4>
<blockquote>

<p>
The system can limit the total number of statements included in the
description subgraph; possibly employing a particular sequence by
which statements are added to the description subgraph so that the
most "significant" or "nearest" statements are included first.
</p>
</blockquote>

<h4 id="Excluding_or_Limiting_Reifications">Excluding or Limiting Reifications</h4>
<blockquote>

<p>
The system can exclude statements relating to reifications from
the description subgraph; or may limit such statements to only
those relevant to a particular purpose, such as provenance.
</p>
</blockquote>
</blockquote>
</blockquote>

<hr />

<h2><a name="alternatives">Alternative Forms of Description</a></h2>
<blockquote>

<p>
As has been mentioned above, it is expected that some applications may find
other forms of resource description more optimal than a <em>concise bounded description</em>.
The following are some possible alternative forms of description which can
be seen as derivations of the basic form of <em>concise bounded description</em>
described above, which may be more suitable for particular applications.
These alternative forms of description are not, however, considered to be as general
or broadly optimal as a <em>concise bounded description</em>.
</p>

<h3><a name="scbd">Symmetric Concise Bounded Description</a></h3>
<blockquote>

<p>
A <em>concise bounded description</em>, as defined above, can be seen as an "asymmetric"
view of a resource; such that it only includes statements which are expressed along arc paths
in the graph which originate from the starting node (outbound arcs);
and does not include statements which are expressed along (non-circular) arc paths which
terminate at the starting node (inbound arcs). 
</p>
<p>
Statements which are expressed as outbound arcs from a particular node
provide <em>primary</em> knowledge about the resource denoted by that
node, where that resource is of primary focus (the subject). Statements which are expressed
as inbound
arc paths to a given node provide <em>secondary</em> knowledge
about the resource denoted by that node, where that resource is of secondary focus (the object).
While some applications might be concerned about secondary knowledge about a given
resource, it is expected that most will be concerned only about primary knowledge.
Furthermore, there are particular 
magnitude issues for descriptions containing such secondary knowledge, as discussed
further below.
</p>
<p>
There is a special form of secondary knowledge which has a direct relation to
(possibly implicit) primary knowledge; and that concerns the use of <em>symmetric</em>
properties.  E.g. consider the properties <tt>dct:hasPart</tt> and <tt>dct:isPartOf</tt>.
For any statement 'X dct:hasPart Y' we can infer 'Y dct:isPartOf X', and visa versa.
It may be the case that in a given graph, there are only statements utilizing one
of a pair of symmetric properties, and therefor, a <em>concise bounded description</em>
may omit a statement where the starting node occurs as object and thus implicit
knowledge which could be inferred from knowledge about the symmetric pair of properties
is not accessible in the description.
E.g., if in a given graph a given node occurs as
the object of a <tt>dct:isPartOf</tt> statement but no symmetrical <tt>dct:hasPart</tt> statement
exists, a <em>concise bounded description</em> beginning at that node will not
include the <tt>dct:isPartOf</tt> statement and thus the agent recieving the description
will not have the necessary knowledge (the <tt>dct:isPartOf</tt> statement) from which it
might infer the symmetrical <tt>dct:hasPart</tt> statement.
</p>
<p>
There are various ways to address symmetric properties. One way is to infer such
statements on the server side, such that the (inference derived) source graph would in fact
include the <tt>dct:hasPart</tt> statement and thus it would be included in a <em>concise
bounded description</em>.
This is the approach employed by the Nokia Semantic Web Server <a href="#r9">[9]</a>.
</p>

<p>
Another approach is to return an alternative form of description, which
includes all statements expressed along both outbound and inbound arc paths,
terminated in like fashion as a <em>concise bounded description</em> but
extending from the starting node in both directions;
thus enabling the requesting
agent to potentially infer itself any implicit statements based on symmetric
property pairs. We
can call this derivative of a <em>concise bounded description</em> a
<em>symmetric concise bounded description</em>. 
</p> 

<p>
Specifically, given a particular node (the starting node) in a particular RDF graph (the
source graph), a subgraph 
of that particular graph, taken to comprise a <em>symmetric concise bounded description</em>
of the resource denoted by the starting node, can be identified as follows:
</p>

<ol>
<li>
Include in the subgraph all statements in the source graph
where the object of the statement is the starting node; 
</li>
<li>
Recursively, for all statements identified in the subgraph
thus far having a blank node subject not equal to the starting
node, include in the subgraph
all statements in the source graph where the object of the statement is the blank
node in question and which are not already included in the subgraph.
</li>
<li>
Recursively, for all statements included in the subgraph
thus far, for all reifications of each statement in the
source graph, include
the <em>symmetric concise bounded description</em> beginning from
the rdf:Statement node of each reification.
</li>
<li>
Include in the subgraph the <em>concise bounded description</em>
beginning from the starting node.
</li>
</ol>

<p>
This produces a subgraph that includes a <em>concise bounded description</em>, given
the same starting point,
but in addition, includes all inbound arc paths, up to but not beyond a URIref subject node.
</p>

<p>
Thus, given the <a href="#sourcegraph">source RDF graph</a> presented above,
the <em>symmetric concise bounded description</em> of the resource denoted by 
<tt>http://example.com/aReallyGreatBook</tt> corresponds to the
following subgraph:
</p>

<pre class="box">

&lt;?xml version="1.0"?&gt;

&lt;rdf:RDF
   xmlns:rdf  ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs ="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:owl  ="http://www.w3.org/2002/07/owl#"
   xmlns:dc   ="http://purl.org/dc/elements/1.1/"
   xmlns:dct  ="http://purl.org/dc/terms/"
   xmlns:xsd  ="http://www.w3.org/2001/XMLSchema#"
   xmlns:foaf ="http://xmlns.com/foaf/0.1/"
   xmlns:ex   ="http://example.com/"&gt;

   &lt;rdf:Description rdf:about="http://example.com/aReallyGreatBook"&gt;
      &lt;dc:title&gt;A Really Great Book&lt;/dc:title&gt;
      &lt;dc:publisher&gt;Examples-R-Us&lt;/dc:publisher&gt;
      &lt;dc:creator&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;John Doe&lt;/foaf:name&gt;
            &lt;foaf:mbox&gt;john@example.com&lt;/foaf:mbox&gt;
            &lt;foaf:img rdf:resource="http://example.com/john.jpg"/&gt;
            &lt;foaf:phone rdf:resource="tel:+1-999-555-1234"/&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:creator&gt;
      &lt;dc:contributor&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;Jane Doe&lt;/foaf:name&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:contributor&gt;
      &lt;dc:language&gt;en&lt;/dc:language&gt;
      &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
      &lt;dc:rights&gt;Copyright (C) 2004 Examples-R-Us. All rights reserved.&lt;/dc:rights&gt;
      &lt;dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2004-01-19&lt;/dct:issued&gt;
      &lt;rdfs:seeAlso rdf:resource="http://example.com/anotherGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Statement&gt;
      &lt;rdf:subject rdf:resource="http://example.com/aReallyGreatBook"/&gt;
      &lt;rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/format"/&gt; 
      &lt;rdf:object&gt;application/pdf&lt;/rdf:object&gt;
      &lt;rdfs:isDefinedBy rdf:resource="http://example.com/book-formats.rdf"/&gt;
   &lt;/rdf:Statement&gt;

   &lt;rdf:Description rdf:about="http://example.com/aBookCritic"&gt;
      &lt;ex:likes rdf:resource="http://example.com/aReallyGreatBook"/&gt;
   &lt;/rdf:Description&gt;

&lt;/rdf:RDF&gt;

</pre>

<p>
As mentioned above, there are cases where <em>symmetric concise bounded descriptions</em>
have magnitude problems; in particular, when a given node occurs as the object of
an exceptionally large number of statements. E.g. given a persistent triple
store contaning millions of triples and a source graph which is dynamically
inferred from
that triple store by a reasoner, which applies all RDF and RDFS closure rules, the <em>symmetric
concise bounded description</em> for cases such as <tt>rdf:Resource</tt> and
similar standard and/or proprietary RDF classes could be immense.
The managability of this particular form of description will be proportional
to how frequently a given node occurs as the object of a statement. For 
classificatory terms (as well as literal objects, etc.) applications will likely benefit more from either 
an (asymmetrical) <em>concise bounded description</em> or from a precise
query regarding specific usage expressed in a more general purpose query
language.
</p>

</blockquote>

<h3><a name="ifcbd">Inverse Functional Concise Bounded Description</a></h3>
<blockquote>

<p>
As discussed <a href="#bnodebloat">above</a>, in order to managing magnitudes
of descriptions where the source graph reflects a substantial use of blank nodes
and inverse functional properties, one may employ a special form of description
(along with a sufficiently capable query interface) to terminate at, and
exclude particular statements about, blank nodes occuring as the subject
of one or more statements which are are expressed using an inverse functional property.
</p>

<p>
Specifically, given a particular node (the starting node) in a particular RDF graph
(the source graph), a subgraph 
of that particular graph, taken to comprise an <em>inverse functional concise bounded description</em>
of the resource denoted by the starting node, can be identified as follows:
</p>

<ol>
<li>
Include in the subgraph all statements in the source graph where the subject 
of the statement is the starting node; 
</li>
<li>
Recursively, for all statements included in the subgraph
thus far, for each blank node object:
<blockquote>
<p>
IF there exists at least one statement in the source graph having the blank node
as subject and where the source graph includes a statement which
asserts that the predicate of that statement is rdf:type owl:InverseFunctionalProperty
<a href="#r10">[10]</a>,
</p>
<p>THEN</p>
<blockquote>
<p>
For each statement in the source graph having the blank node as subject
and where the source graph includes a statement which
asserts that the predicate of that statement is rdf:type owl:InverseFunctionalProperty:
</p>
<blockquote>
<ul>
<li>
Include the statement in the subgraph; and
</li>
<li>
If the object of the statement is a blank node, include the
<em>inverse functional concise bounded description</em> beginning from
that blank object node;
</li>
</ul>
</blockquote>
</blockquote>
<p>ELSE</p>
<blockquote>
<p>
For each statement in the source graph having the blank node as subject:
</p>
<blockquote>
<ul>
<li>
Include the statement in the subgraph; and
</li>
<li>
If the object of the statement is a blank node, include the
<em>inverse functional concise bounded description</em> beginning from
that blank object node;
</li>
</ul>
</blockquote>
</blockquote>
</blockquote>
</li>
<li>
Recursively, for all statements included in the subgraph
thus far, for all reifications of each statement in the
source graph, include
the <em>inverse functional concise bounded description</em>
beginning from the rdf:Statement node of each reification.
</li>
</ol>

<p>
Thus, given the <a href="#sourcegraph">source RDF graph</a> presented above,
the <em>inverse functional concise bounded description</em> of the resource denoted by 
<tt>http://example.com/aReallyGreatBook</tt> corresponds to the
following subgraph:
</p>

<pre class="box">

&lt;?xml version="1.0"?&gt;

&lt;rdf:RDF
   xmlns:rdf  ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs ="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:owl  ="http://www.w3.org/2002/07/owl#"
   xmlns:dc   ="http://purl.org/dc/elements/1.1/"
   xmlns:dct  ="http://purl.org/dc/terms/"
   xmlns:xsd  ="http://www.w3.org/2001/XMLSchema#"
   xmlns:foaf ="http://xmlns.com/foaf/0.1/"
   xmlns:ex   ="http://example.com/"&gt;

   &lt;rdf:Description rdf:about="http://example.com/aReallyGreatBook"&gt;
      &lt;dc:title&gt;A Really Great Book&lt;/dc:title&gt;
      &lt;dc:publisher&gt;Examples-R-Us&lt;/dc:publisher&gt;
      &lt;dc:creator&gt;
         &lt;rdf:Description&gt;
            &lt;foaf:mbox&gt;john@example.com&lt;/foaf:mbox&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:creator&gt;
      &lt;dc:contributor&gt;
         &lt;rdf:Description&gt;
            &lt;rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/&gt;
            &lt;foaf:name&gt;Jane Doe&lt;/foaf:name&gt;
         &lt;/rdf:Description&gt;
      &lt;/dc:contributor&gt;
      &lt;dc:language&gt;en&lt;/dc:language&gt;
      &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
      &lt;dc:rights&gt;Copyright (C) 2004 Examples-R-Us. All rights reserved.&lt;/dc:rights&gt;
      &lt;dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2004-01-19&lt;/dct:issued&gt;
      &lt;rdfs:seeAlso rdf:resource="http://example.com/anotherGreatBook"/&gt;
   &lt;/rdf:Description&gt;

   &lt;rdf:Statement&gt;
      &lt;rdf:subject rdf:resource="http://example.com/aReallyGreatBook"/&gt;
      &lt;rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/format"/&gt; 
      &lt;rdf:object&gt;application/pdf&lt;/rdf:object&gt;
      &lt;rdfs:isDefinedBy rdf:resource="http://example.com/book-formats.rdf"/&gt;
   &lt;/rdf:Statement&gt;

&lt;/rdf:RDF&gt;

</pre>
</blockquote>

<p>
Note that any <em>inverse functional concise bounded description</em> is a subgraph
of, or equivalent to, the <em>concise bounded description</em> obtained
when starting from the same node in the same RDF graph.
</p>

</blockquote>

<hr />

<h2><a name="references">Notes and References</a></h2>
<blockquote>

<p><a name="r1">[1]</a> Note on terminology:</p>
<blockquote>
<p>
This document does not constitute a mathematical presentation of concise 
bounded descriptions. The use of terms such as "concise", "bounded",
"description", "definition", etc. are not to be interpreted according to
any special meaning or use as mathematical terms. This document is an
English language presentation of a number of ideas which are considered
to offer utility to implementors of semantic web or other applications dealing with
descriptive metadata. More precise mathematical specifications of these
ideas would be welcome and beneficial. This document does not provide them.
</p>

<!--
<p>From the Merriam-Webster Online Dictionary:

<blockquote>
<tt>
<p>
Main Entry:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>con·cise</b><br>
Pronunciation:&nbsp;&nbsp;<tt>k&amp;n-'sIs</tt><br>
Function:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>adjective</em><br>
<b>1</b> <b>:</b> marked by brevity of expression or statement <b>:</b> free from all elaboration and superfluous detail<br>
<b>2</b> <b>:</b> cut short <b>: <font size="-1">BRIEF</font></b>
</p>

<p>
Main Entry:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><sup>4</sup>bound</b><br>
Function:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>transitive verb</em><br>
<b>1</b> <b>:</b> to set limits or bounds to <b>: <font size="-1">CONFINE</font></b><br>
<b>2</b> <b>:</b> to form the boundary of <b>: <font size="-1">ENCLOSE</font></b><br>
<b>3</b> <b>:</b> to name the boundaries of
</p>

<p>
Main Entry:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>de·scrip·tion</b><br>
Pronunciation:&nbsp;&nbsp;<tt>di-'skrip-sh&amp;n</tt><br>
Function:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>noun</em><br>
<b>1 a</b> <b>:</b> an act of describing; <em>specifically</em> <b>:</b> discourse intended to give a mental image of something experienced <b>b</b> <b>:</b> a descriptive statement or account
</p>

<p>
Main Entry:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>de·fine</b><br>
Pronunciation:&nbsp;&nbsp;<tt>di-'fIn</tt><br>
Function:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>verb</i><br>
<i>transitive senses</i><br>
<b>1 a</b> <b>:</b> to determine or identify the essential qualities or meaning of  &lt;whatever <i>define</i><i>s </i>us as human&gt; <b>b</b> <b>:</b> to discover and set forth the meaning of (as a word) <b>c</b> <b>:</b> to create on a computer  &lt;<i>define</i> a window&gt;  &lt;<i>define</i> a procedure&gt;<br>
<b>2 a</b> <b>:</b> to fix or mark the limits of <b>: <font size="-1">DEMARCATE</font></b>  &lt;rigidly <i>defined </i>property lines&gt; <b>b</b> <b>:</b> to make distinct, clear, or detailed especially in outline  &lt;the issues aren't too well <i>defined</i>&gt;<br>
</tt>
</blockquote>
-->
</blockquote>

<p><a name="r2">[2]</a> W3C Semantic Web Activity, <a href="http://www.w3.org/2001/sw/">http://www.w3.org/2001/sw/</a></p>
<p><a name="r3">[3]</a> Architecture of the WWW, Definition of a Resource, <a href="http://www.w3.org/TR/webarch/#def-resource">http://www.w3.org/TR/webarch/#def-resource</a></p>
<p><a name="r4">[4]</a> URIQA, <a href="http://sw.nokia.com/uriqa/URIQA.html">http://sw.nokia.com/uriqa/URIQA.html</a></p>
<p><a name="r5">[5]</a> RDF, RDFS, <a href="http://www.w3.org/RDF/">http://www.w3.org/RDF/</a></p>
<p><a name="r6">[6]</a> RFC2616 - HTTP 1.1, <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a></p>
<p><a name="r7">[7]</a> Architecture of the WWW, <a href="http://www.w3.org/TR/webarch/">http://www.w3.org/TR/webarch/</a></p>
<p><a name="r8">[8]</a> Nokia Semantic Web Server, <a href="http://sw.nokia.com">http://sw.nokia.com</a></p>
<p><a name="r9">[9]</a> Nokia Semantic Web Server open source distribution, <a href="http://swdev.nokia.com/tools">http://swdev.nokia.com/tools</a></p>
<p><a name="r10">[10]</a> OWL, <a href="http://www.w3.org/2004/OWL/">http://www.w3.org/2004/OWL/</a></p>
<p><a name="r11">[11]</a> Named Graphs, Provenance and Trust, <a href="http://www.hpl.hp.com/techreports/2004/HPL-2004-57.html">http://www.hpl.hp.com/techreports/2004/HPL-2004-57.html</a></p>
<p><a name="r12">[12]</a> FOAF (Friend of a Friend), <a href="http://www.foaf-project.org">http://www.foaf-project.org</a></p>

<!--
<p><a name="rXX">[XX]</a> Merriam-Webster Online Dictionary <a href="http://www.webster.com">http://www.webster.com</a></p>
-->

</blockquote>
<hr />

<p>
<a href="http://validator.w3.org/check?uri=referer">
<img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
</a>
</p>
    
</body>
</html>