Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Two ontologies have been identified as potential candidates for representing a list of items. The pros and cons are listed below for each ontology,  followed by examples using each ontology.

 co.List Collections ontology ore.Aggregation ORE ontology
unordered and ordered collections are represented by two separate class constructs, Bag and List respectively+ unordered unordered and ordered collections are represented by the same class construct, Aggregation
+item property names are easy to understand (e.g., index, itemContent, nextItem) item item property names are cryptic (e.g., proxyFor, proxyIn, next)
 order order is determined by an item property pointing to the next item, i.e.,  nextItem order order is determined by an item property pointing to the next item, i.e., next

Example 1:  A Virtual Collection as a Collection Ontology's List with one Item

URI for the item is not associated with the collection class (e.g., List, Bag).+URI for the item is associated with the collection class (i.e., Aggregation) via of the aggregates property.
+URI for the item is associated with the item class (i.e., Item) via the itemContent property.+URI for the item is associated with the item class (i.e., Proxy) via the proxyFor property.

 


Example 1-co:  A Virtual Collection as an ordered collection of items using Collection Ontology's List with one item

 

Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples
<http://localhost:3000/individual/vc155> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#List>
<http://localhost:3000/individual/vc155> <http://purl.org/co#size> "1"^^xsd:nonNegativeInteger
<http://localhost:3000/individual/vc155> <http://purl.org/co#firstItem> <http://localhost:3000/individual/vci162>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci162>
<http://localhost:3000/individual/vc155> <http://purl.org/co#lastItem> <http://localhost:3000/individual/vci162>

<http://localhost:3000/individual/vci162> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#ListItem>
<http://localhost:3000/individual/vci162> <http://purl.org/co#index> "1"^^xsd:positiveInteger
<http://localhost:3000/individual/vci162> <http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652730>

 

 

 

Code Block
titleTurtle using Collection ontology's List class
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix co:      <http://purl.org/co> .
 
<http://localhost:3000/individual/vc155> a co:List ;
  co:size       "1"^^xsd:nonNegativeInteger ;
  co:firstItem  <http://localhost:3000/individual/vci162> ;
  co:item       <http://localhost:3000/individual/vci162> ;
  co:lastItem   <http://localhost:3000/individual/vci162> .
 
<http://localhost:3000/individual/vci162> a co:ListItem
  co:index        "1"^^xsd:positiveInteger ;
  co:itemContent  <http://da-rdf.library.cornell.edu/individual/b3652730> .

 

 


Example 1-ore:  A Virtual Collection as an ordered collection of items using ORE Ontology's Aggregation with one item
Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples
<http://localhost:3000/individual/vc155> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/Aggregation>
<http://localhost:3000/individual/vc155> <http://www.openarchives.org/ore/terms/aggregates> <http://da-rdf.library.cornell.edu/individual/b3652730>
Code Block
titleTurtle using ORE ontology's Aggregation class
@prefix ore:     <http://www.openarchives.org/ore/terms/> .
  
<http://localhost:3000/individual/vc155> a ore:Aggregation ;
  ore:aggregates <http://da-rdf.library.cornell.edu/individual/b3652730> .

 

Example 2-co: A Virtual Collection as an ordered collection of items using Collection Ontology's List with multiple ordered items
Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples
<http://localhost:3000/individual/vc155> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#List>
<http://localhost:3000/individual/vc155> <http://purl.org/co#size> "4"^^xsd:nonNegativeInteger
<http://localhost:3000/individual/vc155> <http://purl.org/co#firstItem> <http://localhost:3000/individual/vci162>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci162>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci163>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci164>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci165>
<http://localhost:3000/individual/vc155> <http://purl.org/co#lastItem> <http://localhost:3000/individual/vci165>

Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples
<http://localhost:3000/individual/vc155>vci162> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#List>co#ListItem>
<http://localhost:3000/individual/vc155>vci162> <http://purl.org/co#size>co#index> "1"^^xsd:nonNegativeIntegerpositiveInteger
<http://localhost:3000/individual/vc155>vci162> <http://purl.org/co#firstItem>co#itemContent> <http://localhost:3000da-rdf.library.cornell.edu/individual/vci162>b3652730>
<http://localhost:3000/individual/vc155> <http://purl.org/co#item> <http://localhost:3000/individual/vci162>
<http://localhost:3000/individual/vc155> <http://purl.org/co#lastItem>co#nextItem> <http://localhost:3000/individual/vci162>vci163>

<http://localhost:3000/individual/vci162>vci163> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#ListItem>
<http://localhost:3000/individual/vci163> <http://purl.org/co#ListItem>/co#index> "2"^^xsd:positiveInteger
<http://localhost:3000/individual/vci163> <http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652234>
<http://localhost:3000/individual/vci162>vci163> <http://purl.org/co#index> "1"^^xsd:positiveInteger
co#nextItem> <http://localhost:3000/individual/vci162> vci164>

