Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions data/vocab/bflc.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix lite: <http://bibfra.me/vocab/lite/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix schema: <http://schema.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix bf: <http://id.loc.gov/ontologies/bibframe/> .
@prefix bflc: <http://bibfra.me/vocab/bflc/> .
@prefix lc: <http://id.loc.gov/ontologies/bflc/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix oa: <http://www.w3.org/ns/oa#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix library: <http://bibfra.me/vocab/library/> .

# BIBFRAME Linked Data Extension aka BUILDE Relation 📖🔍

# This RDF vocabulary encompasses a wide range of classes and properties suitable for describing various
# types of bibliographic resources, scholarly works, and related entities. BUILDE includes a basic set of
# core classes and properties known as the 'bflc' layer described here, as well as several extensions:

# archive: things found in archives
# rare books: things found in rare book libraries
# scholar: things found in scholarly research and publishing
# library: things found in libraries

# This vocabulary is ideal for librarians, information scientists, data curators, and developers working
# in academic and research settings. It can be employed in creating digital libraries, scholarly databases,
# cataloging systems, and other applications requiring structured bibliographic information.

# Key Features:
# - Compatibility with existing ontologies including Schema.org, SKOS, FOAF, and Dublin Core for enhanced interoperability.
# - Extension of BIBFRAME from the Library of Congress
# - Comprehensive coverage of bibliographic and scholarly domains.
# - Clear, self-explanatory labels and definitions for each class and property.
# - Hierarchical organization of classes using rdfs:subClassOf for structured representation.

# We encourage users to provide feedback and suggestions to continually improve and update this vocabulary.
# For versioning, updates, and more detailed documentation, please visit [https://bibfra.me/?].

# ------------------------------
# Created by: EBSCO Information Systems
# Version: 1.0
# Created: August 15, 2024
# Updated: August 15, 2024
# ------------------------------

# BUILDE BFLC Properties

bflc:projectedProvisionDate a rdf:Property ;
rdfs:label "projected provision date"@en ;
rdfs:comment "Projected date of publication of the resource."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Instance ;
owl:equivalentProperty lc:projectedProvisionDate .

bflc:nonSortNum a rdf:Property ;
rdfs:label "non sort number"@en ;
rdfs:comment "Number of initial label characters to skip for indexing and sorting."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain library:Title ;
owl:equivalentProperty lc:nonSortNum .
195 changes: 194 additions & 1 deletion data/vocab/library.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,72 @@ library:Map a rdfs:Class ;
rdfs:comment "Work that has map characteristics."@en ;
rdfs:subClassOf lite:Work .

library:Title a rdfs:Class ;
rdfs:label "Title"@en ;
rdfs:comment "Title of a resource."@en ;
rdfs:subClassOf lite:Resource ;
owl:equivalentClass bf:Title .

library:VariantTitle a rdfs:Class ;
rdfs:label "Variant Title"@en ;
rdfs:comment "Varying form of title."@en ;
rdfs:subClassOf library:Title ;
owl:equivalentClass bf:VariantTitle .

library:ParallelTitle a rdfs:Class ;
rdfs:label "Parallel Title"@en ;
rdfs:comment "Title in another language and/or script."@en ;
rdfs:subClassOf library:Title ;
owl:sameAs bf:ParallelTitle .

library:Status a rdfs:Class ;
rdfs:label "Status"@en ;
rdfs:comment "Designation of the validity or position of something, e.g., whether something is incorrect or available."@en ;
owl:equivalentClass bf:Status .

# Library Properties

library:assigningSource a rdf:Property ;
rdfs:label "assigning source"@en ;
rdfs:comment "Entity assigning metadata, such as a classification number, name, or identifier."@en ;
rdfs:range lite:Resource ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:assigner .

library:code a rdf:Property ;
rdfs:label "code"@en ;
rdfs:comment "Code representing an information."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:code .

library:status a rdf:Property ;
rdfs:label "code"@en ;
rdfs:comment "Refers to the validity or standing of something, such as indicating if a classification number or identifier is canceled or invalid."@en ;
rdfs:range library:Status ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:status .

library:qualifier a rdf:Property ;
rdfs:label "qualifier"@en ;
rdfs:comment "Qualifier of information, such as an addition to a title to make it unique or qualifying information associated with an identifier."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:qualifier .

library:media a rdf:Property ;
rdfs:label "media"@en ;
rdfs:comment "Categorization reflecting the general type of intermediation device required to view, play, run, etc., the content of a resource."@en ;
rdfs:range lite:Category ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:media .

library:source a rdf:Property ;
rdfs:label "source"@en ;
rdfs:comment "The resource from which a value or label is obtained or derived, such as the formal source or scheme for a classification number, the list from which an agent's name is selected, or the system within which an identifier is unique."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Resource ;
owl:equivalentProperty bf:source .

# Library Work Properties

Expand Down Expand Up @@ -201,4 +267,131 @@ library:projection a rdf:Property ;
rdfs:label "projection" ;
rdfs:comment "Indicates the projection used in producing the Work." ;
rdfs:domain bf:Work ;
rdfs:range rdfs:Literal .
rdfs:range rdfs:Literal .

library:place a rdf:Property ;
Copy link
Collaborator Author

@pkjacob pkjacob Nov 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @gmreburn @gloriagonz

We have two redundant 'place' properties in builde that store place as a literal text.

http://bibfra.me/vocab/lite/place -> Used in ProviderEvent resource.
http://bibfra.me/vocab/marc/place -> Used in Concept, Meeting, Jurisdiction, Organization resources.

See these examples:
https://viewer.internal.live.library.link/graph/cairn/resource/4AUq8wyT5W8 (uses lite:place property)
https://viewer.internal.live.library.link/graph/cairn/resource/Fh_0PnNViIM (uses library:place property)

