# types

**URL:** <https://discourse.citationstyles.org/t/types/186>\
**Category:** CSL Development\
**Created:** [August 9, 2006, 4:27pm UTC](https://discourse.citationstyles.org/t/types/186 "2006-08-09T16:27:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [August 9, 2006, 4:27pm UTC](https://discourse.citationstyles.org/t/types/186/1 "2006-08-09T16:27:01Z")

</div>

There’s one other design issue I wanted to clear up before we "finish"  
and that is types and mappings.

Right now, CSL has types like “article” and “article-journal.” The  
first is the required generic fallback, and the hyphen indicates a  
qualifier.

In my implementation, then, I have a function that looks at the source  
data and constructs a “type” that should correspond to these  
expectations.

So if the processor gets an “article-magazine” it will first look for  
that template, and failing that, use the “article” fallback (the source  
is also categorized based on class).

This has the benefit of flexibility, but the weakness of potential  
fragility.

The other option is to tie typing explicitly to my RDF schema:

```
<http://purl.org/net/biblio#>

```

That would mean types like “Article” and “JournalArticle” and  
"EditedBook."

Any arguments for changing it now, or shall we just keep things as they  
are?

Bruce

---

<div class="post-metadata">

**Author:** ![Johan\_Kool2](https://avatars.discourse-cdn.com/v4/letter/j/cab0a1/32.png) [@Johan\_Kool2](https://discourse.citationstyles.org/u/Johan_Kool2)\
**Post date:** [August 9, 2006, 4:59pm UTC](https://discourse.citationstyles.org/t/types/186/2 "2006-08-09T16:59:24Z")

</div>

I prefer the current “article-journal” approach.

Johan

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [August 14, 2007, 11:21pm UTC](https://discourse.citationstyles.org/t/types/186/3 "2007-08-14T23:21:00Z")

</div>

Been having some discussion of all the problems with types in formatting  
and such over on the xbib dev list. I think the upshot of all of this  
discussion is I want to say we need this for the bibo ontology:

1. the core classes
2. normalized URIs encoded using dcterms:type. Perhaps these can somehow  
be maintained on the bibo wiki. A resource may have one or more of these.
3. a bibo:note property for literal descriptions of a source (e.g. where  
a URI does not exist and not convenient to create).

So an example might be:

[http://www.aclu.org/freespeech/protest/11238prs20050502.html](http://www.aclu.org/freespeech/protest/11238prs20050502.html)  
a bibo:Document ;  
dcterms:title “ACLU Applauds New D.C. Law Protecting Protest  
Rights”@en ;  
dcterms:issued “2005-05-02”^^xsd:date ;  
dcterms:type [http://purl.org/ontology/types#press\_release](http://purl.org/ontology/types#press_release) .

… or simply:

[http://www.aclu.org/freespeech/protest/11238prs20050502.html](http://www.aclu.org/freespeech/protest/11238prs20050502.html)  
a bibo:Document ;  
dcterms:title “ACLU Applauds New D.C. Law Protecting Protest  
Rights”@en ;  
dcterms:issued “2005-05-02”^^xsd:date ;  
bibo:note “press release”@en .

… or:

[http://ex.net/1](http://ex.net/1)  
a bibo:Document ;  
dcterms:title “ideas on relativity”@en ;  
dcterms:issued “1921-09-23”^^xsd:date ;  
bibo:note “lab notes”@en .

An editing application can then use the URI to configure a form, or a  
citation processor can use it to map to formatting templates (often a  
note would be printed in the bibliography).

I don’t really see any way around needing these.

Bruce

---

<div class="post-metadata">

**Author:** ![Frederick\_Giasson](https://avatars.discourse-cdn.com/v4/letter/f/8c91f0/32.png) [@Frederick\_Giasson](https://discourse.citationstyles.org/u/Frederick_Giasson)\
**Post date:** [August 14, 2007, 11:59pm UTC](https://discourse.citationstyles.org/t/types/186/4 "2007-08-14T23:59:04Z")

</div>

Hi Bruce,

> Been having some discussion of all the problems with types in formatting  
> and such over on the xbib dev list. I think the upshot of all of this  
> discussion is I want to say we need this for the bibo ontology:
> 
> 1. the core classes
> 2. normalized URIs encoded using dcterms:type. Perhaps these can somehow  
> be maintained on the bibo wiki. A resource may have one or more of these.

I never been against these types. Ivan said that it was more intuitive  
to use rdf:type instead of dcterms:type, and I always agree with that.

So, there is what I suggest so that you get what you want so that Ivan  
remain happy 🙂

What I suggest is to create a bibo\_types namespace, as you suggest  
above. However, instead of defining individuals as we already thought  
about, we would simply create new subclasses of the bibo (core) ontology.

This new bibo\_types namespace will be in fact an extension module of the  
ontology where more specialized classes will be defined.

What do you think?

> 1. a bibo:note property for literal descriptions of a source (e.g. where  
> a URI does not exist and not convenient to create).

Okay, I could accept that, however how would you describe that property?

Salutations,

Fred

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [August 15, 2007, 12:08am UTC](https://discourse.citationstyles.org/t/types/186/5 "2007-08-15T00:08:10Z")

</div>

Frederick Giasson wrote:

> Hi Bruce,
> 
> > Been having some discussion of all the problems with types in formatting  
> > and such over on the xbib dev list. I think the upshot of all of this  
> > discussion is I want to say we need this for the bibo ontology:
> > 
> > 1. the core classes
> > 2. normalized URIs encoded using dcterms:type. Perhaps these can somehow  
> > be maintained on the bibo wiki. A resource may have one or more of these.
> 
> I never been against these types. Ivan said that it was more intuitive  
> to use rdf:type instead of dcterms:type, and I always agree with that.
> 
> So, there is what I suggest so that you get what you want so that Ivan  
> remain happy 🙂

Well, I think Ivan needs to first understand what kind of variety of  
resources we’re dealing with; the use cases.

The Zotero developers are getting a lot of requests for users to be able  
to store custom styles. This is for the scientist that wants to store  
lab notes, the medievalist who wants to store “medieval chants”, the  
historians who wants to store “postcards”, etc.

They’re actually planning to allow these custom types to be defined, and  
for them to be shared.

I could easily see an explosion of such types, in totally unpredictable  
ways that are fairly orthogonal to our more careful modeling. So …

> What I suggest is to create a bibo\_types namespace, as you suggest  
> above. However, instead of defining individuals as we already thought  
> about, we would simply create new subclasses of the bibo (core) ontology.

… while I definitely think we need to provide room for extending the  
core classes, I a) think that won’t be enough, and b) we might as well  
do it in the main namespace.

> This new bibo\_types namespace will be in fact an extension module of the  
> ontology where more specialized classes will be defined.
> 
> What do you think?
> 
> > 1. a bibo:note property for literal descriptions of a source (e.g. where  
> > a URI does not exist and not convenient to create).
> 
> Okay, I could accept that, however how would you describe that property?

I think if we use note, we just borrow the definition from BibTeX.

“Any additional information that can help the reader.”

Or something like that.

Bruce

Bruce

---

<div class="post-metadata">

**Author:** ![Frederick\_Giasson](https://avatars.discourse-cdn.com/v4/letter/f/8c91f0/32.png) [@Frederick\_Giasson](https://discourse.citationstyles.org/u/Frederick_Giasson)\
**Post date:** [August 15, 2007, 1:17am UTC](https://discourse.citationstyles.org/t/types/186/6 "2007-08-15T01:17:23Z")

</div>

Hi Bruce,

> Well, I think Ivan needs to first understand what kind of variety of  
> resources we’re dealing with; the use cases.
> 
> The Zotero developers are getting a lot of requests for users to be able  
> to store custom styles. This is for the scientist that wants to store  
> lab notes, the medievalist who wants to store “medieval chants”, the  
> historians who wants to store “postcards”, etc.
> 
> They’re actually planning to allow these custom types to be defined, and  
> for them to be shared.
> 
> I could easily see an explosion of such types, in totally unpredictable  
> ways that are fairly orthogonal to our more careful modeling. So …

I don’t have to say that its certainly not a good idea for the long term  
considering what it means.

However, it won’t be the goal of bibo:note?

> > What I suggest is to create a bibo\_types namespace, as you suggest  
> > above. However, instead of defining individuals as we already thought  
> > about, we would simply create new subclasses of the bibo (core) ontology.
> 
> … while I definitely think we need to provide room for extending the  
> core classes, I a) think that won’t be enough, and b) we might as well  
> do it in the main namespace.

Yes we should certainly do it, however does it worth to clutter the main  
ontology with them? We finally agreed on a good and well deifned base of  
Classes from which we can extend to more specialized classes. We should  
try to make the main ontology as easy to understand as possible. And its  
why I would put these specialization in another namespace  
([http://purl.org/ontology/bibo/types/](http://purl.org/ontology/bibo/types/))

> > This new bibo\_types namespace will be in fact an extension module of the  
> > ontology where more specialized classes will be defined.
> > 
> > What do you think?
> > 
> > > 1. a bibo:note property for literal descriptions of a source (e.g. where  
> > > a URI does not exist and not convenient to create).
> > 
> > Okay, I could accept that, however how would you describe that property?
> 
> I think if we use note, we just borrow the definition from BibTeX.
> 
> “Any additional information that can help the reader.”
> 
> Or something like that.

Well, its loose enough to put anything 🙂

I probably don’t have to say that I don’t like these properties that  
open the backdore for anything: kind of “generic” and “misc” properties  
that say nothing.

However, in some case, in closed system where a nomenclature is used to  
support that property, this could be useful.

At least, I would replace “reader” by “consumer” since it can be used by  
any systems/agents (not only humans).

Salutations,

Fred

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [August 15, 2007, 8:33am UTC](https://discourse.citationstyles.org/t/types/186/7 "2007-08-15T08:33:44Z")

</div>

Frederick Giasson wrote:

> Hi Bruce,
> 
> > Well, I think Ivan needs to first understand what kind of variety of  
> > resources we’re dealing with; the use cases.
> > 
> > The Zotero developers are getting a lot of requests for users to be able  
> > to store custom styles. This is for the scientist that wants to store  
> > lab notes, the medievalist who wants to store “medieval chants”, the  
> > historians who wants to store “postcards”, etc.
> > 
> > They’re actually planning to allow these custom types to be defined, and  
> > for them to be shared.
> > 
> > I could easily see an explosion of such types, in totally unpredictable  
> > ways that are fairly orthogonal to our more careful modeling. So …
> 
> I don’t have to say that its certainly not a good idea for the long term  
> considering what it means.

I know, I know. [shrug]

> However, it won’t be the goal of bibo:note?

No. This is more for machines; note (or whatever) for humans.

> > > What I suggest is to create a bibo\_types namespace, as you suggest  
> > > above. However, instead of defining individuals as we already thought  
> > > about, we would simply create new subclasses of the bibo (core) ontology.
> > 
> > … while I definitely think we need to provide room for extending the  
> > core classes, I a) think that won’t be enough, and b) we might as well  
> > do it in the main namespace.
> 
> Yes we should certainly do it, however does it worth to clutter the main  
> ontology with them? We finally agreed on a good and well deifned base of  
> Classes from which we can extend to more specialized classes. We should  
> try to make the main ontology as easy to understand as possible. And its  
> why I would put these specialization in another namespace  
> ([http://purl.org/ontology/bibo/types/](http://purl.org/ontology/bibo/types/))

That’s fine; I have no strong opinion.

> > > This new bibo\_types namespace will be in fact an extension module of the  
> > > ontology where more specialized classes will be defined.
> > > 
> > > What do you think?
> > > 
> > > > 1. a bibo:note property for literal descriptions of a source (e.g. where  
> > > > a URI does not exist and not convenient to create).
> > > 
> > > Okay, I could accept that, however how would you describe that property?
> > 
> > I think if we use note, we just borrow the definition from BibTeX.
> > 
> > “Any additional information that can help the reader.”
> > 
> > Or something like that.
> 
> Well, its loose enough to put anything 🙂
> 
> I probably don’t have to say that I don’t like these properties that  
> open the backdore for anything: kind of “generic” and “misc” properties  
> that say nothing.
> 
> However, in some case, in closed system where a nomenclature is used to  
> support that property, this could be useful.
> 
> At least, I would replace “reader” by “consumer” since it can be used by  
> any systems/agents (not only humans).

I agree it’s loose, but its purpose is human consumption; not machine.  
The type URIs are for the machines.

Bruce