<http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652730>
Code Block
titleTurtle using Collection ontology's List class
@prefix rdf:
localhost:3000/individual/vci164> <http://www.w3.org/1999/02/22-rdf-syntax-
ns#>
ns#type> <http://purl.
@prefix co:
org/co#ListItem>
<http://localhost:3000/individual/vci164> <http://purl.org/
co> .
co#index> "3"^^xsd:positiveInteger
<http://localhost:3000/individual/
vc155>
vci164> 
a co:List ; co:size "1"^^xsd:nonNegativeInteger ; co:firstItem
<http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652543>
<http://localhost:3000/individual/
vci162> ; co:item
vci164> <http://purl.org/co#nextItem> <http://localhost:3000/individual/
vci162> ; co:lastItem
vci165>

<http://localhost:3000/individual/
vci162> .  
vci165> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#ListItem>
<http://localhost:3000/individual/
vci162>
vci165> 
a co:ListItem co:index "1
<http://purl.org/co#index> "4"^^xsd:positiveInteger
;

co:itemContent
<http://
da-rdf.library.cornell.edu
localhost:3000/individual/
b3652730>
vci165> 
.

 

Example 2: A Virtual Collection as a List with multiple ordered Items
<http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652884>

<http://localhost:3000/individual/vc155>
 <http://www.w3.org/1999/02/22
-rdf-syntax-ns#type>
-rdf-syntax-ns#> .
@prefix co:      <http://purl.org/
co#List>
co> .

<http://localhost:3000/individual/vc155> a co:List ;
  co:size       "4"^^xsd:nonNegativeInteger ;
  co:firstItem  <http://
purl.org/co#size> "4"^^xsd:nonNegativeInteger
localhost:3000/individual/vci162> ;
  co:item       <http://localhost:3000/individual/
vc155>
vci162> ;
  co:item       <http:/
/purl.org/co#firstItem>
/localhost:3000/individual/vci163> ;
  co:item       <http://localhost:3000/individual/
vci162>
vci164> ;
  co:item       <http://localhost:3000/individual/
vc155> <http://purl.org/co#item>
vci165> ;
  co:lastItem   <http://localhost:3000/individual/
vci162>
vci165> .
 
<http://localhost:3000/individual/
vc155>
vci162> a co:ListItem ;
  co:index        "1"^^xsd:positiveInteger ;
  co:itemContent  <http://
purl.org/co#item>
da-rdf.library.cornell.edu/individual/b3652730> ;
  co:nextItem     <http://localhost:3000/individual/vci163> .

<http://localhost:3000/individual/
vc155> <http://purl.org/co#item>
vci163> a co:ListItem ;
  co:index        "2"^^xsd:positiveInteger ;
  co:itemContent  <http://
localhost:3000
da-rdf.library.cornell.edu/individual/
vci164>
b3652234> ;
  co:nextItem     <http://localhost:3000/individual/
vc155>
vci164> 
<http://purl.org/co#item>
.

<http://localhost:3000/individual/
vci165>
vci164> a co:ListItem ;
  co:index        "3"^^xsd:positiveInteger ;
  co:itemContent  <http://
localhost:3000
da-rdf.library.cornell.edu/individual/
vc155> <http://purl.org/co#lastItem>
b3652543> ;
  co:nextItem     <http://localhost:3000/individual/vci165> .

<http://localhost:3000/individual/
vci162>
vci165> a 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/co#ListItem> <http://localhost:3000/individual/vci162> <http://purl.org/co#index> "1
co:ListItem ;
  co:index        "4"^^xsd:positiveInteger ;
  co:itemContent  <http://
localhost:3000
da-rdf.library.cornell.edu/individual/
vci162>
b3652884> .
Code Block
titleTurtle using Collection ontology's List class
@prefix rdf:    
Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples

 


 

Example 2-ore:  A Virtual Collection as an ordered collection of items using ORE Ontology's Aggregation with multiple ordered items

 

Expand
titleExpand to see n-triples...
Code Block
languagenone
titlen-triples
<http://purl.org/co#itemContent> <http://da-rdf.library.cornell.edu/individual/b3652730>
<http://localhost:3000/individual/vci162>vc155> <http://purl.org/co#nextItem> <http://localhost:3000/individual/vci163>

<http://localhost:3000/individual/vci163> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/purlAggregation> .org/co#ListItem>
<http://localhost:3000/individual/vci163>vc155> <http://purlwww.openarchives.org/co#index> "2"^^xsd:positiveIntegerore/terms/aggregates> <http://da-rdf.library.cornell.edu/individual/b3652730> .
<http://localhost:3000/individual/vci163>vc155> <http://purlwww.openarchives.org/co#itemContent>ore/terms/aggregates> <http://da-rdf.library.cornell.edu/individual/b3652234> .
<http://localhost:3000/individual/vci163>vc155> <http://purlwww.openarchives.org/ore/terms/co#nextItem>aggregates> <http://localhost:3000da-rdf.library.cornell.edu/individual/vci164>b3652543> .

