XML observations: Using XML to describe open source project 3

Source: Internet
Author: User
Tags resource xmlns

In the first two articles of this series, I analyzed the principles and design issues of the XML/RDF glossary that describes open source projects. DOAP (Description's a project, description) glossary should be able to meet the needs of Project Maintainers (who find themselves registering their own software on numerous web sites) and those who seek and exchange such information. The 1th part enumerates the current research and defines the boundaries of the project. The 2nd part presents the candidate terminology of glossary, and emphasizes some design problems.

This article will give a preliminary draft of the DOAP Glossary and a sample description of some projects. This article contains a number of examples that suggest practicing creating your own doap descriptions during the reading process.

Overview

I'll use RDF schema language to discuss DOAP. Although DOAP is easy to use as XML, you will see that it is fundamentally an RDF glossary. Note the two RDF schema concepts used in this article: Classes and attributes. In RDF, a class is a resource type, just as a class is a type of object in the Java programming language. Attributes are links to resources and other resources or literal values. For other developerworks articles that introduce RDF, see Resources.

Before you begin to introduce the terminology of the DOAP glossary, take a look at this simple example DOAP file, listing 1 is a minimal description of the DOAP project itself:

Listing 1. Minimum description of DOAP project

<project xmlns= "http://usefulinc.com/ns/doap#"
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf= "HTTP://XMLNS.COM/FOAF/0.1/" >
<name>DOAP</name>
<created>2004-05-04</created>
<shortdesc xml:lang= "en" >
Tools and vocabulary for describing community-based
Software projects.
</shortdesc>
<description xml:lang= "en" >
DOAP (Description of a Project) is an RDF vocabulary and
Associated set of tools for describing community-based software
Projects. It is intended to be a interchange vocabulary for
Software directory Sites, and to allow the decentralized
Expression of involvement in a project.
</description>
<maintainer>
<foaf:Person>
<foaf:name>edd dumbill</foaf:name>
<foaf:homepage rdf:resource= "Http://usefulinc.com/edd"/>
</foaf:Person>
</maintainer>
</Project>

You can see from Listing 1 some general rules for writing DOAP files:

Class with a first-letter word mark, such as Project and person. This is a general agreement to write an RDF glossary, and it seems to work very well. Properties are written in lowercase.

The outermost element of the DOAP document is <Project>. The February 2004 RDF Syntax specification (see Resources) allows you to omit <rdf:RDF> containers, which can be written with an outer node.

Friend's friend (Friend-of-a-friend, FOAF) glossary is used to describe people. I have written a few articles about this (see Resources).

The DOAP namespace is http://usefulinc.com/ns/doap#.

Standard properties Xml:lang A language that represents text properties.

The DOAP glossary currently includes three classes:

Project: Master project Resource

Version: Example of publishing software

Repository: Source code Repository

In fact, Repository has several subclasses, which are described later. Now let's analyze each class in turn.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.