...
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 |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
language | none |
---|
title | n-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 |
---|
title | Turtle 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 |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
language | none |
---|
title | n-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 |
---|
title | Turtle 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 |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
language | none |
---|
title | n-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 |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
language | none |
---|
title | n-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 |
---|
title | Turtle using Collection ontology's List class |
---|
|
@prefix rdf: localhost:3000/individual/vci164> <http://www.w3.org/1999/02/22-rdf-syntax- | ns#>
@prefix co: org/co#ListItem>
<http://localhost:3000/individual/vci164> <http://purl.org/ | co> .
co#index> "3"^^xsd:positiveInteger
<http://localhost:3000/individual/ | vc155>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>a co:ListItem
co:index "1<http://purl.org/co#index> "4"^^xsd:positiveInteger | ; co:itemContent da-rdf.library.cornell.edulocalhost:3000/individual/ | b3652730>. |
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>
|
|
Code Block |
---|
title | Turtle using Collection ontology's List class |
---|
|
@prefix rdf: |
Expand |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
|
language | none |
---|
title | n-triples |
---|
|
<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:3000da-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:3000da-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> "1co:ListItem ;
co:index "4"^^xsd:positiveInteger ;
co:itemContent <http://
localhost:3000da-rdf.library.cornell.edu/individual/
vci162>b3652884> .
Example 2-ore: A Virtual Collection as an ordered collection of items using ORE Ontology's Aggregation with multiple ordered items
Expand |
---|
title | Expand to see n-triples... |
---|
|
Code Block |
---|
language | none |
---|
title | n-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 |
---|
|
@prefix rdf: b3652234> .
<http://localhost:3000/individual/pxy163> <http://www. | w3/1999/02/22-rdf-syntax-ns#> .
@prefix co: /ore/terms/proxyIn> <http://localhost:3000/individual/vc155> .
<http://localhost:3000/individual/pxy163> <http:// | purl/co>/assignments/relation/next> <http://localhost:3000/individual/pxy164> .
<http://localhost:3000/individual/ | vc155>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 /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> |
Code Block |
---|
title | Turtle 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 :
...