ВебмастерМетрикаВиджетыРекламная сетьДиректПоиск для сайтаAPI
Войти

    Yandex extension of FOAF

    Abstract

    Yandex extension of FOAF introduces classes and properties required to describe users' profiles and their blog activities. It represents an attempt to make Semantic Web even more convenient for automated search.

    This document contains a detailed description of this extension.

    This visual layout and structure of the specification has been adapted from the FOAF Vocabulary Specification by Dan Brickley and Libby Miller.

    Introduction

    The main objective of Yandex extension is to introduce classes and properties, that can be used for a detailed description of blog activities, such as posting comments, reading blogs, etc.

    This extension is also helpful for authoring profiles. It provides convenient means to store personal information, such as biography, biometrical characteristics and names.

    Using the Yandex FOAF extension you can easily specify precise location, by storing country, region, city and postal address in separate properties.

    Terminology and Notation

    The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

    The XML Namespace URI that MUST be used by implementations of this specification is:

    xmlns ya="http://blogs.yandex.ru/schema/foaf"

    Yandex extension at a glance

    An a-z index of terms, by class and by property

    Classes: | ya:Comments | ya:Links | ya:Posts | ya:Readers | ya:Syndicated |

    Properties: | ya:address | ya:bio | ya:blogActivity | ya:сity | ya:сountry | ya:сreationDate | ya:dateFinish | ya:dateStart | ya:feed | ya:firstName | ya:height | ya:middleName | ya:posted | ya:received | ya:region | ya:school | ya:secondName | ya:weight |

    A categorized index of terms

    Blogs activity Personal information Geographical position Time

    ya:BlogActivityClass

    ya:Comments

    ya:Links

    ya:Posts

    ya:Readers

    ya:Readers

    ya:blogActivity

    ya:Syndicated

    ya:feed

    ya:posted

    ya:received

    ya:firstName

    ya:middleName

    ya:secondName

    ya:bio

    ya:height

    ya:weight

    ya:school

    ya:address

    ya:сity

    ya:сountry

    ya:region

    ya:сreationDate

    ya:dateFinish

    ya:dateStart

    Cross-reference: Listing Classes and Properties

    Yandex extension introduces the following classes and properties. See the RDF Schema for more details.

    Class: ya:Comments

    Comments - messages that can be posted in a blog as replies (comments) to posts

    in-range-of: ya:blogActivity

    in-domain-of: ya:feed, ya:posted, ya:received

    The ya:Comments class represents messages that can be posted in a blog as replies to posts. Comments usually have a threaded structure and therefore MAY be viewed as RSS-feeds.

    Using the ya:Comments class you can specify links to these RSS-feeds, as well as describe any changes, such as adding and removing comments.

    Example

    <ya:blogActivity>
      <ya:Comments>
        <ya:feed rdf:resource="http://example.com/recent_comments_rss/" dc:type="application/rss+xml"/>
        <ya:posted>123</ya:posted>
        <ya:received>123</ya:received>
      </ya:Comments>
    </ya:blogActivity>

    back to top

    Class: ya:Links

    Links - links to a blog

    in-range-of: ya:blogActivity

    in-domain-of: ya:received

    The ya:Links class represents information about links to someone's blog.

    Currently only the number of links can be specified.

    Example

    <ya:blogActivity>
      <ya:Links>
        <ya:received>123</ya:received>
      </ya:Links>
    </ya:blogActivity>

    back to top

    Class: ya:Posts

    Posts - messages that can be posted in a blog

    in-range-of: ya:blogActivity

    in-domain-of: ya:posted

    The ya:Posts class represents messages, posted by a user in his or her blog. Posts can be threaded and therefore be viewable as RSS-feeds.

    Using the ya:Posts class you can specify links to these RSS-feeds, as well as the total number of posts in a feed.

    Example

    <ya:blogActivity>
      <ya:Posts>
        <ya:feed rdf:resource="http://example.com/users/user/rss/" dc:type="application/rss+xml"/>
        <ya:posted>123</ya:posted>
      </ya:Posts>
    </ya:blogActivity>

    back to top

    Class: ya:Readers

    Readers - readers of a blog

    in-range-of: ya:blogActivity

    in-domain-of: ya:received

    The ya:Readers class represents information about readers of a blog.

    Currently only the number of readers can be specified.

    Example

    <ya:blogActivity>
      <ya:Readers>
        <ya:received>123</ya:received>
      </ya:Readers>
    </ya:blogActivity>

    back to top

    Class: ya:Syndicated

    Syndicated - a syndicated account

    in-range-of: foaf:nick | foaf:weblog

    in-domain-of: foaf:knows

    Many blog hostings offer their readers an opportunity to read RSS-feeds from other hostings. The ya:Syndicated class represents a syndicated account, which automatically updates with a feed's latest content. Syndicated accounts are added to friends lists.

    Example

    <foaf:knows>
      <ya:Syndicated>
        <foaf:nick>exler_rss</foaf:nick>
        <rdfs:seeAlso       rdf:resource="http://syndicated.livejournal.com/exler_rss/data/foaf/"/>
        <rdfs:seeAlso rdf:resource="http://exler.ru/blog/blog.xml"/>
        <foaf:weblog rdf:resource="http://syndicated.livejournal.com/exler_rss/"/>
      </ya:Syndicated>
    </foaf:knows>

    back to top

    Class: ya:BlogActivityClass

    BlogActivityClass - activity in a blog

    in-range-of: ya:feed ya:posted ya:received

    in-domain-of: ya:blogActivity

    The ya:BlogActivityClass class represents any activity that MAY be performed in a blog. This class SHOULD NOT be used directly. Instead you SHOULD use classes, which refer to a particular activity, e. g. ya:Comments, ya:Links, ya:Posts and ya:Readers.

    back to top

    Property: ya:blogActivity

    blogActivity - activity in a blog

    domain: foaf:Agent

    range: ya:BlogActivityClass

    The ya:blogActivity property relates a foaf:Agent (usually a foaf:Person) to an activity, that MAY be performed in a blog.

    The activities include adding or removing comments (ya:Comments ), posts (ya:Posts ) or links (ya:Links), changing the number of readers (ya:Readers), etc.

    Example

    Comments:

    <ya:blogActivity>
        <ya:Comments>
            <ya:feed rdf:resource="recent comments rss" dc:type="application/rss+xml"/>
            <ya:posted>123</ya:posted>
            <ya:received>123</ya:received>
        </ya:Comments>
    </ya:blogActivity>

    Posts:

    <ya:blogActivity>
        <ya:Posts>
            <ya:feed rdf:resource="http://www.valez.ru/users/valez/rss/" dc:type="application/rss+xml"/>
            <ya:posted>123</ya:posted>
        </ya:Posts>
    </ya:blogActivity>

    Links:

    <ya:blogActivity>
        <ya:Links>
            <ya:received>123</ya:received>
        </ya:Links>
    </ya:blogActivity>

    Readers:

    <ya:blogActivity>
        <ya:Readers>
            <ya:received>123</ya:received>
        </ya:Readers>
    </ya:blogActivity>

    back to top

    Property: ya:feed

    feed - a feed (e.g., RSS, Atom, etc.)

    domain: ya:BlogActivityClass

    range: http://www.w3.org/2002/07/owl#Thing

    The ya:feed property relates an activity specified with a ya:blogActivity property to an RSS-feed (e.g., RSS, Atom, etc.).

    Example

    <ya:blogActivity>
        <ya:Posts>
            <ya:feed rdf:resource="http://www.valez.ru/users/valez/rss/" dc:type="application/rss+xml"/>
            <ya:posted>123</ya:posted>
        </ya:Posts>
    </ya:blogActivity>

    back to top

    Property ya:posted

    posted - the number of posted messages

    domain: ya:BlogActivityClass

    range: http://www.w3.org/2001/XMLSchema#nonNegativeInteger

    The ya:posted property relates an activity specified with a ya:blogActivity property to the number of messages posted to a blog, forum, etc. as a result of this activity.

    Example

    <ya:blogActivity>
        <ya:Posts>
            <ya:feed rdf:resource="http://www.valez.ru/users/valez/rss/" dc:type="application/rss+xml"/>
            <ya:posted>123</ya:posted>
        </ya:Posts>
    </ya:blogActivity>

    back to top

    Property: ya:received

    received - the number of received elements

    domain: ya:BlogActivityClass

    range: http://www.w3.org/2001/XMLSchema#nonNegativeInteger

    The ya:received property relates an activity specified with a ya:blogActivity property to the number of elements produced as a result of this activity.

    Example

    <ya:blogActivity>
        <ya:Readers>
            <ya:received>5</ya:received>
        </ya:Readers>
    </ya:blogActivity>

    back to top

    Property: ya:firstName

    firstName - first name (as opposed to middle name and last name)

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:firstName property relates a foaf:Person to a string that contains person's first name.

    Note

    The properties ya:firstName, ya:secondName and ya:middleName represent personal names, which consist of three parts: first name, middle name and last name (e. g. Russian names). The properties allow to store parts of three-part names (e. g. Russian patronymic names) separately, as opposed to foaf:name, which wraps the same information into a text string.

    Example

    <foaf:Person>
        <ya:firstNode>Ivan</ya:firstNode>
        <ya:middleName>Petrovich</ya:middleName>
        <ya:secondName>Pupkin</ya:secondName>
        ...
    </foaf:Person>

    back to top

    Property: ya:middleName

    middleName - middle name (as opposed to first name and last name)

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:middleName property relates a foaf:Person to a string that contains person's middle name.

    Note

    The properties ya:firstName, ya:secondName and ya:middleName represent personal names, which consist of three parts: first name, middle name and last name (e. g. Russian names). The properties allow to store parts of three-part names (e. g. Russian patronymic names) separately, as opposed to foaf:name, which wraps the same information into a text string.

    Example

    <foaf:Person>
        <ya:firstNode>Ivan</ya:firstNode>
        <ya:middleName>Petrovich</ya:middleName>
        <ya:secondName>Pupkin</ya:secondName>
        ...
    </foaf:Person>

    back to top

    Property: ya:secondName

    secondName - last name (as opposed to first name and middle name)

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:secondName property relates a foaf:Person to a string that contains person's last name.

    Note

    The properties ya:firstName, ya:secondName and ya:middleName represent personal names, which consist of three parts: first name, middle name and last name (e. g. Russian names). The properties allow to store parts of three-part names (e. g. Russian patronymic names) separately, as opposed to foaf:name, which wraps the same information into a text string.

    Example

    <foaf:Person>
        <ya:firstNode>Ivan</ya:firstNode>
        <ya:middleName>Petrovich</ya:middleName>
        <ya:secondName>Pupkin</ya:secondName>
        ...
    </foaf:Person>

    back to top

    Property: ya:bio

    bio - a freeform biography

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:bio property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains a freeform personal biography.

    Example

    <foaf:Person>
        <ya:bio>
            The eldest of three brothers, von Neumann was born Neumann János Lajos (in Hungarian the family name comes first) in Budapest, Hungary, to a wealthy non-practicing Jewish family. His father was Neumann Miksa (Max Neumann), a lawyer who worked in a bank. His mother was Kann Margit (Margaret Kann). Von Neumann's ancestors had originally immigrated to Hungary from Russia.
            ...
            Note: material from Wikipedia, the free encyclopaedia (http://en.wikipedia.org/wiki/John_von_Neumann#Biography)
        </ya:bio>
        ...
    </foaf:Person>

    back to top

    Property: ya:height

    height - height of a person

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:height property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains information about person's height. Height SHOULD be specified in centimeters and MAY be expressed as a single number or as a range (lower and higher limits separated with a dash "-").

    Example

    Height specified as a number:

    <foaf:Person>
        <ya:height>175</ya:height>
        ...
    </foaf:Person>

    Height specified as a range:

    <foaf:Person>
        <ya:height>190-210</ya:height>
        ...
    </foaf:Person>

    back to top

    Property: ya:weight

    weight - weight of a person

    domain: foaf:Person

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:weight property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains information about person's weight. Height SHOULD be specified in kilogrammes and MAY be expressed as a single number or as a range (lower and higher limits separated with a dash "-").

    Example

    Weight specified as a number:

    <foaf:Person>
        <ya:weight>75</ya:weight>
        ...
    </foaf:Person>

    Weight specified as a range:

    <foaf:Person>
        <ya:weight>80-100</ya:weight>
        ...
    </foaf:Person>

    back to top

    Property: ya:school

    school - a school or other educational establishment

    domain: foaf:Person

    range: http://www.w3.org/2002/07/owl#Thing

    The ya:school property relates a foaf:Agent (usually a foaf:Person) to an anonimous class "School" (not implemented). The term "school" can be applied to any educational establishment.

    Example

    <foaf:Person>
        <ya:school rdf:resource="http://link-to-filter-by-school" ya:dateStart="2003-09" ya:dateFinish="2007-12" dc:title="St. Petersburg State University"/>
    </foaf:Person>

    back to top

    Property: ya:address

    address - an address

    domain: foaf:Agent

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:address property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains an address.

    Example

    <foaf:Person>
        <ya:address
            dc:title="80539 Munic, Maximilianstrasse 31"
            rdf:resource="http://maps.yandex.ru/?text=80539 Munic, Maximilianstrasse 31"/>
    </foaf:Person>

    back to top

    Property: ya:city

    city - a city

    domain: foaf:Agent

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:сity property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains the name of a city.

    Example

    <foaf:Person>
        <ya:city
            dc:title="Munic"
            rdf:resource="http://maps.yandex.ru/?text=Munic"/>
    </foaf:Person>

    back to top

    Property: ya:region

    region - a region

    domain: foaf:Agent

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:region property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains the name of a region.

    Example

    <foaf:Person>
        <ya:region
            dc:title="Bavaria"
            rdf:resource="http://maps.yandex.ru/?text=Bavaria"/>
    </foaf:Person>

    back to top

    Property: ya:country

    country - a country

    domain: foaf:Agent

    range: http://www.w3.org/2000/01/rdf-schema#Literal

    The ya:сountry property relates a foaf:Agent (usually a foaf:Person) to a textual string that contains the name of a country.

    Example

    <foaf:Person>
        <ya:country
            dc:title="Germany"
            rdf:resource="http://maps.yandex.ru/?text=Germany"/>
    </foaf:Person>

    back to top

    Property: ya:creationDate

    creationDate - creation date

    domain: http://www.w3.org/2002/07/owl#Thing

    range: http://www.w3.org/2001/XMLSchema#dateTime

    The ya:сreationDate property relates a thing to the date and time of its creation. The time format should be ISO8601.

    Example

    <foaf:weblog rdf:resource="http://www.valez.ru/" ya:creationDate="2002-07-17T15:07:51" dc:title="ValeZ"/>

    back to top

    Property: ya:dateStart

    dateStart - opening date

    domain: http://www.w3.org/2002/07/owl#Thing

    range: http://www.w3.org/2001/XMLSchema#dateTime

    The ya:dateStart property relates a process to its opening date and time. The time format should be ISO8601.

    Yandex.Blogs Search uses this property together with the ya:school property to specify the starting date of the learning process.

    Example

    <ya:school rdf:resource="http://link-to-filter-by-school" ya:dateStart="2003-09" ya:dateFinish="2007-12" dc:title="St. Petersburg State University"/>

    back to top

    Property: ya:dateFinish

    dateFinish - closing date

    domain: http://www.w3.org/2002/07/owl#Thing

    range: http://www.w3.org/2001/XMLSchema#dateTime

    The ya:dateFinish property relates a process to its closing date and time. The time format should be ISO8601.

    Yandex.Blogs Search uses this property together with the ya:school property to specify the closing date of the learning process.

    Example

    <ya:school rdf:resource="http://link-to-filter-by-school" ya:dateStart="2003-09" ya:dateFinish="2007-12" dc:title="St. Petersburg State University"/>

    back to top