W3C home > Mailing lists > Public > www-rdf-interest@w3.org > April 2003

RE: Need help developing Camera model

From: Leo Sauermann <leo@ist.org>
Date: Mon, 14 Apr 2003 13:38:16 +0200
To: "'Roger L. Costello'" <costello@mitre.org>, <www-rdf-interest@w3.org>
Message-ID: <000901c3027a$57022590$e4446e50@ZION>

1st a Question 2 u:
Have you searched all Camera manufacturers if they already have a model
to describe what you need ?
Perhaps some manufacturer already has released something like a EdiFact
or EdiXML syntax, or a file format for camera catalogues. Perhaps
someone provides a Web-Based service to configure cameras, look at their
web sources....
IF there is something, try to take their property & resource names.
Perhaps you find the "compatible" relation, too.

Then some hints for your model:

> 1. SLR is a subclass of Camera.
> 2. Large-Format is a subclass of Camera.
> 3. Digital is a subclass of Camera.
Good approach, I think that the three are exclusive, so a single camera
can't be both, so using class is fine

> 8. Camera, SLR, Large-Format, and Digital all have the properties
>    shutter-speed, f-stop, and focal-length. 
Thats exactly what you do with classes and subclasses.

Make a class "Body", define the three properties "shutterSpeed" "fStop"
"focalLength" to domain "Body".
Then make classes (independent from Body) that resemble LargeFormat, SLR
and Digital.
Then make a class "Lens".
Then make a class "CompactCamera"

I define a "CompactCamera" as including lens & body in one piece.
A CompactCamera  could be digital :-|
A Hasselblad 500V (and well-a famous camera, isn't it?) is large format
and a "compactcamera"  - is this right ???
So subclassing Digital or large format to camera body could cause
problems here.

split up everything in fields - spare us the parsing work pleassseeee
split up the values to min and max, and note them in decimal value, not
as a division. Also, I would define the precision of the values as
"seconds" and note that in the schema file as comment.
 (<shutter-speed>1/2000 sec. to 10 sec.</shutter-speed>) -->
shutterSpeedMin = 0.0005;
shutterSpeedMax = 10;

I would split the currency info from the currency value. You can't make
automatic price comparing calcultations when both are mangled in a
I don't know of a better way how to represent money, but there is surely
an existing schema that does handle this.

Make a Namespace ?
Would be fine if you make a suggestion for your namespace,
F.e. mitre.org/costello/Cameras#

To my knowledge every company has it's own system of bajonett shutters
to connect cameras to bodies. For digital cameras there is another
system, too. Some are compatible.
I would create a class "cam:ConnectionSystem" and create some resources
for each connection standard.
<http://hasselblad.com/connectionXPAN/1.0/> rdf:type
... Hasselblad has a Xpan Lens & Body system

Then assign the cameras and lenses as beeing compatible with the

	rdf:type cam:Lens;
	rdf:usesSystem <http://hasselblad.com/connectionXPAN/1.0/>;
	rdf:type cam:Body;
	rdf:usesSystem <http://hasselblad.com/connectionXPAN/1.0/>;
	rdf:shutterSpeedMin "0.0001";
	rdf:shutterSpeedMax "8";

This notation is wounderful for making searches like "find me a body &
lens of a common compatible System that have this and that feature and
don't cost much".

Example of all Ideas in N3

@prefix cam:  <http://mitre.org/costello/Cameras#> .

	rdf:type cam:CompactCamera, cam:Lens, cam:Body, cam:LargeFormat;
	cam:shutterSpeedMin "0.0005";
	cam:shutterSpeedMax "10"

	rdf:type cam:Body;
	cam:shutterSpeedMin "0.0005";
	cam:shutterSpeedMax "10";
	[cam:price "10"; cam:currency "USD";]

Hasselblad examples taken from

Interesting topic

Leo Sauermann

> 9. Consider this:
>     <Body rdf:about="http://www.olympus.com#Olympus-OM-10-body">
>          <shutter-speed>1/2000 sec. to 10 sec.</shutter-speed>
>          <cost>$345 USD</cost>
>     </Body>
> I want to be able to infer that this is data about a Camera 
> Body.  That
> is, if my Web Bot is searching for Camera info, it should be able to
> infer that this is in fact Camera info.
> 10. Consider this:
>     <Lens rdf:about="http://www.olympus.com#EX38">
>          <compatibleWith
>             rdf:resource="http://www.olympus.com#Olympus-OM-10-body
>          <focal-length>75-300mm zoom</focal-length>
>          <f-stop>4.0-4.5</f-stop>
>          <cost>$295 USD</cost>
>     </Lens>
> I want to be able to infer that this is data about a Camera 
> Lens.  That
> is, if my Web Bot is searching for Camera info, it should be able to
> infer that this is in fact Camera info.
> Those are the things that I want to model.  The relationship between
> Body and Camera, and Lens and Camera are especially fuzzy in my mind. 
> Can you help flesh out this model?  /Roger
Received on Monday, 14 April 2003 07:37:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:58 GMT