FOAF (an acronym of friend of a friend ) is a machine-readable ontology describing persons , their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.
45-688: FOAF is a descriptive vocabulary expressed using the Resource Description Framework (RDF) and the Web Ontology Language (OWL). Computers may use these FOAF profiles to find, for example, all people living in Europe, or to list all people both you and a friend of yours know. This is accomplished by defining relationships between people. Each profile has a unique identifier (such as the person's e-mail addresses , international telephone number , Facebook account name,
90-407: A Jabber ID , or a URI of the homepage or weblog of the person), which is used when defining these relationships. The FOAF project, which defines and extends the vocabulary of a FOAF profile, was started in 2000 by Libby Miller and Dan Brickley. It can be considered the first Social Semantic Web application, in that it combines RDF technology with ' social web ' concerns. Tim Berners-Lee , in
135-410: A labeled , directed multigraph . This makes an RDF data model better suited to certain kinds of knowledge representation than other relational or ontological models. As RDFS , OWL and SHACL demonstrate, one can build additional ontology languages upon RDF. The initial RDF design, intended to "build a vendor-neutral and operating system- independent system of metadata", derived from
180-692: A 2007 essay, redefined the semantic web concept into the Giant Global Graph (GGG), where relationships transcend networks and documents. He considers the GGG to be on equal ground with the Internet and the World Wide Web , stating that "I express my network in a FOAF file, and that is a start of the revolution." FOAF is one of the key components of the WebID specifications, in particular for
225-586: A URI could represent absolutely anything. However, there is broad agreement that a bare URI (without a # symbol) which returns a 300-level coded response when used in an HTTP GET request should be treated as denoting the internet resource that it succeeds in accessing. Therefore, producers and consumers of RDF statements must agree on the semantics of resource identifiers. Such agreement is not inherent to RDF itself, although there are some controlled vocabularies in common use, such as Dublin Core Metadata, which
270-559: A particular set of strings. In this context, the expressive power of a formalism is the set of sets of strings its instances describe, and comparing expressive power is a matter of comparing these sets. An important yardstick for describing the relative expressive power of formalisms in this area is the Chomsky hierarchy . It says, for instance, that regular expressions , nondeterministic finite automata and regular grammars have equal expressive power, while that of context-free grammars
315-423: A predicate, and (3) a node for the object. Each of these parts can be identified by a Uniform Resource Identifier (URI). An object can also be a literal value. This simple, flexible data model has a lot of expressive power to represent complex situations, relationships, and other things of interest, while also being appropriately abstract. RDF was adopted as a W3C recommendation in 1999. The RDF 1.0 specification
360-453: A single scope identifier to be associated with a statement that has not been assigned a URI, itself. Likewise named graphs in which a set of triples is named by a URI can represent context without the need to reify the triples. The predominant query language for RDF graphs is SPARQL . SPARQL is an SQL -like language, and a recommendation of the W3C as of January 15, 2008. The following
405-542: A statement can be associated with a context, named by a URI, in order to assert an "is true in" relationship. As another example, it is sometimes convenient to group statements by their source, which can be identified by a URI, such as the URI of a particular RDF/XML document. Then, when updates are made to the source, corresponding statements can be changed in the model, as well. Implementation of scopes does not necessarily require fully reified statements. Some implementations allow
450-468: A trade-off between expressive power and analyzability. The more a formalism can express, the harder it becomes to understand what instances of the formalism say. Decision problems become harder to answer or completely undecidable . Formal language theory mostly studies formalisms to describe sets of strings , such as context-free grammars and regular expressions . Each instance of a formalism, e.g. each grammar and each regular expression, describes
495-451: A type of database called a triplestore . The subject of an RDF statement is either a uniform resource identifier (URI) or a blank node , both of which denote resources . Resources indicated by blank nodes are called anonymous resources. They are not directly identifiable from the RDF statement. The predicate is a URI which also indicates a resource, representing a relationship. The object
SECTION 10
#1732772376997540-433: Is SHACL (Shapes Constraint Language). SHACL specification is divided in two parts: SHACL Core and SHACL-SPARQL. SHACL Core consists of a list of built-in constraints such as cardinality, range of values and many others. SHACL-SPARQL describes SPARQL-based constraints and an extension mechanism to declare new constraint components. Other non-standard ways to describe and validate RDF graphs include: The following example
585-411: Is a URI, blank node or a Unicode string literal . As of RDF 1.1 resources are identified by Internationalized Resource Identifiers (IRIs); IRI are a generalization of URI. In Semantic Web applications, and in relatively popular applications of RDF like RSS and FOAF (Friend of a Friend), resources tend to be represented by URIs that intentionally denote, and can be used to access, actual data on
630-608: Is an example of a SPARQL query to show country capitals in Africa, using a fictional ontology: Other non-standard ways to query RDF graphs include: SHACL Advanced Features specification (W3C Working Group Note), the most recent version of which is maintained by the SHACL Community Group defines support for SHACL Rules, used for data transformations, inferences and mappings of RDF based on SHACL shapes. The predominant language for describing and validating RDF graphs
675-410: Is based on the idea of making statements about resources (in particular web resources) in expressions of the form subject – predicate – object , known as triples . The subject denotes the resource; the predicate denotes traits or aspects of the resource, and expresses a relationship between the subject and the object . For example, one way to represent the notion "The sky has
720-443: Is concerned, among other things, with database queries , e.g. formulas that, given the contents of a database, specify certain information to be extracted from it. In the predominant relational database paradigm, the contents of a database are described as a finite set of finite mathematical relations; Boolean queries, that always yield true or false , are formulated in first-order logic . It turns out that first-order logic
765-412: Is greater; what this means is that the sets of sets of strings described by the first three formalisms are equal, and a proper subset of the set of sets of strings described by context-free grammars. In this area, the cost of expressive power is a central topic of study. It is known, for instance, that deciding whether two arbitrary regular expressions describe the same set of strings is hard, while doing
810-431: Is lacking in expressive power: it cannot express certain types of Boolean queries, e.g. queries involving transitive closure . However, adding expressive power must be done with care: it must still remain possible to evaluate queries with reasonable efficiency, which is not the case, e.g., for second-order logic . Consequently, a literature sprang up in which many query languages and language constructs were compared on
855-521: Is partially mapped to a URI space for use in RDF. The intent of publishing RDF-based ontologies on the Web is often to establish, or circumscribe, the intended meanings of the resource identifiers used to express data in RDF. For example, the URI: http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Merlot is intended by its owners to refer to the class of all Merlot red wines by vintner (i.e., instances of
900-401: Is rather a URI reference , containing the '#' character and ending with a fragment identifier . The body of knowledge modeled by a collection of statements may be subjected to reification , in which each statement (that is each triple subject-predicate-object altogether) is assigned a URI and treated as a resource about which additional statements can be made, as in " Jane says that John
945-521: Is some resource or literal. More statements about the original statement may also exist, depending on the application's needs. Borrowing from concepts available in logic (and as illustrated in graphical notations such as conceptual graphs and topic maps ), some RDF model implementations acknowledge that it is sometimes useful to group statements according to different criteria, called situations , contexts , or scopes , as discussed in articles by RDF specification co-editor Graham Klyne . For example,
SECTION 20
#1732772376997990-481: Is taken from the W3C website describing a resource with statements "there is a Person identified by http://www.w3.org/People/EM/contact#me, whose name is Eric Miller, whose email address is e.miller123(at)example (changed for security purposes), and whose title is Dr." The resource "http://www.w3.org/People/EM/contact#me" is the subject. The objects are: The subject is a URI. The predicates also have URIs. For example,
1035-431: Is the author of document X". Reification is sometimes important in order to deduce a level of confidence or degree of usefulness for each statement. In a reified RDF database, each original statement, being a resource, itself, most likely has at least three additional statements made about it: one to assert that its subject is some resource, one to assert that its predicate is some resource, and one to assert that its object
1080-730: Is the breadth of ideas that can be represented and communicated in that language. The more expressive a language is, the greater the variety and quantity of ideas it can be used to represent. For example, the Web Ontology Language expression language profile (OWL2 EL) lacks ideas (such as negation ) that can be expressed in OWL2 RL (rule language). OWL2 EL may therefore be said to have less expressive power than OWL2 RL. These restrictions allow for more efficient ( polynomial time ) reasoning in OWL2 EL than in OWL2 RL. So OWL2 EL trades some expressive power for more efficient reasoning (processing of
1125-428: Is the name of the person described here. His e-mail address, homepage and depiction are web resources , which means that each can be described using RDF as well. He has Wikimedia as an interest, and knows Angela Beesley (which is the name of a 'Person' resource). Paddington Edition Resource Description Framework The Resource Description Framework ( RDF ) is a method to describe and exchange graph data. It
1170-580: Is undecidable, a fact known as Rice's Theorem . There are some results on conciseness as well; for instance, nondeterministic finite automata and regular grammars are more concise than regular expressions, in the sense that the latter can be translated to the former without a blowup in size (i.e. in O(1) ), while the reverse is not possible. Similar considerations apply to formalisms that describe not sets of strings, but sets of trees (e.g. XML schema languages ), of graphs , or other structures. Database theory
1215-487: Is used as a foundation for RDF Schema , where it is extended. Several common serialization formats are in use, including: RDF/XML is sometimes misleadingly called simply RDF because it was introduced among the other W3C specifications defining RDF and it was historically the first W3C standard RDF serialization format. However, it is important to distinguish the RDF/XML format from the abstract RDF model itself. Although
1260-611: The University of Michigan . In 1999, the W3C published the first recommended RDF specification, the Model and Syntax Specification ("RDF M&S"). This described RDF's data model and an XML serialization. Two persistent misunderstandings about RDF developed at this time: firstly, due to the MCF influence and the RDF "Resource Description" initialism, the idea that RDF was specifically for use in representing metadata; secondly that RDF
1305-417: The knowledge representation language). The term expressive power may be used with a range of meaning. It may mean a measure of the ideas expressible in that language: The first sense dominates in areas of mathematics and logic that deal with the formal description of languages and their meaning, such as formal language theory , mathematical logic and process algebra . In informal discussions,
1350-467: The RDF/XML format is still in use, other RDF serializations are now preferred by many RDF users, both because they are more human-friendly, and because some RDF graphs are not representable in RDF/XML due to restrictions on the syntax of XML QNames . With a little effort, virtually any arbitrary XML may also be interpreted as RDF using GRDDL (pronounced 'griddle'), Gleaning Resource Descriptions from Dialects of Languages. RDF triples may be stored in
1395-645: The URI for each predicate: In addition, the subject has a type (with URI http://www.w3.org/1999/02/22-rdf-syntax-ns#type), which is person (with URI http://www.w3.org/2000/10/swap/pim/contact#Person). Therefore, the following "subject, predicate, object" RDF triples can be expressed: In standard N-Triples format, this RDF can be written as: Equivalently, it can be written in standard Turtle (syntax) format as: Or, it can be written in RDF/XML format as: Certain concepts in RDF are taken from logic and linguistics , where subject-predicate and subject-predicate-object structures have meanings similar to, yet distinct from,
FOAF - Misplaced Pages Continue
1440-689: The W3C's Platform for Internet Content Selection (PICS), an early web content labelling system, but the project was also shaped by ideas from Dublin Core , and from the Meta Content Framework (MCF), which had been developed during 1995 to 1997 by Ramanathan V. Guha at Apple and Tim Bray at Netscape . A first public draft of RDF appeared in October 1997, issued by a W3C working group that included representatives from IBM , Microsoft , Netscape , Nokia , Reuters , SoftQuad , and
1485-670: The WebID+TLS protocol, which was formerly known as FOAF+SSL. Although it is a relatively simple use-case and standard, FOAF has had limited adoption on the web. For example, the Live Journal and DeadJournal blogging sites support FOAF profiles for all their members, My Opera community supported FOAF profiles for members as well as groups. FOAF support is present on Identi.ca , FriendFeed , WordPress and TypePad services. Yandex blog search platform supports search over FOAF profile information. Prominent client-side FOAF support
1530-499: The World Wide Web. But RDF, in general, is not limited to the description of Internet-based resources. In fact, the URI that names a resource does not have to be dereferenceable at all. For example, a URI that begins with "http:" and is used as the subject of an RDF statement does not necessarily have to represent a resource that is accessible via HTTP , nor does it need to represent a tangible, network-accessible resource — such
1575-448: The above URI each represent the class of all wine produced by a single vintner), a definition which is expressed by the OWL ontology — itself an RDF document — in which it occurs. Without careful analysis of the definition, one might erroneously conclude that an instance of the above URI was something physical, instead of a type of wine. Note that this is not a 'bare' resource identifier, but
1620-492: The color blue" in RDF is as the triple: a subject denoting "the sky", a predicate denoting "has the color", and an object denoting "blue". Therefore, RDF uses subject instead of object (or entity ) in contrast to the typical approach of an entity–attribute–value model in object-oriented design : entity (sky), attribute (color), and value (blue). RDF is an abstract model with several serialization formats (being essentially specialized file formats ). In addition
1665-684: The particular encoding for resources or triples can vary from format to format. This mechanism for describing resources is a major component in the W3C's Semantic Web activity: an evolutionary stage of the World Wide Web in which automated software can store, exchange, and use machine-readable information distributed throughout the Web, in turn enabling users to deal with the information with greater efficiency and certainty . RDF's simple data model and ability to model disparate, abstract concepts has also led to its increasing use in knowledge management applications unrelated to Semantic Web activity. A collection of RDF statements intrinsically represents
1710-411: The same for arbitrary context-free grammars is completely impossible . However, it can still be efficiently decided whether any given string is in the set. For more expressive formalisms, this problem can be harder, or even undecidable. For a Turing complete formalism, such as arbitrary formal grammars , not only this problem, but every nontrivial property regarding the set of strings they describe
1755-502: The term often refers to the second sense, or to both. This is often the case when discussing programming languages . Efforts have been made to formalize these informal uses of the term. The notion of expressive power is always relative to a particular kind of thing that the language in question can describe, and the term is normally used when comparing languages that describe the same kind of things, or at least comparable kinds of things. The design of languages and formalisms involves
1800-463: The uses of those terms in RDF. This example demonstrates: In the English language statement 'New York has the postal abbreviation NY' , 'New York' would be the subject, 'has the postal abbreviation' the predicate and 'NY' the object. Expressive power (computer science) In computer science , the expressive power (also called expressiveness or expressivity ) of a language
1845-718: Was an XML format rather than a data model, and only the RDF/XML serialisation being XML-based. RDF saw little take-up in this period, but there was significant work done in Bristol , around ILRT at Bristol University and HP Labs , and in Boston at MIT . RSS 1.0 and FOAF became exemplar applications for RDF in this period. The recommendation of 1999 was replaced in 2004 by a set of six specifications: "The RDF Primer", "RDF Concepts and Abstract", "RDF/XML Syntax Specification (revised)", "RDF Semantics", "RDF Vocabulary Description Language 1.0", and "The RDF Test Cases". This series
FOAF - Misplaced Pages Continue
1890-785: Was available in Safari web browser before RSS support was removed in Safari 6 and in the Semantic Radar plugin for Firefox browser. Semantic MediaWiki , the semantic annotation and linked data extension of MediaWiki supports mapping properties to external ontologies, including FOAF which is enabled by default. There are also modules or plugins to support FOAF profiles or FOAF+SSL authorization for programming languages, as well as for content management systems . The following FOAF profile (written in Turtle format) states that James Wales
1935-498: Was originally designed as a data model for metadata by the World Wide Web Consortium (W3C). It provides a variety of syntax notations and data serialization formats, of which the most widely used is Turtle (Terse RDF Triple Language). RDF is a directed graph composed of triple statements. An RDF graph statement is represented by: (1) a node for the subject, (2) an arc from subject to object, representing
1980-399: Was published in 2004, and the RDF 1.1 specification in 2014. SPARQL is a standard query language for RDF graphs. RDF Schema (RDFS), Web Ontology Language (OWL) and SHACL (Shapes Constraint Language) are ontology languages that are used to describe RDF data. The RDF data model is similar to classical conceptual modeling approaches (such as entity–relationship or class diagrams ). It
2025-413: Was superseded in 2014 by the following six "RDF 1.1" documents: "RDF 1.1 Primer", "RDF 1.1 Concepts and Abstract Syntax", "RDF 1.1 XML Syntax", "RDF 1.1 Semantics", "RDF Schema 1.1", and "RDF 1.1 Test Cases". The vocabulary defined by the RDF specification is as follows: rdf:Statement , rdf:subject , rdf:predicate , rdf:object are used for reification (see below ). This vocabulary
#996003