<http://localhost:3000/individual/vci164>pxy162> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purlwww.openarchives.org/co#ListItem>/ore/terms/Proxy> .
<http://localhost:3000/individual/vci164>pxy162> <http://purlwww.openarchives.org/co#index> "3"^^xsd:positiveIntegerore/terms/proxyFor> <http://da-rdf.library.cornell.edu/individual/b3652730> .
<http://localhost:3000/individual/vci164>pxy162> <http://purlwww.openarchives.org/ore/terms/co#itemContent>proxyIn> <http://da-rdf.library.cornell.edu/localhost:3000/individual/b3652543>vc155> .
<http://localhost:3000/individual/vci164>pxy162> <http://purlwww.iana.org/assignments/co#nextItem>relation/next> <http://localhost:3000/individual/vci165>pxy163> .

<http://localhost:3000/individual/vci165>pxy163> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purlwww.openarchives.org/co#ListItem>/ore/terms/Proxy> .
<http://localhost:3000/individual/vci165>pxy163> <http://purlwww.openarchives.org/co#index> "4"^^xsd:positiveInteger
<http://localhost:3000/individual/vci165> <http://purl.org/co#itemContent>ore/terms/proxyFor> <http://da-rdf.library.cornell.edu/individual/b3652884>

Code Block
languagenone
titleTurtle
@prefix rdf:
b3652234> .
<http://localhost:3000/individual/pxy163> <http://www.
w3
openarchives.org
/1999/02/22-rdf-syntax-ns#> . @prefix co:
/ore/terms/proxyIn> <http://localhost:3000/individual/vc155> .
<http://localhost:3000/individual/pxy163> <http://
purl
www.iana.org
/co>
/assignments/relation/next> <http://localhost:3000/individual/pxy164> .

<http://localhost:3000/individual/
vc155>
pxy164> 
a co:List ; co:size "4"^^xsd:nonNegativeInteger ; co:firstItem
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/Proxy> .
<http://localhost:3000/individual/
vci162> ; co:item
pxy164> <http:/
/localhost:3000/individual/vci162> ; co:item
/www.openarchives.org/ore/terms/proxyFor> <http://da-rdf.library.cornell.edu/individual/b3652543> .
<http://localhost:3000/individual/
vci163> ; co:item
pxy164> <http://www.openarchives.org/ore/terms/proxyIn> <http://localhost:3000/individual/
vci164>
vc155> .

 

 

 

Code Block
titleTurtle using ORE ontology's Aggregation class
@prefix ore:;
  co:item       <http://localhost:3000/individual/vci165> ;
  co:lastItem<http://www.openarchives.org/ore/terms/> .
@prefix iana:    <http:///localhost:3000/individual/vci165>www.iana.org/assignments/relation/> .
 
<http://localhost:3000/individual/vci162>vc155> a coore:ListItemAggregation ;
  coore:index        "1"^^xsd:positiveIntegeraggregates <http://da-rdf.library.cornell.edu/individual/b3652730> ;
  coore:itemContent aggregates <http://da-rdf.library.cornell.edu/individual/b3652730>b3652234> ;
  coore:nextItemaggregates     <http://localhost:3000da-rdf.library.cornell.edu/individual/vci163>b3652543> .
 
<http://localhost:3000/individual/vci163>pxy162> a coore:ListItemProxy ;
  coore:index        "2"^^xsd:positiveIntegerproxyFor <http://da-rdf.library.cornell.edu/individual/b3652730> ;
  coore:itemContentproxyIn  <http://da-rdf.library.cornell.edu/localhost:3000/individual/b3652234>vc155> ;
  coiana:nextItemnext     <http://localhost:3000/individual/vci164>pxy163> .
 
<http://localhost:3000/individual/vci164>pxy163> a coore:ListItemProxy ;
  coore:index        "3"^^xsd:positiveInteger ;
  co:itemContent  proxyFor <http://da-rdf.library.cornell.edu/individual/b3652543>b3652234> ;
  ore:proxyIn <http://localhost:3000/individual/vc155> ;
  coiana:nextItem next    <http://localhost:3000/individual/vci165>pxy164> .
 
<http://localhost:3000/individual/vci165>pxy164> a coore:ListItemProxy ;
  co:index        "4"^^xsd:positiveInteger ;
  co:itemContent  ore:proxyFor <http://da-rdf.library.cornell.edu/individual/b3652884>b3652543> ;
  ore:proxyIn <http://localhost:3000/individual/vc155> .


 

 

 


QUESTIONS:

  • Should Virtual Collection's type be a subclass of co:List instead of a co:List?
    • If so, what is the type?  Consensus:   Subclass of co:List  Ontology to be defined by ontology group.
    • Is it LD4L specific?  Consensus:  YES to be defined by ontology group.
    • How is LD4L defining new types?  Naming convention, namespace, etc.?  Final definitions by ontology group.
      • For now, use namespace=LD4L in Ruby with link <http://ld4l.org/ontology/...  – to be defined by ontology group
      • Class name=ld4l:VirtualCollection
      • type URI=<http://ld4l.org/ontology/VirtualCollection>
      • instance URI=<http://localhost:3000/individual/vc123> –
        • what ever I want for now
        • suggest use of individual in URI meaning an instance of a class (used by VIVO too)
        • id starts with alpha because syntax something:vc123 – cannot have number directly after :

...