In Bibframe (LC's) vocabulary, there is a property http://id.loc.gov/ontologies/bflc/simplePlace that holds place as a literal. However, there is no 'simplePlace' in builde.

In order to clean this up, how about doing one of the following two options:

Option 1:

  1. Deprecate one of http://bibfra.me/vocab/lite/place or http://bibfra.me/vocab/marc/place.
  2. Use the retained one as a property that can point to either a Place resource or a Literal.

Option 2:

  1. Deprecate one of http://bibfra.me/vocab/lite/place or http://bibfra.me/vocab/marc/place.
  2. Use the retained one as a property that points to a ⁠Place resource (instead of holding the literal place text)
  3. Create a new property http://bibfra.me/vocab/bflc/simplePlace equivalent to Bibframe's ⁠simplePlace

What do you think? If needed, I can schedule a short call to discuss this.

rdfs:label "place"@en ;
rdfs:comment "Place associated with a resource"@en ;
rdfs:domain lite:Resource ;
rdfs:range rdfs:Literal .

# Instance Properties

library:statementOfResponsibility a rdf:Property ;
rdfs:label "statement of responsibility"@en ;
rdfs:comment "Names and roles of agents responsible for creating the content."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain [
a owl:Class ;
owl:unionOf (lite:Instance lite:Work)
] ;
owl:equivalentProperty bf:responsibilityStatement .

library:edition a rdf:Property ;
rdfs:label "edition"@en ;
rdfs:comment "Edition statement, information identifying the edition or version of the resource."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:editionStatement .

library:publication a rdf:Property ;
rdfs:label "publication"@en ;
rdfs:comment "Information relating to publication of an instance."@en ;
rdfs:range lite:ProviderEvent ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:provisionActivity ;
owl:equivalentProperty dc:publisher .

library:production a rdf:Property ;
rdfs:label "production"@en ;
rdfs:comment "Information relating to production of an instance."@en ;
rdfs:range lite:ProviderEvent ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:provisionActivity .

library:distribution a rdf:Property ;
rdfs:label "distribution"@en ;
rdfs:comment "Information relating to distribution of an instance."@en ;
rdfs:range lite:ProviderEvent ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:provisionActivity .

library:manufacture a rdf:Property ;
rdfs:label "manufacture"@en ;
rdfs:comment "Information relating to manufacture of an instance."@en ;
rdfs:range lite:ProviderEvent ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:provisionActivity .

library:copyright a rdf:Property ;
rdfs:label "copyright"@en ;
rdfs:comment "Copyright event associated with the Instance."@en ;
rdfs:range lite:CopyrightEvent ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:copyrightDate .

library:issuance a rdf:Property ;
rdfs:label "mode of issuance"@en ;
rdfs:comment "Categorization reflecting whether a resource is issued in one or more parts, the way it is updated, and its intended termination."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Instance ;
owl:equivalentProperty bf:issuance .

# Title Properties

library:partNumber a rdf:Property ;
rdfs:label "part number"@en ;
rdfs:comment "Part or section enumeration of a title."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Title ;
owl:equivalentProperty bf:partNumber .

library:partName a rdf:Property ;
rdfs:label "part name"@en ;
rdfs:comment "Part or section name of a title."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Title ;
owl:equivalentProperty bf:partName .

# Agent Properties

library:numeration a rdf:Property ;
rdfs:label "numeration"@en ;
rdfs:comment "A Roman numeral alone or combined with a subsequent part of a given name."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain [
a owl:Class ;
owl:unionOf (lite:Person lite:Family)
] .

library:titles a rdf:Property ;
rdfs:label "titles"@en ;
rdfs:comment "Titles and other terms linked with a name, such as 'Dr.'"@en ;
rdfs:range rdfs:Literal ;
rdfs:domain [
a owl:Class ;
owl:unionOf (lite:Person lite:Family)
] .

library:attribution a rdf:Property ;
rdfs:label "attribution"@en ;
rdfs:comment "Attribution qualifier."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain [
a owl:Class ;
owl:unionOf (lite:Person lite:Family)
] .

library:subordinateUnit a rdf:Property ;
rdfs:label "subordinateUnit"@en ;
rdfs:comment "Corporate names or corporate subheadings that follow the name of the highest hierarchical unit."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Organization .

# Category Properties

library:term a rdf:Property ;
rdfs:label "term"@en ;
rdfs:comment "Text description of the category."@en ;
rdfs:range rdfs:Literal ;
rdfs:domain lite:Category .
8 changes: 8 additions & 0 deletions data/vocab/lite.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema> .
@prefix librarylink: <http://library.link/vocab/map>.
@prefix lc: <http://id.loc.gov/ontologies/bflc/> .

# BIBFRAME Linked Data Extension aka BUILDE 📖🔍

Expand Down Expand Up @@ -269,6 +270,13 @@ lite:date a rdf:Property ;
owl:equivalentProperty bf:date, dc:date ;
rdfs:domain lite:Resource .

lite:place a rdf:Property ;
rdfs:label "place"@en ;
rdfs:comment "Place associated with a resource"@en ;
rdfs:domain lite:Resource ;
rdfs:range rdfs:Literal ;
owl:equivalentProperty lc:simplePlace .

lite:note a rdf:Property ;
rdfs:label "note"@en ;
rdfs:comment "Additional descriptive information associated with the resource."@en ;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"scripts": {
"precommit": "ttl data/vocab/lite.ttl data/vocab/relation.ttl data/vocab/scholar.ttl",
"precommit": "ttl data/vocab/lite.ttl data/vocab/relation.ttl data/vocab/scholar.ttl data/vocab/bflc.ttl data/vocab/library.ttl",
"prepare": "husky"
},
"devDependencies": {
Expand Down