[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