[rdfweb-dev] 2 big rdf questions hidden in answers about OSS Schema

Max Voelkel dev at xam.de
Wed Jan 7 18:14:27 UTC 2004


Hi Victor and other readers,

VL> I saw the updated schema and have updated the SchemaWeb version.
What?? That's not done automatic every 20 seconds? :-) *smile*

>> Doesn't range =
>> http://www.w3.org/2000/01/rdf-schema#Resource imply that
>> http://purl.org/net/xamde/ns/os/opensource.rdfs must be that type,
>> because no statement has been made elsewhere about the type of
>> http://purl.org/net/xamde/ns/os/opensource.rdfs?

VL> rdfs:Resource is the top level class and represents all addressable web
VL> resources (I think!) - a bit like owl:Thing from which all other classes
VL> derive. The physical schema file is a rdfs:Resource by default, don't
VL> you think.

My question was that it's redundant to state
http://purl.org/net/xamde/ns/os/opensource.rdfs a rdf:resource
because can't be anything else.

>> I think it's clever to link to the FOAF-file in order to keep
>> information in only one place.

VL> +1. FOAF is great. BTW I have linked to you in my FOAF.
:-)
VL> What about
VL> Plink. He hasn't got the character encoding right yet. I mailed him and
VL> he said that his MySQL version didn't support Unicode! Some people
VL> forget the world wide bit sometimes :-).
Ah, just found out what Plink is an does yesterday. Looks nice.

VL> Yes definitely less cool. However there are some very bright people on
VL> the list and although it is high powered don't be put off. Posts about
VL> specific syntax issues are welcome and are attended to. A good place to
VL> network too.
I am on it now.

VL> http://purl.org/net/zemmde/research/Wiki.jsp?page=RdfSchemaBestPractices
VL> Yes I had a look. It's great.
VL> Your entry below would be a good post on www-rdf-interest:
VL> It use a standard text editor and started writing N3 and converting to
VL> RDF/XML using TimBLs? cwm. Now fine-tuning the RDF/XML and generating
VL> the N3. Any better tools/approaches?
Ah, ok. I am just learning the rules of this nice little community.
Thanks a lot for your -well- guidance.

VL> I have released that software bit and am using the schema with a link
VL> from the documentation page:
VL> http://www.schemaweb.info/parser/Parser.aspx
VL> http://www.schemaweb.info/parser/VicSoft.Rdf_Meta.xml

VL> Now it's your turn to do a review :-)
Ok, here we go. This is your schmema (skipped unimportant parts):

        <os:Software rdf:about="http://www.schemaweb.info/parser/vicsoft.rdf_1.0_binaries_build_1.0.1464.zip">
                <os:title>VicSoft.Rdf Parser 1.0</os:title>
                <os:creator>
                        <foaf:Person>
                                <foaf:name>Victor Lindesay</foaf:name>
                                <foaf:mbox_sha1sum>65b52f49714a6860a42d2b63d8e0ae550633e451</foaf:mbox_sha1sum>
                                <rdfs:seeAlso dc:title="FOAF File" rdf:resource="http://www.schemaweb.info/foaf/vlindesay.xml"/>
                        </foaf:Person>
                </os:creator>
                <os:description>The VicSoft.Rdf Parser is a software component for the .Net platform for processing RDF data.</os:description>
                <os:firstVersion>2004-01-05</os:firstVersion>
                <os:latestVersion>2004-01-05</os:latestVersion>

Until here, everything is fine with my ideas.

                <os:license rdf:about="http://www.schemaweb.info/parser/license.xml"/>

Mmmh, here it should point to a URI representing the license. But as
your license is none of *the* standard licences (like GPL, LGPL, ...)
your solution is very nice. But I still don't get one basic RDF issue
right: How should any rdf reader (person or agent) know whether the
uri "http://www.schemaweb.info/parser/license.xml" is just a name for
a thing or whether you should look at that uri, do a HTTP-GET and
interpret (here: parse XML, internalize RDF) what you get? I haven'd
found that basic distinction.
                
                <os:programmingLanguage>
                        <os:Software>
                                <os:title>.Net Framework 1.0</os:title>
                        </os:Software>
                </os:programmingLanguage>

This was suprising for me. I stated no range in my schema:
    <rdf:Property rdf:about="http://purl.org/net/xamde/ns/os#programmingLanguage">
        <rdfs:comment xml:lang="en-gb">The programming language(s) this software is written in.</rdfs:comment>
        <rdfs:domain rdf:resource="http://purl.org/net/xamde/ns/os#Software"/>
        <rdfs:label xml:lang="en-gb">programming language</rdfs:label>
        <vs:term_status>testing</vs:term_status>
    </rdf:Property>
but I had a URI pointing to the programming language in mind, like
"htpp://java.sun.com", "http://msdn.microsoft.com/netframework/" or
"http://www.python.org/".

Ok, here goes my second big rdf question: Does the particular element
os:Software you publish in your document at
http://www.schemaweb.info/parser/VicSoft.Rdf_Meta.xml now has a URI?
Can I refer from another document to it, though? How?
I would like to enable machine-searchable data for software projects,
where on can state: "I am looking for tools written in python =
(http://www.python.org/)".

                <os:topic>RDF</os:topic>

Here I would suggest the Trove Map found on sf.net. You you would
probably choose: "Internet, Software Development"
Mmmh. Maybe I should add <os:trove> to the schema for that purpose?

How could any tool infer from your classification that you built a
parser? mmmh. by parsing the title or description i guess. suboptimal,
but would work.

                <rdfs:seeAlso dc:title="VicSoft.Rdf Parser Documentation" rdf:resource="http://www.schemaweb.info/parser/Parser.aspx"/>
        </os:Software>
</rdf:RDF>

Ok, that was the review, now on to the proposals.

VL> Additional terms that I would like as a schema user are
VL> Link to homepage/documentation ??
Yepp, somehow a link is definitively missing. Would it be
un-schema-like to simply use some existing vocab for that? The term
"homepage" or "link" seems to have a very abvios semantic. Maybe
seeAlso would do? I am not sure.

VL> Version
VL> Build
These two are tricky. My schema was intended to talk rather about
projects or tools then particular build versions of them. Maybe a
build ... let's think in n3:

os:Build a rdfs:Class .

os:version a rdf:Property
; rdfs:comment "any string describing the version"
; rdfs:domain os:Build
.

os:buildnumber a rdf:Property
; rdfs:comment "a number"
; rdfs:domain os:Build
.

# and now the real magic

os:software a rdf:Property
; rdfs:comment "the Software, this Build is from"
; rdfs:range os:Software
; rdfs:domain os:Build
.

# and the inverse
os:build a rdf:Property
; rdfs:comment "a build of this Software"
; rdfs:range os:Build
; rdfs:domain os:Software
.

would this do it? Is that "good practice"?

Sorry if I asked more than answered :-)

Max




More information about the foaf-dev mailing list