diff --git a/.gitignore b/.gitignore index 9ef9d55c..1b5d7dd8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,7 @@ __pycache__/ dist/ !.env-template rdf/ +http/ +/.python-version +http/ +.ropeproject/ diff --git a/.run/test_data pyoxigraph.run.xml b/.run/test_data pyoxigraph.run.xml new file mode 100644 index 00000000..3cadf7c1 --- /dev/null +++ b/.run/test_data pyoxigraph.run.xml @@ -0,0 +1,34 @@ + + + + + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 index 3d7423d4..84e5c556 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ ARG PREZ_VERSION ARG PYTHON_VERSION=3.12.3 -ARG POETRY_VERSION=1.8.1 +ARG POETRY_VERSION=1.8.3 ARG VIRTUAL_ENV=/opt/venv # @@ -19,7 +19,9 @@ RUN apk add --no-cache \ libffi-dev \ musl-dev \ pipx \ - python3-dev + python3-dev \ + geos \ + geos-dev RUN pipx install poetry==${POETRY_VERSION} @@ -47,7 +49,9 @@ COPY --from=base ${VIRTUAL_ENV} ${VIRTUAL_ENV} RUN apk update && \ apk upgrade --no-cache && \ apk add --no-cache \ - bash + bash \ + geos \ + geos-dev WORKDIR /app # prez module is already built as a package and installed in $VIRTUAL_ENV as a library diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README-Dev.md b/README-Dev.md index f6bcd8c0..242149ef 100644 --- a/README-Dev.md +++ b/README-Dev.md @@ -2,6 +2,334 @@ This documentation is to assist developers of Prez, not users or installers. +- [Developer README](#developer-readme) + - [Profiles](#profiles) + - [General profile specification](#general-profile-specification) + - [Specification of Mediatypes and Resource Formats](#specification-of-mediatypes-and-resource-formats) + - [Classes for a Profile](#classes-for-a-profile) + - [Default profiles](#default-profiles) + - [Direct Paths](#direct-paths) + - [Sequence Paths](#sequence-paths) + - [Inverse Paths](#inverse-paths) + - [Combinations of paths](#combinations-of-paths) + - [Excluded and Optional paths](#excluded-and-optional-paths) + - [Blank Nodes](#blank-nodes) + - [Profile and mediatype selection logic](#profile-and-mediatype-selection-logic) + - [Focus Node Selection](#focus-node-selection) + - [High level summary](#high-level-summary) + - [Detail](#detail) + - [Content delivered by Prez](#content-delivered-by-prez) + - [Internal links](#internal-links) + - [Link generation](#link-generation) + - [Generating Prefixes](#generating-prefixes) + - [Annotation properties](#annotation-properties) + - [How to add an endpoint](#how-to-add-an-endpoint) + - [Query Generation](#query-generation) + - [Repositories](#repositories) + - [Startup Routine](#startup-routine) + - [High Level Sequence `/object` endpoint](#high-level-sequence-object-endpoint) + - [High Level Sequence listing and individual object endpoints](#high-level-sequence-listing-and-individual-object-endpoints) + +## Profiles + +SHACL NodeShapes and PropertyShapes are utilised to determine which properties of Focus Nodes should be rendered. + +### General profile specification + +Each Profile must have the following properties: +- A `prof:Profile` type +- A type of either `prez:ObjectProfile` (for rendering objects) or `prez:ListingProfile` (for rendering lists of objects), or both. +- A title, identifier (with datatype xsd:token), and description, using the DCTERMS namespace. + +### Specification of Mediatypes and Resource Formats + +Extensions to SHACL are used to specify the mediatypes and resource formats available for a given profile. These are specified as follows. The namespace used is http://www.w3.org/ns/dx/connegp/altr-ext#, and the prefix used for this namespace is `altr-ext`. + +#### Resource formats + +The default resource format for a profile can be set with `altr-ext:hasDefaultResourceFormat`. +For example: +```turtle +prez:OGCSchemesObjectProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + altr-ext:hasDefaultResourceFormat "text/turtle" ; +. +``` +The available resource formats for a profile can be set with `altr-ext:hasResourceFormat`. +For example: +```turtle +prez:OGCSchemesObjectProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + altr-ext:hasResourceFormat "text/turtle" , "application/ld+json" ; +``` + +#### Classes for a Profile +The classes of object which a profile constrains can be specified with `altr-ext:constrainsClass`. +Prez utilises this information when determining whether a requested profile can be used; and the alternate profiles that are available to render a resource. An example is given below: +```turtle +prez:OGCSchemesObjectProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + altr-ext:constrainsClass dcat:Catalog ; +. +``` + +### Default profiles + +A default profile can be specified using the `altr-ext:hasNodeShape` and `altr-ext:hasDefaultProfile` predicates. This is typically done on an "umbrella" profile which indicates default profiles for all classes the API can render. An example is given below: +```turtle +prez:OGCRecordsProfile + a prof:Profile ; + dcterms:identifier "ogc"^^xsd:token ; + dcterms:description "A system profile for OGC Records conformant API" ; + dcterms:title "OGC Profile" ; + altr-ext:constrainsClass prez:CatPrez ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass prof:Profile , dcat:Catalog , dcat:Resource , skos:Concept , geo:Feature , geo:FeatureCollection + , skos:Collection , rdf:Resource , prez:SearchResult , prez:CQLObjectList ; + altr-ext:hasDefaultProfile prez:OGCListingProfile + ] , [ + a sh:NodeShape ; + sh:targetClass skos:ConceptScheme ; + altr-ext:hasDefaultProfile prez:OGCSchemesListProfile + ] , [ + a sh:NodeShape ; + sh:targetClass skos:ConceptScheme ; + altr-ext:hasDefaultProfile prez:OGCSchemesObjectProfile + ] , [ + a sh:NodeShape ; + sh:targetClass prof:Profile , dcat:Catalog , dcat:Resource , skos:Concept , geo:Feature , geo:FeatureCollection + , skos:Collection , rdf:Resource ; + altr-ext:hasDefaultProfile prez:OGCItemProfile + ] + . +``` +Note the target classes are shared across both listings of items, and items themselves; the API determines whether a listing or object profile is appropriate based on the endpoint a request is received at. + +#### Direct Paths +Direct properties of a focus node are specified via `sh:path`. +Example: +```turtle +sh:property [ + sh:path prov:qualifiedDerivation + ] +``` + +A convenience predicate is provided to specify the inclusion of all predicates, `shext:allPredicateValues`. +Example: +```turtle +sh:property [ + sh:path shext:allPredicateValues ; + ] +``` +#### Sequence Paths + +Sequence paths are specified as property shapes with a path representing the linked list of properties from a focus node. +```turtle +sh:property [ + sh:path ( prov:qualifiedDerivation prov:hadRole ) + ] +``` +#### Inverse Paths + +Inverse paths are specified on a nested blank node where the first property is `sh:inversePath`. +```turtle +sh:property [ + sh:path [ sh:inversePath dcterms:hasPart ] ; + ] +``` +#### Combinations of paths +Multiple paths can be specified at once using `sh:union`. +```turtle +sh:property [ + sh:path ( + sh:union ( + dcterms:publisher + reg:status + ( prov:qualifiedDerivation prov:hadRole ) + ( prov:qualifiedDerivation prov:entity ) + ) + ) + ] +``` + +### Excluded and Optional paths. +The above property paths when specified without a min or max count **must be present for a focus node to be returned.** That is, by default, specified paths must be present for the focus node and properties to be returned. +The following constructs can be used to specify excluded or optional properties. +#### Exclude +Specification: `sh:maxCount 0` +Interpretation: do not include these paths from the focus node, even if they exist in the data. +Example: +```turtle +sh:property [ + sh:maxCount 0 ; + sh:path dcterms:hasPart + ] +``` +#### Optional +Specification: `sh:minCount 0` +Interpretation: include these paths from the focus node if they exist. +Example: +```turtle +sh:property [ + sh:minCount 0 ; + sh:path dcterms:hasPart + ] +``` + +### Blank Nodes +A convenience predicate is provided to specify the inclusion of blank nodes to a given depth, `shext:bnode-depth`. Note this is specified directly on the profile and not on a property shape as it does not relate to any particular property shape. +Specification: `shext:bnode-depth` +Example: +```turtle +prez:OGCSchemesObjectProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + shext:bnode-depth 2 ; +``` + +### Profile and mediatype selection logic +The following logic is used to determine the profile and mediatype to be returned: + +1. If a profile and mediatype are requested, they are returned if a matching profile which has the requested mediatype is found, otherwise the default profile for the most specific class is returned, with its default mediatype. +2. If a profile only is requested, if it can be found it is returned, otherwise the default profile for the most specific class is returned. In both cases the default mediatype is returned. +3. If a mediatype only is requested, the default profile for the most specific class is returned, and if the requested mediatype is available for that profile, it is returned, otherwise the default mediatype for that profile is returned. +4. If neither a profile nor mediatype is requested, the default profile for the most specific class is returned, with the default mediatype for that profile. + +The SPARQL query used to select the profile is given in [Appendix D](appendix-d---example-profile-and-mediatype-selection-sparql-query). + +## Focus Node Selection + +### High level summary + +For object endpoints, the (single) focus node is specified at runtime, either as a URL path parameter or query string argument. + +For listing endpoints, the following inputs are used to determine which nodes to select: +1. Endpoint - an endpoint is mapped to one or more endpoint SHACL NodeShapes. +2. CQL JSON - only used as filter, i.e. filters on specified predicates. +3. Search term - filters the label properties of focus nodes to a given search term. Currently a REGEX search is supported. + +All listing endpoints support these inputs. The inputs are transformed into the SPARQL Grammar, merged together, and combined with SPARQL Grammar for profiles to create a single query. Profiles specify the inclusion/exclusion of properties on focus nodes, and are detailed in "Profile Design". +### Detail + +Determine **which** nodes to select. +This forms the inner select part of the SPARQL query. The inputs are one or more of: the URL path a query is sent to; a CQL filter expression; and a search term. The outputs are three sets of SPARQL Grammar objects `TriplesSameSubject`, `TriplesSameSubjectPath`, and `GraphPatternNotTriples`. The `TriplesSameSubject` are used to form the `ConstructTriples` part of the query; the `TriplesSameSubjectPath`, and `GraphPatternNotTriples` form the `WhereClause`. + +#### 1. Endpoint Nodeshapes: +Considerations: +1. Class of objects to list (e.g. for /catalogs, list all items of class dcat:Catalog) +2. Relationship to parent objects (e.g. for /catalogs/{parent_catalog_curie}/collections/, list all items that have the relationship dcterms:hasPart from the parent catalog curie) +Implementation: + SHACL shapes are used to represent the how URL path parameters are translated into a SPARQL query. + One endpoint maps to one or more endpoint NodeShapes. For example the items endpoint can render resources of type `skos:Concept` and `geo:Feature`. An example of an endpoint definition is: +```turtle +ogce:item-object + a ont:ObjectEndpoint ; + ont:relevantShapes ex:Feature , ex:ConceptSchemeConcept , ex:CollectionConcept , ex:Resource ; +. +``` + +To determine which NodeShape (under `ont:relevantShapes`) should be used to render resources, the class of parents in the URL path is first determined. The logic for this is: + 1. Get the classes of all parents in the URL path. Prez caches this class information. + 2. Match these to `sh:class` statements on the PropertyShapes for the NodeShape. *`sh:class` is used on nested PropertyShapes to specify a constraint on the class of related nodes, that is, nodes related via the property shape. (e.g. "the class of the first parent is `dcat:Resource`, the class of the second parent is `dcat:Catalog`, therefore the applicable NodeShape for the listing is the `ex:Resource` NodeShape.)* + The NodeShape information, once determined, is used for: + 1. Query generation - which class of nodes to list (e.g. `rdf:Resource` below) + 2. Link generation - to determine which endpoints can render a resource of a given class, and, how to find the parents of a given object in order to generate a link (e.g. the parents are all related via `dcterms:hasPart` in the example below.) + An example NodeShapes for describing an endpoint is: + +```turtle +ex:Resource + a sh:NodeShape ; + ont:hierarchyLevel 3 ; + sh:targetClass rdf:Resource ; + sh:property [ + sh:path [ sh:inversePath dcterms:hasPart ] ; + sh:class dcat:Resource ; + ] , [ + sh:path ( [ sh:inversePath dcterms:hasPart ] [ sh:inversePath dcterms:hasPart ] ); + sh:class dcat:Catalog ; + ] . +``` + +*The hierarchyLevel is used to filter the set of potentially relevant NodeShapes - when a request comes from an endpoint, that endpoint has a corresponding hierarchy level.* + +A further example for the collections endpoint is provided: +```turtle +ex:Collections + a sh:NodeShape ; + ont:hierarchyLevel 2 ; + sh:targetClass geo:FeatureCollection , skos:ConceptScheme , skos:Collection , dcat:Resource ; + sh:property [ + sh:path [ sh:inversePath dcterms:hasPart ] ; + sh:class dcat:Catalog ; + ] . +``` + +This means to select the nodes of class `dcat:Resource`, `geo:FeatureCollection`, `skos:ConceptScheme`, or `skos:Collection`, which are related to a parent node of class `dcat:Catalog`, by the relationship `dcterms:hasPart`. +#### 2. CQL +Considerations: +1. Mapping of JSON values to URIs. +2. Filtering of properties vs. graph pattern matching; the latter supports more complex operations (sequence, inverse paths etc.). +Implementation: +CQL JSON expressions are translated to JSON LD to allow easy mapping to URIs. +Examples are provided in the API docs using test data. A demo instance is available [here](https://prezv4-with-fuseki.sgraljii8d3km.ap-southeast-2.cs.amazonlightsail.com/docs#/ogcprez/https___prez_dev_endpoint_extended_ogc_records_cql_post_cql_post). +CQL JSON documentation is available [here](https://portal.ogc.org/files/96288#cql-json): + +Properties are assumed to be URIs. +Values for properties can be specified as URIs using a JSON LD like "@id", for example: +```json-ld +{ + "op": "=", + "args": [ + { + "property": "http://www.w3.org/2000/01/rdf-schema#member" + }, + { "@id": "http://example.com/datasets/sandgate/facilities" } + ] +} +``` + +The following context is "inserted" into CQL JSON to create "CQL JSON-LD". +```json-ld +{ + "@version": 1.1, + "@base": "http://example.com/", + "@vocab": "http://example.com/vocab/", + "cql": "http://www.opengis.net/doc/IS/cql2/1.0/", + "sf": "http://www.opengis.net/ont/sf#", + "geo": "http://www.opengis.net/ont/geosparql#", + "landsat": "http://example.com/landsat/", + "ro": "http://example.com/ro/", + "args": { + "@container": "@set", + "@id": "cql:args" + }, + "property": { + "@type": "@id", + "@id": "cql:property" + }, + "op": { + "@id": "cql:operator" + }, + "type": { + "@id": "sf:type" + } +} +``` + +The following has been implemented: +1. Spatial functions +2. String pattern matching +3. Property filtering + +The following has not yet been implemented: +1. Time filtering +#### 3. Search query. +Implementation: +The search term is inserted into three different regex expressions which match the search term in different ways, and weights the results. A full search query is generated, and then relevant parts are extracted (`TriplesSameSubject` etc. as listed above), to generate a final query. + +Prez utilises the sparql-grammar-pydantic library to generate SPARQL queries. + ## Content delivered by Prez Prez returns: @@ -17,11 +345,11 @@ Prez returns: ## Internal links The objects Prez delivers RDF for have URIs that uniquely identify them. Prez delivers RDF for these objects at URLs on the web. These URLs and URIs are not required to be the same, and frequently are not. For objects that Prez holds information for, it is helpful if Prez tells users the URL of these when they are referenced elsewhere in the API. This is in two places: -1. Listings of objects, for example `dcat:Datasets` at the `/s/datasets` endpoint; and +1. Listings of objects, for example `dcat:Catalog` at the `/catalogs` endpoint; and 2. Links to related objects, where the API holds information on the related object.\ -In these cases, in the annotated RDF mediatype (`text/anot+turtle`) URL paths are provided which link to the related object +In these cases, in the annotated RDF mediatype (`text/anot+turtle`) URL paths are provided which link to the related object. -For cases where URIs and URLs for a given object differ slightly, URL redirection can be used to send users to the Prez URL instance which displays information for the object. +For cases where URIs and URLs for a given object differ, URL redirection can be used to send users to the Prez URL instance which displays information for the object. ### Link generation Internal links use [CURIEs](https://en.wikipedia.org/wiki/CURIE). Prez uses the default RDFLib prefixes, covering common namespaces. @@ -37,7 +365,7 @@ When Prez encounters a URI which is required for an internal link but is not in To get "sensible" or "nice" prefixes, it is recommended to add all prefixes which will be required to turtle files in prez/reference_data/prefixes. A future change could allow the prefixes to be specified alongside data in the backend, as profiles currently can be. -### Checking if namespace prefixes are defined +## Generating Prefixes The following SPARQL query can be used as a starting point to check if a namespace prefix is defined for instances of the main classes prez delivers. NB this query should NOT be run against SPARQL endpoints for large datasets; offline @@ -67,15 +395,155 @@ When an annotated mediatype is requested (e.g. `text/anot+turtle`), Prez will lo *every* RDF term in the (initial) response returned by the triplestore. That is it will expand the response to include the annotations and return the RDF merge of the original response and the annotations. -Additional predicates can be added to the list of predicates Prez looks for in the profiles by adding these predicates -using the properties listed below. +Additional predicates can be added to the list of predicates Prez looks for in the profiles by adding these predicates to the configuration. + + + +## How to add an endpoint + +New endpoints can be added to Prez by adding RDF, and minimal addition of FastAPI decorators. + +1. Add FastAPI decorator, + 1. For Listing endpoints, add these to the `listings` function in `prez/routers/ogc_router`. An example is: +```python +@router.get( + "/catalogs", + summary="Catalog Listing", + name=OGCE["catalog-listing"], + responses=responses +) +``` -| Property | Default Predicate | Examples of other predicates that would commonly be used | Profiles predicate to add *additional* predicates | -|-------------|---------------------|----------------------------------------------------------|---------------------------------------------------| -| label | rdfs:label | skos:prefLabel, dcterms:title | altr-ext:hasLabelPredicate | -| description | dcterms:description | skos:definition, dcterms:abstract | altr-ext:hasDescriptionPredicate | -| provenance | dcterms:provenance | dcterms:source | altr-ext:hasExplanationPredicate | -| other | (None) | schema:color | altr-ext:otherAnnotationProps | +*See the references in the code for what should be provided for `responses` and `openapi_extra`; these fields are optional but useful for documentation.* +The name is required, and should be a URI. +2. An endpoint definition. + 1. **The endpoint URI must match the name uri in the decorator.** + 2. The endpoint must be declared a `ont:ListingEndpoint` or `ont:ObjectEndpopint`, as Prez uses different application code to render results for these two types of endpoint. + These are in `prez/reference_data/endpoints/endpoint_metadata.ttl`. An example is: +```turtle +ogce:catalog-listing + a ont:ListingEndpoint ; + ont:relevantShapes ex:Catalogs ; +. +``` +3. A NodeShape for the endpoint. This describes how nodes should be selected at the given endpoint. An example is: + +```turtle +ex:Catalogs + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:targetClass dcat:Catalog ; + sh:property [ + sh:path dcterms:hasPart ; + sh:or ( + [ sh:class dcat:Resource ] + [ sh:class geo:FeatureCollection ] + [ sh:class skos:ConceptScheme ] + [ sh:class skos:Collection ] + ) ; + ] . +``` + +This specifies the selection of focus nodes of class `dcat:Catalog` which have the relationship `dcterms:hasPart` to one or more of the listed classes. + +## Query Generation +Prez utilises the sparql-grammar-pydantic library to generate SPARQL queries. +### Focus nodes +For objects, the focus node is specified in a query path as a curie, or in the case of the `/object` endpoint, as query parameter with the key "uri". +For lists of objects, the focus node is a variable, fixed within prez to `?focus_node`. +**Usage:** The focus node is substituted into the main query. +### Main Query Generation +Prez creates a single main query to describe an object or listing of objects. + +The structure of the query is as follows: + +```sparql +CONSTRUCT { + +} +WHERE { + # for listing queries only: + { + SELECT ?focus_node + WHERE { + + + } + ORDER BY () + LIMIT + OFFSET + } + # for all queries: + + +} +``` + +#### construct_triples and construct_tss_list +The triples to construct. This is taken from the union of: +1. Profile_Triples (directly) - i.e. any triple specified in the where clause will be constructed +2. Any triples within the Profile_GPNTs object. *Prez utilises a convenience function provided by the SPARQL Grammar library which recursively extracts all triples within a given SPARQL Grammar object.* +3. Additional_Construct_Triples (directly) - these may come from a search query, such as the query result weights, etc. +#### profile_triples and profile_GPNTs +There is one source of profile triples and profile GPNTs - these are derived from SHACL node and property shapes associated with the selected profile (returned by ConnegP). + +At a conceptual level these profile shapes represent the "properties" or "attributes" to be returned for *each* focus node. At present the following SHACL expressions are covered: +- minCount = 0 (optional property) +- maxCount = 0 (exclude property) +- path +- sequence path +- inverse path +- class +- blank nodes to a specified depth +How to specify these is detailed in the Profile Design section. +#### Inner_Select_Triples and Inner_Select_GPNTs +Inner Select Triples and Inner Select GPNTs are taken from the union of: +1. CQL +2. Search queries +3. Endpoint Nodeshapes +These are detailed in the Focus Node Selection section. +### Annotations + +- Where an annotated mediatype is requested, Prez returns any annotations it can find from all available repositories (data, systems, and annotations reposoitory). +- These annotations are then cached against the URI they are for. +- The caching utilises aiocache. + - aiocache is currently set up with in memory caches. It could be extended to utilise Redis. + +A sequence diagram is shown for annotation retrieval: +```mermaid +sequenceDiagram + Client ->> FastAPI: Request for data with annotated mediatype + FastAPI ->> Repo: send_queries(object/list query) + Repo -->> FastAPI: initial response graph + FastAPI ->> FastAPI: get URIs in initial response + FastAPI ->> Cache: check cache for annotations + Cache -->> FastAPI: return cached annotations (if any) + FastAPI ->> FastAPI: determine cached and uncached URIs + FastAPI ->> Repo: query for uncached annotations + Repo -->> FastAPI: return cached annotations (if any) + FastAPI ->> Cache: cache previously uncached annotations + FastAPI ->> Client: return initial response graph + annotations +``` + +Annotations are returned with one of the following mapped prez namespaced URIs. + +prez:label: skos:prefLabel, dcterms:title, rdfs:label, sdo:name +prez:description: skos:definition, dcterms:description, sdo:description +prez:provenance: dcterms:provenance +### Repositories +An abstraction over data providers is provided with "Repositories". Three types are supported; Pyoxigraph (in memory), Oxrdflib, and RemoteSparql. +1. Data repository - one of Pyoxigraph, Oxrdflib, or RemoteSparql +2. System repository - Pyoxigraph +3. Annotations repository - Pyoxygraph + + + + + +## Startup Routine +1. Check the SPARQL endpoints can be reached. A blank query (`ASK {}`) is used to test this. The SPARQL endpoints are not health checked post startup. +2. Create in memory profile, prefix, and endpoint graphs, containing all profiles in the `prez/profiles` directory, and any additional profiles available in the triplestore (declared as a `http://www.w3.org/ns/dx/prof/Profile`) +3. Look for predefined object counts in the triplestore. ## High Level Sequence `/object` endpoint @@ -93,375 +561,25 @@ these endpoints, specifying any variables that need to be substituted (such as p to construct the system links. 5. Return the response -### Machine requests - -Machine requests made to `/object` will use the provided media type and profile to return an appropriate response in one of the subsystems. - ## High Level Sequence listing and individual object endpoints Prez follows the following logic to determine what information to return, based on a profile, and in what mediatype to return it. 1. Determine the URI for an object or listing of objects: - For objects: - - Directly supplied through the /{x}/object?uri= query string argument where x is the Prez subsystem (v, s, or c) - - From the URL path the object is requested from, for example /s/dataset/. abc is a curie, which is expanded to a URI. - -- For listings: - - If the listing is for a "top level object", objects are listed based on their class. For example, in VocPrez, at the /v/vocab endpoint, vocabularies are listed based on a triple stating they are of class skos:ConceptScheme. - - Top level objects are currently hard-coded in the configuration. They could be modified by environment variables at present. We will consider moving configuration of top level objects to the system profiles. This is a low priority as top level objects are unlikely to change. - - If the listing is not for a "top level object", the listing is based on a member relation from a parent object. For example, if a listing of concepts is requested, these will be listed based on their declaration of being skos:inScheme to a specified Vocabulary. - - For the list of current top level objects (see _Top Level Class_ in the [Glossary](#Glossary)) in each Prez instance a Prez specific object contains the top level objects. For example, the a prez:DatasetList has rdfs:member the dcat:Dataset objects. This data is generated on startup if not supplied, as detailed in [Appendix C](#appendix-c---sparql-insert-queries-for-support-graphs). - + - Directly supplied through the /object?uri= query string argument + - From the URL path the object is requested from, for example /catalogs/. abc is a curie, which is expanded to a URI. 2. Get all classes for the object or object listing - _Steps 1 and 2 are implemented in the `prez/models/*` modules using Pydantic classes_ 3. Determine the profile and mediatype to use for the object. This is implemented as a SPARQL query and takes into account: 1. The classes of the object 2. Available profiles and mediatypes 3. Requested profiles and mediatypes 4. Default profiles and mediatypes The logic used to determine the profile and mediatype is detailed in section x. - -4. Build a SPARQL query: - - For objects - 1. A SPARQL CONSTRUCT query is used, roughly equivalent to a DESCRIBE query, but with configurable blank node depth, and relations to other objects. The following properties can be specified in profiles to configure which information is returned for an object: - - | Description | Property | - |---------------------------------------------------------------------------------|---------------------------------------------| - | The depth of blank nodes to return. | `prez:blankNodeDepth` | - | predicates to include | `sh:path` | - | predicates to exclude | `sh:path` in conjunction with `dash:hidden` | - | inverse path predicates to include | `sh:inversePath` | - | sequence path predicates to include, expressed as an RDF list. | `sh:sequencePath` | - - 2. Where _Relation Properties_ (see the [Glossary](#Glossary) for definition) are specified in the profile, a second SPARQL CONSTRUCT query is used, as detailed in object listings: - - For object listings: - 1. A SPARQL CONSTRUCT query is used, with a LIMIT and OFFSET, and `prez:link` internal API URL paths are generated for each member object returned. -5. Execute the SPARQL query +4. Build a SPARQL query. +5. Execute the SPARQL query. 6. If the mediatype requested is NOT annotated RDF (`text/anot+turtle`), return the results of 5, else retrieve the annotations: 1. Check Prez cache for annotations 2. For terms without annotations in the cache, query the triplestore for annotations 3. Cache any annotations returned from the triplestore - 4. Return the annotations merged with the results of the SPARQL query in step 5. - -## Profile and mediatype selection logic -The following logic is used to determine the profile and mediatype to be returned: - -1. If a profile and mediatype are requested, they are returned if a matching profile which has the requested mediatype is found, otherwise the default profile for the most specific class is returned, with its default mediatype. -2. If a profile only is requested, if it can be found it is returned, otherwise the default profile for the most specific class is returned. In both cases the default mediatype is returned. -3. If a mediatype only is requested, the default profile for the most specific class is returned, and if the requested mediatype is available for that profile, it is returned, otherwise the default mediatype for that profile is returned. -4. If neither a profile nor mediatype is requested, the default profile for the most specific class is returned, with the default mediatype for that profile. - -The SPARQL query used to select the profile is given in [Appendix D](appendix-d---example-profile-and-mediatype-selection-sparql-query). - -## Startup Routine -1. Check the SPARQL endpoints can be reached. A blank query (`ASK {}`) is used to test this. The SPARQL endpoints are not health checked post startup. -2. Find search methods, add these to an in memory dictionary with pydantic models, and add a reference to the available search methods in the system graph (available at the root endpoint) -3. Create an in memory profile graph, containing all profiles in the `prez/profiles` directory, and any additional profiles available in the triplestore (declared as a `http://www.w3.org/ns/dx/prof/Profile`) -4. Count the number of objects in each _Collection Class_ -5. Check for the required support graphs, and if the required support graphs are not present, create them. The SPARQL INSERT query used to create the support graphs is detailed in [Appendix C](#appendix-c---sparql-insert-queries-for-support-graphs). The required support graphs are: - 1. A system support graph (e.g. `https://prez.dev/vocprez-system-graph` for VocPrez). See example in [Appendix F](appendix-f---example-system-support-graph). - 2. A support graph per _Collection Class_ (see the [Glossary](#Glossary) for definition). See example in [Appendix G](appendix-g---example-system-support-graph-for-a-feature-collection). - - -## Search -Search methods can be defined as RDF. See the examples in `prez/reference_data/search_methods`. -At present the parameterised SPARQL queries accept the following parameters: PREZ and TERM (for a search term). -These parameters are substituted into the SPARQL query using the `string.Template` module. This module substitutes where $PREZ and $TERM are found in the query. -You must also escape any $ characters in the query using a second $. - -To configure filters on search the following patterns can be used: -- Specification of `filter-to-focus` and `focus-to-filter` filters as Query String Arguments on the search route. Examples: - -1. `/search?term=contact&method=default& -/&_format=text/anot+turtle` -_adds a triple to the search query of the form `?search_result_uri skos:broader `_ - -2. `/search?term=address&method=default&filter-to-focus[rdfs:member]=https://linked.data.gov.au/datasets/gnaf` - _adds a triple to the search query of the form ` rdfs:member ?search_result_uri`_ - -3. Search with a filter on multiple objects (the list of objects is treated as an OR)`/search?term=address&method=default&filter-to-focus[rdfs:member]=https://linked.data.gov.au/datasets/gnaf,https://linked.data.gov.au/datasets/defg` - _adds a triple to the search query of the form ` rdfs:member ?o . VALUES ?o { }`_ - -- URIs and CURIEs can be used to specify filters. -_If CURIEs are used, they should only be CURIEs returned as `dcterms:identifier "{identifier}"^^prez:identifier` or in prez:links. There is no guarantee prefix declarations in turtle or other RDF serialisations returned by prez are consistent with the prefixes used internally by prez for links and identifiers._ - -## Scaled instances of Prez -When using Prez for large volumes of data, it is recommended the support graph data is created offline. This includes: -- Identifiers for all objects (a `dcterms:identifier`) -- Collection counts -This information must be placed in graphs following Prez naming conventions in order for Prez to find them. - -## Prez and Altr-ext namespaces -TODO separate ontology -The following terms are in the Prez namespace: - -| Term | Description | -|---------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------| -| `prez:count` | The number of objects in an instance of a _Collection Class_ | -| `prez:DatasetList`, `prez:FeatureCollectionList`, `prez:FeatureList` | Classes used to describe lists of `dcat:Dataset`, `geo:FeatureCollection`, and `geo:Feature` instances respectively | -| `prez:CatalogList` | Class used to describe a list of `dcat:Catalog` instances | -| `prez:SchemesList`, `prez:VocPrezCollectionList` | Class used to describe a list of `skos:ConceptScheme` and `skos:Collection` instances respectively | -TODO altr-ext - this may be merged with altr - - -## Glossary -| Term | Description | -|-----------------------|------------------------------------------------------------------------------------------------| -| Collection Class | `skos:Collection`, `skos:ConceptScheme`, `dcat:Dataset`, `geo:FeatureCollection`, `dcat:Catalog` | -| Top Level Class | `skos:Collection`, `skos:ConceptScheme`, `dcat:Dataset`, `dcat:Catalog` | - -## Appendix A - Example SPARQL query for an object -```sparql -CONSTRUCT { - ?p ?o1. - ?o1 ?p2 ?o2. - ?o2 ?p3 ?o3. -} -WHERE { - { - ?p ?o1. - OPTIONAL { - FILTER(ISBLANK(?o1)) - ?o1 ?p2 ?o2. - OPTIONAL { - FILTER(ISBLANK(?o2)) - ?o2 ?p3 ?o3. - } - } - } -} -``` -## Appendix B - Example SPARQL query for an object listing -```sparql -to update - need one for membership object listing and class based -``` -## Appendix C - SPARQL INSERT queries for support graphs -### C.1 - SpacePrez Insert Support Graphs -```sparql -PREFIX dcat: -PREFIX dcterms: -PREFIX prez: -PREFIX rdfs: -PREFIX skos: -PREFIX xsd: -INSERT { - GRAPH prez:spaceprez-system-graph { - ?support_graph_uri prez:hasContextFor ?instance_of_main_class . - ?collectionList rdfs:member ?instance_of_top_class . - ?instance_of_main_class dcterms:identifier ?prez_id . - } - GRAPH ?support_graph_uri { ?member dcterms:identifier ?prez_mem_id . } -} -WHERE { - { - ?instance_of_main_class a ?collection_class . - VALUES ?collection_class { - } - OPTIONAL {?instance_of_top_class a ?topmost_class - VALUES ?topmost_class { } - } - MINUS { GRAPH prez:spaceprez-system-graph {?a_context_graph prez:hasContextFor ?instance_of_main_class} - } - OPTIONAL {?instance_of_main_class dcterms:identifier ?id - BIND(DATATYPE(?id) AS ?dtype_id) - FILTER(?dtype_id = xsd:token) - } - OPTIONAL { ?instance_of_main_class rdfs:member ?member - OPTIONAL {?member dcterms:identifier ?mem_id - BIND(DATATYPE(?mem_id) AS ?dtype_mem_id) - FILTER(?dtype_mem_id = xsd:token) } } - } - BIND( - IF(?topmost_class=dcat:Dataset, prez:DatasetList, - IF(?topmost_class=dcat:Catalog,prez:CatalogList, - IF(?topmost_class=skos:ConceptScheme,prez:SchemesList, - IF(?topmost_class=skos:Collection,prez:VocPrezCollectionList,"")))) AS ?collectionList) - BIND(STRDT(COALESCE(STR(?id),MD5(STR(?instance_of_main_class))), prez:slug) AS ?prez_id) - BIND(STRDT(COALESCE(STR(?mem_id),MD5(STR(?member))), prez:slug) AS ?prez_mem_id) - BIND(URI(CONCAT(STR(?instance_of_main_class),"/support-graph")) AS ?support_graph_uri) -} -``` -## Appendix C - Removed - to updated numbering consistently -## Appendix D - Example Profile and Mediatype Selection SPARQL query -This SPARQL query determines the profile and mediatype to return based on user requests, -defaults, and the availability of these in profiles. - -NB: Most specific class refers to the rdfs:Class of an object which has the most specific rdfs:subClassOf links to the general class delivered by that API endpoint. The general classes delivered by each API endpoint are: - -**SpacePrez**: -/s/datasets -> `prez:DatasetList` -/s/datasets/{ds_id} -> `dcat:Dataset` -/s/datasets/{ds_id}/collections/{fc_id} -> `geo:FeatureCollection` -/s/datasets/{ds_id}/collections -> `prez:FeatureCollectionList` -/s/datasets/{ds_id}/collections/{fc_id}/features -> `geo:Feature` - -**VocPrez**: -/v/schemes -> `skos:ConceptScheme` -/v/collections -> `skos:Collection` -/v/schemes/{cs_id}/concepts -> `skos:Concept` - -**CatPrez**: -/c/catalogs -> `dcat:Catalog` -/c/catalogs/{cat_id}/datasets -> `dcat:Dataset` - -This is an example query for SpacePrez requesting the Datasets listing from a web browser. Note the following components of the query are populated in Python: -1. The `?class` VALUES -2. A `?req_profile` value (not present in this query as no profile was requested) -3. Nested IF statements, based on the mediatypes in the HTTP request. -```sparql -PREFIX dcat: -PREFIX sh: -PREFIX geo: -PREFIX rdfs: -PREFIX altr-ext: -PREFIX dcterms: -PREFIX prez: -PREFIX skos: - -SELECT ?profile ?title ?class (count(?mid) as ?distance) ?req_profile ?def_profile ?format ?req_format ?def_format ?token - -WHERE { - VALUES ?class {} - ?class rdfs:subClassOf* ?mid . - ?mid rdfs:subClassOf* ?base_class . - VALUES ?base_class { dcat:Dataset geo:FeatureCollection prez:FeatureCollectionList prez:FeatureList geo:Feature - skos:ConceptScheme skos:Concept skos:Collection prez:DatasetList prez:VocPrezCollectionList prez:SchemesList - prez:CatalogList dcat:Catalog dcat:Resource } - ?profile altr-ext:constrainsClass ?class ; - altr-ext:hasResourceFormat ?format ; - dcterms:identifier ?token ; - dcterms:title ?title . - - BIND(EXISTS { ?shape sh:targetClass ?class ; - altr-ext:hasDefaultProfile ?profile } AS ?def_profile) - BIND( - IF(?format="image/webp", "1", - IF(?format="application/xml", "0.9", - IF(?format="text/html", "1", - IF(?format="*/*", "0.8", - IF(?format="image/avif", "1", - IF(?format="application/xhtml+xml", "1", "")))))) - AS ?req_format) - BIND(EXISTS { ?profile altr-ext:hasDefaultResourceFormat ?format } AS ?def_format) -} - -GROUP BY ?class ?profile ?req_profile ?def_profile ?format ?req_format ?def_format -ORDER BY DESC(?req_profile) DESC(?distance) DESC(?def_profile) DESC(?req_format) DESC(?def_format) -``` -## Appendix E - Example profiles -### Appendix E.1 - Example system profile -The following snippet shows a system profile for Prez which declares the default profile to be used for objects with a class of `dcat:Dataset`. -```turtle - - a prof:Profile ; - dcterms:identifier "prez" ; - dcterms:description "A profile for the Prez Linked Data API" ; - skos:prefLabel "Prez profile" ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass dcat:Dataset ; - altr-ext:hasDefaultProfile - ] . -``` -### Appendix E.2 - Example mediatype declarations -The following snippet shows how to define which mediatypes a resource constrained by that profile should be available in, via the `altr-ext:hasResourceFormat` property. It also shows how default mediatypes can be declared, via the `altr-ext:hasDefaultResourceFormat` property. -```turtle - - a prof:Profile ; - dcterms:description "An RDF/OWL vocabulary for representing spatial information" ; - dcterms:identifier "geo" ; - dcterms:title "GeoSPARQL" ; - altr-ext:constrainsClass geo:Feature ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. -``` -### Appendix E.3 - Example mediatype declarations -The following snippet shows a profile which constrains a number of classes, and declares two NodeShapes which state the following: -1. For a `geo:FeatureCollection`, only include properties where the predicate is one of those listed under `sh:path`. In this case, `rdfs:member` has been deliberately omitted as instances of `geo:FeatureCollection` can have significant numbers of `rdfs:member` relations which can create query performance issues. A sample of the Feature Collections members can still be included, using the method described in (2.) below -2. Instances of `geo:FeatureCollection`, `prez:FeatureCollectionList`, and `prez:FeatureList`, have a number of member objects (related via the `rdfs:member` relation) which are delivered via Prez. With this information Prez: - 1. Creates internal links when returning annotated RDF, such that HTML views can include internal links - 2. Uses a LIMIT/OFFSET query to ensure that only a sample of the members are returned, to avoid query performance issues -```turtle - - a prof:Profile ; - dcterms:description "The OGC API Features specifies the behavior of Web APIs that provide access to features in a dataset in a manner independent of the underlying data store." ; - dcterms:identifier "oai" ; - dcterms:title "OGC API Features" ; - altr-ext:constrainsClass - dcat:Dataset , - geo:FeatureCollection , - geo:Feature , - prez:FeatureCollectionList , - prez:FeatureList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "text/anot+turtle" , - "application/geo+json" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass geo:FeatureCollection ; - sh:path rdf:type, - dcterms:identifier, - dcterms:title, - geo:hasBoundingBox, - dcterms:provenance, - rdfs:label, - dcterms:description ; - ] , - [ a sh:NodeShape ; - sh:targetClass geo:FeatureCollection , prez:FeatureCollectionList , prez:FeatureList ; - altr-ext:outboundChildren rdfs:member ; - ] -. -``` -### Appendix E.4 - Example inbound links -The following VocPrez VocPub profile shows how to use a number of declarations: -1. Inbound Children: for Concept Schemes, include concepts delivered via Prez that are skos:inScheme the Concept Scheme. NB sh:inversePath could also be used but this will not create internal links in the HTML view, nor limit the number of results returned. -2. Outbound Parents: for Concepts, include the objects the Concept is skos:inScheme of. NB an 'open' profile declaring no constraints would return these triples by default - by declaring the predicate in a profile, an internal link will be created in the HTML view (and the number of linked results limited). -```turtle - - a prof:Profile ; - dcterms:description "This is a profile of the taxonomy data model SKOS - i.e. SKOS with additional constraints." ; - dcterms:identifier "vocpub" ; - dcterms:title "VocPub" ; - altr-ext:hasLabelPredicate skos:prefLabel ; - altr-ext:constrainsClass - skos:ConceptScheme , - skos:Concept , - skos:Collection , - prez:SchemesList , - prez:VocPrezCollectionList ; - altr-ext:hasDefaultResourceFormat "text/turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:outboundChildren skos:hasTopConcept ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:Collection ; - altr-ext:outboundChildren skos:member ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:inboundChildren skos:inScheme ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:Concept ; - altr-ext:outboundParents skos:inScheme ; - ] -. -``` + 4. Return the annotations merged with the results of the SPARQL query in step 5. \ No newline at end of file diff --git a/README.md b/README.md index 66dbe927..b066a421 100644 --- a/README.md +++ b/README.md @@ -12,38 +12,15 @@ Prez is a data-configurable Linked Data API framework that delivers _profiles_ o ## Contents -- [Subsystems](#subsystems) - [Installation](#installation) +- [Configuration](#configuration) - [Running](#running) +- [Redirect Service](#redirect-service) - [Data Validation](#data-validation) - [Contact](#contact) - [Contributing](#contributing) - [License](#license) -## Subsystems - -Prez comes with several pre-configured subsystems: - -- _VocPrez_ - for vocabularies, based on the [SKOS](https://www.w3.org/TR/skos-reference/) data model -- _SpacePrez_ - for spatial data, based on [OGC API](https://docs.ogc.org/is/17-069r3/17-069r3.html) specification and the [GeoSPARQL](https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html) data model -- _CatPrez_ - for [DCAT](https://www.w3.org/TR/vocab-dcat/) data catalogs - -Prez uses the modern [FastAPI](https://fastapi.tiangolo.com/) Python web framework, so it's fast! It also has few requirements beyond FastAPI so should be pretty easy to install and run in most cases. - -It expects "high quality" data to work well: Prez itself won't patch up bad or missing data. In this way it remains relatively simple and this ensures value is retained in the data and not in hidden code. - -> **NOTE**: There are a number of data quality assessment tools and processes you can run to ensure that the data you want Prez to access is fit for purpose. See [Data Validation](#data-validation) below. - -Prez accesses data stored in an RDF database - a 'triplestore' - and uses the SPARQL Protocol to do so. Any SPARQL Protocol-compliant DB may be used. - -## Redirect Service - -As a Linked Data server, Prez provides a redirect service at `/identifier/redirect` that accepts a query parameter `iri`, looks up the `iri` in the database for a `foaf:homepage` predicate with a value, and if it exists, return a redirect response to the value. - -This functionality is useful for institutions who issue their own persistent identifiers under a domain name that they control. The mapping from the persistent identifier to the target web resource is stored in the backend SPARQL store. - -This is an alternative solution to persistent identifier services such as the [w3id.org](https://w3id.org/). In some cases, it can be used together with such persistent identifier services to avoid the need to provide the redirect mapping in webserver config (NGINX, Apache HTTP, etc.) and instead, define the config as RDF data. - ## Installation To get a copy of Prez on your computer, run: @@ -53,9 +30,7 @@ git clone https://github.com/RDFLib/prez ``` Prez is developed with [Poetry](https://python-poetry.org/), a Python packaging and dependency tool. -Poetry presents all of Prez's -dependencies (other Python packages) -in the `pyproject.toml` file located in the project root directory. +Poetry presents all of Prez's dependencies (other Python packages) in the `pyproject.toml` file located in the project root directory. To install the Python dependencies run: @@ -65,73 +40,125 @@ poetry install > **Note:** Poetry must be installed on the system. To check if you have Poetry installed run `poetry --version`. For tips on installing and managing specific dependency groups check the [documentation](https://python-poetry.org/docs/managing-dependencies/). -## Running +## Configuration -This section is for developing Prez locally. See the [Running](#running) options below for running Prez in production. +The following Environment Variables can be used to configure Prez: +**In most cases all that is required is the SPARQL_ENDPOINT variable.** -To run the development server (with auto-reload on code changes): +These can be set in a '.env' file which will get read in via python-dotenv. +Alternatively, set them directly in the environment from which Prez is run. -```bash -poetry run python main.py -``` +#### SPARQL Endpoint Configuration -In order for Prez to work, a triple store such as [Apache Jena](https://jena.apache.org/) or [GraphDB](https://www.ontotext.com/products/graphdb/) must be available for Prez to interface with. -Connection to the triple store is done via [environment variables](#environment-variables). +- **`sparql_endpoint`**: Read-only SPARQL endpoint for Prez. Default is `None`. +- **`sparql_username`**: A username for the Prez SPARQL endpoint, if required by the RDF DB. Default is `None`. +- **`sparql_password`**: A password for the Prez SPARQL endpoint, if required by the RDF DB. Default is `None`. +#### Network Configuration -Prez runs as a standard FastAPI application, so for all the normal HOW TO running questions, see FastAPI's documentation: +- **`protocol`**: The protocol used to deliver Prez. Default is `"http"`. +- **`host`**: Prez's host domain name. Default is `"localhost"`. +- **`port`**: The port Prez is made accessible on. Default is `8000`. -- +#### System URI -### Environment Variables +- **`system_uri`**: An IRI for the Prez system as a whole. This value appears in the landing page RDF delivered by Prez (`"/"`). Default is `f"{protocol}://{host}:{port}"`. -You need to configure at least one environment variable for Prez to run. -The full set of available variables are found in `prez/config.py`. +#### Logging Configuration -#### Minimal +- **`log_level`**: Logging level. Default is `"INFO"`. +- **`log_output`**: Logging output destination. Default is `"stdout"`. -The minimal set of environment variables with example values to run prez is listed below: +#### Prez Metadata -`SPARQL_ENDPOINT=http://localhost:3030/mydataset` +- **`prez_title`**: Title for the Prez instance. Default is `"Prez"`. +- **`prez_desc`**: Description of the Prez instance. Default is a description of the Prez web framework API. +- **`prez_version`**: Version of the Prez instance. Default is `None`. -If the SPARQL endpoint requires authentication, you must also set: +#### CURIE Separator -`SPARQL_USERNAME=myusername`, and -`SPARQL_PASSWORD=mypassword` +- **`curie_separator`**: Separator used in CURIEs. Default is `":"`. This separator appears in links generated by Prez, and in turn in URL paths. +#### Ordering and Predicate Configuration -To run Prez using [Pyoxigraph](https://pypi.org/project/pyoxigraph/) as the sparql store (useful for testing and development) set: +- **`order_lists_by_label`**: Whether to order lists by label. Default is `True`. -`SPARQL_REPO_TYPE=pyoxigraph` +##### Label Predicates +Used for displaying RDF with human readable labels. +- **`label_predicates`**: List of predicates used for labels. Default includes: + - `skos:prefLabel` + - `dcterms:title` + - `rdfs:label` + - `sdo:name` +> When an annotated (`+anot`) mediatype is used, Prez includes triples for *every* URI in the initial response which has one of the above properties. These annotation triples are then cached. The annotations are used for display purposes, for example HTML pages. +##### Description Predicates +Similar to label predicates above. +- **`description_predicates`**: List of predicates used for descriptions. Default includes: + - `skos:definition` + - `dcterms:description` + - `sdo:description` +##### Provenance Predicates +Similar to provenance predicates above. +- **`provenance_predicates`**: List of predicates used for provenance. Default includes: + - `dcterms:provenance` -In this case, you do not need to set the SPARQL_ENDPOINT +##### Other Predicates +The annotation mechanism can further be used to generally return certain properties wherever present. +- **`other_predicates`**: List of other predicates. Default includes: + - `sdo:color` + - `reg:status` + - `skos:narrower` + - `skos:broader` -#### Details +#### SPARQL Repository Configuration -Further configuration can be done via environment variables. These can be set in a '.env' file which will get read in -via python-dotenv. -Alternatively, set them directly in the environment from which Prez is run. -The environment variables are used to -instantiate a Pydantic `Settings` object which is used throughout Prez to configure its behavior. To see how prez -interprets/uses these environment variables check the `prez/config.py` file. - -| Environment Variable | Description | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| SPARQL_ENDPOINT | Read-only SPARQL endpoint for SpacePrez | -| SPARQL_USERNAME | A username for Basic Auth against the SPARQL endpoint, if required by the SPARQL endpoint. | -| SPARQL_PASSWORD | A password for Basic Auth against the SPARQL endpoint, if required by the SPARQL endpoint. | -| PROTOCOL | The protocol used to deliver Prez. Usually 'http'. | -| HOST | The host on which to server prez, typically 'localhost'. | -| PORT | The port Prez is made accessible on. Default is 8000, could be 80 or anything else that your system has permission to use | -| SYSTEM_URI | Documentation property. An IRI for the Prez system as a whole. This value appears in the landing page RDF delivered by Prez ('/') | -| LOG_LEVEL | One of CRITICAL, ERROR, WARNING, INFO, DEBUG. Defaults to INFO. | -| LOG_OUTPUT | "file", "stdout", or "both" ("file" and "stdout"). Defaults to stdout. | -| PREZ_TITLE | The title to use for Prez instance | -| PREZ_DESC | A description to use for the Prez instance | -| DISABLE_PREFIX_GENERATION | Default value is `false`. Very large datasets may want to disable this setting and provide a predefined set of prefixes for namespaces as described in [Link Generation](README-Dev.md#link-generation). | +- **`sparql_repo_type`**: Type of SPARQL repository. Default is `"remote"`. Options are `"remote"`, `"pyoxigraph"`, and `"oxrdflib"` +- **`sparql_timeout`**: Timeout for SPARQL queries. Default is `30`. + +#### Contact Information + +- **`prez_contact`**: Contact information for Prez. Default is `None`. + +#### Prefix Generation + +- **`disable_prefix_generation`**: Whether to disable prefix generation. **It is recommended to disable prefix generation for large data repositories**, further, it is recommended to always specify prefixes in the `prez/reference_data/prefixes/` directory. Default is `False`. +#### Language and Search Configuration + +- **`default_language`**: Default language for Prez. Default is `"en"`. +- **`default_search_predicates`**: Default search predicates. Default includes: + - `rdfs:label` + - `skos:prefLabel` + - `sdo:name` + - `dcterms:title` + +#### Local RDF Directory +Used in conjunction with the Pyoxigraph repo. Specifies a directory (from the repository root) to load into the Pyoxigraph in memory data graph. Not used for other repository types. +- **`local_rdf_dir`**: Directory for local RDF files. Default is `"rdf"`. + +#### Endpoint Structure + +- **`endpoint_structure`**: Default structure of the endpoints, used to generate links. Default is `("catalogs", "collections", "items")`. + +#### System Endpoints + +- **`system_endpoints`**: List of system endpoints. Default includes: + - `ep:system/profile-listing` + - `ep:system/profile-object` + +## Running + +This section is for developing Prez locally. See the [Running](#running) options below for running Prez in production. + +To run the development server (with auto-reload on code changes): + +```bash +poetry run python main.py +``` ### Running in a Container -Prez container images are available as github packages [here](https://github.com/RDFLib/prez/pkgs/container/prez). +Prez container images are built using a Github Action and are available [here](https://github.com/RDFLib/prez/pkgs/container/prez). + +The Dockerfile in the repository can also be used to build a Docker image. #### Image variants @@ -184,21 +211,17 @@ To generate a coverage report: poetry run coverage report ``` +## Redirect Service -## Data Validation - -For Prez to deliver data via its various subsystems, the data needs to conform to some minimum requirements: you can't, for instance, run VocPrez without an SKOS ConceptSchemes defined! +As a Linked Data server, Prez provides a redirect service at `/identifier/redirect` that accepts a query parameter `iri`, looks up the `iri` in the database for a `foaf:homepage` predicate with a value, and if it exists, return a redirect response to the value. -### Profiles +This functionality is useful for institutions who issue their own persistent identifiers under a domain name that they control. The mapping from the persistent identifier to the target web resource is stored in the backend SPARQL store. -Formal RDF data profiles - standards that constrain other standards - are specified for Space, Voc & CatPrez. See: +This is an alternative solution to persistent identifier services such as the [w3id.org](https://w3id.org/). In some cases, it can be used together with such persistent identifier services to avoid the need to provide the redirect mapping in webserver config (NGINX, Apache HTTP, etc.) and instead, define the config as RDF data. -- [SpacePrez Profile Specification](https://w3id.org/profile/spaceprez/spec) -- [VocPrez Profile Specification](https://w3id.org/profile/vocprez/spec) -- [CatPrez Profile Specification](https://w3id.org/profile/catprez/spec) - - _yes yes, we know this one is offline for the moment. To be fixed shortly!_ +## Data Validation -The specifications of the various profiles _should_ be straightforward to read. Just be aware that they profile - inherit from and further constrain - other profiles so that there are quite a few 'background' data rules that must be met. +For Prez to deliver data via its various subsystems, the data needs to conform to some minimum requirements: you can't, for instance, run VocPrez without any SKOS ConceptSchemes defined! ### Validation diff --git a/changelog.md b/changelog.md index 890fff0a..159a9d06 100644 --- a/changelog.md +++ b/changelog.md @@ -11,6 +11,6 @@ More detail on adding filters to search is provided in the readme. - Timeout for httpx AsyncClient and Client instances is set on the shared instance to 30s. Previously this was set in some individual calls resulting in inconsistent behaviour, as the default is otherwise 5s. - Updated `purge-tbox-cache` endpoint functionality. This reflects that prez now - includes a number of common ontologies by default (prez/reference_data/context_ontologies), and on startup will load + includes a number of common ontologies by default (prez/reference_data/annotations), and on startup will load annotation triples (e.g. x rdfs:label y) from these. As such, the tbox or annotation cache is no longer completely - purged but can be reset to this default state instead. \ No newline at end of file + purged but can be reset to this default state instead. diff --git a/connegp-0.1.5-py3-none-any.whl b/connegp-0.1.5-py3-none-any.whl deleted file mode 100644 index c23a7232..00000000 Binary files a/connegp-0.1.5-py3-none-any.whl and /dev/null differ diff --git a/demo/prez-v4-backend/config.ttl b/demo/prez-v4-backend/config.ttl new file mode 100644 index 00000000..91157cd0 --- /dev/null +++ b/demo/prez-v4-backend/config.ttl @@ -0,0 +1,54 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX fuseki: +PREFIX rdf: +PREFIX rdfs: +PREFIX ja: +PREFIX geosparql: + +[] rdf:type fuseki:Server ; + fuseki:services ( + :service + ) . + +:service rdf:type fuseki:Service ; + fuseki:name "dataset" ; + + fuseki:endpoint [ fuseki:operation fuseki:query ; ] ; + fuseki:endpoint [ + fuseki:operation fuseki:query ; + fuseki:name "sparql" + ]; + fuseki:endpoint [ + fuseki:operation fuseki:query ; + fuseki:name "query" + ] ; + fuseki:endpoint [ + fuseki:operation fuseki:gsp-r ; + fuseki:name "get" + ] ; + fuseki:dataset <#geo_ds> ; + . + +<#geo_ds> rdf:type geosparql:GeosparqlDataset ; + geosparql:dataset :dataset ; + geosparql:inference true ; + geosparql:queryRewrite true ; + geosparql:indexEnabled true ; + geosparql:applyDefaultGeometry true ; +. + +# Transactional in-memory dataset. +:dataset rdf:type ja:MemoryDataset ; + ## Optional load with data on start-up + ja:data "/rdf/catprez.ttl"; + ja:data "/rdf/vocprez.ttl"; + ja:data "/rdf/catprez.ttl"; + ja:data "/rdf/sandgate.ttl"; + ja:data "/rdf/object_catalog_bblocks_catalog.ttl"; + ja:data "/rdf/object_vocab_api_bblocks.ttl"; + ja:data "/rdf/object_vocab_datatype_bblocks.ttl"; + ja:data "/rdf/object_vocab_parameter_bblocks.ttl"; + ja:data "/rdf/object_vocab_schema_bblocks.ttl"; + . diff --git a/demo/prez-v4-backend/docker-compose.yml b/demo/prez-v4-backend/docker-compose.yml new file mode 100644 index 00000000..aa8cd560 --- /dev/null +++ b/demo/prez-v4-backend/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3" +services: + + fuseki: + image: "ghcr.io/zazuko/fuseki-geosparql:v3.3.1" + ports: + - "3030:3030" + volumes: + - type: bind + source: config.ttl + target: /fuseki/config.ttl + - type: bind + source: ../../test_data + target: /rdf + environment: + ADMIN_PASSWORD: pw + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:3030 || exit 1"] + interval: 5s + timeout: 10s + retries: 3 + +# prez: +# build: +# context: ../../ +# dockerfile: ./Dockerfile +# ports: +# - "8000:8000" +# environment: +# SPARQL_ENDPOINT: 'http://fuseki:3030/dataset' +# depends_on: +# fuseki: +# condition: service_healthy diff --git a/demo/prez-v4-backend/readme.md b/demo/prez-v4-backend/readme.md new file mode 100644 index 00000000..a0048066 --- /dev/null +++ b/demo/prez-v4-backend/readme.md @@ -0,0 +1,3 @@ +This directory contains a docker compose file which will run the Prez backend and Fuseki GeoSPARQL together with some sample data. + +NB any data added to the test_data folder must also be specified in the fuseki config.ttl file. \ No newline at end of file diff --git a/dev/dev-setup.py b/dev/dev-setup.py old mode 100644 new mode 100755 diff --git a/function_app.py b/function_app.py index 3601c4c4..d6498618 100644 --- a/function_app.py +++ b/function_app.py @@ -9,7 +9,9 @@ if assemble_app is None: - raise RuntimeError("Cannot import prez in the Azure function app. Check requirements.py and pyproject.toml.") + raise RuntimeError( + "Cannot import prez in the Azure function app. Check requirements.py and pyproject.toml." + ) # This is the base URL path that Prez routes will stem from @@ -32,7 +34,8 @@ if __name__ == "__main__": from azure.functions import HttpRequest, Context import asyncio - req = HttpRequest("GET", "/v", headers={}, body=b'') + + req = HttpRequest("GET", "/v", headers={}, body=b"") context = dict() loop = asyncio.get_event_loop() diff --git a/main.py b/main.py old mode 100644 new mode 100755 diff --git a/poetry.lock b/poetry.lock index d14ec4b4..89b66f19 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,41 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "aiocache" +version = "0.12.2" +description = "multi backend asyncio cache" +optional = false +python-versions = "*" +files = [ + {file = "aiocache-0.12.2-py2.py3-none-any.whl", hash = "sha256:9b6fa30634ab0bfc3ecc44928a91ff07c6ea16d27d55469636b296ebc6eb5918"}, + {file = "aiocache-0.12.2.tar.gz", hash = "sha256:b41c9a145b050a5dcbae1599f847db6dd445193b1f3bd172d8e0fe0cb9e96684"}, +] + +[package.extras] +memcached = ["aiomcache (>=0.5.2)"] +msgpack = ["msgpack (>=0.5.5)"] +redis = ["redis (>=4.2.0)"] + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] [[package]] name = "anyio" -version = "4.0.0" +version = "4.4.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" files = [ - {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, - {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, + {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, + {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, ] [package.dependencies] @@ -16,63 +43,74 @@ idna = ">=2.8" sniffio = ">=1.1" [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.22)"] - -[[package]] -name = "async-lru" -version = "1.0.3" -description = "Simple lru_cache for asyncio" -optional = false -python-versions = ">=3.6" -files = [ - {file = "async-lru-1.0.3.tar.gz", hash = "sha256:c2cb9b2915eb14e6cf3e717154b40f715bf90e596d73623677affd0d1fbcd32a"}, - {file = "async_lru-1.0.3-py3-none-any.whl", hash = "sha256:ea692c303feb6211ff260d230dae1583636f13e05c9ae616eada77855b7f415c"}, -] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] [[package]] name = "black" -version = "22.12.0" +version = "24.4.2" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, - {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, - {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, - {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, - {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, - {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, - {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, - {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, - {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, - {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, - {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, - {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" +packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "cachetools" +version = "5.3.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -88,86 +126,101 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] @@ -186,13 +239,13 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "cloudpickle" -version = "2.2.1" -description = "Extended pickling support for Python objects" +version = "3.0.0" +description = "Pickler class to extend the standard pickle.Pickler functionality" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "cloudpickle-2.2.1-py3-none-any.whl", hash = "sha256:61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f"}, - {file = "cloudpickle-2.2.1.tar.gz", hash = "sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5"}, + {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"}, + {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"}, ] [[package]] @@ -207,143 +260,215 @@ files = [ ] [[package]] -name = "connegp" -version = "0.1.5" -description = "Content negotiation by profile" +name = "coverage" +version = "7.5.4" +description = "Code coverage measurement for Python" optional = false -python-versions = ">=3.8,<4.0" +python-versions = ">=3.8" files = [ - {file = "connegp-0.1.5-py3-none-any.whl", hash = "sha256:9fe85c1f24f206c3be6773e54e09df3065fdef4d032922e896b5668cfa81e3d3"}, + {file = "coverage-7.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99"}, + {file = "coverage-7.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9"}, + {file = "coverage-7.5.4-cp310-cp310-win32.whl", hash = "sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8"}, + {file = "coverage-7.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f"}, + {file = "coverage-7.5.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5"}, + {file = "coverage-7.5.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078"}, + {file = "coverage-7.5.4-cp311-cp311-win32.whl", hash = "sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806"}, + {file = "coverage-7.5.4-cp311-cp311-win_amd64.whl", hash = "sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d"}, + {file = "coverage-7.5.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233"}, + {file = "coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805"}, + {file = "coverage-7.5.4-cp312-cp312-win32.whl", hash = "sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b"}, + {file = "coverage-7.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7"}, + {file = "coverage-7.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882"}, + {file = "coverage-7.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f"}, + {file = "coverage-7.5.4-cp38-cp38-win32.whl", hash = "sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f"}, + {file = "coverage-7.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633"}, + {file = "coverage-7.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088"}, + {file = "coverage-7.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7"}, + {file = "coverage-7.5.4-cp39-cp39-win32.whl", hash = "sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace"}, + {file = "coverage-7.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d"}, + {file = "coverage-7.5.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5"}, + {file = "coverage-7.5.4.tar.gz", hash = "sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353"}, ] -[package.dependencies] -pydantic = ">=1.8.2,<2.0.0" +[package.extras] +toml = ["tomli"] -[package.source] -type = "file" -url = "connegp-0.1.5-py3-none-any.whl" +[[package]] +name = "distlib" +version = "0.3.8" +description = "Distribution utilities" +optional = false +python-versions = "*" +files = [ + {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, + {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, +] [[package]] -name = "coverage" -version = "7.3.2" -description = "Code coverage measurement for Python" +name = "dnspython" +version = "2.6.1" +description = "DNS toolkit" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, - {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, - {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, - {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, - {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, - {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, - {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, - {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, - {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, - {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, - {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, - {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, - {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, - {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, ] [package.extras] -toml = ["tomli"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] +wmi = ["wmi (>=1.5.1)"] [[package]] -name = "distlib" -version = "0.3.7" -description = "Distribution utilities" +name = "email-validator" +version = "2.2.0" +description = "A robust email address syntax and deliverability validation library." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"}, - {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"}, + {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, + {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, ] +[package.dependencies] +dnspython = ">=2.0.0" +idna = ">=2.0.0" + [[package]] name = "fastapi" -version = "0.95.2" +version = "0.111.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.111.0-py3-none-any.whl", hash = "sha256:97ecbf994be0bcbdadedf88c3150252bed7b2087075ac99735403b1b76cc8fc0"}, + {file = "fastapi-0.111.0.tar.gz", hash = "sha256:b9db9dd147c91cb8b769f7183535773d8741dd46f9dc6676cd82eab510228cd7"}, +] + +[package.dependencies] +email_validator = ">=2.0.0" +fastapi-cli = ">=0.0.2" +httpx = ">=0.23.0" +jinja2 = ">=2.11.2" +orjson = ">=3.2.1" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +python-multipart = ">=0.0.7" +starlette = ">=0.37.2,<0.38.0" +typing-extensions = ">=4.8.0" +ujson = ">=4.0.1,<4.0.2 || >4.0.2,<4.1.0 || >4.1.0,<4.2.0 || >4.2.0,<4.3.0 || >4.3.0,<5.0.0 || >5.0.0,<5.1.0 || >5.1.0" +uvicorn = {version = ">=0.12.0", extras = ["standard"]} + +[package.extras] +all = ["email_validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "fastapi-cli" +version = "0.0.4" +description = "Run and manage FastAPI apps from the command line with FastAPI CLI. 🚀" +optional = false +python-versions = ">=3.8" files = [ - {file = "fastapi-0.95.2-py3-none-any.whl", hash = "sha256:d374dbc4ef2ad9b803899bd3360d34c534adc574546e25314ab72c0c4411749f"}, - {file = "fastapi-0.95.2.tar.gz", hash = "sha256:4d9d3e8c71c73f11874bcf5e33626258d143252e329a01002f767306c64fb982"}, + {file = "fastapi_cli-0.0.4-py3-none-any.whl", hash = "sha256:a2552f3a7ae64058cdbb530be6fa6dbfc975dc165e4fa66d224c3d396e25e809"}, + {file = "fastapi_cli-0.0.4.tar.gz", hash = "sha256:e2e9ffaffc1f7767f488d6da34b6f5a377751c996f397902eb6abb99a67bde32"}, ] [package.dependencies] -pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" -starlette = ">=0.27.0,<0.28.0" +typer = ">=0.12.3" [package.extras] -all = ["email-validator (>=1.1.1)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] -dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>=0.12.0,<0.21.0)"] -doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer-cli (>=0.0.13,<0.0.14)", "typer[all] (>=0.6.1,<0.8.0)"] -test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.7)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.7.0.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"] +standard = ["fastapi", "uvicorn[standard] (>=0.15.0)"] [[package]] name = "filelock" -version = "3.12.4" +version = "3.15.4" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.12.4-py3-none-any.whl", hash = "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4"}, - {file = "filelock-3.12.4.tar.gz", hash = "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"}, + {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, + {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] -typing = ["typing-extensions (>=4.7.1)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] +typing = ["typing-extensions (>=4.8)"] [[package]] -name = "geojson-rewind" -version = "1.0.3" -description = "A Python library for enforcing polygon ring winding order in GeoJSON" +name = "frozendict" +version = "2.4.4" +description = "A simple immutable dictionary" optional = false -python-versions = ">=3.6,<4.0" +python-versions = ">=3.6" files = [ - {file = "geojson-rewind-1.0.3.tar.gz", hash = "sha256:f9a0972992f20c863aa44f6f486dbb200ce3b95491aa92f35c51857353985d01"}, - {file = "geojson_rewind-1.0.3-py3-none-any.whl", hash = "sha256:66d411c2ecbf8e7ad53d9fc62d92ba7a8f6fb033755eb7f9f3d822afff71b2b4"}, + {file = "frozendict-2.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4a59578d47b3949437519b5c39a016a6116b9e787bb19289e333faae81462e59"}, + {file = "frozendict-2.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12a342e439aef28ccec533f0253ea53d75fe9102bd6ea928ff530e76eac38906"}, + {file = "frozendict-2.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f79c26dff10ce11dad3b3627c89bb2e87b9dd5958c2b24325f16a23019b8b94"}, + {file = "frozendict-2.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2bd009cf4fc47972838a91e9b83654dc9a095dc4f2bb3a37c3f3124c8a364543"}, + {file = "frozendict-2.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:87ebcde21565a14fe039672c25550060d6f6d88cf1f339beac094c3b10004eb0"}, + {file = "frozendict-2.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:fefeb700bc7eb8b4c2dc48704e4221860d254c8989fb53488540bc44e44a1ac2"}, + {file = "frozendict-2.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:4297d694eb600efa429769125a6f910ec02b85606f22f178bafbee309e7d3ec7"}, + {file = "frozendict-2.4.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:812ab17522ba13637826e65454115a914c2da538356e85f43ecea069813e4b33"}, + {file = "frozendict-2.4.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fee9420475bb6ff357000092aa9990c2f6182b2bab15764330f4ad7de2eae49"}, + {file = "frozendict-2.4.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3148062675536724502c6344d7c485dd4667fdf7980ca9bd05e338ccc0c4471e"}, + {file = "frozendict-2.4.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:78c94991944dd33c5376f720228e5b252ee67faf3bac50ef381adc9e51e90d9d"}, + {file = "frozendict-2.4.4-cp36-cp36m-win_amd64.whl", hash = "sha256:1697793b5f62b416c0fc1d94638ec91ed3aa4ab277f6affa3a95216ecb3af170"}, + {file = "frozendict-2.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:199a4d32194f3afed6258de7e317054155bc9519252b568d9cfffde7e4d834e5"}, + {file = "frozendict-2.4.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85375ec6e979e6373bffb4f54576a68bf7497c350861d20686ccae38aab69c0a"}, + {file = "frozendict-2.4.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2d8536e068d6bf281f23fa835ac07747fb0f8851879dd189e9709f9567408b4d"}, + {file = "frozendict-2.4.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:259528ba6b56fa051bc996f1c4d8b57e30d6dd3bc2f27441891b04babc4b5e73"}, + {file = "frozendict-2.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:07c3a5dee8bbb84cba770e273cdbf2c87c8e035903af8f781292d72583416801"}, + {file = "frozendict-2.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6874fec816b37b6eb5795b00e0574cba261bf59723e2de607a195d5edaff0786"}, + {file = "frozendict-2.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8f92425686323a950337da4b75b4c17a3327b831df8c881df24038d560640d4"}, + {file = "frozendict-2.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d58d9a8d9e49662c6dafbea5e641f97decdb3d6ccd76e55e79818415362ba25"}, + {file = "frozendict-2.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:93a7b19afb429cbf99d56faf436b45ef2fa8fe9aca89c49eb1610c3bd85f1760"}, + {file = "frozendict-2.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2b70b431e3a72d410a2cdf1497b3aba2f553635e0c0f657ce311d841bf8273b6"}, + {file = "frozendict-2.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:e1b941132d79ce72d562a13341d38fc217bc1ee24d8c35a20d754e79ff99e038"}, + {file = "frozendict-2.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc2228874eacae390e63fd4f2bb513b3144066a977dc192163c9f6c7f6de6474"}, + {file = "frozendict-2.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63aa49f1919af7d45fb8fd5dec4c0859bc09f46880bd6297c79bb2db2969b63d"}, + {file = "frozendict-2.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6bf9260018d653f3cab9bd147bd8592bf98a5c6e338be0491ced3c196c034a3"}, + {file = "frozendict-2.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6eb716e6a6d693c03b1d53280a1947716129f5ef9bcdd061db5c17dea44b80fe"}, + {file = "frozendict-2.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d13b4310db337f4d2103867c5a05090b22bc4d50ca842093779ef541ea9c9eea"}, + {file = "frozendict-2.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:b3b967d5065872e27b06f785a80c0ed0a45d1f7c9b85223da05358e734d858ca"}, + {file = "frozendict-2.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:4ae8d05c8d0b6134bfb6bfb369d5fa0c4df21eabb5ca7f645af95fdc6689678e"}, + {file = "frozendict-2.4.4-py311-none-any.whl", hash = "sha256:705efca8d74d3facbb6ace80ab3afdd28eb8a237bfb4063ed89996b024bc443d"}, + {file = "frozendict-2.4.4-py312-none-any.whl", hash = "sha256:d9647563e76adb05b7cde2172403123380871360a114f546b4ae1704510801e5"}, + {file = "frozendict-2.4.4.tar.gz", hash = "sha256:3f7c031b26e4ee6a3f786ceb5e3abf1181c4ade92dce1f847da26ea2c96008c7"}, ] [[package]] @@ -359,39 +484,88 @@ files = [ [[package]] name = "httpcore" -version = "0.18.0" +version = "1.0.5" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpcore-0.18.0-py3-none-any.whl", hash = "sha256:adc5398ee0a476567bf87467063ee63584a8bce86078bf748e48754f60202ced"}, - {file = "httpcore-0.18.0.tar.gz", hash = "sha256:13b5e5cd1dca1a6636a6aaea212b19f4f85cd88c366a2b82304181b769aab3c9"}, + {file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"}, + {file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"}, ] [package.dependencies] -anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = "==1.*" [package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.26.0)"] + +[[package]] +name = "httptools" +version = "0.6.1" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f"}, + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658"}, + {file = "httptools-0.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7a7ea483c1a4485c71cb5f38be9db078f8b0e8b4c4dc0210f531cdd2ddac1ef1"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85ed077c995e942b6f1b07583e4eb0a8d324d418954fc6af913d36db7c05a5a0"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b0bb634338334385351a1600a73e558ce619af390c2b38386206ac6a27fecfc"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d9ceb2c957320def533671fc9c715a80c47025139c8d1f3797477decbc6edd2"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4f0f8271c0a4db459f9dc807acd0eadd4839934a4b9b892f6f160e94da309837"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6a4f5ccead6d18ec072ac0b84420e95d27c1cdf5c9f1bc8fbd8daf86bd94f43d"}, + {file = "httptools-0.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:5cceac09f164bcba55c0500a18fe3c47df29b62353198e4f37bbcc5d591172c3"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:75c8022dca7935cba14741a42744eee13ba05db00b27a4b940f0d646bd4d56d0"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:48ed8129cd9a0d62cf4d1575fcf90fb37e3ff7d5654d3a5814eb3d55f36478c2"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f58e335a1402fb5a650e271e8c2d03cfa7cea46ae124649346d17bd30d59c90"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ad80d7176aa5788902f207a4e79885f0576134695dfb0fefc15b7a4648d503"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9bb68d3a085c2174c2477eb3ffe84ae9fb4fde8792edb7bcd09a1d8467e30a84"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b512aa728bc02354e5ac086ce76c3ce635b62f5fbc32ab7082b5e582d27867bb"}, + {file = "httptools-0.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:97662ce7fb196c785344d00d638fc9ad69e18ee4bfb4000b35a52efe5adcc949"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8e216a038d2d52ea13fdd9b9c9c7459fb80d78302b257828285eca1c773b99b3"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3e802e0b2378ade99cd666b5bffb8b2a7cc8f3d28988685dc300469ea8dd86cb"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd3e488b447046e386a30f07af05f9b38d3d368d1f7b4d8f7e10af85393db97"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe467eb086d80217b7584e61313ebadc8d187a4d95bb62031b7bab4b205c3ba3"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3c3b214ce057c54675b00108ac42bacf2ab8f85c58e3f324a4e963bbc46424f4"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8ae5b97f690badd2ca27cbf668494ee1b6d34cf1c464271ef7bfa9ca6b83ffaf"}, + {file = "httptools-0.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:405784577ba6540fa7d6ff49e37daf104e04f4b4ff2d1ac0469eaa6a20fde084"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:95fb92dd3649f9cb139e9c56604cc2d7c7bf0fc2e7c8d7fbd58f96e35eddd2a3"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dcbab042cc3ef272adc11220517278519adf8f53fd3056d0e68f0a6f891ba94e"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cf2372e98406efb42e93bfe10f2948e467edfd792b015f1b4ecd897903d3e8d"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:678fcbae74477a17d103b7cae78b74800d795d702083867ce160fc202104d0da"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e0b281cf5a125c35f7f6722b65d8542d2e57331be573e9e88bc8b0115c4a7a81"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:95658c342529bba4e1d3d2b1a874db16c7cca435e8827422154c9da76ac4e13a"}, + {file = "httptools-0.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ebaec1bf683e4bf5e9fbb49b8cc36da482033596a415b3e4ebab5a4c0d7ec5e"}, + {file = "httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"}, +] + +[package.extras] +test = ["Cython (>=0.29.24,<0.30.0)"] [[package]] name = "httpx" -version = "0.25.0" +version = "0.27.0" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.25.0-py3-none-any.whl", hash = "sha256:181ea7f8ba3a82578be86ef4171554dd45fec26a02556a744db029a0a27b7100"}, - {file = "httpx-0.25.0.tar.gz", hash = "sha256:47ecda285389cb32bb2691cc6e069e3ab0205956f681c5b2ad2325719751d875"}, + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, ] [package.dependencies] +anyio = "*" certifi = "*" -httpcore = ">=0.18.0,<0.19.0" +httpcore = "==1.*" idna = "*" sniffio = "*" @@ -403,13 +577,13 @@ socks = ["socksio (==1.*)"] [[package]] name = "identify" -version = "2.5.28" +version = "2.5.36" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.28-py2.py3-none-any.whl", hash = "sha256:87816de144bf46d161bd5b3e8f5596b16cade3b80be537087334b26bc5c177f3"}, - {file = "identify-2.5.28.tar.gz", hash = "sha256:94bb59643083ebd60dc996d043497479ee554381fbc5307763915cda49b0e78f"}, + {file = "identify-2.5.36-py2.py3-none-any.whl", hash = "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa"}, + {file = "identify-2.5.36.tar.gz", hash = "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d"}, ] [package.extras] @@ -417,13 +591,13 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.4" +version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] [[package]] @@ -453,13 +627,13 @@ six = "*" [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -468,6 +642,164 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "lxml" +version = "5.2.2" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +optional = false +python-versions = ">=3.6" +files = [ + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:364d03207f3e603922d0d3932ef363d55bbf48e3647395765f9bfcbdf6d23632"}, + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50127c186f191b8917ea2fb8b206fbebe87fd414a6084d15568c27d0a21d60db"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74e4f025ef3db1c6da4460dd27c118d8cd136d0391da4e387a15e48e5c975147"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981a06a3076997adf7c743dcd0d7a0415582661e2517c7d961493572e909aa1d"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aef5474d913d3b05e613906ba4090433c515e13ea49c837aca18bde190853dff"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e275ea572389e41e8b039ac076a46cb87ee6b8542df3fff26f5baab43713bca"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5b65529bb2f21ac7861a0e94fdbf5dc0daab41497d18223b46ee8515e5ad297"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bcc98f911f10278d1daf14b87d65325851a1d29153caaf146877ec37031d5f36"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:b47633251727c8fe279f34025844b3b3a3e40cd1b198356d003aa146258d13a2"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:fbc9d316552f9ef7bba39f4edfad4a734d3d6f93341232a9dddadec4f15d425f"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:13e69be35391ce72712184f69000cda04fc89689429179bc4c0ae5f0b7a8c21b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b6a30a9ab040b3f545b697cb3adbf3696c05a3a68aad172e3fd7ca73ab3c835"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a233bb68625a85126ac9f1fc66d24337d6e8a0f9207b688eec2e7c880f012ec0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dfa7c241073d8f2b8e8dbc7803c434f57dbb83ae2a3d7892dd068d99e96efe2c"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a7aca7964ac4bb07680d5c9d63b9d7028cace3e2d43175cb50bba8c5ad33316"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae4073a60ab98529ab8a72ebf429f2a8cc612619a8c04e08bed27450d52103c0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ffb2be176fed4457e445fe540617f0252a72a8bc56208fd65a690fdb1f57660b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e290d79a4107d7d794634ce3e985b9ae4f920380a813717adf61804904dc4393"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96e85aa09274955bb6bd483eaf5b12abadade01010478154b0ec70284c1b1526"}, + {file = "lxml-5.2.2-cp310-cp310-win32.whl", hash = "sha256:f956196ef61369f1685d14dad80611488d8dc1ef00be57c0c5a03064005b0f30"}, + {file = "lxml-5.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:875a3f90d7eb5c5d77e529080d95140eacb3c6d13ad5b616ee8095447b1d22e7"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45f9494613160d0405682f9eee781c7e6d1bf45f819654eb249f8f46a2c22545"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0b3f2df149efb242cee2ffdeb6674b7f30d23c9a7af26595099afaf46ef4e88"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d28cb356f119a437cc58a13f8135ab8a4c8ece18159eb9194b0d269ec4e28083"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a972f46bbefdbba2d4f14413c0d079f9ae243bd68193cb5061b9732fa54c1"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b9ea10063efb77a965a8d5f4182806fbf59ed068b3c3fd6f30d2ac7bee734"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07542787f86112d46d07d4f3c4e7c760282011b354d012dc4141cc12a68cef5f"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2eb2227ce1ff998faf0cd7fe85bbf086aa41dfc5af3b1d80867ecfe75fb68df3"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:1d8a701774dfc42a2f0b8ccdfe7dbc140500d1049e0632a611985d943fcf12df"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:56793b7a1a091a7c286b5f4aa1fe4ae5d1446fe742d00cdf2ffb1077865db10d"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a2569a1f15ae6c8c64108a2cd2b4a858fc1e13d25846be0666fc144715e32ab"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:8cf85a6e40ff1f37fe0f25719aadf443686b1ac7652593dc53c7ef9b8492b115"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d237ba6664b8e60fd90b8549a149a74fcc675272e0e95539a00522e4ca688b04"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0b3f5016e00ae7630a4b83d0868fca1e3d494c78a75b1c7252606a3a1c5fc2ad"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23441e2b5339bc54dc949e9e675fa35efe858108404ef9aa92f0456929ef6fe8"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb0ba3e8566548d6c8e7dd82a8229ff47bd8fb8c2da237607ac8e5a1b8312e5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:79d1fb9252e7e2cfe4de6e9a6610c7cbb99b9708e2c3e29057f487de5a9eaefa"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6dcc3d17eac1df7859ae01202e9bb11ffa8c98949dcbeb1069c8b9a75917e01b"}, + {file = "lxml-5.2.2-cp311-cp311-win32.whl", hash = "sha256:4c30a2f83677876465f44c018830f608fa3c6a8a466eb223535035fbc16f3438"}, + {file = "lxml-5.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:49095a38eb333aaf44c06052fd2ec3b8f23e19747ca7ec6f6c954ffea6dbf7be"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:50ccb5d355961c0f12f6cf24b7187dbabd5433f29e15147a67995474f27d1776"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc911208b18842a3a57266d8e51fc3cfaccee90a5351b92079beed912a7914c2"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33ce9e786753743159799fdf8e92a5da351158c4bfb6f2db0bf31e7892a1feb5"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec87c44f619380878bd49ca109669c9f221d9ae6883a5bcb3616785fa8f94c97"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08ea0f606808354eb8f2dfaac095963cb25d9d28e27edcc375d7b30ab01abbf6"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a9632f1d4f698b2e6e2e1ada40e71f369b15d69baddb8968dcc8e683839b18"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74da9f97daec6928567b48c90ea2c82a106b2d500f397eeb8941e47d30b1ca85"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:0969e92af09c5687d769731e3f39ed62427cc72176cebb54b7a9d52cc4fa3b73"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:9164361769b6ca7769079f4d426a41df6164879f7f3568be9086e15baca61466"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab67ed772c584b7ef2379797bf14b82df9aa5f7438c5b9a09624dd834c1c1aaf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3d1e35572a56941b32c239774d7e9ad724074d37f90c7a7d499ab98761bd80cf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:8268cbcd48c5375f46e000adb1390572c98879eb4f77910c6053d25cc3ac2c67"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e282aedd63c639c07c3857097fc0e236f984ceb4089a8b284da1c526491e3f3d"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfdc2bfe69e9adf0df4915949c22a25b39d175d599bf98e7ddf620a13678585"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4aefd911793b5d2d7a921233a54c90329bf3d4a6817dc465f12ffdfe4fc7b8fe"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8df03a9e995b6211dafa63b32f9d405881518ff1ddd775db4e7b98fb545e1c"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f11ae142f3a322d44513de1018b50f474f8f736bc3cd91d969f464b5bfef8836"}, + {file = "lxml-5.2.2-cp312-cp312-win32.whl", hash = "sha256:16a8326e51fcdffc886294c1e70b11ddccec836516a343f9ed0f82aac043c24a"}, + {file = "lxml-5.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:bbc4b80af581e18568ff07f6395c02114d05f4865c2812a1f02f2eaecf0bfd48"}, + {file = "lxml-5.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3d9d13603410b72787579769469af730c38f2f25505573a5888a94b62b920f8"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38b67afb0a06b8575948641c1d6d68e41b83a3abeae2ca9eed2ac59892b36706"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c689d0d5381f56de7bd6966a4541bff6e08bf8d3871bbd89a0c6ab18aa699573"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:cf2a978c795b54c539f47964ec05e35c05bd045db5ca1e8366988c7f2fe6b3ce"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:739e36ef7412b2bd940f75b278749106e6d025e40027c0b94a17ef7968d55d56"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d8bbcd21769594dbba9c37d3c819e2d5847656ca99c747ddb31ac1701d0c0ed9"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:2304d3c93f2258ccf2cf7a6ba8c761d76ef84948d87bf9664e14d203da2cd264"}, + {file = "lxml-5.2.2-cp36-cp36m-win32.whl", hash = "sha256:02437fb7308386867c8b7b0e5bc4cd4b04548b1c5d089ffb8e7b31009b961dc3"}, + {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, + {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, + {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, + {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, + {file = "lxml-5.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ed07b3062b055d7a7f9d6557a251cc655eed0b3152b76de619516621c56f5d3"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f60fdd125d85bf9c279ffb8e94c78c51b3b6a37711464e1f5f31078b45002421"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7e24cb69ee5f32e003f50e016d5fde438010c1022c96738b04fc2423e61706"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23cfafd56887eaed93d07bc4547abd5e09d837a002b791e9767765492a75883f"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19b4e485cd07b7d83e3fe3b72132e7df70bfac22b14fe4bf7a23822c3a35bff5"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7ce7ad8abebe737ad6143d9d3bf94b88b93365ea30a5b81f6877ec9c0dee0a48"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e49b052b768bb74f58c7dda4e0bdf7b79d43a9204ca584ffe1fb48a6f3c84c66"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d14a0d029a4e176795cef99c056d58067c06195e0c7e2dbb293bf95c08f772a3"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:be49ad33819d7dcc28a309b86d4ed98e1a65f3075c6acd3cd4fe32103235222b"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a6d17e0370d2516d5bb9062c7b4cb731cff921fc875644c3d751ad857ba9c5b1"}, + {file = "lxml-5.2.2-cp38-cp38-win32.whl", hash = "sha256:5b8c041b6265e08eac8a724b74b655404070b636a8dd6d7a13c3adc07882ef30"}, + {file = "lxml-5.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:f61efaf4bed1cc0860e567d2ecb2363974d414f7f1f124b1df368bbf183453a6"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fb91819461b1b56d06fa4bcf86617fac795f6a99d12239fb0c68dbeba41a0a30"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d4ed0c7cbecde7194cd3228c044e86bf73e30a23505af852857c09c24e77ec5d"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54401c77a63cc7d6dc4b4e173bb484f28a5607f3df71484709fe037c92d4f0ed"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:625e3ef310e7fa3a761d48ca7ea1f9d8718a32b1542e727d584d82f4453d5eeb"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:519895c99c815a1a24a926d5b60627ce5ea48e9f639a5cd328bda0515ea0f10c"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7079d5eb1c1315a858bbf180000757db8ad904a89476653232db835c3114001"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:343ab62e9ca78094f2306aefed67dcfad61c4683f87eee48ff2fd74902447726"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:cd9e78285da6c9ba2d5c769628f43ef66d96ac3085e59b10ad4f3707980710d3"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:546cf886f6242dff9ec206331209db9c8e1643ae642dea5fdbecae2453cb50fd"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:02f6a8eb6512fdc2fd4ca10a49c341c4e109aa6e9448cc4859af5b949622715a"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:339ee4a4704bc724757cd5dd9dc8cf4d00980f5d3e6e06d5847c1b594ace68ab"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0a028b61a2e357ace98b1615fc03f76eb517cc028993964fe08ad514b1e8892d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f90e552ecbad426eab352e7b2933091f2be77115bb16f09f78404861c8322981"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d83e2d94b69bf31ead2fa45f0acdef0757fa0458a129734f59f67f3d2eb7ef32"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a02d3c48f9bb1e10c7788d92c0c7db6f2002d024ab6e74d6f45ae33e3d0288a3"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d68ce8e7b2075390e8ac1e1d3a99e8b6372c694bbe612632606d1d546794207"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:453d037e09a5176d92ec0fd282e934ed26d806331a8b70ab431a81e2fbabf56d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:3b019d4ee84b683342af793b56bb35034bd749e4cbdd3d33f7d1107790f8c472"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb3942960f0beb9f46e2a71a3aca220d1ca32feb5a398656be934320804c0df9"}, + {file = "lxml-5.2.2-cp39-cp39-win32.whl", hash = "sha256:ac6540c9fff6e3813d29d0403ee7a81897f1d8ecc09a8ff84d2eea70ede1cdbf"}, + {file = "lxml-5.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:610b5c77428a50269f38a534057444c249976433f40f53e3b47e68349cca1425"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b537bd04d7ccd7c6350cdaaaad911f6312cbd61e6e6045542f781c7f8b2e99d2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4820c02195d6dfb7b8508ff276752f6b2ff8b64ae5d13ebe02e7667e035000b9"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a09f6184f17a80897172863a655467da2b11151ec98ba8d7af89f17bf63dae"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76acba4c66c47d27c8365e7c10b3d8016a7da83d3191d053a58382311a8bf4e1"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b128092c927eaf485928cec0c28f6b8bead277e28acf56800e972aa2c2abd7a2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ae791f6bd43305aade8c0e22f816b34f3b72b6c820477aab4d18473a37e8090b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2f6a1bc2460e643785a2cde17293bd7a8f990884b822f7bca47bee0a82fc66b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e8d351ff44c1638cb6e980623d517abd9f580d2e53bfcd18d8941c052a5a009"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bec4bd9133420c5c52d562469c754f27c5c9e36ee06abc169612c959bd7dbb07"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:55ce6b6d803890bd3cc89975fca9de1dff39729b43b73cb15ddd933b8bc20484"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ab6a358d1286498d80fe67bd3d69fcbc7d1359b45b41e74c4a26964ca99c3f8"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:06668e39e1f3c065349c51ac27ae430719d7806c026fec462e5693b08b95696b"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9cd5323344d8ebb9fb5e96da5de5ad4ebab993bbf51674259dbe9d7a18049525"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89feb82ca055af0fe797a2323ec9043b26bc371365847dbe83c7fd2e2f181c34"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e481bba1e11ba585fb06db666bfc23dbe181dbafc7b25776156120bf12e0d5a6"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d6c6ea6a11ca0ff9cd0390b885984ed31157c168565702959c25e2191674a14"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3d98de734abee23e61f6b8c2e08a88453ada7d6486dc7cdc82922a03968928db"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:69ab77a1373f1e7563e0fb5a29a8440367dec051da6c7405333699d07444f511"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34e17913c431f5ae01d8658dbf792fdc457073dcdfbb31dc0cc6ab256e664a8d"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f8757b03208c3f50097761be2dea0aba02e94f0dc7023ed73a7bb14ff11eb0"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a520b4f9974b0a0a6ed73c2154de57cdfd0c8800f4f15ab2b73238ffed0b36e"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5e097646944b66207023bc3c634827de858aebc226d5d4d6d16f0b77566ea182"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b5e4ef22ff25bfd4ede5f8fb30f7b24446345f3e79d9b7455aef2836437bc38a"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff69a9a0b4b17d78170c73abe2ab12084bdf1691550c5629ad1fe7849433f324"}, + {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html-clean = ["lxml-html-clean"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=3.0.10)"] + [[package]] name = "markdown-it-py" version = "3.0.0" @@ -494,71 +826,71 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -585,27 +917,133 @@ files = [ [[package]] name = "nodeenv" -version = "1.8.0" +version = "1.9.1" description = "Node.js virtual environment builder" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, - {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, ] -[package.dependencies] -setuptools = "*" +[[package]] +name = "numpy" +version = "2.0.0" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f"}, + {file = "numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2"}, + {file = "numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238"}, + {file = "numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514"}, + {file = "numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196"}, + {file = "numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1"}, + {file = "numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc"}, + {file = "numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787"}, + {file = "numpy-2.0.0-cp310-cp310-win32.whl", hash = "sha256:cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98"}, + {file = "numpy-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b"}, + {file = "numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5"}, + {file = "numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289"}, + {file = "numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609"}, + {file = "numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871"}, + {file = "numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4"}, + {file = "numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581"}, + {file = "numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995"}, + {file = "numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f"}, + {file = "numpy-2.0.0-cp311-cp311-win32.whl", hash = "sha256:2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f"}, + {file = "numpy-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c"}, + {file = "numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f"}, + {file = "numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85"}, + {file = "numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2"}, + {file = "numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e"}, + {file = "numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2"}, + {file = "numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a"}, + {file = "numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95"}, + {file = "numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9"}, + {file = "numpy-2.0.0-cp312-cp312-win32.whl", hash = "sha256:c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54"}, + {file = "numpy-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df"}, + {file = "numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de"}, + {file = "numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb"}, + {file = "numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f"}, + {file = "numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86"}, + {file = "numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a"}, + {file = "numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d"}, + {file = "numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4"}, + {file = "numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44"}, + {file = "numpy-2.0.0-cp39-cp39-win32.whl", hash = "sha256:63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275"}, + {file = "numpy-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65"}, + {file = "numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6"}, + {file = "numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a"}, + {file = "numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad"}, + {file = "numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9"}, + {file = "numpy-2.0.0.tar.gz", hash = "sha256:cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864"}, +] + +[[package]] +name = "orjson" +version = "3.10.5" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.10.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:545d493c1f560d5ccfc134803ceb8955a14c3fcb47bbb4b2fee0232646d0b932"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4324929c2dd917598212bfd554757feca3e5e0fa60da08be11b4aa8b90013c1"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c13ca5e2ddded0ce6a927ea5a9f27cae77eee4c75547b4297252cb20c4d30e6"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b6c8e30adfa52c025f042a87f450a6b9ea29649d828e0fec4858ed5e6caecf63"}, + {file = "orjson-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:338fd4f071b242f26e9ca802f443edc588fa4ab60bfa81f38beaedf42eda226c"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6970ed7a3126cfed873c5d21ece1cd5d6f83ca6c9afb71bbae21a0b034588d96"}, + {file = "orjson-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:235dadefb793ad12f7fa11e98a480db1f7c6469ff9e3da5e73c7809c700d746b"}, + {file = "orjson-3.10.5-cp310-none-win32.whl", hash = "sha256:be79e2393679eda6a590638abda16d167754393f5d0850dcbca2d0c3735cebe2"}, + {file = "orjson-3.10.5-cp310-none-win_amd64.whl", hash = "sha256:c4a65310ccb5c9910c47b078ba78e2787cb3878cdded1702ac3d0da71ddc5228"}, + {file = "orjson-3.10.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cdf7365063e80899ae3a697def1277c17a7df7ccfc979990a403dfe77bb54d40"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b68742c469745d0e6ca5724506858f75e2f1e5b59a4315861f9e2b1df77775a"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7d10cc1b594951522e35a3463da19e899abe6ca95f3c84c69e9e901e0bd93d38"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcbe82b35d1ac43b0d84072408330fd3295c2896973112d495e7234f7e3da2e1"}, + {file = "orjson-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c0eb7e0c75e1e486c7563fe231b40fdd658a035ae125c6ba651ca3b07936f5"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:53ed1c879b10de56f35daf06dbc4a0d9a5db98f6ee853c2dbd3ee9d13e6f302f"}, + {file = "orjson-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:099e81a5975237fda3100f918839af95f42f981447ba8f47adb7b6a3cdb078fa"}, + {file = "orjson-3.10.5-cp311-none-win32.whl", hash = "sha256:1146bf85ea37ac421594107195db8bc77104f74bc83e8ee21a2e58596bfb2f04"}, + {file = "orjson-3.10.5-cp311-none-win_amd64.whl", hash = "sha256:36a10f43c5f3a55c2f680efe07aa93ef4a342d2960dd2b1b7ea2dd764fe4a37c"}, + {file = "orjson-3.10.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:68f85ecae7af14a585a563ac741b0547a3f291de81cd1e20903e79f25170458f"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28afa96f496474ce60d3340fe8d9a263aa93ea01201cd2bad844c45cd21f5268"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cd684927af3e11b6e754df80b9ffafd9fb6adcaa9d3e8fdd5891be5a5cad51e"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d21b9983da032505f7050795e98b5d9eee0df903258951566ecc358f6696969"}, + {file = "orjson-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ad1de7fef79736dde8c3554e75361ec351158a906d747bd901a52a5c9c8d24b"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2d97531cdfe9bdd76d492e69800afd97e5930cb0da6a825646667b2c6c6c0211"}, + {file = "orjson-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d69858c32f09c3e1ce44b617b3ebba1aba030e777000ebdf72b0d8e365d0b2b3"}, + {file = "orjson-3.10.5-cp312-none-win32.whl", hash = "sha256:64c9cc089f127e5875901ac05e5c25aa13cfa5dbbbd9602bda51e5c611d6e3e2"}, + {file = "orjson-3.10.5-cp312-none-win_amd64.whl", hash = "sha256:b2efbd67feff8c1f7728937c0d7f6ca8c25ec81373dc8db4ef394c1d93d13dc5"}, + {file = "orjson-3.10.5-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:03b565c3b93f5d6e001db48b747d31ea3819b89abf041ee10ac6988886d18e01"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584c902ec19ab7928fd5add1783c909094cc53f31ac7acfada817b0847975f26"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a35455cc0b0b3a1eaf67224035f5388591ec72b9b6136d66b49a553ce9eb1e6"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1670fe88b116c2745a3a30b0f099b699a02bb3482c2591514baf5433819e4f4d"}, + {file = "orjson-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:185c394ef45b18b9a7d8e8f333606e2e8194a50c6e3c664215aae8cf42c5385e"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ca0b3a94ac8d3886c9581b9f9de3ce858263865fdaa383fbc31c310b9eac07c9"}, + {file = "orjson-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dfc91d4720d48e2a709e9c368d5125b4b5899dced34b5400c3837dadc7d6271b"}, + {file = "orjson-3.10.5-cp38-none-win32.whl", hash = "sha256:c05f16701ab2a4ca146d0bca950af254cb7c02f3c01fca8efbbad82d23b3d9d4"}, + {file = "orjson-3.10.5-cp38-none-win_amd64.whl", hash = "sha256:8a11d459338f96a9aa7f232ba95679fc0c7cedbd1b990d736467894210205c09"}, + {file = "orjson-3.10.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:85c89131d7b3218db1b24c4abecea92fd6c7f9fab87441cfc342d3acc725d807"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66215277a230c456f9038d5e2d84778141643207f85336ef8d2a9da26bd7ca"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:51bbcdea96cdefa4a9b4461e690c75ad4e33796530d182bdd5c38980202c134a"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbead71dbe65f959b7bd8cf91e0e11d5338033eba34c114f69078d59827ee139"}, + {file = "orjson-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df58d206e78c40da118a8c14fc189207fffdcb1f21b3b4c9c0c18e839b5a214"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c4057c3b511bb8aef605616bd3f1f002a697c7e4da6adf095ca5b84c0fd43595"}, + {file = "orjson-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b39e006b00c57125ab974362e740c14a0c6a66ff695bff44615dcf4a70ce2b86"}, + {file = "orjson-3.10.5-cp39-none-win32.whl", hash = "sha256:eded5138cc565a9d618e111c6d5c2547bbdd951114eb822f7f6309e04db0fb47"}, + {file = "orjson-3.10.5-cp39-none-win_amd64.whl", hash = "sha256:cc28e90a7cae7fcba2493953cff61da5a52950e78dc2dacfe931a317ee3d8de7"}, + {file = "orjson-3.10.5.tar.gz", hash = "sha256:7a5baef8a4284405d96c90c7c62b755e9ef1ada84c2406c24a9ebec86b89f46d"}, +] [[package]] name = "oxrdflib" -version = "0.3.6" +version = "0.3.7" description = "rdflib stores based on pyoxigraph" optional = false python-versions = ">=3.7" files = [ - {file = "oxrdflib-0.3.6-py3-none-any.whl", hash = "sha256:a645a3e5ba86e0c8ff33f6429ca623fe01d93d30234c8f2ad1f553636b4b756a"}, - {file = "oxrdflib-0.3.6.tar.gz", hash = "sha256:50f675773b87dd656f1753e24bf3b92fde06ad9ae7e8c95629a7593521d0aa06"}, + {file = "oxrdflib-0.3.7-py3-none-any.whl", hash = "sha256:02df9dc5f77fcabfe2a69c1c24046cd36eb7db0239a9a15f02bd5d64c8010de5"}, + {file = "oxrdflib-0.3.7.tar.gz", hash = "sha256:601b48d784ba2c1bb869d808f73184ea1dfdb320dce101eebacd3f62e1de72d0"}, ] [package.dependencies] @@ -614,50 +1052,51 @@ rdflib = ">=6.3,<8.0" [[package]] name = "packaging" -version = "23.1" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "platformdirs" -version = "3.10.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] @@ -684,69 +1123,180 @@ virtualenv = ">=20.10.0" [[package]] name = "pydantic" -version = "1.10.12" -description = "Data validation and settings management using python type hints" +version = "2.8.0" +description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "pydantic-2.8.0-py3-none-any.whl", hash = "sha256:ead4f3a1e92386a734ca1411cb25d94147cf8778ed5be6b56749047676d6364e"}, + {file = "pydantic-2.8.0.tar.gz", hash = "sha256:d970ffb9d030b710795878940bd0489842c638e7252fc4a19c3ae2f7da4d6141"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.20.0" +typing-extensions = [ + {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, + {version = ">=4.6.1", markers = "python_version < \"3.13\""}, +] + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.20.0" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:e9dcd7fb34f7bfb239b5fa420033642fff0ad676b765559c3737b91f664d4fa9"}, + {file = "pydantic_core-2.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:649a764d9b0da29816889424697b2a3746963ad36d3e0968784ceed6e40c6355"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7701df088d0b05f3460f7ba15aec81ac8b0fb5690367dfd072a6c38cf5b7fdb5"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ab760f17c3e792225cdaef31ca23c0aea45c14ce80d8eff62503f86a5ab76bff"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb1ad5b4d73cde784cf64580166568074f5ccd2548d765e690546cff3d80937d"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b81ec2efc04fc1dbf400647d4357d64fb25543bae38d2d19787d69360aad21c9"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4a9732a5cad764ba37f3aa873dccb41b584f69c347a57323eda0930deec8e10"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6dc85b9e10cc21d9c1055f15684f76fa4facadddcb6cd63abab702eb93c98943"}, + {file = "pydantic_core-2.20.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:21d9f7e24f63fdc7118e6cc49defaab8c1d27570782f7e5256169d77498cf7c7"}, + {file = "pydantic_core-2.20.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8b315685832ab9287e6124b5d74fc12dda31e6421d7f6b08525791452844bc2d"}, + {file = "pydantic_core-2.20.0-cp310-none-win32.whl", hash = "sha256:c3dc8ec8b87c7ad534c75b8855168a08a7036fdb9deeeed5705ba9410721c84d"}, + {file = "pydantic_core-2.20.0-cp310-none-win_amd64.whl", hash = "sha256:85770b4b37bb36ef93a6122601795231225641003e0318d23c6233c59b424279"}, + {file = "pydantic_core-2.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:58e251bb5a5998f7226dc90b0b753eeffa720bd66664eba51927c2a7a2d5f32c"}, + {file = "pydantic_core-2.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:78d584caac52c24240ef9ecd75de64c760bbd0e20dbf6973631815e3ef16ef8b"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5084ec9721f82bef5ff7c4d1ee65e1626783abb585f8c0993833490b63fe1792"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d0f52684868db7c218437d260e14d37948b094493f2646f22d3dda7229bbe3f"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1def125d59a87fe451212a72ab9ed34c118ff771e5473fef4f2f95d8ede26d75"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b34480fd6778ab356abf1e9086a4ced95002a1e195e8d2fd182b0def9d944d11"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d42669d319db366cb567c3b444f43caa7ffb779bf9530692c6f244fc635a41eb"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53b06aea7a48919a254b32107647be9128c066aaa6ee6d5d08222325f25ef175"}, + {file = "pydantic_core-2.20.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1f038156b696a1c39d763b2080aeefa87ddb4162c10aa9fabfefffc3dd8180fa"}, + {file = "pydantic_core-2.20.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3f0f3a4a23717280a5ee3ac4fb1f81d6fde604c9ec5100f7f6f987716bb8c137"}, + {file = "pydantic_core-2.20.0-cp311-none-win32.whl", hash = "sha256:316fe7c3fec017affd916a0c83d6f1ec697cbbbdf1124769fa73328e7907cc2e"}, + {file = "pydantic_core-2.20.0-cp311-none-win_amd64.whl", hash = "sha256:2d06a7fa437f93782e3f32d739c3ec189f82fca74336c08255f9e20cea1ed378"}, + {file = "pydantic_core-2.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d6f8c49657f3eb7720ed4c9b26624063da14937fc94d1812f1e04a2204db3e17"}, + {file = "pydantic_core-2.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad1bd2f377f56fec11d5cfd0977c30061cd19f4fa199bf138b200ec0d5e27eeb"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed741183719a5271f97d93bbcc45ed64619fa38068aaa6e90027d1d17e30dc8d"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d82e5ed3a05f2dcb89c6ead2fd0dbff7ac09bc02c1b4028ece2d3a3854d049ce"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2ba34a099576234671f2e4274e5bc6813b22e28778c216d680eabd0db3f7dad"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:879ae6bb08a063b3e1b7ac8c860096d8fd6b48dd9b2690b7f2738b8c835e744b"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b0eefc7633a04c0694340aad91fbfd1986fe1a1e0c63a22793ba40a18fcbdc8"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:73deadd6fd8a23e2f40b412b3ac617a112143c8989a4fe265050fd91ba5c0608"}, + {file = "pydantic_core-2.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:35681445dc85446fb105943d81ae7569aa7e89de80d1ca4ac3229e05c311bdb1"}, + {file = "pydantic_core-2.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0f6dd3612a3b9f91f2e63924ea18a4476656c6d01843ca20a4c09e00422195af"}, + {file = "pydantic_core-2.20.0-cp312-none-win32.whl", hash = "sha256:7e37b6bb6e90c2b8412b06373c6978d9d81e7199a40e24a6ef480e8acdeaf918"}, + {file = "pydantic_core-2.20.0-cp312-none-win_amd64.whl", hash = "sha256:7d4df13d1c55e84351fab51383520b84f490740a9f1fec905362aa64590b7a5d"}, + {file = "pydantic_core-2.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:d43e7ab3b65e4dc35a7612cfff7b0fd62dce5bc11a7cd198310b57f39847fd6c"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b6a24d7b5893392f2b8e3b7a0031ae3b14c6c1942a4615f0d8794fdeeefb08b"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b2f13c3e955a087c3ec86f97661d9f72a76e221281b2262956af381224cfc243"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72432fd6e868c8d0a6849869e004b8bcae233a3c56383954c228316694920b38"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d70a8ff2d4953afb4cbe6211f17268ad29c0b47e73d3372f40e7775904bc28fc"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e49524917b8d3c2f42cd0d2df61178e08e50f5f029f9af1f402b3ee64574392"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4f0f71653b1c1bad0350bc0b4cc057ab87b438ff18fa6392533811ebd01439c"}, + {file = "pydantic_core-2.20.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:16197e6f4fdecb9892ed2436e507e44f0a1aa2cff3b9306d1c879ea2f9200997"}, + {file = "pydantic_core-2.20.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:763602504bf640b3ded3bba3f8ed8a1cc2fc6a87b8d55c1c5689f428c49c947e"}, + {file = "pydantic_core-2.20.0-cp313-none-win32.whl", hash = "sha256:a3f243f318bd9523277fa123b3163f4c005a3e8619d4b867064de02f287a564d"}, + {file = "pydantic_core-2.20.0-cp313-none-win_amd64.whl", hash = "sha256:03aceaf6a5adaad3bec2233edc5a7905026553916615888e53154807e404545c"}, + {file = "pydantic_core-2.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d6f2d8b8da1f03f577243b07bbdd3412eee3d37d1f2fd71d1513cbc76a8c1239"}, + {file = "pydantic_core-2.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a272785a226869416c6b3c1b7e450506152d3844207331f02f27173562c917e0"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efbb412d55a4ffe73963fed95c09ccb83647ec63b711c4b3752be10a56f0090b"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1e4f46189d8740561b43655263a41aac75ff0388febcb2c9ec4f1b60a0ec12f3"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3df115f4a3c8c5e4d5acf067d399c6466d7e604fc9ee9acbe6f0c88a0c3cf"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a340d2bdebe819d08f605e9705ed551c3feb97e4fd71822d7147c1e4bdbb9508"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:616b9c2f882393d422ba11b40e72382fe975e806ad693095e9a3b67c59ea6150"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25c46bb2ff6084859bbcfdf4f1a63004b98e88b6d04053e8bf324e115398e9e7"}, + {file = "pydantic_core-2.20.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:23425eccef8f2c342f78d3a238c824623836c6c874d93c726673dbf7e56c78c0"}, + {file = "pydantic_core-2.20.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:52527e8f223ba29608d999d65b204676398009725007c9336651c2ec2d93cffc"}, + {file = "pydantic_core-2.20.0-cp38-none-win32.whl", hash = "sha256:1c3c5b7f70dd19a6845292b0775295ea81c61540f68671ae06bfe4421b3222c2"}, + {file = "pydantic_core-2.20.0-cp38-none-win_amd64.whl", hash = "sha256:8093473d7b9e908af1cef30025609afc8f5fd2a16ff07f97440fd911421e4432"}, + {file = "pydantic_core-2.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ee7785938e407418795e4399b2bf5b5f3cf6cf728077a7f26973220d58d885cf"}, + {file = "pydantic_core-2.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e75794883d635071cf6b4ed2a5d7a1e50672ab7a051454c76446ef1ebcdcc91"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:344e352c96e53b4f56b53d24728217c69399b8129c16789f70236083c6ceb2ac"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:978d4123ad1e605daf1ba5e01d4f235bcf7b6e340ef07e7122e8e9cfe3eb61ab"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c05eaf6c863781eb834ab41f5963604ab92855822a2062897958089d1335dad"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bc7e43b4a528ffca8c9151b6a2ca34482c2fdc05e6aa24a84b7f475c896fc51d"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:658287a29351166510ebbe0a75c373600cc4367a3d9337b964dada8d38bcc0f4"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1dacf660d6de692fe351e8c806e7efccf09ee5184865893afbe8e59be4920b4a"}, + {file = "pydantic_core-2.20.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3e147fc6e27b9a487320d78515c5f29798b539179f7777018cedf51b7749e4f4"}, + {file = "pydantic_core-2.20.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c867230d715a3dd1d962c8d9bef0d3168994ed663e21bf748b6e3a529a129aab"}, + {file = "pydantic_core-2.20.0-cp39-none-win32.whl", hash = "sha256:22b813baf0dbf612752d8143a2dbf8e33ccb850656b7850e009bad2e101fc377"}, + {file = "pydantic_core-2.20.0-cp39-none-win_amd64.whl", hash = "sha256:3a7235b46c1bbe201f09b6f0f5e6c36b16bad3d0532a10493742f91fbdc8035f"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cafde15a6f7feaec2f570646e2ffc5b73412295d29134a29067e70740ec6ee20"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2aec8eeea0b08fd6bc2213d8e86811a07491849fd3d79955b62d83e32fa2ad5f"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:840200827984f1c4e114008abc2f5ede362d6e11ed0b5931681884dd41852ff1"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8ea1d8b7df522e5ced34993c423c3bf3735c53df8b2a15688a2f03a7d678800"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5b8376a867047bf08910573deb95d3c8dfb976eb014ee24f3b5a61ccc5bee1b"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d08264b4460326cefacc179fc1411304d5af388a79910832835e6f641512358b"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7a3639011c2e8a9628466f616ed7fb413f30032b891898e10895a0a8b5857d6c"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05e83ce2f7eba29e627dd8066aa6c4c0269b2d4f889c0eba157233a353053cea"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:603a843fea76a595c8f661cd4da4d2281dff1e38c4a836a928eac1a2f8fe88e4"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac76f30d5d3454f4c28826d891fe74d25121a346c69523c9810ebba43f3b1cec"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e3b1d4b1b3f6082849f9b28427ef147a5b46a6132a3dbaf9ca1baa40c88609"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2761f71faed820e25ec62eacba670d1b5c2709bb131a19fcdbfbb09884593e5a"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a0586cddbf4380e24569b8a05f234e7305717cc8323f50114dfb2051fcbce2a3"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:b8c46a8cf53e849eea7090f331ae2202cd0f1ceb090b00f5902c423bd1e11805"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b4a085bd04af7245e140d1b95619fe8abb445a3d7fdf219b3f80c940853268ef"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:116b326ac82c8b315e7348390f6d30bcfe6e688a7d3f1de50ff7bcc2042a23c2"}, + {file = "pydantic_core-2.20.0.tar.gz", hash = "sha256:366be8e64e0cb63d87cf79b4e1765c0703dd6313c729b22e7b9e378db6b96877"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pydantic-settings" +version = "2.3.4" +description = "Settings management using Pydantic" +optional = false +python-versions = ">=3.8" files = [ - {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, - {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, - {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, - {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, - {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, - {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, - {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, - {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, - {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, - {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, + {file = "pydantic_settings-2.3.4-py3-none-any.whl", hash = "sha256:11ad8bacb68a045f00e4f862c7a718c8a9ec766aa8fd4c32e39a0594b207b53a"}, + {file = "pydantic_settings-2.3.4.tar.gz", hash = "sha256:c5802e3d62b78e82522319bbc9b8f8ffb28ad1c988a99311d04f2a6051fca0a7"}, ] [package.dependencies] -typing-extensions = ">=4.2.0" +pydantic = ">=2.7.0" +python-dotenv = ">=0.21.0" [package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] +toml = ["tomli (>=2.0.1)"] +yaml = ["pyyaml (>=6.0.1)"] [[package]] name = "pygments" -version = "2.16.1" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyld" +version = "2.0.4" +description = "Python implementation of the JSON-LD API" +optional = false +python-versions = "*" +files = [ + {file = "PyLD-2.0.4-py3-none-any.whl", hash = "sha256:6dab9905644616df33f8755489fc9b354ed7d832d387b7d1974b4fbd3b8d2a89"}, + {file = "PyLD-2.0.4.tar.gz", hash = "sha256:311e350f0dbc964311c79c28e86f84e195a81d06fef5a6f6ac2a4f6391ceeacc"}, +] + +[package.dependencies] +cachetools = "*" +frozendict = "*" +lxml = "*" + +[package.extras] +aiohttp = ["aiohttp"] +cachetools = ["cachetools"] +frozendict = ["frozendict"] +requests = ["requests"] [[package]] name = "pynvml" @@ -761,45 +1311,59 @@ files = [ [[package]] name = "pyoxigraph" -version = "0.3.19" +version = "0.3.22" description = "Python bindings of Oxigraph, a SPARQL database and RDF toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "pyoxigraph-0.3.19-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:334d2e8f39745a29536485aa7534bcc0e0bd500f541d7b04fdc95d84e5dffa84"}, - {file = "pyoxigraph-0.3.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04e85e37bfa47f5c0d5eb8f2b3d787799ace63c3e84229b7f6db007f3236c41c"}, - {file = "pyoxigraph-0.3.19-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56702be11132d4d8e933d26dc26dbdd1d5fdac6394a8b8bc67d81157a24346b4"}, - {file = "pyoxigraph-0.3.19-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82b66e4a9c7ce8137c003c0e2747141749a460910624583815f2a5cce95d8d20"}, - {file = "pyoxigraph-0.3.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0655dfbfb8946d4823956d9e82f53d21dd003fc69ac196ce317c502c58dc3c76"}, - {file = "pyoxigraph-0.3.19-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:41120a7455dc0547ccbdd6ddd14240eef85758a3d8bd3911b38ee5771643e004"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", hash = "sha256:aee5d8b5e05cba9d3ea8f7e65bcdff228cf200358e0e520c97acea1c6a338fc8"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-macosx_10_14_x86_64.whl", hash = "sha256:66244dffa3f97f49a2b27bf72faa9099a6b7d427711d71553432ef5abf1716f5"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:d3edd68f008bcdabeefe043370f069a6439a7ca8f12d026aef21a9fd1965373d"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0574bf57068bf191fab21dd92f9725c6f482471a845094e41d8563f3400a6f8"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41d3d2b785900e516b5c8218a614a08232cf4b32e29c3393fd0645775efb18"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:4586446a2389d6339fd1f1b04ed1d29843dcfcf86c0fef9523b92c7ed84b8acb"}, - {file = "pyoxigraph-0.3.19-cp37-abi3-win_amd64.whl", hash = "sha256:0a1e2f4f4d65c39d94b5bb0295f57d41915d990e2e31cb3847123a34a7114aaf"}, - {file = "pyoxigraph-0.3.19-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19f221ed944347f99a0eae61a4d967ea0e252f323e2016a4976676a39486fa37"}, - {file = "pyoxigraph-0.3.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc91fc3b5b6c2553f0baf3960c81ac92b888d0e4f8f1843f055ab5325fa68021"}, - {file = "pyoxigraph-0.3.19-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ad06f9ff107683a349abeca0691a6f96b4eff0038057ce8cc4a0abfb0ffb786a"}, - {file = "pyoxigraph-0.3.19-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0e859f766b89100e7805a7be3fe5cbf2d455dbeaddbbea1db478de6c046fa0f"}, - {file = "pyoxigraph-0.3.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a1db8df6e5f38518ab4fe527240be6aff35cb080a9920b53376c97ff51839ef"}, - {file = "pyoxigraph-0.3.19-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:251804732f9d9bf50c4fcc60ea181b26c9ae0e578f9658d0daee7d27c281b22d"}, - {file = "pyoxigraph-0.3.19-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fb0c1b67514e27f34c6d1803427fc1fd5b05754588f3814f9a1fc21c11912f"}, - {file = "pyoxigraph-0.3.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72420b1432c0cb3fc7139a3adf4a60d98509b83dc5d130596a52cf1162afadb"}, - {file = "pyoxigraph-0.3.19-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fd018bf318c9d9db175fb732c9a342c40867c5703b0d204b9c9856a1efa8fb32"}, - {file = "pyoxigraph-0.3.19.tar.gz", hash = "sha256:bd59af65c5203a359eb8603876a137831eaf044badf48c5942a24730bd3760e6"}, + {file = "pyoxigraph-0.3.22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49609d3c8d6637193872181e8f9d8b85ae304b3d944b1d50a2e363bd4d3ad878"}, + {file = "pyoxigraph-0.3.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb0a0f2bd4348e9b92fbb92c71f449b7e42f6ac6fb67ce5797cbd8ab3b673c86"}, + {file = "pyoxigraph-0.3.22-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5e9cd5931488feb3bdd189094a746d2d0c05c5364a2d93a1b748d2bb91145ab8"}, + {file = "pyoxigraph-0.3.22-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:95c43d3da6d43460368f0a5f4b497412b0d6509e55eb12245b0f173248118656"}, + {file = "pyoxigraph-0.3.22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9d466025962895e67a7c4a4ba303fe23a911f99d2158f5f53eb50f56949125f"}, + {file = "pyoxigraph-0.3.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90dc1e4010e2011c5440b7a3832153a14f52257e12a90a0d7fc6ed16e88a7961"}, + {file = "pyoxigraph-0.3.22-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:10c02f543fa83338e93308cad7868137ccadffc3330827deebac715333070091"}, + {file = "pyoxigraph-0.3.22-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:469039b1ed6a31fef59b8b6c2ef5c836dd147944aa7120b4f4e6db4fd5abf60a"}, + {file = "pyoxigraph-0.3.22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2baadd8dba65ff91bdcdf85e57d928806d94612b85da58d64526f0f1d5cd4df"}, + {file = "pyoxigraph-0.3.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f7e217e82e541f7df4697705c7cbfbd62e019c50786669647cb261445d75215"}, + {file = "pyoxigraph-0.3.22-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:963bc825e34d7238bffb942572ac0e59a6512e7d33ec8f898f495964a8dac1de"}, + {file = "pyoxigraph-0.3.22-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c99cd7d305a5f154d6fa7eca3a93b153ac94ad2a4aff6c404ec56db38d538ea4"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", hash = "sha256:32d5630c9fb3d7b819a25401b3afdbd01dbfc9624b1519d41216622fe3af52e6"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-macosx_10_14_x86_64.whl", hash = "sha256:6368f24bc236a6055171f4a80cb63b9ad76fcbdbcb4a3ef981eb6d86d8975c11"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:821e1103cf1e8f12d0738cf1b2625c8374758e33075ca67161ead3669f53e4cb"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630f1090d67d1199c86f358094289816e0c00a21000164cfe06499c8689f8b9e"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1aca511243209005da32470bbfec9e023ac31095bbeaa8cedabe0a652adce38c"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ab329df388865afa9a934f1eac2e75264b220962a21bbcded6cb7ead96d1f1dd"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:60b7f13331b91827e2edfa8633ffb7e3bfc8630b708578fb0bc8d43c76754f20"}, + {file = "pyoxigraph-0.3.22-cp37-abi3-win_amd64.whl", hash = "sha256:9a4ffd8ce28c3e8ce888662e0d9e9155e5226ecd8cd967f3c46391cf266c4c1d"}, + {file = "pyoxigraph-0.3.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4b8fde463e507c394f5b165a7a2571fd74028a8b343c161d81f63eb83a7d7c7"}, + {file = "pyoxigraph-0.3.22-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6ad3d8037af4ab5b1de75999fd2ba1b93becf24a9ee5e46ea0ee20a4efe270b"}, + {file = "pyoxigraph-0.3.22-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:26c229a061372b5c52f2b85f30fae028a69a8ba71654b402cc4099264d04ca58"}, + {file = "pyoxigraph-0.3.22-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9211b2a9d9f13875aec4acede8e1395ff617d64ac7cff0f80cbaf4c08fc8b648"}, + {file = "pyoxigraph-0.3.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00645cb370ebafc79cfecd08c5ac4656469af9ec450cb9207d94f6939e26ba0e"}, + {file = "pyoxigraph-0.3.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6d55de26adabe7d6fece9e1dad4556d648c4166ee79d65e4f7c64acd898656e"}, + {file = "pyoxigraph-0.3.22-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1427e62704bce0a1bc03661efd4d6a7c85cf548824e5e48b17efb4509bd034ad"}, + {file = "pyoxigraph-0.3.22-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e2bebace02e29d1cf3bc324815058f50b2ff59980a02193280a89c905d8437ab"}, + {file = "pyoxigraph-0.3.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e363d0b788f870b1008bb75e41a31b01a6277d9a7cc028ed6534a23bba69e60"}, + {file = "pyoxigraph-0.3.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0508eb4515ce1b3c7548d3f9382c1b366f6602c2e01e9e036c20e730d8fece47"}, + {file = "pyoxigraph-0.3.22-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:db64bdef54d5d1c0d51bec08d811cd1ff86c7608e24b9362523ff94fb3b46117"}, + {file = "pyoxigraph-0.3.22-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33ca01c1727e079af3335883d75e5390619e7d2ece813c8065ba1cbcd71d17a3"}, + {file = "pyoxigraph-0.3.22-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55322d5b9b852c4813c293575aa5e676cec19c617d0aad5ae7ce47c49b113f0b"}, + {file = "pyoxigraph-0.3.22-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3397138f3a6d2c3299250ebde2bca7c95a25b58b29009eb0b29c2f5d1438d954"}, + {file = "pyoxigraph-0.3.22-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1031f91a0e75c6cd3ae9008f2d5bcdd7b2832bc1354f40dcab04ef7957f1140b"}, + {file = "pyoxigraph-0.3.22-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16f44f28fff015d310840c9744cdaaa31f6c1a548918c2316873f10bba76e17f"}, + {file = "pyoxigraph-0.3.22.tar.gz", hash = "sha256:430b18cb3cec37b8c71cee0f70ea10601b9e479f1b8c364861660ae9f8629fd9"}, ] [[package]] name = "pyparsing" -version = "3.1.1" +version = "3.1.2" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, - {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, + {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, + {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, ] [package.extras] @@ -807,50 +1371,51 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pytest" -version = "7.4.2" +version = "8.2.2" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, - {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, + {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, + {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, ] [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" +pluggy = ">=1.5,<2.0" [package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-asyncio" -version = "0.19.0" +version = "0.23.7" description = "Pytest support for asyncio" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-asyncio-0.19.0.tar.gz", hash = "sha256:ac4ebf3b6207259750bc32f4c1d8fcd7e79739edbc67ad0c58dd150b1d072fed"}, - {file = "pytest_asyncio-0.19.0-py3-none-any.whl", hash = "sha256:7a97e37cfe1ed296e2e84941384bdd37c376453912d397ed39293e0916f521fa"}, + {file = "pytest_asyncio-0.23.7-py3-none-any.whl", hash = "sha256:009b48127fbe44518a547bddd25611551b0e43ccdbf1e67d12479f569832c20b"}, + {file = "pytest_asyncio-0.23.7.tar.gz", hash = "sha256:5f5c72948f4c49e7db4f29f2521d4031f1c27f86e57b046126654083d4770268"}, ] [package.dependencies] -pytest = ">=6.1.0" +pytest = ">=7.0.0,<9" [package.extras] -testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] +docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] +testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "python-dotenv" -version = "1.0.0" +version = "1.0.1" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false python-versions = ">=3.8" files = [ - {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, - {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, ] [package.extras] @@ -858,17 +1423,17 @@ cli = ["click (>=5.0)"] [[package]] name = "python-multipart" -version = "0.0.6" +version = "0.0.9" description = "A streaming multipart parser for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "python_multipart-0.0.6-py3-none-any.whl", hash = "sha256:ee698bab5ef148b0a760751c261902cd096e57e10558e11aca17646b74ee1c18"}, - {file = "python_multipart-0.0.6.tar.gz", hash = "sha256:e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132"}, + {file = "python_multipart-0.0.9-py3-none-any.whl", hash = "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215"}, + {file = "python_multipart-0.0.9.tar.gz", hash = "sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026"}, ] [package.extras] -dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatch", "invoke (==1.7.3)", "more-itertools (==4.3.0)", "pbr (==4.3.0)", "pluggy (==1.0.0)", "py (==1.11.0)", "pytest (==7.2.0)", "pytest-cov (==4.0.0)", "pytest-timeout (==2.1.0)", "pyyaml (==5.1)"] +dev = ["atomicwrites (==1.4.1)", "attrs (==23.2.0)", "coverage (==7.4.1)", "hatch", "invoke (==2.2.0)", "more-itertools (==10.2.0)", "pbr (==6.0.0)", "pluggy (==1.4.0)", "py (==1.11.0)", "pytest (==8.0.0)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.2.0)", "pyyaml (==6.0.1)", "ruff (==0.2.1)"] [[package]] name = "pyyaml" @@ -895,6 +1460,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -931,13 +1497,13 @@ files = [ [[package]] name = "rdflib" -version = "6.3.2" +version = "7.0.0" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8.1,<4.0.0" files = [ - {file = "rdflib-6.3.2-py3-none-any.whl", hash = "sha256:36b4e74a32aa1e4fa7b8719876fb192f19ecd45ff932ea5ebbd2e417a0247e63"}, - {file = "rdflib-6.3.2.tar.gz", hash = "sha256:72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0"}, + {file = "rdflib-7.0.0-py3-none-any.whl", hash = "sha256:0438920912a642c866a513de6fe8a0001bd86ef975057d6962c79ce4771687cd"}, + {file = "rdflib-7.0.0.tar.gz", hash = "sha256:9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae"}, ] [package.dependencies] @@ -952,13 +1518,13 @@ networkx = ["networkx (>=2.0.0,<3.0.0)"] [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -973,13 +1539,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "13.5.2" +version = "13.7.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, ] [package.dependencies] @@ -1021,20 +1587,72 @@ rich = ">=10.7.0" wheel = ">=0.36.1" [[package]] -name = "setuptools" -version = "68.2.2" -description = "Easily download, build, install, upgrade, and uninstall Python packages" +name = "shapely" +version = "2.0.4" +description = "Manipulation and analysis of geometric objects" optional = false -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "shapely-2.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:011b77153906030b795791f2fdfa2d68f1a8d7e40bce78b029782ade3afe4f2f"}, + {file = "shapely-2.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9831816a5d34d5170aa9ed32a64982c3d6f4332e7ecfe62dc97767e163cb0b17"}, + {file = "shapely-2.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5c4849916f71dc44e19ed370421518c0d86cf73b26e8656192fcfcda08218fbd"}, + {file = "shapely-2.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841f93a0e31e4c64d62ea570d81c35de0f6cea224568b2430d832967536308e6"}, + {file = "shapely-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b4431f522b277c79c34b65da128029a9955e4481462cbf7ebec23aab61fc58"}, + {file = "shapely-2.0.4-cp310-cp310-win32.whl", hash = "sha256:92a41d936f7d6743f343be265ace93b7c57f5b231e21b9605716f5a47c2879e7"}, + {file = "shapely-2.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:30982f79f21bb0ff7d7d4a4e531e3fcaa39b778584c2ce81a147f95be1cd58c9"}, + {file = "shapely-2.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de0205cb21ad5ddaef607cda9a3191eadd1e7a62a756ea3a356369675230ac35"}, + {file = "shapely-2.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7d56ce3e2a6a556b59a288771cf9d091470116867e578bebced8bfc4147fbfd7"}, + {file = "shapely-2.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:58b0ecc505bbe49a99551eea3f2e8a9b3b24b3edd2a4de1ac0dc17bc75c9ec07"}, + {file = "shapely-2.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:790a168a808bd00ee42786b8ba883307c0e3684ebb292e0e20009588c426da47"}, + {file = "shapely-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4310b5494271e18580d61022c0857eb85d30510d88606fa3b8314790df7f367d"}, + {file = "shapely-2.0.4-cp311-cp311-win32.whl", hash = "sha256:63f3a80daf4f867bd80f5c97fbe03314348ac1b3b70fb1c0ad255a69e3749879"}, + {file = "shapely-2.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:c52ed79f683f721b69a10fb9e3d940a468203f5054927215586c5d49a072de8d"}, + {file = "shapely-2.0.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5bbd974193e2cc274312da16b189b38f5f128410f3377721cadb76b1e8ca5328"}, + {file = "shapely-2.0.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:41388321a73ba1a84edd90d86ecc8bfed55e6a1e51882eafb019f45895ec0f65"}, + {file = "shapely-2.0.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0776c92d584f72f1e584d2e43cfc5542c2f3dd19d53f70df0900fda643f4bae6"}, + {file = "shapely-2.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c75c98380b1ede1cae9a252c6dc247e6279403fae38c77060a5e6186c95073ac"}, + {file = "shapely-2.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3e700abf4a37b7b8b90532fa6ed5c38a9bfc777098bc9fbae5ec8e618ac8f30"}, + {file = "shapely-2.0.4-cp312-cp312-win32.whl", hash = "sha256:4f2ab0faf8188b9f99e6a273b24b97662194160cc8ca17cf9d1fb6f18d7fb93f"}, + {file = "shapely-2.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:03152442d311a5e85ac73b39680dd64a9892fa42bb08fd83b3bab4fe6999bfa0"}, + {file = "shapely-2.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:994c244e004bc3cfbea96257b883c90a86e8cbd76e069718eb4c6b222a56f78b"}, + {file = "shapely-2.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05ffd6491e9e8958b742b0e2e7c346635033d0a5f1a0ea083547fcc854e5d5cf"}, + {file = "shapely-2.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbdc1140a7d08faa748256438291394967aa54b40009f54e8d9825e75ef6113"}, + {file = "shapely-2.0.4-cp37-cp37m-win32.whl", hash = "sha256:5af4cd0d8cf2912bd95f33586600cac9c4b7c5053a036422b97cfe4728d2eb53"}, + {file = "shapely-2.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:464157509ce4efa5ff285c646a38b49f8c5ef8d4b340f722685b09bb033c5ccf"}, + {file = "shapely-2.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:489c19152ec1f0e5c5e525356bcbf7e532f311bff630c9b6bc2db6f04da6a8b9"}, + {file = "shapely-2.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b79bbd648664aa6f44ef018474ff958b6b296fed5c2d42db60078de3cffbc8aa"}, + {file = "shapely-2.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:674d7baf0015a6037d5758496d550fc1946f34bfc89c1bf247cabdc415d7747e"}, + {file = "shapely-2.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cd4ccecc5ea5abd06deeaab52fcdba372f649728050c6143cc405ee0c166679"}, + {file = "shapely-2.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb5cdcbbe3080181498931b52a91a21a781a35dcb859da741c0345c6402bf00c"}, + {file = "shapely-2.0.4-cp38-cp38-win32.whl", hash = "sha256:55a38dcd1cee2f298d8c2ebc60fc7d39f3b4535684a1e9e2f39a80ae88b0cea7"}, + {file = "shapely-2.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:ec555c9d0db12d7fd777ba3f8b75044c73e576c720a851667432fabb7057da6c"}, + {file = "shapely-2.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9103abd1678cb1b5f7e8e1af565a652e036844166c91ec031eeb25c5ca8af0"}, + {file = "shapely-2.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:263bcf0c24d7a57c80991e64ab57cba7a3906e31d2e21b455f493d4aab534aaa"}, + {file = "shapely-2.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddf4a9bfaac643e62702ed662afc36f6abed2a88a21270e891038f9a19bc08fc"}, + {file = "shapely-2.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:485246fcdb93336105c29a5cfbff8a226949db37b7473c89caa26c9bae52a242"}, + {file = "shapely-2.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8de4578e838a9409b5b134a18ee820730e507b2d21700c14b71a2b0757396acc"}, + {file = "shapely-2.0.4-cp39-cp39-win32.whl", hash = "sha256:9dab4c98acfb5fb85f5a20548b5c0abe9b163ad3525ee28822ffecb5c40e724c"}, + {file = "shapely-2.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:31c19a668b5a1eadab82ff070b5a260478ac6ddad3a5b62295095174a8d26398"}, + {file = "shapely-2.0.4.tar.gz", hash = "sha256:5dc736127fac70009b8d309a0eeb74f3e08979e530cf7017f2f507ef62e6cfb8"}, ] +[package.dependencies] +numpy = ">=1.14,<3" + [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] [[package]] name = "six" @@ -1049,31 +1667,46 @@ files = [ [[package]] name = "sniffio" -version = "1.3.0" +version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" files = [ - {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, - {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, ] +[[package]] +name = "sparql-grammar-pydantic" +version = "0.1.2" +description = "Pydantic models for the SPARQL Grammar." +optional = false +python-versions = "<4.0,>=3.11" +files = [ + {file = "sparql_grammar_pydantic-0.1.2-py3-none-any.whl", hash = "sha256:310cedb786e4f7172d78a5f0d8968afe901fd6e29fe16990fac9602b90c518d7"}, + {file = "sparql_grammar_pydantic-0.1.2.tar.gz", hash = "sha256:54c7b5060ebe3eafe3f41cb72a66001d1e4b5651fabfae4baddee2e9c0046a9a"}, +] + +[package.dependencies] +pydantic = ">=2.7.1,<3.0.0" +rdflib = ">=7.0.0,<8.0.0" + [[package]] name = "starlette" -version = "0.27.0" +version = "0.37.2" description = "The little ASGI library that shines." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "starlette-0.27.0-py3-none-any.whl", hash = "sha256:918416370e846586541235ccd38a474c08b80443ed31c578a418e2209b3eef91"}, - {file = "starlette-0.27.0.tar.gz", hash = "sha256:6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75"}, + {file = "starlette-0.37.2-py3-none-any.whl", hash = "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee"}, + {file = "starlette-0.37.2.tar.gz", hash = "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823"}, ] [package.dependencies] anyio = ">=3.4.0,<5" [package.extras] -full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] [[package]] name = "toml" @@ -1087,80 +1720,403 @@ files = [ ] [[package]] -name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +name = "typer" +version = "0.12.3" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"}, + {file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"}, +] + +[package.dependencies] +click = ">=8.0.0" +rich = ">=10.11.0" +shellingham = ">=1.3.0" +typing-extensions = ">=3.7.4.3" + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] + +[[package]] +name = "ujson" +version = "5.10.0" +description = "Ultra fast JSON encoder and decoder for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ujson-5.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd"}, + {file = "ujson-5.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51"}, + {file = "ujson-5.10.0-cp310-cp310-win32.whl", hash = "sha256:c18610b9ccd2874950faf474692deee4223a994251bc0a083c114671b64e6518"}, + {file = "ujson-5.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:924f7318c31874d6bb44d9ee1900167ca32aa9b69389b98ecbde34c1698a250f"}, + {file = "ujson-5.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a5b366812c90e69d0f379a53648be10a5db38f9d4ad212b60af00bd4048d0f00"}, + {file = "ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:502bf475781e8167f0f9d0e41cd32879d120a524b22358e7f205294224c71126"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b91b5d0d9d283e085e821651184a647699430705b15bf274c7896f23fe9c9d8"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:129e39af3a6d85b9c26d5577169c21d53821d8cf68e079060602e861c6e5da1b"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f77b74475c462cb8b88680471193064d3e715c7c6074b1c8c412cb526466efe9"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ec0ca8c415e81aa4123501fee7f761abf4b7f386aad348501a26940beb1860f"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ab13a2a9e0b2865a6c6db9271f4b46af1c7476bfd51af1f64585e919b7c07fd4"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:57aaf98b92d72fc70886b5a0e1a1ca52c2320377360341715dd3933a18e827b1"}, + {file = "ujson-5.10.0-cp311-cp311-win32.whl", hash = "sha256:2987713a490ceb27edff77fb184ed09acdc565db700ee852823c3dc3cffe455f"}, + {file = "ujson-5.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:f00ea7e00447918ee0eff2422c4add4c5752b1b60e88fcb3c067d4a21049a720"}, + {file = "ujson-5.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98ba15d8cbc481ce55695beee9f063189dce91a4b08bc1d03e7f0152cd4bbdd5"}, + {file = "ujson-5.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a9d2edbf1556e4f56e50fab7d8ff993dbad7f54bac68eacdd27a8f55f433578e"}, + {file = "ujson-5.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6627029ae4f52d0e1a2451768c2c37c0c814ffc04f796eb36244cf16b8e57043"}, + {file = "ujson-5.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8ccb77b3e40b151e20519c6ae6d89bfe3f4c14e8e210d910287f778368bb3d1"}, + {file = "ujson-5.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3caf9cd64abfeb11a3b661329085c5e167abbe15256b3b68cb5d914ba7396f3"}, + {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6e32abdce572e3a8c3d02c886c704a38a1b015a1fb858004e03d20ca7cecbb21"}, + {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a65b6af4d903103ee7b6f4f5b85f1bfd0c90ba4eeac6421aae436c9988aa64a2"}, + {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:604a046d966457b6cdcacc5aa2ec5314f0e8c42bae52842c1e6fa02ea4bda42e"}, + {file = "ujson-5.10.0-cp312-cp312-win32.whl", hash = "sha256:6dea1c8b4fc921bf78a8ff00bbd2bfe166345f5536c510671bccececb187c80e"}, + {file = "ujson-5.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:38665e7d8290188b1e0d57d584eb8110951a9591363316dd41cf8686ab1d0abc"}, + {file = "ujson-5.10.0-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:618efd84dc1acbd6bff8eaa736bb6c074bfa8b8a98f55b61c38d4ca2c1f7f287"}, + {file = "ujson-5.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38d5d36b4aedfe81dfe251f76c0467399d575d1395a1755de391e58985ab1c2e"}, + {file = "ujson-5.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67079b1f9fb29ed9a2914acf4ef6c02844b3153913eb735d4bf287ee1db6e557"}, + {file = "ujson-5.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7d0e0ceeb8fe2468c70ec0c37b439dd554e2aa539a8a56365fd761edb418988"}, + {file = "ujson-5.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:59e02cd37bc7c44d587a0ba45347cc815fb7a5fe48de16bf05caa5f7d0d2e816"}, + {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a890b706b64e0065f02577bf6d8ca3b66c11a5e81fb75d757233a38c07a1f20"}, + {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:621e34b4632c740ecb491efc7f1fcb4f74b48ddb55e65221995e74e2d00bbff0"}, + {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9500e61fce0cfc86168b248104e954fead61f9be213087153d272e817ec7b4f"}, + {file = "ujson-5.10.0-cp313-cp313-win32.whl", hash = "sha256:4c4fc16f11ac1612f05b6f5781b384716719547e142cfd67b65d035bd85af165"}, + {file = "ujson-5.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:4573fd1695932d4f619928fd09d5d03d917274381649ade4328091ceca175539"}, + {file = "ujson-5.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a984a3131da7f07563057db1c3020b1350a3e27a8ec46ccbfbf21e5928a43050"}, + {file = "ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73814cd1b9db6fc3270e9d8fe3b19f9f89e78ee9d71e8bd6c9a626aeaeaf16bd"}, + {file = "ujson-5.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61e1591ed9376e5eddda202ec229eddc56c612b61ac6ad07f96b91460bb6c2fb"}, + {file = "ujson-5.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2c75269f8205b2690db4572a4a36fe47cd1338e4368bc73a7a0e48789e2e35a"}, + {file = "ujson-5.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7223f41e5bf1f919cd8d073e35b229295aa8e0f7b5de07ed1c8fddac63a6bc5d"}, + {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc2fd6b3067c0782e7002ac3b38cf48608ee6366ff176bbd02cf969c9c20fe"}, + {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:232cc85f8ee3c454c115455195a205074a56ff42608fd6b942aa4c378ac14dd7"}, + {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cc6139531f13148055d691e442e4bc6601f6dba1e6d521b1585d4788ab0bfad4"}, + {file = "ujson-5.10.0-cp38-cp38-win32.whl", hash = "sha256:e7ce306a42b6b93ca47ac4a3b96683ca554f6d35dd8adc5acfcd55096c8dfcb8"}, + {file = "ujson-5.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:e82d4bb2138ab05e18f089a83b6564fee28048771eb63cdecf4b9b549de8a2cc"}, + {file = "ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b"}, + {file = "ujson-5.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4734ee0745d5928d0ba3a213647f1c4a74a2a28edc6d27b2d6d5bd9fa4319e27"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47ebb01bd865fdea43da56254a3930a413f0c5590372a1241514abae8aa7c76"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996"}, + {file = "ujson-5.10.0-cp39-cp39-win32.whl", hash = "sha256:2544912a71da4ff8c4f7ab5606f947d7299971bdd25a45e008e467ca638d13c9"}, + {file = "ujson-5.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:3ff201d62b1b177a46f113bb43ad300b424b7847f9c5d38b1b4ad8f75d4a282a"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:baed37ea46d756aca2955e99525cc02d9181de67f25515c468856c38d52b5f3b"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:c66962ca7565605b355a9ed478292da628b8f18c0f2793021ca4425abf8b01e5"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e1402f0564a97d2a52310ae10a64d25bcef94f8dd643fcf5d310219d915484f7"}, + {file = "ujson-5.10.0.tar.gz", hash = "sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1"}, ] [[package]] name = "urllib3" -version = "2.0.4" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "uvicorn" -version = "0.21.1" +version = "0.30.1" description = "The lightning-fast ASGI server." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "uvicorn-0.21.1-py3-none-any.whl", hash = "sha256:e47cac98a6da10cd41e6fd036d472c6f58ede6c5dbee3dbee3ef7a100ed97742"}, - {file = "uvicorn-0.21.1.tar.gz", hash = "sha256:0fac9cb342ba099e0d582966005f3fdba5b0290579fed4a6266dc702ca7bb032"}, + {file = "uvicorn-0.30.1-py3-none-any.whl", hash = "sha256:cd17daa7f3b9d7a24de3617820e634d0933b69eed8e33a516071174427238c81"}, + {file = "uvicorn-0.30.1.tar.gz", hash = "sha256:d46cd8e0fd80240baffbcd9ec1012a712938754afcf81bce56c024c1656aece8"}, ] [package.dependencies] click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} h11 = ">=0.8" +httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +[[package]] +name = "uvloop" +version = "0.19.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, +] + +[package.extras] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + [[package]] name = "virtualenv" -version = "20.24.5" +version = "20.26.3" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.5-py3-none-any.whl", hash = "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b"}, - {file = "virtualenv-20.24.5.tar.gz", hash = "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"}, + {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, + {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, ] [package.dependencies] distlib = ">=0.3.7,<1" filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<4" +platformdirs = ">=3.9.1,<5" [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] +[[package]] +name = "watchfiles" +version = "0.22.0" +description = "Simple, modern and high performance file watching and code reload in python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "watchfiles-0.22.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:da1e0a8caebf17976e2ffd00fa15f258e14749db5e014660f53114b676e68538"}, + {file = "watchfiles-0.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61af9efa0733dc4ca462347becb82e8ef4945aba5135b1638bfc20fad64d4f0e"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d9188979a58a096b6f8090e816ccc3f255f137a009dd4bbec628e27696d67c1"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2bdadf6b90c099ca079d468f976fd50062905d61fae183f769637cb0f68ba59a"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:067dea90c43bf837d41e72e546196e674f68c23702d3ef80e4e816937b0a3ffd"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbf8a20266136507abf88b0df2328e6a9a7c7309e8daff124dda3803306a9fdb"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1235c11510ea557fe21be5d0e354bae2c655a8ee6519c94617fe63e05bca4171"}, + {file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2444dc7cb9d8cc5ab88ebe792a8d75709d96eeef47f4c8fccb6df7c7bc5be71"}, + {file = "watchfiles-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c5af2347d17ab0bd59366db8752d9e037982e259cacb2ba06f2c41c08af02c39"}, + {file = "watchfiles-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9624a68b96c878c10437199d9a8b7d7e542feddda8d5ecff58fdc8e67b460848"}, + {file = "watchfiles-0.22.0-cp310-none-win32.whl", hash = "sha256:4b9f2a128a32a2c273d63eb1fdbf49ad64852fc38d15b34eaa3f7ca2f0d2b797"}, + {file = "watchfiles-0.22.0-cp310-none-win_amd64.whl", hash = "sha256:2627a91e8110b8de2406d8b2474427c86f5a62bf7d9ab3654f541f319ef22bcb"}, + {file = "watchfiles-0.22.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8c39987a1397a877217be1ac0fb1d8b9f662c6077b90ff3de2c05f235e6a8f96"}, + {file = "watchfiles-0.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a927b3034d0672f62fb2ef7ea3c9fc76d063c4b15ea852d1db2dc75fe2c09696"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052d668a167e9fc345c24203b104c313c86654dd6c0feb4b8a6dfc2462239249"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e45fb0d70dda1623a7045bd00c9e036e6f1f6a85e4ef2c8ae602b1dfadf7550"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c49b76a78c156979759d759339fb62eb0549515acfe4fd18bb151cc07366629c"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4a65474fd2b4c63e2c18ac67a0c6c66b82f4e73e2e4d940f837ed3d2fd9d4da"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cc0cba54f47c660d9fa3218158b8963c517ed23bd9f45fe463f08262a4adae1"}, + {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94ebe84a035993bb7668f58a0ebf998174fb723a39e4ef9fce95baabb42b787f"}, + {file = "watchfiles-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e0f0a874231e2839abbf473256efffe577d6ee2e3bfa5b540479e892e47c172d"}, + {file = "watchfiles-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:213792c2cd3150b903e6e7884d40660e0bcec4465e00563a5fc03f30ea9c166c"}, + {file = "watchfiles-0.22.0-cp311-none-win32.whl", hash = "sha256:b44b70850f0073b5fcc0b31ede8b4e736860d70e2dbf55701e05d3227a154a67"}, + {file = "watchfiles-0.22.0-cp311-none-win_amd64.whl", hash = "sha256:00f39592cdd124b4ec5ed0b1edfae091567c72c7da1487ae645426d1b0ffcad1"}, + {file = "watchfiles-0.22.0-cp311-none-win_arm64.whl", hash = "sha256:3218a6f908f6a276941422b035b511b6d0d8328edd89a53ae8c65be139073f84"}, + {file = "watchfiles-0.22.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c7b978c384e29d6c7372209cbf421d82286a807bbcdeb315427687f8371c340a"}, + {file = "watchfiles-0.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bd4c06100bce70a20c4b81e599e5886cf504c9532951df65ad1133e508bf20be"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:425440e55cd735386ec7925f64d5dde392e69979d4c8459f6bb4e920210407f2"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:68fe0c4d22332d7ce53ad094622b27e67440dacefbaedd29e0794d26e247280c"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a8a31bfd98f846c3c284ba694c6365620b637debdd36e46e1859c897123aa232"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc2e8fe41f3cac0660197d95216c42910c2b7e9c70d48e6d84e22f577d106fc1"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b7cc10261c2786c41d9207193a85c1db1b725cf87936df40972aab466179b6"}, + {file = "watchfiles-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28585744c931576e535860eaf3f2c0ec7deb68e3b9c5a85ca566d69d36d8dd27"}, + {file = "watchfiles-0.22.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:00095dd368f73f8f1c3a7982a9801190cc88a2f3582dd395b289294f8975172b"}, + {file = "watchfiles-0.22.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:52fc9b0dbf54d43301a19b236b4a4614e610605f95e8c3f0f65c3a456ffd7d35"}, + {file = "watchfiles-0.22.0-cp312-none-win32.whl", hash = "sha256:581f0a051ba7bafd03e17127735d92f4d286af941dacf94bcf823b101366249e"}, + {file = "watchfiles-0.22.0-cp312-none-win_amd64.whl", hash = "sha256:aec83c3ba24c723eac14225194b862af176d52292d271c98820199110e31141e"}, + {file = "watchfiles-0.22.0-cp312-none-win_arm64.whl", hash = "sha256:c668228833c5619f6618699a2c12be057711b0ea6396aeaece4ded94184304ea"}, + {file = "watchfiles-0.22.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d47e9ef1a94cc7a536039e46738e17cce058ac1593b2eccdede8bf72e45f372a"}, + {file = "watchfiles-0.22.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28f393c1194b6eaadcdd8f941307fc9bbd7eb567995232c830f6aef38e8a6e88"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd64f3a4db121bc161644c9e10a9acdb836853155a108c2446db2f5ae1778c3d"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2abeb79209630da981f8ebca30a2c84b4c3516a214451bfc5f106723c5f45843"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cc382083afba7918e32d5ef12321421ef43d685b9a67cc452a6e6e18920890e"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d048ad5d25b363ba1d19f92dcf29023988524bee6f9d952130b316c5802069cb"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:103622865599f8082f03af4214eaff90e2426edff5e8522c8f9e93dc17caee13"}, + {file = "watchfiles-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3e1f3cf81f1f823e7874ae563457828e940d75573c8fbf0ee66818c8b6a9099"}, + {file = "watchfiles-0.22.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8597b6f9dc410bdafc8bb362dac1cbc9b4684a8310e16b1ff5eee8725d13dcd6"}, + {file = "watchfiles-0.22.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b04a2cbc30e110303baa6d3ddce8ca3664bc3403be0f0ad513d1843a41c97d1"}, + {file = "watchfiles-0.22.0-cp38-none-win32.whl", hash = "sha256:b610fb5e27825b570554d01cec427b6620ce9bd21ff8ab775fc3a32f28bba63e"}, + {file = "watchfiles-0.22.0-cp38-none-win_amd64.whl", hash = "sha256:fe82d13461418ca5e5a808a9e40f79c1879351fcaeddbede094028e74d836e86"}, + {file = "watchfiles-0.22.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3973145235a38f73c61474d56ad6199124e7488822f3a4fc97c72009751ae3b0"}, + {file = "watchfiles-0.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:280a4afbc607cdfc9571b9904b03a478fc9f08bbeec382d648181c695648202f"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a0d883351a34c01bd53cfa75cd0292e3f7e268bacf2f9e33af4ecede7e21d1d"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9165bcab15f2b6d90eedc5c20a7f8a03156b3773e5fb06a790b54ccecdb73385"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc1b9b56f051209be458b87edb6856a449ad3f803315d87b2da4c93b43a6fe72"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dc1fc25a1dedf2dd952909c8e5cb210791e5f2d9bc5e0e8ebc28dd42fed7562"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dc92d2d2706d2b862ce0568b24987eba51e17e14b79a1abcd2edc39e48e743c8"}, + {file = "watchfiles-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97b94e14b88409c58cdf4a8eaf0e67dfd3ece7e9ce7140ea6ff48b0407a593ec"}, + {file = "watchfiles-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:96eec15e5ea7c0b6eb5bfffe990fc7c6bd833acf7e26704eb18387fb2f5fd087"}, + {file = "watchfiles-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:28324d6b28bcb8d7c1041648d7b63be07a16db5510bea923fc80b91a2a6cbed6"}, + {file = "watchfiles-0.22.0-cp39-none-win32.whl", hash = "sha256:8c3e3675e6e39dc59b8fe5c914a19d30029e36e9f99468dddffd432d8a7b1c93"}, + {file = "watchfiles-0.22.0-cp39-none-win_amd64.whl", hash = "sha256:25c817ff2a86bc3de3ed2df1703e3d24ce03479b27bb4527c57e722f8554d971"}, + {file = "watchfiles-0.22.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b810a2c7878cbdecca12feae2c2ae8af59bea016a78bc353c184fa1e09f76b68"}, + {file = "watchfiles-0.22.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7e1f9c5d1160d03b93fc4b68a0aeb82fe25563e12fbcdc8507f8434ab6f823c"}, + {file = "watchfiles-0.22.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:030bc4e68d14bcad2294ff68c1ed87215fbd9a10d9dea74e7cfe8a17869785ab"}, + {file = "watchfiles-0.22.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace7d060432acde5532e26863e897ee684780337afb775107c0a90ae8dbccfd2"}, + {file = "watchfiles-0.22.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5834e1f8b71476a26df97d121c0c0ed3549d869124ed2433e02491553cb468c2"}, + {file = "watchfiles-0.22.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:0bc3b2f93a140df6806c8467c7f51ed5e55a931b031b5c2d7ff6132292e803d6"}, + {file = "watchfiles-0.22.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fdebb655bb1ba0122402352b0a4254812717a017d2dc49372a1d47e24073795"}, + {file = "watchfiles-0.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c8e0aa0e8cc2a43561e0184c0513e291ca891db13a269d8d47cb9841ced7c71"}, + {file = "watchfiles-0.22.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2f350cbaa4bb812314af5dab0eb8d538481e2e2279472890864547f3fe2281ed"}, + {file = "watchfiles-0.22.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7a74436c415843af2a769b36bf043b6ccbc0f8d784814ba3d42fc961cdb0a9dc"}, + {file = "watchfiles-0.22.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00ad0bcd399503a84cc688590cdffbe7a991691314dde5b57b3ed50a41319a31"}, + {file = "watchfiles-0.22.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a44e9481afc7a5ee3291b09c419abab93b7e9c306c9ef9108cb76728ca58d2"}, + {file = "watchfiles-0.22.0.tar.gz", hash = "sha256:988e981aaab4f3955209e7e28c7794acdb690be1efa7f16f8ea5aba7ffdadacb"}, +] + +[package.dependencies] +anyio = ">=3.0.0" + +[[package]] +name = "websockets" +version = "12.0" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374"}, + {file = "websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be"}, + {file = "websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603"}, + {file = "websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f"}, + {file = "websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f"}, + {file = "websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53"}, + {file = "websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402"}, + {file = "websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc"}, + {file = "websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113"}, + {file = "websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d"}, + {file = "websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2"}, + {file = "websockets-12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7"}, + {file = "websockets-12.0-cp38-cp38-win32.whl", hash = "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62"}, + {file = "websockets-12.0-cp38-cp38-win_amd64.whl", hash = "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28"}, + {file = "websockets-12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9"}, + {file = "websockets-12.0-cp39-cp39-win32.whl", hash = "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6"}, + {file = "websockets-12.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8"}, + {file = "websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b"}, + {file = "websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30"}, + {file = "websockets-12.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2"}, + {file = "websockets-12.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468"}, + {file = "websockets-12.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611"}, + {file = "websockets-12.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370"}, + {file = "websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e"}, + {file = "websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, +] + [[package]] name = "wheel" -version = "0.41.2" +version = "0.43.0" description = "A built-package format for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"}, - {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"}, + {file = "wheel-0.43.0-py3-none-any.whl", hash = "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81"}, + {file = "wheel-0.43.0.tar.gz", hash = "sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85"}, ] [package.extras] @@ -1169,4 +2125,4 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "40d4b5bc8d9efe4e318e045a36275e2a36f2ffe307aa7ddb3189fe10e68cb372" +content-hash = "d1789d9e68944a6885dd243d4d064ad1b98649b5277d7fa1a790dad1a0926182" diff --git a/prez-logo.png b/prez-logo.png old mode 100644 new mode 100755 diff --git a/prez/app.py b/prez/app.py old mode 100644 new mode 100755 index bc7ed9bb..4eccf03b --- a/prez/app.py +++ b/prez/app.py @@ -2,6 +2,7 @@ from functools import partial from textwrap import dedent from typing import Optional, Dict, Union, Any + import uvicorn from fastapi import FastAPI from fastapi.openapi.utils import get_openapi @@ -16,29 +17,26 @@ get_oxrdflib_store, get_system_store, load_system_data_to_oxigraph, + load_annotations_data_to_oxigraph, + get_annotations_store, ) -from prez.models.model_exceptions import ( +from prez.exceptions.model_exceptions import ( ClassNotFoundException, URINotFoundException, - NoProfilesException, InvalidSPARQLQueryException, + NoProfilesException, + InvalidSPARQLQueryException, ) -from prez.routers.catprez import router as catprez_router -from prez.routers.cql import router as cql_router +from prez.repositories import RemoteSparqlRepo, PyoxigraphRepo, OxrdflibRepo from prez.routers.identifier import router as identifier_router from prez.routers.management import router as management_router -from prez.routers.object import router as object_router -from prez.routers.profiles import router as profiles_router -from prez.routers.search import router as search_router -from prez.routers.spaceprez import router as spaceprez_router +from prez.routers.ogc_router import router as ogc_records_router from prez.routers.sparql import router as sparql_router -from prez.routers.vocprez import router as vocprez_router from prez.services.app_service import ( healthcheck_sparql_endpoints, count_objects, create_endpoints_graph, populate_api_info, - add_prefixes_to_prefix_graph, - add_common_context_ontologies_to_tbox_cache, + prefix_initialisation, ) from prez.services.exception_catchers import ( catch_400, @@ -51,8 +49,6 @@ ) from prez.services.generate_profiles import create_profiles_graph from prez.services.prez_logging import setup_logger -from prez.services.search_methods import get_all_search_methods -from prez.sparql.methods import RemoteSparqlRepo, PyoxigraphRepo, OxrdflibRepo def prez_open_api_metadata( @@ -111,16 +107,16 @@ async def app_startup(_settings: Settings, _app: FastAPI): "SPARQL_REPO_TYPE must be one of 'pyoxigraph', 'oxrdflib' or 'remote'" ) - await add_prefixes_to_prefix_graph(_repo) - await get_all_search_methods(_repo) + await prefix_initialisation(_repo) await create_profiles_graph(_repo) await create_endpoints_graph(_repo) await count_objects(_repo) await populate_api_info() - await add_common_context_ontologies_to_tbox_cache() _app.state.pyoxi_system_store = get_system_store() + _app.state.annotations_store = get_annotations_store() await load_system_data_to_oxigraph(_app.state.pyoxi_system_store) + await load_annotations_data_to_oxigraph(_app.state.annotations_store) async def app_shutdown(_settings: Settings, _app: FastAPI): @@ -168,23 +164,14 @@ def assemble_app( ClassNotFoundException: catch_class_not_found_exception, URINotFoundException: catch_uri_not_found_exception, NoProfilesException: catch_no_profiles_exception, - InvalidSPARQLQueryException: catch_invalid_sparql_query + InvalidSPARQLQueryException: catch_invalid_sparql_query, }, **kwargs ) - app.include_router(cql_router) app.include_router(management_router) - app.include_router(object_router) + app.include_router(ogc_records_router) app.include_router(sparql_router) - app.include_router(search_router) - app.include_router(profiles_router) - if "CatPrez" in _settings.prez_flavours: - app.include_router(catprez_router) - if "VocPrez" in _settings.prez_flavours: - app.include_router(vocprez_router) - if "SpacePrez" in _settings.prez_flavours: - app.include_router(spaceprez_router) app.include_router(identifier_router) app.openapi = partial( prez_open_api_metadata, diff --git a/prez/bnode.py b/prez/bnode.py old mode 100644 new mode 100755 diff --git a/prez/cache.py b/prez/cache.py old mode 100644 new mode 100755 index c8b0620a..4fd02375 --- a/prez/cache.py +++ b/prez/cache.py @@ -1,9 +1,10 @@ +from aiocache import caches from pyoxigraph.pyoxigraph import Store from rdflib import Graph, ConjunctiveGraph, Dataset -tbox_cache = Graph() +from prez.repositories import PyoxigraphRepo -profiles_graph_cache = ConjunctiveGraph() +profiles_graph_cache = Dataset() profiles_graph_cache.bind("prez", "https://prez.dev/") endpoints_graph_cache = ConjunctiveGraph() @@ -20,10 +21,28 @@ links_ids_graph_cache = Dataset() links_ids_graph_cache.bind("prez", "https://prez.dev/") -search_methods = {} - store = Store() system_store = Store() +annotations_store = Store() +annotations_repo = PyoxigraphRepo(annotations_store) + oxrdflib_store = Graph(store="Oxigraph") + +caches.set_config( + { + "default": { + "cache": "aiocache.SimpleMemoryCache", + "serializer": {"class": "aiocache.serializers.PickleSerializer"}, + }, + "curies": { + "cache": "aiocache.SimpleMemoryCache", + "serializer": {"class": "aiocache.serializers.PickleSerializer"}, + }, + "classes": { + "cache": "aiocache.SimpleMemoryCache", + "serializer": {"class": "aiocache.serializers.PickleSerializer"}, + }, + } +) diff --git a/prez/config.py b/prez/config.py old mode 100644 new mode 100755 index 94bbb0e0..b1df20ac --- a/prez/config.py +++ b/prez/config.py @@ -1,13 +1,16 @@ from os import environ from pathlib import Path from typing import Optional, Union, Any, Dict +from typing import Optional, List, Tuple +from typing import Union, Any, Dict import toml -from pydantic import BaseSettings, root_validator +from pydantic import field_validator +from pydantic_settings import BaseSettings from rdflib import URIRef, DCTERMS, RDFS, SDO from rdflib.namespace import SKOS -from prez.reference_data.prez_ns import REG +from prez.reference_data.prez_ns import REG, EP class Settings(BaseSettings): @@ -19,9 +22,7 @@ class Settings(BaseSettings): host: Prez' host domain name. Usually 'localhost' but could be anything port: The port Prez is made accessible on. Default is 8000, could be 80 or anything else that your system has permission to use system_uri: Documentation property. An IRI for the Prez system as a whole. This value appears in the landing page RDF delivered by Prez ('/') - top_level_classes: - collection_classes: - base_classes: + listing_count_limit: The maximum number of items to count for a listing endpoint. Counts greater than this limit will be returned as ">N" where N is the limit. log_level: log_output: prez_title: @@ -32,40 +33,60 @@ class Settings(BaseSettings): sparql_endpoint: Optional[str] = None sparql_username: Optional[str] = None sparql_password: Optional[str] = None - sparql_auth: Optional[tuple] protocol: str = "http" host: str = "localhost" port: int = 8000 curie_separator: str = ":" - system_uri: Optional[str] - top_level_classes: Optional[dict] - collection_classes: Optional[dict] + system_uri: Optional[str] = f"{protocol}://{host}:{port}" order_lists_by_label: bool = True - base_classes: Optional[dict] - prez_flavours: Optional[list] = ["SpacePrez", "VocPrez", "CatPrez", "ProfilesPrez"] - label_predicates = [SKOS.prefLabel, DCTERMS.title, RDFS.label, SDO.name] - description_predicates = [SKOS.definition, DCTERMS.description, SDO.description] - provenance_predicates = [DCTERMS.provenance] - other_predicates = [SDO.color, REG.status] - sparql_timeout = 30.0 + listing_count_limit: int = 1000 + label_predicates: Optional[List[URIRef]] = [ + SKOS.prefLabel, + DCTERMS.title, + RDFS.label, + SDO.name, + ] + description_predicates: Optional[List[URIRef]] = [ + SKOS.definition, + DCTERMS.description, + SDO.description, + ] + provenance_predicates: Optional[List[URIRef]] = [DCTERMS.provenance] + other_predicates: Optional[List[URIRef]] = [SDO.color, REG.status] sparql_repo_type: str = "remote" - - log_level = "INFO" - log_output = "stdout" + sparql_timeout: int = 30 + log_level: str = "INFO" + log_output: str = "stdout" prez_title: Optional[str] = "Prez" prez_desc: Optional[str] = ( "A web framework API for delivering Linked Data. It provides read-only access to " "Knowledge Graph data which can be subset according to information profiles." ) - prez_version: Optional[str] - prez_contact: Optional[Dict[str, Union[str, Any]]] + prez_version: Optional[str] = None + prez_contact: Optional[Dict[str, Union[str, Any]]] = None disable_prefix_generation: bool = False + default_language: str = "en" + default_search_predicates: Optional[List[URIRef]] = [ + RDFS.label, + SKOS.prefLabel, + SDO.name, + DCTERMS.title, + ] local_rdf_dir: str = "rdf" + endpoint_structure: Optional[Tuple[str, ...]] = ("catalogs", "collections", "items") + system_endpoints: Optional[List[URIRef]] = [ + EP["system/profile-listing"], + EP["system/profile-object"], + ] - @root_validator() - def get_version(cls, values): + @field_validator("prez_version") + @classmethod + def get_version(cls, v): + if v: + return v version = environ.get("PREZ_VERSION") - values["prez_version"] = version + if version: + return version if version is None or version == "": possible_locations = ( @@ -78,24 +99,14 @@ def get_version(cls, values): p: Path for p in possible_locations: if (p / "pyproject.toml").exists(): - values["prez_version"] = toml.load(p / "pyproject.toml")["tool"][ - "poetry" - ]["version"] - break + values = toml.load(p / "pyproject.toml")["tool"]["poetry"][ + "version" + ] + return values else: raise RuntimeError( "PREZ_VERSION not set, and cannot find a pyproject.toml to extract the version." ) - return values - - @root_validator() - def set_system_uri(cls, values): - if not values.get("system_uri"): - values["system_uri"] = URIRef( - f"{values['protocol']}://{values['host']}:{values['port']}" - ) - return values - settings = Settings() diff --git a/prez/dependencies.py b/prez/dependencies.py old mode 100644 new mode 100755 index d351c411..679309ee --- a/prez/dependencies.py +++ b/prez/dependencies.py @@ -1,8 +1,11 @@ +import json from pathlib import Path import httpx -from fastapi import Depends +from fastapi import Depends, Request, HTTPException from pyoxigraph import Store +from rdflib import Dataset, URIRef, Graph, SKOS +from sparql_grammar_pydantic import IRI, Var from prez.cache import ( store, @@ -10,16 +13,29 @@ system_store, profiles_graph_cache, endpoints_graph_cache, + annotations_store, + annotations_repo, ) from prez.config import settings -from prez.sparql.methods import PyoxigraphRepo, RemoteSparqlRepo, OxrdflibRepo +from prez.reference_data.prez_ns import ALTREXT, ONT, EP, OGCE +from prez.repositories import PyoxigraphRepo, RemoteSparqlRepo, OxrdflibRepo, Repo +from prez.services.classes import get_classes_single +from prez.services.connegp_service import NegotiatedPMTs +from prez.services.curie_functions import get_uri_for_curie_id +from prez.services.query_generation.concept_hierarchy import ConceptHierarchyQuery +from prez.services.query_generation.cql import CQLParser +from prez.services.query_generation.search import SearchQueryRegex +from prez.services.query_generation.shacl import NodeShape +from prez.services.query_generation.sparql_escaping import escape_for_lucene_and_sparql async def get_async_http_client(): return httpx.AsyncClient( - auth=(settings.sparql_username, settings.sparql_password) - if settings.sparql_username - else None, + auth=( + (settings.sparql_username, settings.sparql_password) + if settings.sparql_username + else None + ), timeout=settings.sparql_timeout, ) @@ -32,16 +48,24 @@ def get_system_store(): return system_store +def get_annotations_store(): + return annotations_store + + def get_oxrdflib_store(): return oxrdflib_store -async def get_repo( +async def get_data_repo( + request: Request, http_async_client: httpx.AsyncClient = Depends(get_async_http_client), - pyoxi_store: Store = Depends(get_pyoxi_store), -): + pyoxi_data_store: Store = Depends(get_pyoxi_store), + pyoxi_system_store: Store = Depends(get_system_store), +) -> Repo: + if URIRef(request.scope.get("route").name) in settings.system_endpoints: + return PyoxigraphRepo(pyoxi_system_store) if settings.sparql_repo_type == "pyoxigraph": - return PyoxigraphRepo(pyoxi_store) + return PyoxigraphRepo(pyoxi_data_store) elif settings.sparql_repo_type == "oxrdflib": return OxrdflibRepo(oxrdflib_store) elif settings.sparql_repo_type == "remote": @@ -50,7 +74,7 @@ async def get_repo( async def get_system_repo( pyoxi_store: Store = Depends(get_system_store), -): +) -> Repo: """ A pyoxigraph Store with Prez system data including: - Profiles @@ -59,12 +83,22 @@ async def get_system_repo( return PyoxigraphRepo(pyoxi_store) +async def get_annotations_repo(): + """ + A pyoxigraph Store with labels, descriptions etc. from Context Ontologies + """ + return annotations_repo + + async def load_local_data_to_oxigraph(store: Store): """ Loads all the data from the local data directory into the local SPARQL endpoint """ for file in (Path(__file__).parent.parent / settings.local_rdf_dir).glob("*.ttl"): - store.load(file.read_bytes(), "text/turtle") + try: + store.load(file.read_bytes(), "text/turtle") + except SyntaxError as e: + raise SyntaxError(f"Error parsing file {file}: {e}") async def load_system_data_to_oxigraph(store: Store): @@ -72,8 +106,350 @@ async def load_system_data_to_oxigraph(store: Store): Loads all the data from the local data directory into the local SPARQL endpoint """ # TODO refactor to use the local files directly - profiles_bytes = profiles_graph_cache.serialize(format="nt", encoding="utf-8") - store.load(profiles_bytes, "application/n-triples") + for f in (Path(__file__).parent / "reference_data/profiles").glob("*.ttl"): + prof_bytes = Graph().parse(f).serialize(format="nt", encoding="utf-8") + # profiles_bytes = profiles_graph_cache.default_context.serialize(format="nt", encoding="utf-8") + store.load(prof_bytes, "application/n-triples") endpoints_bytes = endpoints_graph_cache.serialize(format="nt", encoding="utf-8") store.load(endpoints_bytes, "application/n-triples") + + +async def load_annotations_data_to_oxigraph(store: Store): + """ + Loads all the data from the local data directory into the local SPARQL endpoint + """ + g = Dataset(default_union=True) + for file in (Path(__file__).parent / "reference_data/annotations").glob("*"): + g.parse(file) + file_bytes = g.serialize(format="nt", encoding="utf-8") + store.load(file_bytes, "application/n-triples") + + +async def cql_post_parser_dependency(request: Request) -> CQLParser: + try: + body = await request.json() + context = json.load( + (Path(__file__).parent / "reference_data/cql/default_context.json").open() + ) + cql_parser = CQLParser(cql=body, context=context) + cql_parser.generate_jsonld() + cql_parser.parse() + return cql_parser + except json.JSONDecodeError: + raise HTTPException(status_code=400, detail="Invalid JSON format.") + except Exception as e: # Replace with your specific parsing exception + raise HTTPException( + status_code=400, detail=e.args[0] if e.args else "Error parsing CQL." + ) + + +async def cql_get_parser_dependency(request: Request) -> CQLParser: + if request.query_params.get("filter"): + try: + query = json.loads(request.query_params["filter"]) + context = json.load( + ( + Path(__file__).parent / "reference_data/cql/default_context.json" + ).open() + ) + cql_parser = CQLParser(cql=query, context=context) + cql_parser.generate_jsonld() + cql_parser.parse() + return cql_parser + except json.JSONDecodeError: + raise HTTPException(status_code=400, detail="Invalid JSON format.") + except Exception as e: # Replace with your specific parsing exception + raise HTTPException( + status_code=400, detail="Invalid CQL format: Parsing failed." + ) + + +async def generate_search_query(request: Request): + term = request.query_params.get("q") + if term: + escaped_term = escape_for_lucene_and_sparql(term) + predicates = request.query_params.getlist("predicates") + page = request.query_params.get("page", 1) + per_page = request.query_params.get("per_page", 10) + limit = int(per_page) + offset = limit * (int(page) - 1) + + return SearchQueryRegex( + term=escaped_term, + predicates=predicates, + limit=limit, + offset=offset, + ) + + +async def get_endpoint_uri_type( + request: Request, + system_repo: Repo = Depends(get_system_repo), +) -> tuple[URIRef, URIRef]: + """ + Returns the URI of the endpoint and its type (ObjectEndpoint or ListingEndpoint) + """ + endpoint_uri = URIRef(request.scope.get("route").name) + ep_type_fs = await get_classes_single(endpoint_uri, system_repo) + ep_types = list(ep_type_fs) + + # Iterate over each item in ep_types + for ep_type in ep_types: + # Check if the current ep_type is either ObjectEndpoint or ListingEndpoint + if ep_type in [ONT.ObjectEndpoint, ONT.ListingEndpoint]: + return endpoint_uri, ep_type + raise ValueError( + "Endpoint must be declared as either a 'https://prez.dev/ont/ObjectEndpoint' or a " + "'https://prez.dev/ont/ListingEndpoint' in order for the appropriate profile to be determined." + ) + + +async def generate_concept_hierarchy_query( + request: Request, + endpoint_uri_type: tuple[URIRef, URIRef] = Depends(get_endpoint_uri_type), +) -> ConceptHierarchyQuery | None: + ep_uri = endpoint_uri_type[0] + if ep_uri not in [OGCE["top-concepts"], OGCE["narrowers"]]: + return None + parent_curie = request.path_params.get("parent_curie") + parent_uri = await get_uri_for_curie_id(parent_curie) + child_grandchild_predicates = ( + IRI(value=SKOS["narrower"]), + IRI(value=SKOS["broader"]), + ) + if ep_uri == OGCE["top-concepts"]: + parent_child_predicates = ( + IRI(value=SKOS["hasTopConcept"]), + IRI(value=SKOS["topConceptOf"]), + ) + else: + parent_child_predicates = child_grandchild_predicates + return ConceptHierarchyQuery( + parent_uri=IRI(value=parent_uri), + parent_child_predicates=parent_child_predicates, + child_grandchild_predicates=child_grandchild_predicates, + ) + + +async def get_focus_node( + request: Request, + endpoint_uri_type: tuple[URIRef, URIRef] = Depends(get_endpoint_uri_type), +): + """ + Either a variable or IRI depending on whether an object or listing endpoint is being used. + """ + ep_uri = endpoint_uri_type[0] + ep_type = endpoint_uri_type[1] + if ep_uri == EP["system/object"]: + uri = request.query_params.get("uri") + return IRI(value=uri) + elif ep_type == ONT.ObjectEndpoint: + object_curie = request.url.path.split("/")[-1] + focus_node_uri = await get_uri_for_curie_id(object_curie) + return IRI(value=focus_node_uri) + else: # listing endpoints + return Var(value="focus_node") + + +def handle_special_cases(ep_uri, focus_node): + """ + uris provided to the nodeshapes are those in prez/reference_data/endpoints/endpoint_nodeshapes.ttl + """ + if ep_uri == EP["system/object"]: + return NodeShape( + uri=URIRef("http://example.org/ns#Object"), + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=focus_node, + ) + elif ep_uri == EP["extended-ogc-records/top-concepts"]: + return NodeShape( + uri=URIRef("http://example.org/ns#TopConcepts"), + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=focus_node, + ) + elif ep_uri == EP["extended-ogc-records/narrowers"]: + return NodeShape( + uri=URIRef("http://example.org/ns#Narrowers"), + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=focus_node, + ) + elif ep_uri == EP["extended-ogc-records/cql-get"]: + return NodeShape( + uri=URIRef("http://example.org/ns#CQL"), + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=focus_node, + ) + elif ep_uri == EP["extended-ogc-records/search"]: + return NodeShape( + uri=URIRef("http://example.org/ns#Search"), + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=focus_node, + ) + + +async def get_endpoint_nodeshapes( + request: Request, + repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), + endpoint_uri_type: tuple[URIRef, URIRef] = Depends(get_endpoint_uri_type), + focus_node: IRI | Var = Depends(get_focus_node), +): + """ + Determines the relevant endpoint nodeshape which will be used to list items at the endpoint. + Complex in cases where there is one endpoint to many nodeshapes, such as the catalogs/{cat_id}/collections endpoint. + """ + ep_uri = endpoint_uri_type[0] + if ep_uri in [ + EP["system/object"], + EP["extended-ogc-records/cql-get"], + EP["extended-ogc-records/top-concepts"], + EP["extended-ogc-records/narrowers"], + EP["extended-ogc-records/search"], + ]: + return handle_special_cases(ep_uri, focus_node) + + path_node_curies = [ + i for i in request.url.path.split("/")[:-1] if i in request.path_params.values() + ] + path_nodes = { + f"path_node_{i + 1}": IRI(value=await get_uri_for_curie_id(value)) + for i, value in enumerate(reversed(path_node_curies)) + } + hierarchy_level = int(len(request.url.path.split("/")) / 2) + """ + Determines the relevant nodeshape based on the endpoint, hierarchy level, and parent URI + """ + node_selection_shape_uri = None + relevant_ns_query = f"""SELECT ?ns ?tc + WHERE {{ + {ep_uri.n3()} ?ns . + ?ns ?tc ; + {hierarchy_level} . + }}""" + _, r = await system_repo.send_queries([], [(None, relevant_ns_query)]) + tabular_results = r[0][1] + distinct_ns = set([result["ns"]["value"] for result in tabular_results]) + if len(distinct_ns) == 1: # only one possible node shape + node_selection_shape_uri = URIRef(tabular_results[0]["ns"]["value"]) + elif len(distinct_ns) > 1: # more than one possible node shape + # try all of the available nodeshapes + path_node_classes = {} + for pn, uri in path_nodes.items(): + path_node_classes[pn] = await get_classes_single(URIRef(uri.value), repo) + nodeshapes = [ + NodeShape( + uri=URIRef(ns), + graph=endpoints_graph_cache, + kind="endpoint", + path_nodes=path_nodes, + focus_node=focus_node, + ) + for ns in distinct_ns + ] + matching_nodeshapes = [] + for ns in nodeshapes: + match_all_keys = True # Assume a match for all keys initially + + for pn, klasses in path_node_classes.items(): + # Check if all classes for this path node are in the ns.classes_at_len at this pn + if not any(klass in ns.classes_at_len.get(pn, []) for klass in klasses): + match_all_keys = False # Found a key where not all classes match + break # No need to check further for this ns + + if match_all_keys: + matching_nodeshapes.append(ns) + # TODO logic if there is more than one nodeshape - current default nodeshapes will only return one. + if not matching_nodeshapes: + raise ValueError( + "No matching nodeshapes found for the given path nodes and hierarchy level" + ) + node_selection_shape_uri = matching_nodeshapes[0].uri + if not path_nodes: + path_nodes = {} + if node_selection_shape_uri: + ns = NodeShape( + uri=node_selection_shape_uri, + graph=endpoints_graph_cache, + kind="endpoint", + path_nodes=path_nodes, + focus_node=focus_node, + ) + return ns + else: + raise ValueError( + f"No relevant nodeshape found for the given endpoint {ep_uri}, hierarchy level " + f"{hierarchy_level}, and parent URI" + ) + + +async def get_negotiated_pmts( + request: Request, + endpoint_nodeshape: NodeShape = Depends(get_endpoint_nodeshapes), + repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), + endpoint_uri_type: URIRef = Depends(get_endpoint_uri_type), + focus_node: IRI | Var = Depends(get_focus_node), +) -> NegotiatedPMTs: + # Use endpoint_nodeshapes in constructing NegotiatedPMTs + ep_type = endpoint_uri_type[1] + if ep_type == ONT.ObjectEndpoint: + listing = False + klasses_fs = await get_classes_single(URIRef(focus_node.value), repo) + klasses = list(klasses_fs) + elif ep_type == ONT.ListingEndpoint: + listing = True + klasses = endpoint_nodeshape.targetClasses + pmts = NegotiatedPMTs( + headers=request.headers, + params=request.query_params, + classes=klasses, + listing=listing, + system_repo=system_repo, + ) + await pmts.setup() + return pmts + + +async def get_endpoint_structure( + pmts: NegotiatedPMTs = Depends(get_negotiated_pmts), + endpoint_uri_type: URIRef = Depends(get_endpoint_uri_type), +): + endpoint_uri = endpoint_uri_type[0] + + if (endpoint_uri in settings.system_endpoints) or ( + pmts.selected.get("profile") == ALTREXT["alt-profile"] + ): + return ("profiles",) + else: + return settings.endpoint_structure + + +async def get_profile_nodeshape( + request: Request, + pmts: NegotiatedPMTs = Depends(get_negotiated_pmts), + endpoint_uri_type: URIRef = Depends(get_endpoint_uri_type), +): + profile = pmts.selected.get("profile") + if profile == ALTREXT["alt-profile"]: + focus_node = Var(value="focus_node") + elif endpoint_uri_type[0] == EP["system/object"]: + uri = request.query_params.get("uri") + focus_node = IRI(value=uri) + elif endpoint_uri_type[1] == ONT.ObjectEndpoint: + object_curie = request.url.path.split("/")[-1] + focus_node_uri = await get_uri_for_curie_id(object_curie) + focus_node = IRI(value=focus_node_uri) + else: # listing + focus_node = Var(value="focus_node") + return NodeShape( + uri=profile, + graph=profiles_graph_cache, + kind="profile", + focus_node=focus_node, + ) diff --git a/prez/examples/cql/geo_contains.json b/prez/examples/cql/geo_contains.json new file mode 100644 index 00000000..7c2cb8b5 --- /dev/null +++ b/prez/examples/cql/geo_contains.json @@ -0,0 +1,47 @@ +{ + "op": "s_contains", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.0606281, + -27.3096141 + ], + [ + 153.0604564, + -27.3105197 + ], + [ + 153.0600487, + -27.3109296 + ], + [ + 153.0607354, + -27.3127218 + ], + [ + 153.063203, + -27.3121212 + ], + [ + 153.0621623, + -27.3095187 + ], + [ + 153.0617868, + -27.3098333 + ], + [ + 153.0606281, + -27.3096141 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_contains_filter.json b/prez/examples/cql/geo_contains_filter.json new file mode 100644 index 00000000..b1541596 --- /dev/null +++ b/prez/examples/cql/geo_contains_filter.json @@ -0,0 +1,61 @@ +{ + "op": "and", + "args": [ + { + "op": "s_contains", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.0606281, + -27.3096141 + ], + [ + 153.0604564, + -27.3105197 + ], + [ + 153.0600487, + -27.3109296 + ], + [ + 153.0607354, + -27.3127218 + ], + [ + 153.063203, + -27.3121212 + ], + [ + 153.0621623, + -27.3095187 + ], + [ + 153.0617868, + -27.3098333 + ], + [ + 153.0606281, + -27.3096141 + ] + ] + ] + } + ] + }, + { + "op": "=", + "args": [ + { + "property": "http://www.w3.org/2000/01/rdf-schema#label" + }, + "Sandgate Respite Centre Area" + ] + } + ] +} diff --git a/prez/examples/cql/geo_contains_inverse.json b/prez/examples/cql/geo_contains_inverse.json new file mode 100644 index 00000000..e6b1b7e0 --- /dev/null +++ b/prez/examples/cql/geo_contains_inverse.json @@ -0,0 +1,61 @@ +{ + "op": "and", + "args": [ + { + "op": "s_contains", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.0606281, + -27.3096141 + ], + [ + 153.0604564, + -27.3105197 + ], + [ + 153.0600487, + -27.3109296 + ], + [ + 153.0607354, + -27.3127218 + ], + [ + 153.063203, + -27.3121212 + ], + [ + 153.0621623, + -27.3095187 + ], + [ + 153.0617868, + -27.3098333 + ], + [ + 153.0606281, + -27.3096141 + ] + ] + ] + } + ] + }, + { + "op": "=", + "args": [ + { + "property": "^http://www.w3.org/2000/01/rdf-schema#member" + }, + { "@id": "http://example.com/datasets/sandgate/facilities" } + ] + } + ] +} diff --git a/prez/examples/cql/geo_contains_like.json b/prez/examples/cql/geo_contains_like.json new file mode 100644 index 00000000..9c65bf63 --- /dev/null +++ b/prez/examples/cql/geo_contains_like.json @@ -0,0 +1,61 @@ +{ + "op": "and", + "args": [ + { + "op": "s_contains", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.0606281, + -27.3096141 + ], + [ + 153.0604564, + -27.3105197 + ], + [ + 153.0600487, + -27.3109296 + ], + [ + 153.0607354, + -27.3127218 + ], + [ + 153.063203, + -27.3121212 + ], + [ + 153.0621623, + -27.3095187 + ], + [ + 153.0617868, + -27.3098333 + ], + [ + 153.0606281, + -27.3096141 + ] + ] + ] + } + ] + }, + { + "op": "like", + "args": [ + { + "property": "http://www.w3.org/2000/01/rdf-schema#label" + }, + "%Sandgate%" + ] + } + ] +} diff --git a/prez/examples/cql/geo_crosses.json b/prez/examples/cql/geo_crosses.json new file mode 100644 index 00000000..120068d8 --- /dev/null +++ b/prez/examples/cql/geo_crosses.json @@ -0,0 +1,35 @@ +{ + "op": "s_crosses", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "LineString", + "coordinates": [ + [ + [ + 153.06307, + -27.3151243 + ], + [ + 153.069877, + -27.3151243 + ], + [ + 153.069877, + -27.2859541 + ], + [ + 153.06307, + -27.2859541 + ], + [ + 153.06307, + -27.3151243 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_disjoint.json b/prez/examples/cql/geo_disjoint.json new file mode 100644 index 00000000..4b6913c8 --- /dev/null +++ b/prez/examples/cql/geo_disjoint.json @@ -0,0 +1,35 @@ +{ + "op": "s_disjoint", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.03375, + -27.42 + ], + [ + 153.16, + -27.3217012 + ], + [ + 153.03375, + -27.2234024 + ], + [ + 152.9075, + -27.3217012 + ], + [ + 153.03375, + -27.42 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_equals.json b/prez/examples/cql/geo_equals.json new file mode 100644 index 00000000..fa00371c --- /dev/null +++ b/prez/examples/cql/geo_equals.json @@ -0,0 +1,47 @@ +{ + "op": "s_equals", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.0606281, + -27.3096141 + ], + [ + 153.0604564, + -27.3105197 + ], + [ + 153.0600487, + -27.3109296 + ], + [ + 153.0607354, + -27.3127218 + ], + [ + 153.063203, + -27.3121212 + ], + [ + 153.0621623, + -27.3095187 + ], + [ + 153.0617868, + -27.3098333 + ], + [ + 153.0606281, + -27.3096141 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_intersects.json b/prez/examples/cql/geo_intersects.json new file mode 100644 index 00000000..ade27977 --- /dev/null +++ b/prez/examples/cql/geo_intersects.json @@ -0,0 +1,35 @@ +{ + "op": "s_intersects", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.03375, + -27.42 + ], + [ + 153.16, + -27.3217012 + ], + [ + 153.03375, + -27.2234024 + ], + [ + 152.9075, + -27.3217012 + ], + [ + 153.03375, + -27.42 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_overlaps.json b/prez/examples/cql/geo_overlaps.json new file mode 100644 index 00000000..f230fc5a --- /dev/null +++ b/prez/examples/cql/geo_overlaps.json @@ -0,0 +1,35 @@ +{ + "op": "s_overlaps", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.03375, + -27.42 + ], + [ + 153.16, + -27.3217012 + ], + [ + 153.03375, + -27.2234024 + ], + [ + 152.9075, + -27.3217012 + ], + [ + 153.03375, + -27.42 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/examples/cql/geo_touches.json b/prez/examples/cql/geo_touches.json new file mode 100644 index 00000000..335ed762 --- /dev/null +++ b/prez/examples/cql/geo_touches.json @@ -0,0 +1,39 @@ +{ + "op": "s_touches", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.03375, + -27.42 + ], + [ + 153.16, + -27.3217012 + ], + [ + 153.0638169, + -27.2897951 + ], + [ + 153.03375, + -27.2234024 + ], + [ + 152.9075, + -27.3217012 + ], + [ + 153.03375, + -27.42 + ] + ] + ] + } + ] +} diff --git a/prez/examples/cql/geo_within.json b/prez/examples/cql/geo_within.json new file mode 100644 index 00000000..a79976c0 --- /dev/null +++ b/prez/examples/cql/geo_within.json @@ -0,0 +1,35 @@ +{ + "op": "s_within", + "args": [ + { + "property": "http://www.w3.org/ns/shacl#focusNode" + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + 153.03375, + -27.42 + ], + [ + 153.16, + -27.3217012 + ], + [ + 153.03375, + -27.2234024 + ], + [ + 152.9075, + -27.3217012 + ], + [ + 153.03375, + -27.42 + ] + ] + ] + } + ] +} \ No newline at end of file diff --git a/prez/models/model_exceptions.py b/prez/exceptions/model_exceptions.py old mode 100644 new mode 100755 similarity index 97% rename from prez/models/model_exceptions.py rename to prez/exceptions/model_exceptions.py index 1f01e890..8e729247 --- a/prez/models/model_exceptions.py +++ b/prez/exceptions/model_exceptions.py @@ -44,4 +44,4 @@ class InvalidSPARQLQueryException(Exception): def __init__(self, error: str): self.message = f"Invalid SPARQL query: {error}" - super().__init__(self.message) \ No newline at end of file + super().__init__(self.message) diff --git a/prez/models/__init__.py b/prez/models/__init__.py deleted file mode 100644 index 680c5e73..00000000 --- a/prez/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from prez.models.search_method import SearchMethod diff --git a/prez/models/cql_query.py b/prez/models/cql_query.py deleted file mode 100644 index 46409041..00000000 --- a/prez/models/cql_query.py +++ /dev/null @@ -1 +0,0 @@ -# TODO diff --git a/prez/models/listing.py b/prez/models/listing.py deleted file mode 100644 index 7067ce01..00000000 --- a/prez/models/listing.py +++ /dev/null @@ -1,44 +0,0 @@ -from typing import Optional, FrozenSet - -from pydantic import BaseModel, root_validator -from rdflib import URIRef, Literal, XSD - -from prez.cache import endpoints_graph_cache -from prez.reference_data.prez_ns import ONT - - -class ListingModel(BaseModel): - uri: Optional[ - URIRef - ] = None # this is the URI of the focus object (if listing by membership) - classes: Optional[FrozenSet[URIRef]] = None - endpoint_uri: Optional[URIRef] = None - selected_class: Optional[FrozenSet[URIRef]] = None - profile: Optional[URIRef] = None - top_level_listing: Optional[bool] = False - - def __hash__(self): - return hash(self.uri) - - @root_validator - def populate(cls, values): - endpoint_uri_str = values.get("endpoint_uri") - if endpoint_uri_str: - endpoint_uri = URIRef(endpoint_uri_str) - values["classes"] = frozenset( - [ - klass - for klass in endpoints_graph_cache.objects( - endpoint_uri, ONT.deliversClasses, None - ) - ] - ) - values["base_class"] = endpoints_graph_cache.value( - endpoint_uri, ONT.baseClass - ) - tll_text = endpoints_graph_cache.value(endpoint_uri, ONT.isTopLevelEndpoint) - if tll_text == Literal("true", datatype=XSD.boolean): - values["top_level_listing"] = True - else: - values["top_level_listing"] = False - return values diff --git a/prez/models/object_item.py b/prez/models/object_item.py deleted file mode 100644 index 6b19862c..00000000 --- a/prez/models/object_item.py +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Optional, FrozenSet, Tuple -from typing import Set - -from pydantic import BaseModel, root_validator -from rdflib import URIRef, PROF - -from prez.cache import endpoints_graph_cache -from prez.models.model_exceptions import ClassNotFoundException -from prez.reference_data.prez_ns import PREZ, ONT -from prez.services.curie_functions import get_uri_for_curie_id -from prez.services.model_methods import get_classes - - -class ObjectItem(BaseModel): - uri: Optional[URIRef] = None - classes: Optional[FrozenSet[URIRef]] = frozenset([PROF.Profile]) - selected_class: Optional[URIRef] = None - profile: Optional[URIRef] = None - top_level_listing: Optional[bool] = False - - def __hash__(self): - return hash(self.uri) diff --git a/prez/models/profiles_and_mediatypes.py b/prez/models/profiles_and_mediatypes.py deleted file mode 100644 index dad5c671..00000000 --- a/prez/models/profiles_and_mediatypes.py +++ /dev/null @@ -1,50 +0,0 @@ -from typing import FrozenSet, Optional - -from pydantic import BaseModel, root_validator -from rdflib import Namespace, URIRef -from starlette.requests import Request - -from prez.services.generate_profiles import get_profiles_and_mediatypes -from prez.services.connegp_service import get_requested_profile_and_mediatype - -PREZ = Namespace("https://prez.dev/") - - -class ProfilesMediatypesInfo(BaseModel): - request: Request # TODO slim down once connegp is refactored so the whole request doesn't need to be passed through - classes: FrozenSet[URIRef] - req_profiles: Optional[str] = None - req_profiles_token: Optional[str] = None - req_mediatypes: Optional[FrozenSet] = None - profile: Optional[URIRef] = None - mediatype: Optional[str] = None - selected_class: Optional[URIRef] = None - profile_headers: Optional[str] = None - avail_profile_uris: Optional[str] = None - - @root_validator - def populate_requested_types(cls, values): - request = values.get("request") - ( - values["req_profiles"], - values["req_profiles_token"], - values["req_mediatypes"], - ) = get_requested_profile_and_mediatype(request) - return values - - @root_validator - def populate_profile_and_mediatype(cls, values): - req_profiles = values.get("req_profiles") - req_profiles_token = values.get("req_profiles_token") - req_mediatypes = values.get("req_mediatypes") - classes = values.get("classes") - ( - values["profile"], - values["mediatype"], - values["selected_class"], - values["profile_headers"], - values["avail_profile_uris"], - ) = get_profiles_and_mediatypes( - classes, req_profiles, req_profiles_token, req_mediatypes - ) - return values diff --git a/prez/models/profiles_item.py b/prez/models/profiles_item.py deleted file mode 100644 index 7705233c..00000000 --- a/prez/models/profiles_item.py +++ /dev/null @@ -1,45 +0,0 @@ -from typing import Optional -from typing import Set - -from pydantic import BaseModel, root_validator -from rdflib import URIRef, PROF, Namespace - -from prez.cache import profiles_graph_cache -from prez.config import settings -from prez.services.curie_functions import get_uri_for_curie_id, get_curie_id_for_uri -from prez.services.model_methods import get_classes - -PREZ = Namespace("https://prez.dev/") - - -class ProfileItem(BaseModel): - uri: Optional[URIRef] = None - classes: Optional[Set[URIRef]] = frozenset([PROF.Profile]) - id: Optional[str] = None - link_constructor: str = "/profiles" - label: str = None - - # base_class: Optional[URIRef] = None - # url_path: Optional[str] = None - selected_class: Optional[URIRef] = None - - def __hash__(self): - return hash(self.uri) - - @root_validator - def populate(cls, values): - uri = values.get("uri") - id = values.get("id") - assert uri or id - if id: - values["uri"] = get_uri_for_curie_id(id) - elif uri: - values["id"] = get_curie_id_for_uri(uri) - q = f"""SELECT ?class {{ <{values["uri"]}> a ?class }}""" - r = profiles_graph_cache.query(q) - if len(r.bindings) > 0: - values["classes"] = frozenset([prof.get("class") for prof in r.bindings]) - label = values.get("label") - if not label: - values["label"] = settings.label_predicates[0] - return values diff --git a/prez/models/profiles_listings.py b/prez/models/profiles_listings.py deleted file mode 100644 index 0472f4f9..00000000 --- a/prez/models/profiles_listings.py +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Optional, FrozenSet - -from pydantic import BaseModel, root_validator -from rdflib import Namespace -from rdflib.namespace import URIRef, PROF - -PREZ = Namespace("https://prez.dev/") - - -class ProfilesMembers(BaseModel): - url_path: str - uri: Optional[URIRef] = None - base_class: Optional[URIRef] - classes: Optional[FrozenSet[URIRef]] = frozenset([PREZ.ProfilesList]) - selected_class: Optional[URIRef] = None - link_constructor: Optional[str] - top_level_listing: Optional[bool] = True - - @root_validator - def populate(cls, values): - url_path = values.get("url_path") - if url_path.startswith("/v/"): - values["base_class"] = PREZ.VocPrezProfile - values["link_constructor"] = "/v/profiles" - elif url_path.startswith("/c/"): - values["base_class"] = PREZ.CatPrezProfile - values["link_constructor"] = "/c/profiles" - elif url_path.startswith("/s/"): - values["base_class"] = PREZ.SpacePrezProfile - values["link_constructor"] = "/s/profiles" - else: - values["base_class"] = PROF.Profile - values["link_constructor"] = "/profiles" - return values diff --git a/prez/models/query_params.py b/prez/models/query_params.py new file mode 100755 index 00000000..dcbf6f9e --- /dev/null +++ b/prez/models/query_params.py @@ -0,0 +1,82 @@ +import json +from typing import Optional + +from fastapi import HTTPException, Query + +# TODO auto generate allowed mediatypes based on mediatypes referenced in profiles +ALLOWED_MEDIA_TYPES = { + "application/sparql-query", + "application/ld+json", + "application/anot+ld+json", + "application/rdf+xml", + "text/turtle", + "text/anot+turtle", + "application/n-triples", + "application/anot+n-triples", +} + + +class QueryParams: + """ + Not using Pydantic as cannot pass descriptions through to OpenAPI docs when using Pydantic. + See: https://stackoverflow.com/a/64366434/15371702 + """ + + def __init__( + self, + mediatype: Optional[str] = Query( + "text/anot+turtle", alias="_mediatype", description="Requested mediatype" + ), + profile: Optional[str] = Query( + None, alias="_profile", description="Requested profile" + ), + page: Optional[int] = Query( + 1, ge=1, description="Page number, must be greater than 0" + ), + per_page: Optional[int] = Query( + 20, + ge=1, + le=100, + description="Number of items per page, must be greater than 0", + ), + q: Optional[str] = Query( + None, description="Search query", examples=["building"] + ), + filter: Optional[str] = Query( + None, + description="CQL JSON expression.", + ), + order_by: Optional[str] = Query( + None, description="Optional: Field to order by" + ), + order_by_direction: Optional[str] = Query( + None, + regex="^(ASC|DESC)$", + description="Optional: Order direction, must be 'ASC' or 'DESC'", + ), + ): + self.q = q + self.page = page + self.per_page = per_page + self.order_by = order_by + self.order_by_direction = order_by_direction + self.filter = filter + self.mediatype = mediatype + self.profile = profile + self.validate_mediatype() + self.validate_filter() + + def validate_mediatype(self): + if self.mediatype and self.mediatype not in ALLOWED_MEDIA_TYPES: + raise HTTPException( + status_code=400, detail=f"Invalid media type: {self.mediatype}" + ) + + def validate_filter(self): + if self.filter: + try: + json.loads(self.filter) + except json.JSONDecodeError: + raise HTTPException( + status_code=400, detail="Filter criteria must be valid JSON." + ) diff --git a/prez/models/search_method.py b/prez/models/search_method.py deleted file mode 100644 index 2429c797..00000000 --- a/prez/models/search_method.py +++ /dev/null @@ -1,39 +0,0 @@ -from string import Template - -from pydantic import BaseModel -from rdflib import URIRef, Namespace, Literal - -from pydantic import BaseConfig - -BaseConfig.arbitrary_types_allowed = True - -PREZ = Namespace("https://prez.dev/") - - -class SearchMethod(BaseModel): - uri: URIRef = None - identifier: Literal = None - title: Literal = None - template_query: Template = None - top_level_listing = False - search_query = True - selected_class: URIRef = None - populated_query: str = None - link_constructor: str = "/object?uri=" - - def __hash__(self): - return hash(self.uri) - - def populate_query( - self, term, limit, offset, focus_to_filter, filter_to_focus, predicates - ): - self.populated_query = self.template_query.substitute( - { - "TERM": term, - "LIMIT": limit, - "OFFSET": offset, - "FOCUS_TO_FILTER": focus_to_filter, - "FILTER_TO_FOCUS": filter_to_focus, - "PREDICATES": predicates, - } - ) diff --git a/prez/models/vocprez_listings.py b/prez/models/vocprez_listings.py deleted file mode 100644 index 2bf2ff3c..00000000 --- a/prez/models/vocprez_listings.py +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Optional, FrozenSet - -from pydantic import BaseModel, root_validator -from rdflib import Namespace -from rdflib.namespace import URIRef, SKOS - -PREZ = Namespace("https://prez.dev/") - - -class VocabMembers(BaseModel): - url_path: str - uri: Optional[URIRef] = None - base_class: Optional[URIRef] - classes: Optional[FrozenSet[URIRef]] - selected_class: Optional[URIRef] = None - link_constructor: Optional[str] - top_level_listing: Optional[bool] = True - - @root_validator - def populate(cls, values): - url_path = values.get("url_path") - if url_path == "/v/collection": - values["base_class"] = SKOS.Collection - values["link_constructor"] = "/v/collection" - values["classes"] = frozenset([PREZ.VocPrezCollectionList]) - elif url_path == "/v/scheme": - values["base_class"] = SKOS.ConceptScheme - values["link_constructor"] = "/v/scheme" - values["classes"] = frozenset([PREZ.SchemesList]) - elif url_path == "/v/vocab": - values["base_class"] = SKOS.ConceptScheme - values["link_constructor"] = "/v/vocab" - values["classes"] = frozenset([PREZ.SchemesList]) - return values diff --git a/prez/queries/object.py b/prez/queries/object.py deleted file mode 100644 index 3ed69a5b..00000000 --- a/prez/queries/object.py +++ /dev/null @@ -1,33 +0,0 @@ -from textwrap import dedent - -from jinja2 import Template - - -def object_inbound_query(iri: str, predicate: str) -> str: - query = Template( - """ - SELECT (COUNT(?iri) as ?count) - WHERE { - BIND(<{{ iri }}> as ?iri) - - ?other <{{ predicate }}> ?iri . - } - """ - ).render(iri=iri, predicate=predicate) - - return dedent(query) - - -def object_outbound_query(iri: str, predicate: str) -> str: - query = Template( - """ - SELECT (COUNT(?iri) as ?count) - WHERE { - BIND(<{{ iri }}> as ?iri) - - ?iri <{{ predicate }}> ?other . - } - """ - ).render(iri=iri, predicate=predicate) - - return dedent(query) diff --git a/prez/queries/vocprez.py b/prez/queries/vocprez.py deleted file mode 100644 index e7e5f11c..00000000 --- a/prez/queries/vocprez.py +++ /dev/null @@ -1,219 +0,0 @@ -from textwrap import dedent - -from jinja2 import Template - - -def get_concept_scheme_query(iri: str, bnode_depth: int) -> str: - query = Template( - """ - PREFIX prez: - PREFIX skos: - - CONSTRUCT { - ?iri ?p ?o . - - {% if bnode_depth > 0 +%} - ?iri ?p0 ?o0 . - {% endif %} - - {% for i in range(bnode_depth) %} - ?o{{ i }} ?p{{ i + 1 }} ?o{{ i + 1 }} . - {% endfor %} - - ?iri prez:childrenCount ?childrenCount . - } - WHERE { - BIND(<{{ iri }}> as ?iri) - ?iri ?p ?o . - FILTER (?p != skos:hasTopConcept) - - { - SELECT (COUNT(?topConcept) AS ?childrenCount) - WHERE { - BIND(<{{ iri }}> as ?iri) - ?iri skos:hasTopConcept ?topConcept . - } - } - - {% if bnode_depth > 0 %} - ?iri ?p0 ?o0 . - {% endif %} - - {% for i in range(bnode_depth) %} - ?o{{ i }} ?p{{ i + 1 }} ?o{{ i + 1 }} . - FILTER (isBlank(?o0)) - {% endfor %} - } - """ - ).render(iri=iri, bnode_depth=bnode_depth) - - return dedent(query) - - -def get_concept_scheme_top_concepts_query(iri: str, page: int, per_page: int) -> str: - query = Template( - """ - PREFIX prez: - PREFIX rdf: - PREFIX rdfs: - PREFIX skos: - PREFIX xsd: - - CONSTRUCT { - ?concept skos:prefLabel ?label . - ?concept prez:childrenCount ?narrowerChildrenCount . - ?iri prez:childrenCount ?childrenCount . - ?iri skos:hasTopConcept ?concept . - ?iri rdf:type ?type . - ?concept rdf:type ?conceptType . - } - WHERE { - BIND(<{{ iri }}> as ?iri) - OPTIONAL { - ?iri skos:hasTopConcept ?concept . - ?concept skos:prefLabel ?label . - } - OPTIONAL { - ?concept skos:topConceptOf ?iri . - ?concept skos:prefLabel ?label . - } - ?iri rdf:type ?type . - ?concept rdf:type ?conceptType . - - { - SELECT (COUNT(?childConcept) AS ?childrenCount) - WHERE { - BIND(<{{ iri }}> as ?iri) - ?iri skos:hasTopConcept ?childConcept . - } - } - - { - # Using two OPTIONAL clauses with a UNION causes ?narrowConcept to be duplicated. - # Use DISTINCT to get an accurate count. - SELECT ?concept ?label (COUNT(DISTINCT ?narrowerConcept) AS ?narrowerChildrenCount) - WHERE { - BIND(<{{ iri }}> as ?iri) - - { - OPTIONAL { - ?iri skos:hasTopConcept ?concept . - ?concept skos:prefLabel ?label . - - OPTIONAL { - ?narrowerConcept skos:broader ?concept . - } - OPTIONAL { - ?concept skos:narrower ?narrowerConcept . - } - } - } - UNION { - OPTIONAL { - ?concept skos:topConceptOf ?iri . - ?concept skos:prefLabel ?label . - - OPTIONAL { - ?narrowerConcept skos:broader ?concept . - } - OPTIONAL { - ?concept skos:narrower ?narrowerConcept . - } - } - } - } - GROUP BY ?concept ?label - ORDER BY str(?label) - LIMIT {{ limit }} - OFFSET {{ offset }} - } - } - """ - ).render(iri=iri, limit=per_page, offset=(page - 1) * per_page) - - return dedent(query) - - -def get_concept_narrowers_query(iri: str, page: int, per_page: int) -> str: - query = Template( - """ - PREFIX prez: - PREFIX rdf: - PREFIX rdfs: - PREFIX skos: - - CONSTRUCT { - ?concept skos:prefLabel ?label . - ?concept prez:childrenCount ?narrowerChildrenCount . - ?iri prez:childrenCount ?childrenCount . - ?iri skos:narrower ?concept . - ?iri rdf:type ?type . - ?concept rdf:type ?conceptType . - } - WHERE { - BIND(<{{ iri }}> as ?iri) - OPTIONAL { - ?concept skos:broader ?iri . - ?concept skos:prefLabel ?label . - } - OPTIONAL { - ?iri skos:narrower ?concept . - ?concept skos:prefLabel ?label . - } - ?iri rdf:type ?type . - - { - SELECT (COUNT(?childConcept) AS ?childrenCount) - WHERE { - BIND(<{{ iri }}> as ?iri) - ?childConcept skos:broader ?iri . - } - } - - { - SELECT ?concept ?label (skos:Concept AS ?conceptType) (COUNT(?narrowerConcept) AS ?narrowerChildrenCount) - WHERE { - BIND(<{{ iri }}> as ?iri) - - { - OPTIONAL { - ?concept skos:broader ?iri . - ?concept skos:prefLabel ?label . - - OPTIONAL { - ?narrowerConcept skos:broader ?concept . - } - OPTIONAL { - ?concept skos:narrower ?narrowerConcept . - } - } - } - UNION { - OPTIONAL { - ?iri skos:narrower ?concept . - ?concept skos:prefLabel ?label . - - OPTIONAL { - ?narrowerConcept skos:broader ?concept . - } - OPTIONAL { - ?concept skos:narrower ?narrowerConcept . - } - } - } - - # Filter out any unbound ?concept rows which are invalid and may contain - # a count of 0. This is possible because both paths within the select - # query are using the OPTIONAL clause. - FILTER (BOUND(?concept)) - } - GROUP BY ?concept ?label - ORDER BY str(?label) - LIMIT {{ limit }} - OFFSET {{ offset }} - } - } - """ - ).render(iri=iri, limit=per_page, offset=(page - 1) * per_page) - - return dedent(query) diff --git a/prez/reference_data/annotations/bfo-annotations.ttl b/prez/reference_data/annotations/bfo-annotations.ttl new file mode 100644 index 00000000..4ef1e658 --- /dev/null +++ b/prez/reference_data/annotations/bfo-annotations.ttl @@ -0,0 +1,213 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "entity" ; +. + + + rdfs:label "continuant" ; + schema:description "An entity [bfo:Entity] that exists in full at any time in which it exists at all, persists through time while maintaining its identity and has no temporal parts." ; +. + + + rdfs:label "dependent_continuant" ; + schema:description "A continuant [snap:Continuant] that is either dependent on one or other independent continuant [snap:IndependentContinuant] bearers or inheres in or is borne by other entities." ; +. + + + rdfs:label "disposition" ; + schema:description "A realizable entity [snap:RealizableEntity] that essentially causes a specific process or transformation in the object [snap:Object] in which it inheres, under specific circumstances and in conjunction with the laws of nature. A general formula for dispositions is: X (object [snap:Object] has the disposition D to (transform, initiate a process) R under conditions C." ; +. + + + rdfs:label "fiat_object_part" ; + schema:description "An independent continuant [snap:IndependentContinuant] that is part of an object [snap:Object] but is not demarcated by any physical discontinuities." ; +. + + + rdfs:label "function" ; + schema:description "A realizable entity [snap:RealizableEntity] the manifestation of which is an essentially end-directed activity of a continuant [snap:Continuant] entity in virtue of that continuant [snap:Continuant] entity being a specific kind of entity in the kind or kinds of contexts that it is made for." ; +. + + + rdfs:label "generically_dependent_continuant" ; + schema:description "A continuant [snap:Continuant] that is dependent on one or other independent continuant [snap:IndependentContinuant] bearers. For every instance of A requires some instance of (an independent continuant [snap:IndependentContinuant] type) B but which instance of B serves can change from time to time." ; +. + + + rdfs:label "independent_continuant" ; + schema:description "A continuant [snap:Continuant] that is a bearer of quality [snap:Quality] and realizable entity [snap:RealizableEntity] entities, in which other entities inhere and which itself cannot inhere in anything." ; +. + + + rdfs:label "object" ; + schema:description "An independent continuant [snap:IndependentContinuant] that is spatially extended, maximally self-connected and self-contained (the parts of a substance are not separated from each other by spatial gaps) and possesses an internal unity. The identity of substantial object [snap:Object] entities is independent of that of other entities and can be maintained through time." ; +. + + + rdfs:label "object_aggregate" ; + schema:description "An independent continuant [snap:IndependentContinuant] that is a mereological sum of separate object [snap:Object] entities and possesses non-connected boundaries." ; +. + + + rdfs:label "object_boundary" ; + schema:description + "An independent continuant [snap:IndependentContinuant] that is a lower dimensional part of a spatial entity, normally a closed two-dimensional surface. Boundaries are those privileged parts of object [snap:Object] entities that exist at exactly the point where the object [snap:Object] is separated off from the rest of the existing entities in the world." , + "Boundaries are theoretically difficult entities to account for, however the intuitive notion of a physical boundary as a surface of some sort (whether inside or outside of a thing) will generally serve as a good guide for the use of this universal." ; +. + + + rdfs:label "one_dimensional_region" ; + schema:description "A spatial region [snap:SpatialRegion] with one dimension." ; +. + + + rdfs:label "quality" ; + schema:description "A specifically dependent continuant [snap:SpecificallyDependentContinuant] that is exhibited if it inheres in an entity or entities at all (a categorical property)." ; +. + + + rdfs:label "realizable_entity" ; + schema:description + "A specifically dependent continuant [snap:SpecificallyDependentContinuant] that inheres in continuant [snap:Continuant] entities and are not exhibited in full at every time in which it inheres in an entity or group of entities. The exhibition or actualization of a realizable entity is a particular manifestation, functioning or process that occurs under certain circumstances." , + "If a realizable entity [snap:RealizableEntity] inheres in a continuant [snap:Continuant], this does not imply that it is actually realized." ; +. + + + rdfs:label "role" ; + schema:description "A realizable entity [snap:RealizableEntity] the manifestation of which brings about some result or end that is not essential to a continuant [snap:Continuant] in virtue of the kind of thing that it is but that can be served or participated in by that kind of continuant [snap:Continuant] in some kinds of natural, social or institutional contexts." ; +. + + + rdfs:label "site" ; + schema:description + "An independent continuant [snap:IndependentContinuant] consisting of a characteristic spatial shape in relation to some arrangement of other continuant [snap:Continuant] entities and of the medium which is enclosed in whole or in part by this characteristic spatial shape. Site [snap:Site] entities are entities that can be occupied by other continuant [snap:Continuant] entities." , + "An instance of Site [snap:Site] is a mixture of independent continuant [snap:IndependentContinuant] entities which act as surrounding environments for other independent continuant [snap:IndependentContinuant] entities, most importantly for instances of object [snap:Object]. A site [snap:Site] is typically made of object [snap:Object] or fiat object part [snap:FiatObjectPart] entities and a surrounding medium in which is found an object [snap:Object] occupying the site [snap:Site]. Independent continuant [snap:IndependentContinuant] entities may be associated with others (which, then, are sites) through a relation of \"occupation\". That relation is connected to, but distinct from, the relation of spatial location. Site [snap:Site] entities are not to be confused with spatial region [snap:SpatialRegion] entities. In BFO, site [snap:Site] allows for a so-called relational view of space which is different from the view corresponding to the class spatial region [snap:SpatialRegion] (see the comment on this class)." ; +. + + + rdfs:label "spatial_region" ; + schema:description + "A continuant [snap:Continuant] that is neither bearer of quality [snap:Quality] entities nor inheres in any other entities." , + "All instances of continuant [snap:Continuant] are spatial entities, that is, they enter in the relation of (spatial) location with spatial region [snap:SpatialRegion] entities. As a particular case, the exact spatial location of a spatial region [snap:SpatialRegion] is this region itself." , + "An instance of spatial region [snap:SpatialRegion] is a part of space. All parts of space are spatial region [snap:SpatialRegion] entities and only spatial region [snap:SpatialRegion] entities are parts of space. Space is the entire extent of the spatial universe, a designated individual, which is thus itself a spatial region [snap:SpatialRegion]." , + "Space and spatial region [snap:SpatialRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of space is sometimes called \"absolutist\" or \"the container view\". In BFO, the class site [snap:Site] allows for a so-called relational view of space, that is to say, a view according to which spatiality is a matter of relative location between entities and not a matter of being tied to space. The bridge between these two views is secured through the fact that while instances of site [snap:Site] are not spatial region [snap:SpatialRegion] entities, they are nevertheless spatial entities." ; +. + + + rdfs:label "specifically_dependent_continuant" ; + schema:description "A continuant [snap:Continuant] that inheres in or is borne by other entities. Every instance of A requires some specific instance of B which must always be the same." ; +. + + + rdfs:label "three_dimensional_region" ; + schema:description "A spatial region [snap:SpatialRegion] with three dimensions." ; +. + + + rdfs:label "two_dimensional_region" ; + schema:description "A spatial region [snap:SpatialRegion] with two dimensions." ; +. + + + rdfs:label "zero_dimensional_region" ; + schema:description "A spatial region [snap:SpatialRegion] with no dimensions." ; +. + + + rdfs:label "connected_spatiotemporal_region" ; + schema:description "A space time region [span:SpaceTimeRegion] that has temporal and spatial dimensions such that all points within the spatiotemporal region are mediately or immediately connected to all other points within the same space time region [span:SpaceTimeRegion]." ; +. + + + rdfs:label "connected_temporal_region" ; + schema:description "A temporal region [span:TemporalRegion] every point of which is mediately or immediately connected with every other point of which." ; +. + + + rdfs:label "fiat_process_part" ; + schema:description "A processual entity [span:ProcessualEntity] that is part of a process but that does not have bona fide beginnings and endings corresponding to real discontinuities." ; +. + + + rdfs:label "occurrent" ; + schema:description "An entity [bfo:Entity] that has temporal parts and that happens, unfolds or develops through time. Sometimes also called perdurants." ; +. + + + rdfs:label "process" ; + schema:description "A processual entity [span:ProcessualEntity] that is a maximally connected spatiotemporal whole and has bona fide beginnings and endings corresponding to real discontinuities." ; +. + + + rdfs:label "process_aggregate" ; + schema:description "A processual entity [span:ProcessualEntity] that is a mereological sum of process [span:Process] entities and possesses non-connected boundaries." ; +. + + + rdfs:label "process_boundary" ; + schema:description "A processual entity [span:ProcessualEntity] that is the fiat or bona fide instantaneous temporal process boundary." ; +. + + + rdfs:label "processual_context" ; + schema:description + "An instance of a processual context [span:ProcessualContext] is a mixture of processual entity [span:ProcessualEntity] which stand as surrounding environments for other processual entity [span:ProcessualEntity] entities. The class processual context [span:ProcessualContext] is the analogous among occurrent [span:Occurrent] entities to the class site [snap:Site] among continuant [snap:Continuant] entities." , + "An occurrent [span:Occurrent] consisting of a characteristic spatial shape inhering in some arrangement of other occurrent [span:Occurrent] entities. processual context [span:ProcessualContext] entities are characteristically entities at or in which other occurrent [span:Occurrent] entities can be located or occur." , + "The processual context for a given manipulation occurring as part of an experiment is made of processual entities which occur in parallel, are not necessarily all parts of the experiment themselves and may involve continuant [snap:Continuant] entities which are in the spatial vicinity of the participants in the experiment." ; +. + + + rdfs:label "processual_entity" ; + schema:description "An occurrent [span:Occurrent] that exists in time by occurring or happening, has temporal parts and always involves and depends on some entity." ; +. + + + rdfs:label "scattered_spatiotemporal_region" ; + schema:description "A space time region [span:SpaceTimeRegion] that has spatial and temporal dimensions and every spatial and temporal point of which is not connected with every other spatial and temporal point of which." ; +. + + + rdfs:label "scattered_temporal_region" ; + schema:description "A temporal region [span:TemporalRegion] every point of which is not mediately or immediately connected with every other point of which." ; +. + + + rdfs:label "spatiotemporal_instant" ; + schema:description "A connected space time region [span:ConnectedSpaceTimeRegion] at a specific moment." ; +. + + + rdfs:label "spatiotemporal_interval" ; + schema:description "A connected space time region [span:ConnectedSpaceTimeRegion] that endures for more than a single moment of time." ; +. + + + rdfs:label "spatiotemporal_region" ; + schema:description + "All instances of occurrent [span:Occurrent] are spatiotemporal entities, that is, they enter in the relation of (spatiotemporal) location with spatiotemporal region [span:SpatiotemporalRegion] entities. As a particular case, the exact spatiotemporal location of a spatiotemporal region [span:SpatiotemporalRegion] is this region itself." , + "An instance of the spatiotemporal region [span:SpatiotemporalRegion] is a part of spacetime. All parts of spacetime are spatiotemporal region [span:SpatiotemporalRegion] entities and only spatiotemporal region [span:SpatiotemporalRegion] entities are parts of spacetime. In particular, neither spatial region [snap:SpatialRegion] entities nor temporal region [span:TemporalRegion] entities are in BFO parts of spacetime. Spacetime is the entire extent of the spatiotemporal universe, a designated individual, which is thus itself a spatiotemporal region [span:SpatiotemporalRegion]. Spacetime is among occurrents the analogous of space among continuant [snap:Continuant] entities." , + "An occurrent [span:Occurrent] at or in which processual entity [span:ProcessualEntity] entities can be located." , + "Spacetime and spatiotemporal region [span:SpatiotemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of spacetime can be called \"absolutist\" or \"the container view\". In BFO, the class processual context [span:ProcessualContext] allows for a so-called relational view of spacetime, that is to say, a view according to which spatiotemporality is a matter of relative location between entities and not a matter of being tied to spacetime. In BFO, the bridge between these two views is secured through the fact that instances of processual context [span:ProcessualContext] are too spatiotemporal entities." ; +. + + + rdfs:label "temporal_instant" ; + schema:description "A connected temporal region [span:ConnectedTemporalRegion] comprising a single moment of time." ; +. + + + rdfs:label "temporal_interval" ; + schema:description "A connected temporal region [span:ConnectedTemporalRegion] lasting for more than a single moment of time." ; +. + + + rdfs:label "temporal_region" ; + schema:description + "All instances of occurrent [span:Occurrent] are temporal entities, that is, they enter in the relation of (temporal) location with temporal region [span:TemporalRegion] entities. As a particular case, the exact spatiotemporal location of a temporal region [span:TemporalRegion] is this region itself. Continuant [snap:Continuant] entities are not temporal entities in the technical sense just explained; they are related to time in a different way, not through temporal location but through a relation of existence at a time or during a period of time (see continuant [snap:Continuant]." , + "An instance of temporal region [span:TemporalRegion] is a part of time. All parts of time are temporal region [span:TemporalRegion] entities and only temporal region [span:TemporalRegion] entities are parts of time. Time is the entire extent of the temporal universe, a designated individual, which is thus a temporal region itself." , + "An occurrent [span:Occurrent] that is part of time." , + "Time and temporal region [span:TemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of time can be called \"absolutist\" or \"the container view\" in analogy to what is traditionally the case with space (see spatial region [snap:SpatialRegion]." ; +. + diff --git a/prez/reference_data/annotations/bfo2020-annotations.ttl b/prez/reference_data/annotations/bfo2020-annotations.ttl new file mode 100644 index 00000000..40179fc0 --- /dev/null +++ b/prez/reference_data/annotations/bfo2020-annotations.ttl @@ -0,0 +1,508 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "entity"@en ; + schema:description "(Elucidation) An entity is anything that exists or has existed or will exist"@en ; +. + + + rdfs:label "continuant"@en ; + schema:description "(Elucidation) A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity"@en ; +. + + + rdfs:label "occurrent"@en ; + schema:description "(Elucidation) An occurrent is an entity that unfolds itself in time or it is the start or end of such an entity or it is a temporal or spatiotemporal region"@en ; +. + + + rdfs:label "independent continuant"@en ; + schema:description "b is an independent continuant =Def b is a continuant which is such that there is no c such that b s-depends on c and no c such that b g-depends on c"@en ; +. + + + rdfs:label "spatial region"@en ; + schema:description "(Elucidation) A spatial region is a continuant entity that is a continuant part of the spatial projection of a portion of spacetime at a given time"@en ; +. + + + rdfs:label "temporal region"@en ; + schema:description "(Elucidation) A temporal region is an occurrent over which processes can unfold"@en ; +. + + + rdfs:label "two-dimensional spatial region"@en ; + schema:description "(Elucidation) A two-dimensional spatial region is a spatial region that is a whole consisting of a surface together with zero or more surfaces and/or spatial regions of lower dimension as parts"@en ; +. + + + rdfs:label "spatiotemporal region"@en ; + schema:description "(Elucidation) A spatiotemporal region is an occurrent that is an occurrent part of spacetime"@en ; +. + + + rdfs:label "process"@en ; + schema:description "(Elucidation) p is a process means p is an occurrent that has some temporal proper part and for some time t, p has some material entity as participant at t"@en ; +. + + + rdfs:label "disposition"@en ; + schema:description "(Elucidation) b is a disposition means: b is a realizable entity & b is such that if it ceases to exist, then its bearer is physically changed, & b's realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer's physical make-up"@en ; +. + + + rdfs:label "realizable entity"@en ; + schema:description "(Elucidation) b is a realizable entity means: b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type some instances of which are realized in processes of a correlated type"@en ; +. + + + rdfs:label "zero-dimensional spatial region"@en ; + schema:description "(Elucidation) A zero-dimensional spatial region is one or a collection of more than one spatially disjoint points in space"@en ; +. + + + rdfs:label "quality"@en ; + schema:description "(Elucidation) a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized"@en ; +. + + + rdfs:label "specifically dependent continuant"@en ; + schema:description "b is a specifically dependent continuant =Def b is a continuant & there is some independent continuant c which is not a spatial region & which is such that b s-depends on c"@en ; +. + + + rdfs:label "role"@en ; + schema:description "(Elucidation) b is a role means: b is a realizable entity & b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be & b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed"@en ; +. + + + rdfs:label "fiat object part"@en ; + schema:description "(Elucidation) a fiat object part b is a material entity which is such that for all times t, if b exists at t then there is some object c such that b is a proper continuant part of c at t and b is demarcated from the remainder of c by one or more fiat surfaces"@en ; +. + + + rdfs:label "one-dimensional spatial region"@en ; + schema:description "(Elucidation) A one-dimensional spatial region is a whole consisting of a line together with zero or more lines and/or points as parts"@en ; +. + + + rdfs:label "object aggregate"@en ; + schema:description "(Elucidation) an object aggregate is a material entity consisting exactly of a plurality (≥1) of objects as member parts which together form a unit"@en ; +. + + + rdfs:label "three-dimensional spatial region"@en ; + schema:description "(Elucidation) A three-dimensional spatial region is a whole consisting of a spatial volume together with zero or more spatial volumes and/or spatial regions of lower dimension as parts"@en ; +. + + + rdfs:label "site"@en ; + schema:description "(Elucidation) b is a site means: b is a three-dimensional immaterial entity whose boundaries either (1) (partially or wholly) coincide with the boundaries of one or more material entities or (2) have locations determined in relation to some material entity"@en ; +. + + + rdfs:label "object"@en ; + schema:description "(Elucidation) an object is a material entity which manifests causal unity & is of a type instances of which are maximal relative to the sort of causal unity manifested"@en ; +. + + + rdfs:label "generically dependent continuant"@en ; + schema:description "(Elucidation) a generically dependent continuant is an entity that exists in virtue of the fact that there is at least one of what may be multiple copies; it is the content or the pattern that the multiple copies share"@en ; +. + + + rdfs:label "function"@en ; + schema:description "(Elucidation) A function is a disposition that exists in virtue of the bearer's physical make-up and this physical make-up is something the bearer possesses because it came into being either through evolution (in the case of natural biological entities) or through intentional design (in the case of artefacts), in order to realize processes of a certain sort"@en ; +. + + + rdfs:label "process boundary"@en ; + schema:description "p is a process boundary =Def p is a temporal part of a process & p has no proper temporal parts"@en ; +. + + + rdfs:label "one-dimensional temporal region"@en ; + schema:description "(Elucidation) A one-dimensional temporal region is a temporal region is a whole that has a temporal interval and zero or more temporal intervals and temporal instants as parts"@en ; +. + + + rdfs:label "material entity"@en ; + schema:description "(Elucidation) A material entity is an independent continuant that at all times at which it exists has some portion of matter as continuant part"@en ; +. + + + rdfs:label "has realization"@en ; + schema:description "b has realization c =Def c realizes b"@en ; +. + + + rdfs:label "realizes"@en ; + schema:description "(Elucidation) b realizes c means: b is a process & c is a realizable entity that inheres in d & for all t, if b has participant d at t then c exists at t & the type instantiated by b is correlated with the type instantiated by c"@en ; +. + + + rdfs:label "participates in at some time"@en ; + schema:description "b participates in p at some time =Def for some time t (p has participant b at t)"@en ; +. + + + rdfs:label "has participant at some time"@en ; + schema:description "p has participant c at some time =Def for some time t (p is a process, c is a continuant, and c participates in p some way at t)"@en ; +. + + + rdfs:label "is concretized by at some time"@en ; + schema:description "a g-dependent continuant c is concretized at some time by an s-dependent continuant or process b =Def for some time t, b concretizes c at t)"@en ; +. + + + rdfs:label "concretizes at some time"@en ; + schema:description "an s-dependent continuant b concretizes a g-dependent continuant c at some time =Def for some time t (c is the pattern or content which b shares at t with actual or potential copies)"@en ; +. + + + rdfs:label "preceded by"@en ; + schema:description "b preceded by c =Def b precedes c"@en ; +. + + + rdfs:label "precedes"@en ; + schema:description "(Elucidation) If o, o' are occurrents and t is the temporal extent of o and t' is the temporal extent of o' then o precedes o' means: either last instant of o is before first instant of o' or last instant of o = first instant of o' and neither o nor o' are temporal instants"@en ; +. + + + rdfs:label "occurs in"@en ; + schema:description "b occurs in c =Def b is a process or a process boundary and c is a material entity or immaterial entity & there exists a spatiotemporal region r and b occupies spatiotemporal region r & for all t, if b exists at t then c exists at t & there exist spatial regions s and s' where b spatially projects onto s at t & c occupies spatial region s' at t & s is a continuant part of s' at t"@en ; +. + + + rdfs:label "located in at all times"@en ; + schema:description "b located in c at all times =Def for all times t, b exists at t implies (b and c are independent continuants and not spatial regions, and the spatial region which b occupies at t is a (proper or improper) continuant part of the spatial region which c occupies at t)"@en ; +. + + + rdfs:label "generically depends on at some time"@en ; + schema:description "a g-dependent continuant b g-depends on an independent continuant c at some time =Def for some time t (there inheres in c an s-dependent continuant which concretizes b at t)"@en ; +. + + + rdfs:label "is carrier of at some time"@en ; + schema:description "b is carrier of c at some time =Def for some time t (c g-depends on b at t)"@en ; +. + + + rdfs:label "exists at"@en ; + schema:description "(Elucidation) exists at is a relation between a particular and some temporal region at which the particular exists"@en ; +. + + + rdfs:label "has continuant part at all times"@en ; + schema:description "b has continuant part c at all times =Def for all times t, b exists at t implies (b and c are continuants & b is a part of c at t)"@en ; +. + + + rdfs:label "has proper continuant part at all times"@en ; + schema:description "b has proper continuant part c at all times =Def c proper continuant part of b at all times"@en ; +. + + + rdfs:label "has material basis at all times"@en ; + schema:description "b has material basis c at all times =Def For all times t, b exists at t implies (b is a disposition & c is a material entity & there is some d bearer of b & c continuant part of d at t & d has disposition b because c continuant part of d at t)"@en ; +. + + + rdfs:label "has member part at some time"@en ; + schema:description "b has member part c at some time =Def for some time t (c member part of b at t)"@en ; +. + + + rdfs:label "has occurrent part"@en ; + schema:description "(Elucidation) b has occurrent part c means: c is a part of b & b and c are occurrents"@en ; +. + + + rdfs:label "has proper occurrent part"@en ; + schema:description "b has proper occurrent part c =Def b has occurrent part c & b and c are not identical"@en ; +. + + + rdfs:label "has temporal part"@en ; + schema:description "b has temporal part c =Def c temporal part of b"@en ; +. + + + rdfs:label "location of at some time"@en ; + schema:description "b location of c at some time =Def for some time t (c located in b at t)"@en ; +. + + + rdfs:label "material basis of at some time"@en ; + schema:description "b material basis of c at some time =Def at some time t (c has material basis b at t)"@en ; +. + + + rdfs:label "member part of at some time"@en ; + schema:description "b member part of c at some time =Def for some time t (b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, ..., xn (for some n ≠ 1) with b = xi (for some 1 <= i <= n))"@en ; +. + + + rdfs:label "occurrent part of"@en ; + schema:description "(Elucidation) b occurrent part of c =Def c has occurrent part b"@en ; +. + + + rdfs:label "proper temporal part of"@en ; + schema:description "b proper temporal part of c =Def b temporal part of c & not (b = c)"@en ; +. + + + rdfs:label "proper continuant part of at all times"@en ; + schema:description "b proper continuant part of c at all times =Def for all times t, b exists at t implies (b continuant part of c at t & not (c proper continuant part of b at t))"@en ; +. + + + rdfs:label "proper occurrent part of"@en ; + schema:description "b proper occurrent part of c =Def b occurrent part of c & b and c are not identical"@en ; +. + + + rdfs:label "temporal part of"@en ; + schema:description "b temporal part of c =Def b occurrent part of c & either b and c are temporal regions or b and c are spatiotemporal regions & b temporally projects onto an occurrent part of the temporal region that c temporally projects onto or b and c are processes or process boundaries & b occupies a temporal region that is an occurrent part of the temporal region that c occupies"@en ; +. + + + rdfs:label "continuant fiat boundary"@en ; + schema:description "(Elucidation) b is a continuant fiat boundary means: b is an immaterial entity that is of zero, one or two dimensions, which is such that there is no time t when b has a spatial region as continuant part at t, and whose location is determined in relation to some material entity"@en ; +. + + + rdfs:label "immaterial entity"@en ; + schema:description "a is an immaterial entity =Def a is an independent continuant which is such that there is no time t when it has a material entity as continuant part at t"@en ; +. + + + rdfs:label "fiat line"@en ; + schema:description "(Elucidation) a fiat line is a one-dimensional continuant fiat boundary that is continuous"@en ; +. + + + rdfs:label "relational quality"@en ; + schema:description "b is a relational quality =Def b is a quality and there exists c and d such that b and c are not identical, & b s-depends on c & b s-depends on d"@en ; +. + + + rdfs:label "fiat surface"@en ; + schema:description "(Elucidation) a fiat surface is a two-dimensional continuant fiat boundary that is self-connected"@en ; +. + + + rdfs:label "fiat point"@en ; + schema:description "(Elucidation) a fiat point is a zero-dimensional continuant fiat boundary that consists of a single point"@en ; +. + + + rdfs:label "zero-dimensional temporal region"@en ; + schema:description "(Elucidation) A zero-dimensional temporal region is a temporal region that is a whole consisting of one or more separated temporal instants as parts"@en ; +. + + + rdfs:label "temporally projects onto"@en ; + schema:description "(Elucidation) temporally projects onto is a relation between a spatiotemporal region s and some temporal region which is the temporal extent of s"@en ; +. + + + rdfs:label "material basis of at all times"@en ; + schema:description "b material basis of c at all times =Def for all times t, b exists at t implies (c has material basis b at t)"@en ; +. + + + rdfs:label "concretizes at all times"@en ; + schema:description "an s-dependent continuant b concretizes a g-dependent continuant c at all times =Def for all times t, b exists at t implies (c is the pattern or content which b shares at t with actual or potential copies)"@en ; +. + + + rdfs:label "is concretized by at all times"@en ; + schema:description "a g-dependent continuant c is concretized by an s-dependent continuant or process b at all times =Def for all times t, b exists at t implies (b concretizes c at t)"@en ; +. + + + rdfs:label "participates in at all times"@en ; + schema:description "b participates in p at all times =Def for all times t, b exists at t implies (p has participant b at t)"@en ; +. + + + rdfs:label "has participant at all times"@en ; + schema:description "p has participant c at all times =Def for all times t, p exists at t implies (p is a process, c is a continuant, and c participates in p some way at t)"@en ; +. + + + rdfs:label "location of at all times"@en ; + schema:description "b location of c at all times =Def for all times t, b exists at t implies (c located in b at t)"@en ; +. + + + rdfs:label "located in at some time"@en ; + schema:description "b located in c at some time =Def for some time t (b and c are independent continuants and not spatial regions, and the spatial region which b occupies at t is a (proper or improper) continuant part of the spatial region which c occupies at t)"@en ; +. + + + rdfs:label "has member part at all times"@en ; + schema:description "b has member part c at all times =Def for all times t, b exists at t implies (c member part b at t)"@en ; +. + + + rdfs:label "member part of at all times"@en ; + schema:description "b member part of c at all times =Def for all times t, b exists at t implies (b is an object & c is an object aggregate & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1,..., xn (for some n ≠ 1) with b = xi (for some 1 <= i <= n))"@en ; +. + + + rdfs:label "has proper continuant part at some time"@en ; + schema:description "b has proper continuant part c at some time =Def c proper continuant part of b at some time"@en ; +. + + + rdfs:label "proper continuant part of at some time"@en ; + schema:description "b proper continuant part of c at some time =Def for some time t (b continuant part of c at t & not (c continuant part of b at t)"@en ; +. + + + rdfs:label "continuant part of at some time"@en ; + schema:description "b continuant part of c at some time =Def for some time t (b exists at t and c exists at t and b continuant part of c at t & t is a temporal region & b and c are continuants)"@en ; +. + + + rdfs:label "continuant part of at all times"@en ; + schema:description "b continuant part of c at all times =Def for all times t, (b exists at t, implies b continuant part of c at t & t is a temporal region & b and c are continuants)"@en ; +. + + + rdfs:label "has continuant part at some time"@en ; + schema:description "b has continuant part c at some time =Def for some time t (b and c are continuants & b is a part of c at t)"@en ; +. + + + rdfs:label "has proper temporal part"@en ; + schema:description "b has proper temporal part c =Def c proper temporal part of b"@en ; +. + + + rdfs:label "history"@en ; + schema:description "(Elucidation) A history is a process that is the sum of the totality of processes taking place in the spatiotemporal region occupied by the material part of a material entity"@en ; +. + + + rdfs:label "environs"@en ; + schema:description "b environs c =Def c occurs in b"@en ; +. + + + rdfs:label "history of"@en ; + schema:description "(Elucidation) b history of c if c is a material entity and b is a history that is the unique history of c"@en ; +. + + + rdfs:label "has history"@en ; + schema:description "b has history c =Def c history of b"@en ; +. + + + rdfs:label "specifically depended on by"@en ; + schema:description "b s-depended on by c =Def c specifically depends on b"@en ; +. + + + rdfs:label "specifically depends on"@en ; + schema:description "(Elucidation) b specifically depends on c means: b and c do not share common parts & b is of a nature such that at all times t it cannot exist at t unless c exists at t & b is not a boundary of c"@en ; +. + + + rdfs:label "bearer of"@en ; + schema:description "b bearer of c =Def c inheres in b"@en ; +. + + + rdfs:label "inheres in"@en ; + schema:description "b inheres in c =Def b is a specifically dependent continuant & c is an independent continuant that is not a spatial region & b s-depends on c"@en ; +. + + + rdfs:label "occupies temporal region"@en ; + schema:description "p occupies temporal region t =Def the spatiotemporal region occupied by p temporally projects onto t"@en ; +. + + + rdfs:label "occupies spatiotemporal region"@en ; + schema:description "(Elucidation) p occupies spatiotemporal region s is a relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent"@en ; +. + + + rdfs:label "temporal interval"@en ; + schema:description "(Elucidation) a temporal interval is a one-dimensional temporal region that is continuous, thus without gaps or breaks"@en ; +. + + + rdfs:label "temporal instant"@en ; + schema:description "(Elucidation) a temporal instant is a zero-dimensional temporal region that has no proper temporal part"@en ; +. + + + rdfs:label "occupies spatial region at some time"@en ; + schema:description "an independent continuant c that is not a spatial region occupies spatial region r at some time =Def for some time t (every continuant part of c occupies some continuant part of r at t and no continuant part of c occupies any spatial region that is not a continuant part of r at t)"@en ; +. + + + rdfs:label "occupies spatial region at all times"@en ; + schema:description "an independent continuant c that is not a spatial region occupies spatial region r at all times =Def for all times t, b exists at t implies (every continuant part of c occupies some continuant part of r at t and no continuant part of c occupies any spatial region that is not a continuant part of r at t)"@en ; +. + + + rdfs:label "spatially projects onto at some time"@en ; + schema:description "b spatially projects onto c at some time =Def for some time t (b is a spatiotemporal region and c is a spatial region and c is the spatial extent of b at t)"@en ; +. + + + rdfs:label "spatially projects onto at all times"@en ; + schema:description "b spatially projects onto c at all times =Def for all times t, b exists at t implies (b is a spatiotemporal region and c is a spatial region and c is the spatial extent of b at t)"@en ; +. + + + rdfs:label "has material basis at some time"@en ; + schema:description "b has material basis c at some time =Def For some time t (b is a disposition & c is a material entity & there is some d bearer of b & c continuant part of d at t & d has disposition b because c continuant part of d at t)"@en ; +. + + + rdfs:label "generically depends on at all times"@en ; + schema:description "a g-dependent continuant b g-depends on an independent continuant c at all times =Def for all times t, b exists at t implies (there inheres in c an s-dependent continuant which concretizes b at t)"@en ; +. + + + rdfs:label "is carrier of at all times"@en ; + schema:description "b is carrier of c at all times =Def for all times t, b exists at t implies (c g-depends on b at t)"@en ; +. + + + rdfs:label "first instant of"@en ; + schema:description "temporal instant t first instant of temporal region t' =Def t precedes all temporal parts of t' other than t"@en ; +. + + + rdfs:label "has first instant"@en ; + schema:description "t has first instant t' =Def t' first instant of t"@en ; +. + + + rdfs:label "last instant of"@en ; + schema:description "temporal instant t last instant of temporal region t' =Def all temporal parts of t' other than t precede t"@en ; +. + + + rdfs:label "has last instant"@en ; + schema:description "t has last instant t' =Def t' last instant of t"@en ; +. + + + rdfs:label "BFO 2020" ; + schema:description "The most recent version of this file will always be in the GitHub repository https://github.com/bfo-ontology/bfo-2020" ; +. + diff --git a/prez/reference_data/annotations/bibo-annotations.ttl b/prez/reference_data/annotations/bibo-annotations.ttl new file mode 100644 index 00000000..832874f5 --- /dev/null +++ b/prez/reference_data/annotations/bibo-annotations.ttl @@ -0,0 +1,616 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + rdfs:label "The Bibliographic Ontology" ; + schema:description """The Bibliographic Ontology describes +bibliographic things on the semantic Web in RDF. This ontology can be +used as a citation ontology, as a document classification ontology, or +simply as a way to describe any kind of document in RDF. It has been +inspired by many existing document description metadata formats, and +can be used as a common ground for converting other bibliographic data +sources."""@en ; +. + + + rdfs:label "Academic Article"@en ; + schema:description "A scholarly academic article, typically published in a journal."@en ; +. + + + rdfs:label "Article"@en ; + schema:description "A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine."@en ; +. + + + rdfs:label "audio document"@en ; + schema:description "An audio document; aka record."@en ; +. + + + rdfs:label "audio-visual document"@en ; + schema:description "An audio-visual document; film, video, and so forth."@en ; +. + + + rdfs:label "Bill"@en ; + schema:description "Draft legislation presented for discussion to a legal body."@en ; +. + + + rdfs:label "Book"@en ; + schema:description "A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers."@en ; +. + + + rdfs:label "Book Section"@en ; + schema:description "A section of a book."@en ; +. + + + rdfs:label "Brief"@en ; + schema:description "A written argument submitted to a court."@en ; +. + + + rdfs:label "Chapter"@en ; + schema:description "A chapter of a book."@en ; +. + + + rdfs:label "Code"@en ; + schema:description "A collection of statutes."@en ; +. + + + rdfs:label "Collected Document"@en ; + schema:description "A document that simultaneously contains other documents."@en ; +. + + + rdfs:label "Collection"@en ; + schema:description "A collection of Documents or Collections"@en ; +. + + + rdfs:label "Conference"@en ; + schema:description "A meeting for consultation or discussion."@en ; +. + + + rdfs:label "Court Reporter"@en ; + schema:description "A collection of legal cases."@en ; +. + + + rdfs:label "Document"@en ; + schema:description "A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information."@en ; +. + + + rdfs:label "document part"@en ; + schema:description "a distinct part of a larger document or collected document."@en ; +. + + + rdfs:label "Document Status"@en ; + schema:description "The status of the publication of a document."@en ; +. + + + rdfs:label "Edited Book"@en ; + schema:description "An edited book."@en ; +. + + + rdfs:label "EMail"@en ; + schema:description "A written communication addressed to a person or organization and transmitted electronically."@en ; +. + + + rdfs:label "Excerpt"@en ; + schema:description "A passage selected from a larger work."@en ; +. + + + rdfs:label "Film"@en ; + schema:description "aka movie."@en ; +. + + + rdfs:label "Hearing"@en ; + schema:description "An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit."@en ; +. + + + rdfs:label "Image"@en ; + schema:description "A document that presents visual or diagrammatic information."@en ; +. + + + rdfs:label "Interview"@en ; + schema:description "A formalized discussion between two or more people."@en ; +. + + + rdfs:label "Issue"@en ; + schema:description "something that is printed or published and distributed, esp. a given number of a periodical"@en ; +. + + + rdfs:label "Journal"@en ; + schema:description "A periodical of scholarly journal Articles."@en ; +. + + + rdfs:label "Legal Case Document"@en ; + schema:description "A document accompanying a legal case."@en ; +. + + + rdfs:label "Decision"@en ; + schema:description "A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law."@en ; +. + + + rdfs:label "Legal Document"@en ; + schema:description "A legal document; for example, a court decision, a brief, and so forth."@en ; +. + + + rdfs:label "Legislation"@en ; + schema:description "A legal document proposing or enacting a law or a group of laws."@en ; +. + + + rdfs:label "Letter"@en ; + schema:description "A written or printed communication addressed to a person or organization and usually transmitted by mail."@en ; +. + + + rdfs:label "Magazine"@en ; + schema:description "A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports."@en ; +. + + + rdfs:label "Manual"@en ; + schema:description "A small reference book, especially one giving instructions."@en ; +. + + + rdfs:label "Manuscript"@en ; + schema:description "An unpublished Document, which may also be submitted to a publisher for publication."@en ; +. + + + rdfs:label "Map"@en ; + schema:description "A graphical depiction of geographic features."@en ; +. + + + rdfs:label "Multivolume Book"@en ; + schema:description "A loose, thematic, collection of Documents, often Books."@en ; +. + + + rdfs:label "Newspaper"@en ; + schema:description "A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising."@en ; +. + + + rdfs:label "Note"@en ; + schema:description "Notes or annotations about a resource."@en ; +. + + + rdfs:label "Patent"@en ; + schema:description "A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years."@en ; +. + + + rdfs:label "Performance"@en ; + schema:description "A public performance."@en ; +. + + + rdfs:label "Periodical"@en ; + schema:description "A group of related documents issued at regular intervals."@en ; +. + + + rdfs:label "Personal Communication"@en ; + schema:description "A communication between an agent and one or more specific recipients."@en ; +. + + + rdfs:label "Personal Communication Document"@en ; + schema:description "A personal communication manifested in some document."@en ; +. + + + rdfs:label "Proceedings"@en ; + schema:description "A compilation of documents published from an event, such as a conference."@en ; +. + + + rdfs:label "Quote"@en ; + schema:description "An excerpted collection of words."@en ; +. + + + rdfs:label "Reference Source"@en ; + schema:description "A document that presents authoritative reference information, such as a dictionary or encylopedia ."@en ; +. + + + rdfs:label "Report"@en ; + schema:description "A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.."@en ; +. + + + rdfs:label "Series"@en ; + schema:description "A loose, thematic, collection of Documents, often Books."@en ; +. + + + rdfs:label "Slide"@en ; + schema:description "A slide in a slideshow"@en ; +. + + + rdfs:label "Slideshow"@en ; + schema:description "A presentation of a series of slides, usually presented in front of an audience with written text and images."@en ; +. + + + rdfs:label "Specification"@en ; + schema:description "A document describing a specification."@en ; +. + + + rdfs:label "Standard"@en ; + schema:description "A document describing a standard: a specification organized through a standards body."@en ; +. + + + rdfs:label "Statute"@en ; + schema:description "A bill enacted into law."@en ; +. + + + rdfs:label "Thesis"@en ; + schema:description "A document created to summarize research findings associated with the completion of an academic degree."@en ; +. + + + rdfs:label "Thesis degree"@en ; + schema:description "The academic degree of a Thesis"@en ; +. + + + rdfs:label "Webpage"@en ; + schema:description "A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print."@en ; +. + + + rdfs:label "Website"@en ; + schema:description "A group of Webpages accessible on the Web."@en ; +. + + + rdfs:label "Workshop"@en ; + schema:description "A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc."@en ; +. + + + rdfs:label "abstract" ; + schema:description "A summary of the resource." ; +. + + + schema:description "A legal decision that affirms a ruling."@en ; +. + + + rdfs:label "annotates"@en ; + schema:description "Critical or explanatory note for a Document."@en ; +. + + + rdfs:label "date argued"@en ; + schema:description "The date on which a legal case is argued before a court. Date is of format xsd:date"@en ; +. + + + rdfs:label "list of authors"@en ; + schema:description "An ordered list of authors. Normally, this list is seen as a priority list that order authors by importance."@en ; +. + + + rdfs:seeAlso "http://purl.org/net/darcusb/info#me"^^xsd:anyURI ; +. + + + rdfs:label "chapter"@en ; + schema:description "An chapter number"@en ; +. + + + rdfs:label "cited by"@en ; + schema:description """Relates a document to another document that cites the +first document."""@en ; +. + + + rdfs:label "cites"@en ; + schema:description """Relates a document to another document that is cited +by the first document as reference, comment, review, quotation or for +another purpose."""@en ; +. + + + rdfs:label "content"@en ; + schema:description "This property is for a plain-text rendering of the content of a Document. While the plain-text content of an entire document could be described by this property."@en ; +. + + + rdfs:label "list of contributors"@en ; + schema:description "An ordered list of contributors. Normally, this list is seen as a priority list that order contributors by importance."@en ; +. + + + rdfs:label "court"@en ; + schema:description "A court associated with a legal document; for example, that which issues a decision."@en ; +. + + + rdfs:label "degree"@en ; + schema:description "The thesis degree."@en ; +. + + + rdfs:label "M.A."@en ; + schema:description "masters degree in arts"@en ; +. + + + rdfs:label "M.S."@en ; + schema:description "masters degree in science"@en ; +. + + + rdfs:label "PhD degree"@en ; + schema:description "PhD degree"@en ; +. + + + rdfs:label "director" ; + schema:description "A Film director."@en ; +. + + + rdfs:label "distributor"@en ; + schema:description "Distributor of a document or a collection of documents."@en ; +. + + + rdfs:label "edition"@en ; + schema:description "The name defining a special edition of a document. Normally its a literal value composed of a version number and words."@en ; +. + + + rdfs:label "editor" ; + schema:description "A person having managerial and sometimes policy-making responsibility for the editorial part of a publishing firm or of a newspaper, magazine, or other publication."@en ; +. + + + rdfs:label "list of editors"@en ; + schema:description "An ordered list of editors. Normally, this list is seen as a priority list that order editors by importance."@en ; +. + + + rdfs:seeAlso "http://fgiasson.com/me/"^^xsd:anyURI ; +. + + + rdfs:label "interviewee" ; + schema:description "An agent that is interviewed by another agent."@en ; +. + + + rdfs:label "interviewer" ; + schema:description "An agent that interview another agent."@en ; +. + + + rdfs:label "issue"@en ; + schema:description "An issue number"@en ; +. + + + rdfs:label "issuer" ; + schema:description "An entity responsible for issuing often informally published documents such as press releases, reports, etc." ; +. + + + rdfs:label "locator"@en ; + schema:description "A description (often numeric) that locates an item within a containing document or collection."@en ; +. + + + rdfs:label "number of pages"@en ; + schema:description "The number of pages contained in a document"@en ; +. + + + rdfs:label "number of volumes"@en ; + schema:description "The number of volumes contained in a collection of documents (usually a series, periodical, etc.)."@en ; +. + + + rdfs:label "number"@en ; + schema:description "A generic item or document number. Not to be confused with issue number."@en ; +. + + + rdfs:label "organizer"@en ; + schema:description "The organizer of an event; includes conference organizers, but also government agencies or other bodies that are responsible for conducting hearings."@en ; +. + + + rdfs:label "owner"@en ; + schema:description "Owner of a document or a collection of documents."@en ; +. + + + rdfs:label "page end"@en ; + schema:description "Ending page number within a continuous page range."@en ; +. + + + rdfs:label "page start"@en ; + schema:description "Starting page number within a continuous page range."@en ; +. + + + rdfs:label "pages"@en ; + schema:description "A string of non-contiguous page spans that locate a Document within a Collection. Example: 23-25, 34, 54-56. For continuous page ranges, use the pageStart and pageEnd properties."@en ; +. + + + rdfs:label "performer" ; +. + + + rdfs:label "prefix name"@en ; + schema:description "The prefix of a name"@en ; +. + + + rdfs:label "presented at"@en ; + schema:description "Relates a document to an event; for example, a paper to a conference."@en ; +. + + + rdfs:label "presents"@en ; + schema:description "Relates an event to associated documents; for example, conference to a paper."@en ; +. + + + rdfs:label "producer"@en ; + schema:description "Producer of a document or a collection of documents."@en ; +. + + + rdfs:label "recipient" ; + schema:description "An agent that receives a communication document."@en ; +. + + + schema:description "The resource in which another resource is reproduced."@en ; +. + + + schema:description "A legal decision that reverses a ruling."@en ; +. + + + rdfs:label "review of"@en ; + schema:description "Relates a review document to a reviewed thing (resource, item, etc.)."@en ; +. + + + rdfs:label "section"@en ; + schema:description "A section number"@en ; +. + + + rdfs:label "short title"@en ; + schema:description "The abbreviation of a title."@en ; +. + + + rdfs:label "status"@en ; + schema:description "The publication status of (typically academic) content."@en ; +. + + + rdfs:label "accepted"@en ; + schema:description "Accepted for publication after peer reviewing."@en ; +. + + + rdfs:label "draft"@en ; + schema:description "Document drafted"@en ; +. + + + rdfs:label "forthcoming"@en ; + schema:description "Document to be published"@en ; +. + + + rdfs:label "legal"@en ; + schema:description "Legal document"@en ; +. + + + rdfs:label "non peer reviewed"@en ; + schema:description "A document that is not peer reviewed"@en ; +. + + + rdfs:label "peer reviewed"@en ; + schema:description "The process by which articles are chosen to be included in a refereed journal. An editorial board consisting of experts in the same field as the author review the article and decide if it is authoritative enough for publication."@en ; +. + + + rdfs:label "published"@en ; + schema:description "Published document"@en ; +. + + + rdfs:label "rejected"@en ; + schema:description "Rejected for publication after peer reviewing."@en ; +. + + + rdfs:label "unpublished"@en ; + schema:description "Unpublished document"@en ; +. + + + schema:description "A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.)."@en ; +. + + + rdfs:label "suffix name"@en ; + schema:description "The suffix of a name"@en ; +. + + + rdfs:label "transcript of"@en ; + schema:description "Relates a document to some transcribed original."@en ; +. + + + rdfs:label "translation of"@en ; + schema:description "Relates a translated document to the original document."@en ; +. + + + rdfs:label "translator" ; + schema:description "A person who translates written document from one language to another."@en ; +. + + + rdfs:label "uri"@en ; + schema:description "Universal Resource Identifier of a document"@en ; +. + + + rdfs:label "volume"@en ; + schema:description "A volume number"@en ; +. + diff --git a/prez/reference_data/annotations/cito-annotations.ttl b/prez/reference_data/annotations/cito-annotations.ttl new file mode 100644 index 00000000..28c150ad --- /dev/null +++ b/prez/reference_data/annotations/cito-annotations.ttl @@ -0,0 +1,816 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + schema:description + """CiTO, the Citation Typing Ontology, is an ontology written in OWL 2 DL to enable characterization of the nature or type of citations, both factually and rhetorically, and to permit these descriptions to be published on the Web. + +The citations characterized may be either direct and explicit (as in the reference list of a journal article), indirect (e.g. a citation to a more recent paper by the same research group on the same topic), or implicit (e.g. as in artistic quotations or parodies, or in cases of plagiarism). + +CiTO contains the object property cito:cites and its sub-properties, and its inverse property cito:isCitedBy, from the original Citation Typing Ontology, CiTO v1.6. Upon the creation of version 2.0 of CiTO, a number of new sub-properties of cito:cites were added, and the inverse properties of all the sub-properties of cito:cites were created, all of which are sub-properties of cito:isCitedBy. The ontology has also been integrated with the SWAN Discourse Relationships Ontology by making cito:cites a sub-property of http://purl.org/swan/2.0/discourse-relationships/refersTo. + +Restrictions of domain and range present in the previous version of CiTO were removed from the object properties when creating CiTO v 2.0, permitting its independent use in other contexts, in addition to conventional bibliographic citations. + +So that they can be used independently, other entities that were previously included in CiTO v1.6 have now been made components of other SPAR ontologies: FaBiO, the FRBR-aligned Bibliographic Ontology; C4O, the Citation Counting and Context Characterization Ontology; and PSO, the Publication Status Ontology. + +The addition of two new properties:cito:usesConclusionsFrom and its inverse cito:providesConclusionsFor on 09Dec2011 led to a version number increment from v2.0 to v2.1. + +The addition of two additional properties, cito:compiles and cito:isCompiledBy, previously in the deprecated CiTO4Data ontology, on 03 July 2012 led to a version increment from v2.1 to v2.2. + +Subsequent expansions include: + +in versions 2.3 and 2.4 the addition of the object properties cito:citesAsPotentialSolution, cito:citesAsRecommendedReading, cito:repliesTo, cito:retracts, cito:speculates on, and their inverse properties; + +in v2.5 the addition of cito:CitationAct, cito:hasCitationEvent, cito:hasCitedEntity and cito:hasCitingEntity; + +in v 2.6: +renaming cito:hasCitationEvent to become cito:hasCitationCharacterization; +improving definitions of cito:CitationAct, cito:hasCitationCharacterization, cito:hasCitedEntity and cito:hasCitingEntity; +revising the definition of cito:isCompiledBy to correct it and bring it into line with the DataCite Metadata Kernel v2.2 definition; +changing the definition of cito:sharesAuthorsWith from 'An object property indicating that the citing entity has at least one author in common with the cited entity.' to 'An object property between two entities indicating that they have at least one author in common.' so that it can be used when one entity does not actually cite the other; +adding the object properties cito:hasRelatedEntity, cito:sharesFundingAgencyWith and cito:sharesAuthorInstitutionWith; +and adding the text 'An object property indicating that . . .' at the beginning of the textual definition (rdfs:comment) for each CiTO object property. + +in v 2.6.1: +Removed text 'An object property indicating that . . .' added in v 2.6 at the beginning of the textual definition (rdfs:comment) for each CiTO object property, so that each definition is just a direct statement of the relationship. +Removed the property cito:hasRelatedEntity (in favour of using dcterms:relation). +Renamed cito:hasReply to become cito:hasReplyFrom. +Improved the textual definitions of cito:derides and its inverse property. + +in v 2.6.2: +Improved definitions of of cito:CitationAct, cito:hasCitationCharacterization, cito:hasCitedEntity and cito:hasCitingEntity. + +in v 2.6.3: +Added examples for each citation type (i.e., all the subproperties of cito:cites). + +in v 2.6.4: +Added alignment with schema:citation. + +in v 2.7.0: +Added new property cito:linksTo, and corrected some property URL. + +in v 2.7.1 +Corrected some typos in property comments. + +in v 2.7.2 +The name of the class cito:CitationAct has been changed to cito:Citation, and its definition has been modified. The property cito:hasCitationTimeSpan has been added. + +in v 2.7.3 +Added the class cito:SelfCitation, i.e. citation in which the citing and the cited entities have at least one author in common. + +in v 2.8 +Renamed the class cito:SelfCitation in cito:AuthorSelfCitation. Created a new class cito:SelfCitation with a more general definition (citation in which the citing and the cited entities have something significant in common with one another), which now includes five subclasses: cito:AuthorSelfCitation, cito:JournalSelfCitation, cito:FunderSelfCitation, cito:AffiliationSelfCitation, cito:AuthorNetworkSelfCitation. The latter class is also accompanied by the new data property cito:hasCoAuthorCitationLevel, which specifies the minimal distance that one of the authors of a citing entity has with regards to one of the authors of a cited entity according to their co-author network. Added the object properties cito:sharesPublicationVenueWith and its subproperty cito:sharesJournalWith. Added the data property cito:hasCitationCreationDate, and changed the domain of cito:hasCitationTimeSpan with xsd:duration. + +in v 2.8.1 +Renamed the property cito:hasCoAuthorCitationLevel in cito:hasCoAuthorshipCitationLevel."""^^xsd:string , + """The Citation Typing Ontology (CiTO) is an ontology that enables characterization of the nature or type of citations, both factually and rhetorically. + +**URL:** http://purl.org/spar/cito + +**Creators**: [David Shotton](http://orcid.org/0000-0001-5506-523X), [Silvio Peroni](http://orcid.org/0000-0003-0530-4305) + +**Contributors:** [Paolo Ciccarese](https://orcid.org/0000-0002-5156-2703), [Tim Clark](https://orcid.org/0000-0003-4060-7360) + +**License:** [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode) + +**Website:** http://www.sparontologies.net/ontologies/cito + +**Cite as:** Peroni, S., Shotton, D. (2012). FaBiO and CiTO: ontologies for describing bibliographic resources and citations. In Journal of Web Semantics, 17: 33-43. https://doi.org/10.1016/j.websem.2012.08.001. Open Access at: http://speroni.web.cs.unibo.it/publications/peroni-2012-fabio-cito-ontologies.pdf"""@en ; +. + + + rdfs:label "affilation self citation"@en ; + schema:description """A citation in which at least one author from each of the citing and the cited entities is affiliated with the same academic institution. + +In particular, like the ancestor class cito:Citation, cito:AffiliationSelfCitation and its accompanying object properties cito:hasCitingEntity, cito:hasCitedEntity and cito:hasCitationCharacterization can be employed to reify direct citation statements made using the CiTO citation object property cito:cites or one of its sub-properties, accompanied by an additional statement using cito:sharesAuthorInstitutionWith for linking the citing paper and the cited paper. + +For example, the following cito:AffiliationSelfCitation resource + + :thisCitation a cito:AffiliationSelfCitation ; + cito:hasCitingEntity :paperA ; + cito:hasCitationCharacterization cito:extends ; + cito:hasCitedEntity :paperB . + +can be alternatively described as follows + + :paperA cito:extends :paperB . + :paperA cito:sharesAuthorInstitutionWith :paperB ."""@en ; +. + + + rdfs:label "author network self citation"@en ; + schema:description + "A citation in which at least one author of the citing entity has direct or indirect co-authorship links with one of the authors of the cited entity."@en , + "Derived from the article 'A Small World of Citations? The Influence of Collaboration Networks on Citation Practices' by Matthew L. Wallace, Vincent Larivière and Yves Gingras, published in PLOS One (https://doi.org/10.1371/journal.pone.0033339)."@en ; +. + + + rdfs:label "author self citation"@en ; + schema:description """A citation in which the citing and the cited entities have at least one author in common. + +In particular, like the ancestor class cito:Citation, cito:AuthorSelfCitation and its accompanying object properties cito:hasCitingEntity, cito:hasCitedEntity and cito:hasCitationCharacterization can be employed to reify direct citation statements made using the CiTO citation object property cito:cites or one of its sub-properties, accompanied by an additional statement using cito:sharesAuthorWith for linking the citing paper and the cited paper. + +For example, the following cito:AuthorSelfCitation resource + + :thisCitation a cito:AuthorSelfCitation ; + cito:hasCitingEntity :paperA ; + cito:hasCitationCharacterization cito:extends ; + cito:hasCitedEntity :paperB . + +can be alternatively described as follows + + :paperA cito:extends :paperB . + :paperA cito:sharesAuthorWith :paperB ."""@en ; +. + + + rdfs:label "citation"@en ; + schema:description """A citation is a conceptual directional link from a citing entity to a cited entity, created by a human performative act of making a citation, typically instantiated by the inclusion of a bibliographic reference (biro:BibliographicReference) in the reference list of the citing entity, or by the inclusion within the citing entity of a link, in the form of an HTTP Uniform Resource Locator (URL), to a resource on the World Wide Web. + +The time span of a citation, i.e. the interval between the publication year of the citing entity and the publication year of the cited entity, can be recorded using the data property cito:hasCitationTimeSpan. + +The nature or type of a citation can be characterized by using CiTO object properties, e.g. http://purl.org/spar/cito/citesAsDataSource (definition: “The citing entity cites the cited entity as a source of data”). + +This CiTO class cito:Citation and its accompanying object properties cito:hasCitingEntity, cito:hasCitedEntity and cito:hasCitationCharacterization can be employed to reify direct citation statements made using the CiTO citation object property cito:cites or one of its sub-properties. + +For example, the following RDF statement + + :paperA cito:extends :paperB . + +can be alternatively described as follows + + :thisCitation a cito:Citation ; + cito:hasCitingEntity :paperA ; + cito:hasCitationCharacterization cito:extends ; + cito:hasCitedEntity :paperB . + +This usage involved OWL2 punning, whereby a CiTO object property, such as the aforementioned cito:extends, is used as the object of the OWL assertion. + + :thisCitation cito:hasCitationCharacterization cito:extends . + +Using such OWL2 punning (described at http://www.w3.org/TR/2009/WD-owl2-new-features-20090611/#F12:_Punning), the CiTO object property is considered as a proper named individual of the class owl:Thing. + +Such reification of citation acts can be very useful, since it permits one to combine these CiTO properties with other vocabularies, or to handle situations in which none of the citation characterizations available in CiTO are applicable. + +Such situations can be resolved by the creation of a user-defined citation characterization, for example by using the Open Annotation Data Model, as explained at http://semanticpublishing.wordpress.com/2013/07/03/extending-cito-for-open-annotations/."""@en ; +. + + + rdfs:label "distant citation"@en ; + schema:description + "A citation in which the citing and the cited entities have nothing significant in common with one another (for example authors, journal, institutional affiliation, or funding agency) over and beyond their subject matter."@en , + "Derived from the article 'A Small World of Citations? The Influence of Collaboration Networks on Citation Practices' by Matthew L. Wallace, Vincent Larivière and Yves Gingras, published in PLOS One (https://doi.org/10.1371/journal.pone.0033339)."@en ; +. + + + rdfs:label "funder self citation"@en ; + schema:description """A citation in which the works reported in the citing and the cited entities were funded by the same funding agency. + +In particular, like the ancestor class cito:Citation, cito:FunderSelfCitation and its accompanying object properties cito:hasCitingEntity, cito:hasCitedEntity and cito:hasCitationCharacterization can be employed to reify direct citation statements made using the CiTO citation object property cito:cites or one of its sub-properties, accompanied by an additional statement using cito:sharesFundingAgencyWith for linking the citing paper and the cited paper. + +For example, the following cito:FundingSelfCitation resource + + :thisCitation a cito:FundingSelfCitation ; + cito:hasCitingEntity :paperA ; + cito:hasCitationCharacterization cito:extends ; + cito:hasCitedEntity :paperB . + +can be alternatively described as follows + + :paperA cito:extends :paperB . + :paperA cito:sharesFundingAgencyWith :paperB ."""@en ; +. + + + rdfs:label "journal cartel citation"@en ; + schema:description + "A citation from one journal to another journal which forms one of a very large number of citations from the citing journal to recent articles in the cited journal, possibly undertaken as part of a citation cartel for the purpose of gaming the impact factor of the cited journal."@en , + "Derived from the blog post 'What do we know about journal citation cartels? A call for information' by Philippe Mongeon, Ludo Waltman and Sarah de Rijcke (https://www.cwts.nl/blog?article=n-q2w2b4)."@en ; +. + + + rdfs:label "journal self citation"@en ; + schema:description + """A citation in which the citing and the cited entities are published in the same journal. + +In particular, like the ancestor class cito:Citation, cito:JournalSelfCitation and its accompanying object properties cito:hasCitingEntity, cito:hasCitedEntity and cito:hasCitationCharacterization can be employed to reify direct citation statements made using the CiTO citation object property cito:cites or one of its sub-properties, accompanied by an additional statement using cito:sharesJournalWith for linking the citing paper and the cited paper. + +For example, the following cito:JournalSelfCitation resource + + :thisCitation a cito:JournalSelfCitation ; + cito:hasCitingEntity :paperA ; + cito:hasCitationCharacterization cito:extends ; + cito:hasCitedEntity :paperB . + +can be alternatively described as follows + + :paperA cito:extends :paperB . + :paperA cito:sharesJournalWith :paperB ."""@en , + "Derived from the blog post 'Journal self-citations are increasingly biased toward impact factor years' by Ludo Waltman and Caspar Chorus (https://www.cwts.nl/blog?article=n-q2x264)."@en ; +. + + + rdfs:label "self citation"@en ; + schema:description "A citation in which the citing and the cited entities have something significant in common with one another, over and beyond their subject matter, for example authors, journal, institutional affiliation, or funding agency."@en ; +. + + + rdfs:label "agrees with"@en ; + schema:description + "Example: We share Galileo's opinion: the Earth moves [X]."@en , + "The citing entity agrees with statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "cites"@en ; + schema:description "The citing entity cites the cited entity, either directly and explicitly (as in the reference list of a journal article), indirectly (e.g. by citing a more recent paper by the same group on the same topic), or implicitly (e.g. as in artistic quotations or parodies, or in cases of plagiarism)."@en ; +. + + + rdfs:label "cites as authority"@en ; + schema:description + "Example: Newton asserted that we are like dwarfs standing on the shoulders of giants [X]."@en , + "The citing entity cites the cited entity as one that provides an authoritative description or definition of the subject under discussion."@en ; +. + + + rdfs:label "cites as data source"@en ; + schema:description + "Example: Italy has more than ten thousand kilometers of shoreline: see [X]."@en , + "The citing entity cites the cited entity as source of data."@en ; +. + + + rdfs:label "cites as evidence"@en ; + schema:description + "Example: We found an unquestionable demonstration of our hypothesis in [X]."@en , + "The citing entity cites the cited entity as source of factual evidence for statements it contains."@en ; +. + + + rdfs:label "cites as metadata document"@en ; + schema:description + "Example: Basic bibliographic, entity and project metadata relating to this article, recorded in a structured machine-readable form, is available as an additional file [X] accompanying this paper."@en , + "The citing entity cites the cited entity as being the container of metadata describing the citing entity."@en ; +. + + + rdfs:label "cites as potential solution"@en ; + schema:description + "Example: This risk could be avoided using the approach shown in [X]."@en , + "The citing entity cites the cited entity as providing or containing a possible solution to the issues being discussed."@en ; +. + + + rdfs:label "cites as recommended reading"@en ; + schema:description + "Example: To our knowledge, [X] is the best source of exercises about UML, making it a valuable proposal for beginners."@en , + "The citing entity cites the cited entity as an item of recommended reading. This property can be used, for example, to describe references in a lecture reading list, where the cited references are relevant to the general topic of the lecture, but might not be individually cited within the text of the lecture. Similarly, it could be used to describe items in a 'Suggested further reading' list at the end of a book chapter."@en ; +. + + + rdfs:label "cites as related"@en ; + schema:description + "Example: An analysis similar to what we proposed here is presented in [X]."@en , + "The citing entity cites the cited entity as one that is related."@en ; +. + + + rdfs:label "cites as source document"@en ; + schema:description + "Example: Several sections of this work are based on our literature review of the topic published as journal article [X]."@en , + "The citing entity cites the cited entity as being the entity from which the citing entity is derived, or about which the citing entity contains metadata."@en ; +. + + + rdfs:label "cites for information"@en ; + schema:description + "Example: The grammar of Pascal was introduced in [X]."@en , + "The citing entity cites the cited entity as a source of information on the subject under discussion."@en ; +. + + + rdfs:label "compiles"@en ; + schema:description + "Example: This book gathers interviews with academic researchers of several disciplines [X]."@en , + "Note: This property has been imported from the CiTO4Data ontology, usage of which has been deprecated."@en , + "The citing entity is used to create or compile the cited entity."@en ; +. + + + rdfs:label "confirms"@en ; + schema:description + "Example: Our findings are similar to those published in [X]."@en , + "The citing entity confirms facts, ideas or statements presented in the cited entity."@en ; +. + + + rdfs:label "contains assertion from"@en ; + schema:description + "Example: We think that to stand on the top of giants [X] is a valuable principle to follow for our own research."@en , + "The citing entity contains a statement of fact or a logical assertion (or a collection of such facts and/or assertions) originally present in the cited entity. This object property is designed to be used to relate a separate abstract, summary or nanopublication to the cited entity upon which it is based."@en ; +. + + + rdfs:label "corrects"@en ; + schema:description + "Example: The result published in [X] is partially wrong, the correct result is 42."@en , + "The citing entity corrects statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "credits"@en ; + schema:description + "Example: Galileo was the first to observe Jupiter's satellites [X]."@en , + "The citing entity acknowledges contributions made by the cited entity."@en ; +. + + + rdfs:label "critiques"@en ; + schema:description + "Example: The ideas presented in [X] are badly substantantiated."@en , + "The citing entity critiques statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "derides"@en ; + schema:description + "Example: The ideas published in [X] are incredibly stupid."@en , + "The citing entity express derision for the cited entity, or for ideas or conclusions contained within it."@en ; +. + + + rdfs:label "describes"@en ; + schema:description + "Example: Galileo's book [X] is a dialog among three scientists about Copernicus' eliocentric theory."@en , + "The citing entity describes the cited entity."@en ; +. + + + rdfs:label "disagrees with"@en ; + schema:description + "Example: We do not share Galileo's opinion [X]: the Earth does not move."@en , + "The citing entity disagrees with statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "discusses"@en ; + schema:description + "Example: We now examine if Galileo is right when he writes [X] that the Earth moves."@en , + "The citing entity discusses statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "disputes"@en ; + schema:description + "Example: We doubt that Galileo is right when he writes [X] that the Earth moves."@en , + "The citing entity disputes statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "documents"@en ; + schema:description + "The citing entity documents information about the cited entity." , + "Example: Herein we report in detail the complete set of ontological rules defined in the Overlapping Ontology [X]."@en ; +. + + + rdfs:label "extends"@en ; + schema:description + "Example: We add to Galileo's findings concerning the Earth [X] that also the Moon moves."@en , + "The citing entity extends facts, ideas or understandings presented in the cited entity."@en ; +. + + + rdfs:label "gives background to"@en ; + schema:description "The cited entity provides background information for the citing entity."@en ; +. + + + rdfs:label "gives support to"@en ; + schema:description "The cited entity provides intellectual or factual support for the citing entity."@en ; +. + + + rdfs:label "has citation characterization"@en ; + schema:description """A property that links a citation to its characterization made by using a CiTO citation characterization property such as cito:extends. This usage involved OWL2 punning, whenby a CiTO object property, such as the aforementioned cito:extends, is used as the object of an OWL assertion: + + :thisCitation cito:hasCitationCharacterization cito:extends . + +In such cases of OWL punning, the CiTO object properties are simultaneously considered both as normal object properties and also as proper named individuals of the class owl:Thing."""@en ; +. + + + rdfs:label "has citation creation date"@en ; + schema:description "The date on which the citation was created. This has the same numerical value as the publication date of the citing bibliographic resource, but is a property of the citation itself. When combined with the citation time span, it permits that citation to be located in history."@en ; +. + + + rdfs:label "has citation time span"@en ; + schema:description "The temporal characteristic of a citation, namely the interval between the publication date of the cited entity and the publication date of the citing entity. Note that when one or both of the publication dates is given as just 'year', then the citation time span is rounded to the nearest year, and when one or both of the publication dates is given as just 'year and month', then the citation time span is rounded to the nearest month, with the inherent inaccuracies that such rounding involves."@en ; +. + + + rdfs:label "has cited entity"@en ; + schema:description "A property that relates a citation to the cited entity."@en ; +. + + + rdfs:label "has citing entity"@en ; + schema:description "A property that relates a citation to the citing entity."@en ; +. + + + rdfs:label "has co-authorship citation level"@en ; + schema:description """This property specifies the minimal distance that one of the authors of the citing entity has with regards to one of the authors of the cited entity, according to their co-authorship network. + +For instance, a citation has a co-authorship citation level equal to 1 if at least one author of the citing entity has previously published as co-author with one of the authors of the cited entity. Similarly, we say that a citation has a co-authorship citation level equal to 2 if at least one author of the citing entity has previously published as co-author with someone who him/herself has previously published as co-author with one of the authors of the cited entity. And so on."""@en ; +. + + + rdfs:label "has reply from"@en ; + schema:description "The cited entity evokes a reply from the citing entity."@en ; +. + + + rdfs:label "includes excerpt from"@en ; + schema:description + """An excerpt is more general than a quotation. It is generally used to indicate a re-published extract from a book, instruction manual, film, radio programme, etc, that need not be what someone said. For example: + +Oxford 01865 +Oxshott 01372 +Oxted 01883 +Oxton 01578 + +is an excerpt from the UK Dialling Codes section of the Oxford Telephone Directory."""@en , + "Example: In her work, the author states that even though most Human Information Behaviour researchers are familiar with the literature related to their studies, it is not uncommon for investigators to fail to see the benefits they may gain from previous mistakes [X]."@en , + "The citing entity includes one or more excerpts from the cited entity."@en ; +. + + + rdfs:label "includes quotation from"@en ; + schema:description + """A quotation is a repetition of what someone has said, and is presented "within quotation marks", for example: + +On June 4th 1940, Winston Churchill made a speech on the radio that has since become famous, that included the words: " . . . we shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender . . .\""""@en , + "Example: As Newton wrote in [X]: \"We are like dwarfs standing on the shoulders of giants\"."@en , + "The citing entity includes one or more quotations from the cited entity."@en ; +. + + + rdfs:label "is agreed with by"@en ; + schema:description "The cited entity contains statements, ideas or conclusions with which the citing entity agrees."@en ; +. + + + rdfs:label "is cited as authority by"@en ; + schema:description "The cited entity is cited as providing an authoritative description or definition of the subject under discussion in the citing entity."@en ; +. + + + rdfs:label "is cited as data source by"@en ; + schema:description "The cited entity is cited as a data source by the citing entity."@en ; +. + + + rdfs:label "is cited as evidence by"@en ; + schema:description "The cited entity is cited for providing factual evidence to the citing entity."@en ; +. + + + rdfs:label "is cited as metadata document by"@en ; + schema:description "The cited entity is cited as being the container of metadata relating to the citing entity."@en ; +. + + + rdfs:label "is cited as potential solution by"@en ; + schema:description "The cited entity is cited as providing or containing a possible solution to the issues being discussed in the citing entity."@en ; +. + + + rdfs:label "is cited as recommended reading by"@en ; + schema:description "The cited entity is cited by the citing entity as an item of recommended reading. This property can be used, for example, to describe references in a lecture reading list, where the cited references are relevant to the general topic of the lecture, but might not be individually cited within the text of the lecture. Similarly, it could be used to describe items in a 'Suggested further reading' list at the end of a book chapter."@en ; +. + + + rdfs:label "is cited as related by"@en ; + schema:description "The cited entity is cited as being related to the citing entity."@en ; +. + + + rdfs:label "is cited as source document by"@en ; + schema:description "The cited entity is cited as being the entity from which the citing entity is derived, or about which the citing entity contains metadata."@en ; +. + + + rdfs:label "is cited by"@en ; + schema:description "The cited entity (the subject of the RDF triple) is cited by the citing entity (the object of the triple)."@en ; +. + + + rdfs:label "is cited for information by"@en ; + schema:description "The cited entity is cited as a source of information on the subject under discussion in the citing entity."@en ; +. + + + rdfs:label "is compiled by"@en ; + schema:description + "Note: This property has been imported from the CiTO4Data ontology, usage of which has been deprecated."@en , + "The cited entity is the result of a compile or creation event using the citing entity."@en ; +. + + + rdfs:label "is confirmed by"@en ; + schema:description "The cited entity presents facts, ideas or statements that are confirmed by the citing entity."@en ; +. + + + rdfs:label "is corrected by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are corrected by the citing entity."@en ; +. + + + rdfs:label "is credited by"@en ; + schema:description "The cited entity makes contributions that are acknowledged by the citing entity."@en ; +. + + + rdfs:label "is critiqued by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are critiqued by the citing entity."@en ; +. + + + rdfs:label "is derided by"@en ; + schema:description "The cited entity contains ideas or conclusions for which the citing entity express derision."@en ; +. + + + rdfs:label "is described by"@en ; + schema:description "The cited entity is described by the citing entity."@en ; +. + + + rdfs:label "is disagreed with by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are disagreed with by the citing entity."@en ; +. + + + rdfs:label "is discussed by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are discussed by the citing entity."@en ; +. + + + rdfs:label "is disputed by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are disputed by the citing entity."@en ; +. + + + rdfs:label "is documented by"@en ; + schema:description "Information about the cited entity is documented by the citing entity."@en ; +. + + + rdfs:label "is extended by"@en ; + schema:description "The cited entity presents facts, ideas or understandings that are extended by the citing entity."@en ; +. + + + rdfs:label "is linked to by"@en ; + schema:description "The cited entity is the target for an HTTP Uniform Resource Locator (URL) link within the citing entity."@en ; +. + + + rdfs:label "is parodied by"@en ; + schema:description "The characteristic style or content of the cited entity is imitated by the citing entity for comic effect, usually without explicit citation."@en ; +. + + + rdfs:label "is plagiarized by"@en ; + schema:description "The cited entity is plagiarized by the author of the citing entity, who includes within the citing entity textual or other elements from the cited entity without formal acknowledgement of their source. The cited entity is thus not explicitly cited from within the citing entity, according to the norms of scholarly practice, but is cited implicitly."@en ; +. + + + rdfs:label "is qualified by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are qualified or have conditions placed upon them by the citing entity."@en ; +. + + + rdfs:label "is refuted by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are refuted by the citing entity."@en ; +. + + + rdfs:label "is retracted by"@en ; + schema:description "The cited entity is formally retracted by the citing entity."@en ; +. + + + rdfs:label "is reviewed by"@en ; + schema:description "The cited entity presents statements, ideas or conclusions that are reviewed by the citing entity."@en ; +. + + + rdfs:label "is ridiculed by"@en ; + schema:description "The cited entity or aspects of its contents are ridiculed by the citing entity."@en ; +. + + + rdfs:label "is speculated on by"@en ; + schema:description "The cited entity is cited because the citing article contains speculations on its content or ideas."@en ; +. + + + rdfs:label "is supported by"@en ; + schema:description "The cited entity receives intellectual or factual support from the citing entity."@en ; +. + + + rdfs:label "is updated by"@en ; + schema:description "The cited entity presents statements, ideas, hypotheses or understanding that are updated by the cited entity."@en ; +. + + + rdfs:label "likes"@en ; + schema:description "A property that permits you to express appreciation of or interest in something that is the object of the RDF triple, or to express that it is worth thinking about even if you do not agree with its content, enabling social media 'likes' statements to be encoded in RDF. Use of this property does NOT imply the existence of a formal citation of the entity that is 'liked'."@en ; +. + + + rdfs:label "links to"@en ; + schema:description + "Example: The BioSharing registry (https://biosharing.org) can be of use as it describes the standards in detail, including versions where applicable."@en , + "The citing entity provides a link, in the form of an HTTP Uniform Resource Locator (URL), to the cited entity."@en ; +. + + + rdfs:label "obtains background from"@en ; + schema:description + "Example: There is a need for more observational studies and studies using narrative causation to describe the potential contribution of information in problem-solving and decision-making [X]; our work addresses these needs."@en , + "The citing entity obtains background information from the cited entity."@en ; +. + + + rdfs:label "obtains support from"@en ; + schema:description + "Example: Our ideas were also shared by Doe et al. [X]."@en , + "The citing entity obtains intellectual or factual support from the cited entity."@en ; +. + + + rdfs:label "parodies"@en ; + schema:description + "Example: We act as giants on the shoulders of dwarfs [X]!"@en , + "The citing entity imitates the characteristic style or content of the cited entity for comic effect, usually without explicit citation."@en ; +. + + + rdfs:label "plagiarizes"@en ; + schema:description + "A property indicating that the author of the citing entity plagiarizes the cited entity, by including textual or other elements from the cited entity without formal acknowledgement of their source. The citing entity thus contains no explicit citation of the cited entity, according to the norms of scholarly practice, but cites it implicitly."@en , + "Example: The conclusion of our dissertation can be summarised by the following motto, we created specifically for this purpose: we are like dwarfs standing on the shoulders of giants."@en ; +. + + + rdfs:label "provides assertion for"@en ; + schema:description "The cited entity contains and is the original source of a statement of fact or a logical assertion (or a collection of such facts and/or assertions) that is to be found in the citing entity. This inverse object property is designed to be used to relate a cited entity to a separate abstract, summary or nanopublication based upon it."@en ; +. + + + rdfs:label "provides conclusions for"@en ; + schema:description "The cited entity presents conclusions that are used in work described in the citing entity."@en ; +. + + + rdfs:label "provides data for"@en ; + schema:description "The cited entity presents data that are used in work described in the citing entity."@en ; +. + + + rdfs:label "provides excerpt for"@en ; + schema:description "The cited entity contains information, usually of a textual nature, that is excerpted by (used as an excerpt within) the citing entity."@en ; +. + + + rdfs:label "provides method for"@en ; + schema:description "The cited entity details a method that is used in work described by the citing entity."@en ; +. + + + rdfs:label "provides quotation for"@en ; + schema:description "The cited entity contains information, usually of a textual nature, that is quoted by (used as a quotation within) the citing entity."@en ; +. + + + rdfs:label "qualifies"@en ; + schema:description + "Example: Galileo's masterpiece 'Dialogo sopra i due massimi sistemi del mondo' [X] is formally a dialog and substantially a scientific pamphlet."@en , + "The citing entity qualifies or places conditions or restrictions upon statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "refutes"@en ; + schema:description + "Example: We do not think that all their arguments in favour of their own and against the other strategies are equally convincing [X]."@en , + "The citing entity refutes statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "replies to"@en ; + schema:description + "Example: We will not investigate the issues of the approach proposed in [X] here, but rather we introduce yet another alternative."@en , + "The citing entity replies to statements, ideas or criticisms presented in the cited entity."@en ; +. + + + rdfs:label "retracts"@en ; + schema:description + "Example: We wrote that the Earth moves in [X]; we now retire such statement."@en , + "The citing entity constitutes a formal retraction of the cited entity."@en ; +. + + + rdfs:label "reviews"@en ; + schema:description + "Example: This paper discusses Toulmin's methodology in modelling argumentation [X], focussing on highlighting advantages and drawbacks of the application of such a methodology in the Social Web."@en , + "The citing entity reviews statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "ridicules"@en ; + schema:description + "Example: Galileo said that the Earth \"moves\" [X]; really? And where is it going?"@en , + "The citing entity ridicules the cited entity or aspects of its contents."@en ; +. + + + rdfs:label "shares author institution with"@en ; + schema:description "Each entity has at least one author that shares a common institutional affiliation with an author of the other entity."@en ; +. + + + rdfs:label "shares author with"@en ; + schema:description "Each entity has at least one author in common with the other entity."@en ; +. + + + rdfs:label "shares funding agency with"@en ; + schema:description "The two entities result from activities that have been funded by the same funding agency."@en ; +. + + + rdfs:label "shares journal with"@en ; + schema:description "The citing and cited bibliographic resources are published in the same journal."@en ; +. + + + rdfs:label "shares publication venue with"@en ; + schema:description "The citing and cited bibliographic resources are published in same publication venue."@en ; +. + + + rdfs:label "speculates on"@en ; + schema:description + "Example: We believe that if Galileo believed that Earth goes around the Sun [X], he also should believe that Moon goes around Earth."@en , + "The citing entity speculates on something within or related to the cited entity, without firm evidence."@en ; +. + + + rdfs:label "supports"@en ; + schema:description + "Example: We support Galileo's statement [X], that Earth moves."@en , + "The citing entity provides intellectual or factual support for statements, ideas or conclusions presented in the cited entity."@en ; +. + + + rdfs:label "updates"@en ; + schema:description + "Example: Earth moves, said Galileo [X]; in addition, we can say now it moves very fast."@en , + "The citing entity updates statements, ideas, hypotheses or understanding presented in the cited entity."@en ; +. + + + rdfs:label "uses conclusions from"@en ; + schema:description + "Example: Building upon Galileo's findings [X], we discovered that all the planets move."@en , + "The citing entity describes work that uses conclusions presented in the cited entity."@en ; +. + + + rdfs:label "uses data from"@en ; + schema:description + "Example: Using the information collected from our recent study [X], we can estimate that there are tens of millions of HTML forms with potentially useful deep-web content."@en , + "The citing entity describes work that uses data presented in the cited entity."@en ; +. + + + rdfs:label "uses method in"@en ; + schema:description + "Example: We follow [X] in using design patterns for testing."@en , + "The citing entity describes work that uses a method detailed in the cited entity."@en ; +. + + + rdfs:label "citation" ; + schema:description "This property is defined in schema.org and has been added here to align schema.org with CiTO. The object property schema:citation expresses similar semantics to cito:cites except for the explicit definition of domain and range classes, that are schema:CreativeWork according to schema.org. For that reason, it is here defined as a subproperty of cito:cites."@en ; +. + diff --git a/prez/reference_data/annotations/data-roles-annotations.ttl b/prez/reference_data/annotations/data-roles-annotations.ttl new file mode 100644 index 00000000..e28c560b --- /dev/null +++ b/prez/reference_data/annotations/data-roles-annotations.ttl @@ -0,0 +1,133 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "IDN Role Codes"@en ; + schema:description "This vocabulary lists the roles that Agents - People and Organisations - play in relation to data. This is an extended and Semantic Web version of the International Organisation for Standardization's ISO19115-1 standard's Role Codes codelist."@en ; +. + + + rdfs:label "author"@en ; + schema:description "party who authored the resource" ; +. + + + rdfs:label "co author"@en ; + schema:description "party who jointly authors the resource" ; +. + + + rdfs:label "collaborator"@en ; + schema:description "party who assists with the generation of the resource other than the principal investigator" ; +. + + + rdfs:label "contributor"@en ; + schema:description "party contributing to the resource" ; +. + + + rdfs:label "custodian"@en ; + schema:description "party that accepts accountability and responsibility for the resource and ensures appropriate care and maintenance of the resource" ; +. + + + rdfs:label "distributor"@en ; + schema:description "party who distributes the resource" ; +. + + + rdfs:label "editor"@en ; + schema:description "party who reviewed or modified the resource to improve the content" ; +. + + + rdfs:label "funder"@en ; + schema:description "party providing monetary support for the resource" ; +. + + + rdfs:label "ISO CI Role Code codes"@en ; + schema:description "Role Codes presented in the ISO 19115 original standard's codelist"@en ; +. + + + rdfs:label "mediator"@en ; + schema:description "a class of entity that mediates access to the resource and for whom the resource is intended or useful" ; +. + + + rdfs:label "originator"@en ; + schema:description "party who created the resource" ; +. + + + rdfs:label "owner"@en ; + schema:description "party that owns the resource" ; +. + + + rdfs:label "point of contact"@en ; + schema:description "party who can be contacted for acquiring knowledge about or acquisition of the resource" ; +. + + + rdfs:label "principal investigator"@en ; + schema:description "key party responsible for gathering information and conducting research" ; +. + + + rdfs:label "processor"@en ; + schema:description "party who has processed the data in a manner such that the resource has been modified" ; +. + + + rdfs:label "publisher"@en ; + schema:description "party who published the resource" ; +. + + + rdfs:label "resource provider"@en ; + schema:description "party that supplies the resource" ; +. + + + rdfs:label "rights holder"@en ; + schema:description "party owning or managing rights over the resource" ; +. + + + rdfs:label "sponsor"@en ; + schema:description "party who speaks for the resource" ; +. + + + rdfs:label "stakeholder"@en ; + schema:description "party who has an interest in the resource or the use of the resource" ; +. + + + rdfs:label "subject agent"@en ; + schema:description "party that the resources contains information about" ; +. + + + rdfs:label "subject agent representative"@en ; + schema:description "party who can be contacted who best represents the interests of the subject agent" ; +. + + + rdfs:label "user"@en ; + schema:description "party who uses the resource" ; +. + + + rdfs:label "Australian Government Linked Data Working Group" ; + schema:description "The Australian Government's community of practice for Linked Data"@en ; +. + + + rdfs:label "Indigenous Data Network" ; + schema:description "The Indigenous Data Network (IDN) was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities."@en ; +. + diff --git a/prez/reference_data/annotations/dcat-annotations.ttl b/prez/reference_data/annotations/dcat-annotations.ttl new file mode 100644 index 00000000..6add584a --- /dev/null +++ b/prez/reference_data/annotations/dcat-annotations.ttl @@ -0,0 +1,747 @@ +PREFIX dcat: +PREFIX foaf: +PREFIX rdfs: +PREFIX schema: + + + rdfs:label + "أنطولوجية فهارس قوائم البيانات"@ar , + "Slovník pro datové katalogy"@cs , + "Datakatalogvokabular"@da , + "Το λεξιλόγιο των καταλόγων δεδομένων"@el , + "The data catalog vocabulary"@en , + "El vocabulario de catálogo de datos"@es , + "Le vocabulaire des jeux de données"@fr , + "Il vocabolario del catalogo dei dati"@it , + "データ・カタログ語彙(DCAT)"@ja ; + schema:description + "هي أنطولوجية تسهل تبادل البيانات بين مختلف الفهارس على الوب. استخدام هذه الأنطولوجية يساعد على اكتشاف قوائم البيانات المنشورة على الوب و يمكن التطبيقات المختلفة من الاستفادة أتوماتيكيا من البيانات المتاحة من مختلف الفهارس."@ar , + "DCAT je RDF slovník navržený pro zprostředkování interoperability mezi datovými katalogy publikovanými na Webu. Poskytovatelé dat používáním slovníku DCAT pro popis datových sad v datových katalozích zvyšují jejich dohledatelnost a umožňují aplikacím konzumovat metadata z více katalogů. Dále je umožňena decentralizovaná publikace katalogů a federované dotazování na datové sady napříč katalogy. Agregovaná DCAT metadata mohou také sloužit jako průvodka umožňující digitální uchování informace. DCAT je definován na http://www.w3.org/TR/vocab-dcat/. Jakýkoliv nesoulad mezi odkazovaným dokumentem a tímto schématem je chybou v tomto schématu."@cs , + "DCAT er et RDF-vokabular som har til formål at understøtte interoperabilitet mellem datakataloger udgivet på nettet. Ved at anvende DCAT til at beskrive datasæt i datakataloger, kan udgivere øge findbarhed og gøre det gøre det lettere for applikationer at anvende metadata fra forskellige kataloger. Derudover understøttes decentraliseret udstilling af kataloger og fødererede datasætsøgninger på tværs af websider. Aggregerede DCAT-metadata kan fungere som fortegnelsesfiler der kan understøtte digital bevaring. DCAT er defineret på http://www.w3.org/TR/vocab-dcat/. Enhver forskel mellem det normative dokument og dette schema er en fejl i dette schema."@da , + "Το DCAT είναι ένα RDF λεξιλόγιο που σχεδιάσθηκε για να κάνει εφικτή τη διαλειτουργικότητα μεταξύ καταλόγων δεδομένων στον Παγκόσμιο Ιστό. Χρησιμοποιώντας το DCAT για την περιγραφή συνόλων δεδομένων, οι εκδότες αυτών αυξάνουν την ανακαλυψιμότητα και επιτρέπουν στις εφαρμογές την εύκολη κατανάλωση μεταδεδομένων από πολλαπλούς καταλόγους. Επιπλέον, δίνει τη δυνατότητα για αποκεντρωμένη έκδοση και διάθεση καταλόγων και επιτρέπει δυνατότητες ενοποιημένης αναζήτησης μεταξύ διαφορετικών πηγών. Συγκεντρωτικά μεταδεδομένα που έχουν περιγραφεί με το DCAT μπορούν να χρησιμοποιηθούν σαν ένα δηλωτικό αρχείο (manifest file) ώστε να διευκολύνουν την ψηφιακή συντήρηση."@el , + "DCAT is an RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web. By using DCAT to describe datasets in data catalogs, publishers increase discoverability and enable applications easily to consume metadata from multiple catalogs. It further enables decentralized publishing of catalogs and facilitates federated dataset search across sites. Aggregated DCAT metadata can serve as a manifest file to facilitate digital preservation. DCAT is defined at http://www.w3.org/TR/vocab-dcat/. Any variance between that normative document and this schema is an error in this schema."@en , + "DCAT es un vocabulario RDF diseñado para facilitar la interoperabilidad entre catálogos de datos publicados en la Web. Utilizando DCAT para describir datos disponibles en catálogos se aumenta la posibilidad de que sean descubiertos y se permite que las aplicaciones consuman fácilmente los metadatos de varios catálogos."@es , + "DCAT est un vocabulaire développé pour faciliter l'interopérabilité entre les jeux de données publiées sur le Web. En utilisant DCAT pour décrire les jeux de données dans les catalogues de données, les fournisseurs de données augmentent leur découverte et permettent que les applications facilement les métadonnées de plusieurs catalogues. Il permet en plus la publication décentralisée des catalogues et facilitent la recherche fédérée des données entre plusieurs sites. Les métadonnées DCAT aggrégées peuvent servir comme un manifeste pour faciliter la préservation digitale des ressources. DCAT est définie à l'adresse http://www.w3.org/TR/vocab-dcat/. Une quelconque version de ce document normatif et ce vocabulaire est une erreur dans ce vocabulaire."@fr , + "DCAT è un vocabolario RDF progettato per facilitare l'interoperabilità tra i cataloghi di dati pubblicati nel Web. Utilizzando DCAT per descrivere i dataset nei cataloghi di dati, i fornitori migliorano la capacità di individuazione dei dati e abilitano le applicazioni al consumo di dati provenienti da cataloghi differenti. DCAT permette di decentralizzare la pubblicazione di cataloghi e facilita la ricerca federata dei dataset. L'aggregazione dei metadati federati può fungere da file manifesto per facilitare la conservazione digitale. DCAT è definito all'indirizzo http://www.w3.org/TR/vocab-dcat/. Qualsiasi scostamento tra tale definizione normativa e questo schema è da considerarsi un errore di questo schema."@it , + "DCATは、ウェブ上で公開されたデータ・カタログ間の相互運用性の促進を目的とするRDFの語彙です。このドキュメントでは、その利用のために、スキーマを定義し、例を提供します。データ・カタログ内のデータセットを記述するためにDCATを用いると、公開者が、発見可能性を増加させ、アプリケーションが複数のカタログのメタデータを容易に利用できるようになります。さらに、カタログの分散公開を可能にし、複数のサイトにまたがるデータセットの統合検索を促進します。集約されたDCATメタデータは、ディジタル保存を促進するためのマニフェスト・ファイルとして使用できます。"@ja ; +. + +dcat:Catalog + rdfs:label + "فهرس قوائم البيانات"@ar , + "Katalog"@cs , + "Katalog"@da , + "Κατάλογος"@el , + "Catalog"@en , + "Catálogo"@es , + "Catalogue"@fr , + "Catalogo"@it , + "カタログ"@ja ; + schema:description + "مجموعة من توصيفات قوائم البيانات"@ar , + "Řízená kolekce metadat o datových sadách a datových službách"@cs , + "Řízená kolekce metadat o datových sadách a datových službách."@cs , + "En samling af metadata om ressourcer (fx datasæt og datatjenester i kontekst af et datakatalog)."@da , + "En udvalgt og arrangeret samling af metadata om ressourcer (fx datasæt og datatjenester i kontekst af et datakatalog). "@da , + "Μια επιμελημένη συλλογή μεταδεδομένων περί συνόλων δεδομένων"@el , + "Μια επιμελημένη συλλογή μεταδεδομένων περί συνόλων δεδομένων."@el , + "A curated collection of metadata about resources (e.g., datasets and data services in the context of a data catalog)."@en , + "Una colección curada de metadatos sobre recursos (por ejemplo, conjuntos de datos y servicios de datos en el contexto de un catálogo de datos)."@es , + "Une collection élaborée de métadonnées sur les jeux de données"@fr , + "Une collection élaborée de métadonnées sur les jeux de données."@fr , + "Una raccolta curata di metadati sulle risorse (ad es. sui dataset e relativi servizi nel contesto di cataloghi di dati)."@it , + "データ・カタログは、データセットに関するキュレートされたメタデータの集合です。"@ja ; +. + +dcat:CatalogRecord + rdfs:label + "سجل"@ar , + "Katalogizační záznam"@cs , + "Katalogpost"@da , + "Καταγραφή καταλόγου"@el , + "Catalog Record"@en , + "Registro del catálogo"@es , + "Registre du catalogue"@fr , + "Record di catalogo"@it , + "カタログ・レコード"@ja ; + schema:description + "Záznam v datovém katalogu popisující jednu datovou sadu či datovou službu."@cs , + "En post i et datakatalog der beskriver registreringen af et enkelt datasæt eller en datatjeneste."@da , + "Μία καταγραφή ενός καταλόγου, η οποία περιγράφει ένα συγκεκριμένο σύνολο δεδομένων."@el , + "A record in a data catalog, describing the registration of a single dataset or data service."@en , + "Un registro en un catálogo de datos que describe un solo conjunto de datos o un servicio de datos."@es , + "Un registre du catalogue ou une entrée du catalogue, décrivant un seul jeu de données."@fr , + "Un record in un catalogo di dati che descrive un singolo dataset o servizio di dati."@it , + "1つのデータセットを記述したデータ・カタログ内のレコード。"@ja ; +. + +dcat:DataService + rdfs:label + "Datatjeneste"@da , + "Data service"@en , + "Servicio de datos"@es , + "Servizio di dati"@it ; + schema:description + "Umístění či přístupový bod poskytující operace související s hledáním, přistupem k, či výkonem funkcí na datech či souvisejících zdrojích."@cs , + "Et site eller endpoint der udstiller operationer relateret til opdagelse af, adgang til eller behandlende funktioner på data eller relaterede ressourcer."@da , + "Et websted eller endpoint der udstiller operationer relateret til opdagelse af, adgang til eller behandlende funktioner på data eller relaterede ressourcer."@da , + "A site or end-point providing operations related to the discovery of, access to, or processing functions on, data or related resources."@en , + "Un sitio o end-point que provee operaciones relacionadas a funciones de descubrimiento, acceso, o procesamiento de datos o recursos relacionados."@es , + "Un sito o end-point che fornisce operazioni relative alla scoperta, all'accesso o all'elaborazione di funzioni su dati o risorse correlate."@it ; +. + +dcat:Dataset + rdfs:label + "قائمة بيانات"@ar , + "Datová sada"@cs , + "Datasæt"@da , + "Σύνολο Δεδομένων"@el , + "Dataset"@en , + "Conjunto de datos"@es , + "Jeu de données"@fr , + "Dataset"@it , + "データセット"@ja ; + schema:description + "قائمة بيانات منشورة أو مجموعة من قبل مصدر ما و متاح الوصول إليها أو تحميلها"@ar , + "Kolekce dat poskytovaná či řízená jedním zdrojem, která je k dispozici pro přístup či stažení v jednom či více formátech."@cs , + "En samling a data, udgivet eller udvalgt og arrangeret af en enkelt kilde og som der er adgang til i en eller flere repræsentationer."@da , + "En samling af data, udgivet eller udvalgt og arrangeret af en enkelt kilde og som er til råde for adgang til eller download af i en eller flere repræsentationer."@da , + "Μία συλλογή από δεδομένα, δημοσιευμένη ή επιμελημένη από μία και μόνο πηγή, διαθέσιμη δε προς πρόσβαση ή μεταφόρτωση σε μία ή περισσότερες μορφές."@el , + "A collection of data, published or curated by a single source, and available for access or download in one or more represenations."@en , + "A collection of data, published or curated by a single source, and available for access or download in one or more representations."@en , + "Una colección de datos, publicados o conservados por una única fuente, y disponibles para ser accedidos o descargados en uno o más formatos."@es , + "Une collection de données, publiée ou élaborée par une seule source, et disponible pour accès ou téléchargement dans un ou plusieurs formats."@fr , + "Raccolta di dati, pubblicati o curati da un'unica fonte, disponibili per l'accesso o il download in uno o più formati."@it , + "1つのエージェントによって公開またはキュレートされ、1つ以上の形式でアクセスまたはダウンロードできるデータの集合。"@ja ; +. + +dcat:Distribution + rdfs:label + "التوزيع"@ar , + "Distribuce"@cs , + "Distribution"@da , + "Διανομή"@el , + "Distribution"@en , + "Distribución"@es , + "Distribution"@fr , + "Distribuzione"@it , + "配信"@ja ; + schema:description + "شكل محدد لقائمة البيانات يمكن الوصول إليه. قائمة بيانات ما يمكن أن تكون متاحه باشكال و أنواع متعددة. ملف يمكن تحميله أو واجهة برمجية يمكن من خلالها الوصول إلى البيانات هي أمثلة على ذلك."@ar , + "Konkrétní reprezentace datové sady. Datová sada může být dostupná v různých serializacích, které se mohou navzájem lišit různými způsoby, mimo jiné přirozeným jazykem, media-typem či formátem, schematickou organizací, časovým a prostorovým rozlišením, úrovní detailu či profily (které mohou specifikovat některé či všechny tyto rozdíly)."@cs , + "En specifik repræsentation af et datasæt. Et datasæt kan være tilgængelig i mange serialiseringer der kan variere på forskellige vis, herunder sprog, medietype eller format, systemorganisering, tidslig- og geografisk opløsning, detaljeringsniveau eller profiler (der kan specificere en eller flere af ovenstående)."@da , + "Αναπαριστά μία συγκεκριμένη διαθέσιμη μορφή ενός συνόλου δεδομένων. Κάθε σύνολο δεδομενων μπορεί να είναι διαθέσιμο σε διαφορετικές μορφές, οι μορφές αυτές μπορεί να αναπαριστούν διαφορετικές μορφές αρχείων ή διαφορετικά σημεία διάθεσης. Παραδείγματα διανομών συμπεριλαμβάνουν ένα μεταφορτώσιμο αρχείο μορφής CSV, ένα API ή ένα RSS feed."@el , + "A specific representation of a dataset. A dataset might be available in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail or profiles (which might specify any or all of the above)."@en , + "Una representación específica de los datos. Cada conjunto de datos puede estar disponible en formas diferentes, las cuáles pueden variar en distintas formas, incluyendo el idioma, 'media-type' o formato, organización esquemática, resolución temporal y espacial, nivel de detalle o perfiles (que pueden especificar cualquiera o todas las diferencias anteriores)."@es , + "Représente une forme spécifique d'un jeu de données. Caque jeu de données peut être disponible sous différentes formes, celles-ci pouvant représenter différents formats du jeu de données ou différents endpoint. Des exemples de distribution sont des fichirs CSV, des API ou des flux RSS."@fr , + "Rappresenta una forma disponibile e specifica del dataset. Ciascun dataset può essere disponibile in forme differenti, che possono rappresentare formati diversi o diversi punti di accesso per un dataset. Esempi di distribuzioni sono un file CSV scaricabile, una API o un RSS feed."@it , + "データセットの特定の利用可能な形式を表わします。各データセットは、異なる形式で利用できることがあり、これらの形式は、データセットの異なる形式や、異なるエンドポイントを表わす可能性があります。配信の例には、ダウンロード可能なCSVファイル、API、RSSフィードが含まれます。"@ja ; +. + +dcat:Relationship + rdfs:label + "Vztah"@cs , + "Relation"@da , + "Relationship"@en , + "Relación"@es , + "Relazione"@it ; + schema:description + "Asociační třída pro připojení dodatečných informací ke vztahu mezi zdroji DCAT."@cs , + "En associationsklasse til brug for tilknytning af yderligere information til en relation mellem DCAT-ressourcer."@da , + "An association class for attaching additional information to a relationship between DCAT Resources."@en , + "Una clase de asociación para adjuntar información adicional a una relación entre recursos DCAT."@es , + "Una classe di associazione per il collegamento di informazioni aggiuntive a una relazione tra le risorse DCAT."@it ; +. + +dcat:Resource + rdfs:label + "Katalogizovaný zdroj"@cs , + "Katalogiseret ressource"@da , + "Catalogued resource"@en , + "Recurso catalogado"@es , + "Risorsa catalogata"@it ; + schema:description + "Zdroj publikovaný či řízený jediným činitelem."@cs , + "Ressource udgivet eller udvalgt og arrangeret af en enkelt aktør."@da , + "Resource published or curated by a single agent."@en , + "Recurso publicado o curado por un agente único."@es , + "Risorsa pubblicata o curata da un singolo agente."@it ; +. + +dcat:Role + rdfs:label + "Role"@cs , + "Rolle"@da , + "Role"@en , + "Rol"@es , + "Ruolo"@it ; + rdfs:seeAlso dcat:hadRole ; + schema:description + "Role je funkce zdroje či agenta ve vztahu k jinému zdroji, v kontextu přiřazení zdrojů či vztahů mezi zdroji."@cs , + "En rolle er den funktion en ressource eller aktør har i forhold til en anden ressource, i forbindelse med ressourcekreditering eller ressourcerelationer."@da , + "A role is the function of a resource or agent with respect to another resource, in the context of resource attribution or resource relationships."@en , + "Un rol es la función de un recurso o agente con respecto a otro recuros, en el contexto de atribución del recurso o de las relaciones entre recursos."@es , + "Un ruolo è la funzione di una risorsa o di un agente rispetto ad un'altra risorsa, nel contesto dell'attribuzione delle risorse o delle relazioni tra risorse."@it ; +. + +dcat:accessService + rdfs:label + "služba pro přístup k datům"@cs , + "dataadgangstjeneste"@da , + "data access service"@en , + "servicio de acceso de datos"@es , + "servizio di accesso ai dati"@it ; + schema:description + "Umístění či přístupový bod zpřístupňující distribuci datové sady."@cs , + "Et websted eller endpoint der giver adgang til en repræsentation af datasættet."@da , + "A site or end-point that gives access to the distribution of the dataset."@en , + "Un sitio o end-point que da acceso a la distribución de un conjunto de datos."@es , + "Un sito o end-point che dà accesso alla distribuzione del set di dati."@it ; +. + +dcat:accessURL + rdfs:label + "رابط وصول"@ar , + "přístupová adresa"@cs , + "adgangsadresse"@da , + "URL πρόσβασης"@el , + "access address"@en , + "URL de acceso"@es , + "URL d'accès"@fr , + "indirizzo di accesso"@it , + "アクセスURL"@ja ; + schema:description + "أي رابط يتيح الوصول إلى البيانات. إذا كان الرابط هو ربط مباشر لملف يمكن تحميله استخدم الخاصية downloadURL"@ar , + "URL zdroje, přes které je přístupná distribuce datové sady. Příkladem může být vstupní stránka, RSS kanál či SPARQL endpoint. Použijte ve všech případech kromě URL souboru ke stažení, pro které je lepší použít dcat:downloadURL."@cs , + "En URL for en ressource som giver adgang til en repræsentation af datsættet. Fx destinationsside, feed, SPARQL-endpoint. Anvendes i alle sammenhænge undtagen til angivelse af et simpelt download link hvor anvendelse af egenskaben downloadURL foretrækkes."@da , + "Μπορεί να είναι οποιουδήποτε είδους URL που δίνει πρόσβαση στη διανομή ενός συνόλου δεδομένων. Π.χ. ιστοσελίδα αρχικής πρόσβασης, μεταφόρτωση, feed URL, σημείο διάθεσης SPARQL. Να χρησιμοποιείται όταν ο κατάλογος δεν περιέχει πληροφορίες εαν πρόκειται ή όχι για μεταφορτώσιμο αρχείο."@el , + "A URL of a resource that gives access to a distribution of the dataset. E.g. landing page, feed, SPARQL endpoint. Use for all cases except a simple download link, in which case downloadURL is preferred."@en , + "Puede ser cualquier tipo de URL que de acceso a una distribución del conjunto de datos, e.g., página de destino, descarga, URL feed, punto de acceso SPARQL. Esta propriedad se debe usar cuando su catálogo de datos no tiene información sobre donde está o cuando no se puede descargar."@es , + "Ceci peut être tout type d'URL qui donne accès à une distribution du jeu de données. Par exemple, un lien à une page HTML contenant un lien au jeu de données, un Flux RSS, un point d'accès SPARQL. Utilisez le lorsque votre catalogue ne contient pas d'information sur quoi il est ou quand ce n'est pas téléchargeable."@fr , + "Un URL di una risorsa che consente di accedere a una distribuzione del set di dati. Per esempio, pagina di destinazione, feed, endpoint SPARQL. Da utilizzare per tutti i casi, tranne quando si tratta di un semplice link per il download nel qual caso è preferito downloadURL."@it , + "データセットの配信にアクセス権を与えるランディング・ページ、フィード、SPARQLエンドポイント、その他の種類の資源。"@ja ; +. + +dcat:bbox + rdfs:label + "ohraničení oblasti"@cs , + "bounding box"@da , + "bounding box"@en , + "cuadro delimitador"@es , + "quadro di delimitazione"@it ; + schema:description + "Ohraničení geografické oblasti zdroje."@cs , + "Den geografiske omskrevne firkant af en ressource."@da , + "The geographic bounding box of a resource."@en , + "El cuadro delimitador geográfico para un recurso."@es , + "Il riquadro di delimitazione geografica di una risorsa."@it ; +. + +dcat:byteSize + rdfs:label + "الحجم بالبايت"@ar , + "velikost v bajtech"@cs , + "bytestørrelse"@da , + "μέγεθος σε bytes"@el , + "byte size"@en , + "tamaño en bytes"@es , + "taille en octects"@fr , + "dimensione in byte"@it , + "バイト・サイズ"@ja ; + schema:description + "الحجم بالبايتات "@ar , + "Velikost distribuce v bajtech."@cs , + "Størrelsen af en distribution angivet i bytes."@da , + "Størrelsen af en distributionen angivet i bytes."@da , + "Το μέγεθος μιας διανομής σε bytes."@el , + "The size of a distribution in bytes."@en , + "El tamaño de una distribución en bytes."@es , + "La taille de la distribution en octects"@fr , + "La taille de la distribution en octects."@fr , + "La dimensione di una distribuzione in byte."@it , + "バイトによる配信のサイズ。"@ja ; +. + +dcat:catalog + rdfs:label + "katalog"@cs , + "katalog"@da , + "catalog"@en , + "catálogo"@es , + "catalogo"@it ; + schema:description + "Katalog, jehož obsah je v kontextu tohoto katalogu zajímavý."@cs , + "Et katalog hvis indhold er relevant i forhold til det aktuelle katalog."@da , + "A catalog whose contents are of interest in the context of this catalog."@en , + "Un catálogo cuyo contenido es de interés en el contexto del catálogo que está siendo descripto."@es , + "Un catalogo i cui contenuti sono di interesse nel contesto di questo catalogo."@it ; +. + +dcat:centroid + rdfs:label + "centroid"@cs , + "geometrisk tyngdepunkt"@da , + "centroid"@en , + "centroide"@es , + "centroide"@it ; + schema:description + "Geografický střed (centroid) zdroje."@cs , + "Det geometrisk tyngdepunkt (centroid) for en ressource."@da , + "The geographic center (centroid) of a resource."@en , + "El centro geográfico (centroide) de un recurso."@es , + "Il centro geografico (centroide) di una risorsa."@it ; +. + +dcat:compressFormat + rdfs:label + "formát komprese"@cs , + "kompressionsformat"@da , + "compression format"@en , + "formato de compresión"@es , + "formato di compressione"@it ; + schema:description + "Formát komprese souboru, ve kterém jsou data poskytována v komprimované podobě, např. ke snížení velikosti souboru ke stažení."@cs , + "Kompressionsformatet for distributionen som indeholder data i et komprimeret format, fx for at reducere størrelsen af downloadfilen."@da , + "The compression format of the distribution in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file."@en , + "El formato de la distribución en el que los datos están en forma comprimida, e.g. para reducir el tamaño del archivo a bajar."@es , + "Il formato di compressione della distribuzione nel quale i dati sono in forma compressa, ad es. per ridurre le dimensioni del file da scaricare."@it ; +. + +dcat:contactPoint + rdfs:label + "عنوان اتصال"@ar , + "kontaktní bod"@cs , + "kontaktpunkt"@da , + "σημείο επικοινωνίας"@el , + "contact point"@en , + "Punto de contacto"@es , + "point de contact"@fr , + "punto di contatto"@it , + "窓口"@ja ; + schema:description + "تربط قائمة البيانات بعنوان اتصال موصف باستخدام VCard"@ar , + "Relevantní kontaktní informace pro katalogizovaný zdroj. Doporučuje se použít slovník VCard."@cs , + "Relevante kontaktoplysninger for den katalogiserede ressource. Anvendelse af vCard anbefales."@da , + "Συνδέει ένα σύνολο δεδομένων με ένα σχετικό σημείο επικοινωνίας, μέσω VCard."@el , + "Relevant contact information for the catalogued resource. Use of vCard is recommended."@en , + "Información relevante de contacto para el recurso catalogado. Se recomienda el uso de vCard."@es , + "Relie un jeu de données à une information de contact utile en utilisant VCard."@fr , + "Informazioni di contatto rilevanti per la risorsa catalogata. Si raccomanda l'uso di vCard."@it , + "データセットを、VCardを用いて提供されている適切な連絡先情報にリンクします。"@ja ; +. + +dcat:dataset + rdfs:label + "قائمة بيانات"@ar , + "datová sada"@cs , + "datasæt"@da , + "σύνολο δεδομένων"@el , + "dataset"@en , + "conjunto de datos"@es , + "jeu de données"@fr , + "dataset"@it , + "データセット"@ja ; + schema:description + "تربط الفهرس بقائمة بيانات ضمنه"@ar , + "Kolekce dat, která je katalogizována v katalogu."@cs , + "En samling af data som er opført i kataloget."@da , + "Συνδέει έναν κατάλογο με ένα σύνολο δεδομένων το οποίο ανήκει στον εν λόγω κατάλογο."@el , + "A collection of data that is listed in the catalog."@en , + "Un conjunto de datos que se lista en el catálogo."@es , + "Relie un catalogue à un jeu de données faisant partie de ce catalogue."@fr , + "Una raccolta di dati che è elencata nel catalogo."@it , + "カタログの一部であるデータセット。"@ja ; +. + +dcat:distribution + rdfs:label + "توزيع"@ar , + "distribuce"@cs , + "distribution"@da , + "διανομή"@el , + "distribution"@en , + "distribución"@es , + "distribution"@fr , + "distribuzione"@it , + "データセット配信"@ja ; + schema:description + "تربط قائمة البيانات بطريقة أو بشكل يسمح الوصول الى البيانات"@ar , + "Dostupná distribuce datové sady."@cs , + "En tilgængelig repræsentation af datasættet."@da , + "Συνδέει ένα σύνολο δεδομένων με μία από τις διαθέσιμες διανομές του."@el , + "An available distribution of the dataset."@en , + "Una distribución disponible del conjunto de datos."@es , + "Connecte un jeu de données à des distributions disponibles."@fr , + "Una distribuzione disponibile per il set di dati."@it , + "データセットを、その利用可能な配信に接続します。"@ja ; +. + +dcat:downloadURL + rdfs:label + "رابط تحميل"@ar , + "URL souboru ke stažení"@cs , + "downloadURL"@da , + "URL μεταφόρτωσης"@el , + "download URL"@en , + "URL de descarga"@es , + "URL de téléchargement"@fr , + "URL di scarico"@it , + "ダウンロードURL"@ja ; + schema:description + "رابط مباشر لملف يمكن تحميله. نوع الملف يتم توصيفه باستخدام الخاصية dct:format dcat:mediaType "@ar , + "URL souboru ke stažení v daném formátu, například CSV nebo RDF soubor. Formát je popsán vlastností distribuce dct:format a/nebo dcat:mediaType."@cs , + "URL til fil der kan downloades i et bestemt format. Fx en CSV-fil eller en RDF-fil. Formatet for distributionen angives ved hjælp af egenskaberne dct:format og/eller dcat:mediaType."@da , + "Είναι ένας σύνδεσμος άμεσης μεταφόρτωσης ενός αρχείου σε μια δεδομένη μορφή. Π.χ. ένα αρχείο CSV ή RDF. Η μορφη αρχείου περιγράφεται από τις ιδιότητες dct:format ή/και dcat:mediaType της διανομής."@el , + "The URL of the downloadable file in a given format. E.g. CSV file or RDF file. The format is indicated by the distribution's dct:format and/or dcat:mediaType."@en , + "La URL de un archivo descargable en el formato dato. Por ejemplo, archivo CSV o archivo RDF. El formato se describe con las propiedades de la distribución dct:format y/o dcat:mediaType."@es , + "Ceci est un lien direct à un fichier téléchargeable en un format donnée. Exple fichier CSV ou RDF. Le format est décrit par les propriétés de distribution dct:format et/ou dcat:mediaType."@fr , + "Questo è un link diretto al file scaricabile in un dato formato. E.g. un file CSV o un file RDF. Il formato è descritto dal dct:format e/o dal dcat:mediaType della distribuzione."@it , + "dcat:downloadURLはdcat:accessURLの特定の形式です。しかし、DCATプロファイルが非ダウンロード・ロケーションに対してのみaccessURLを用いる場合には、より強い分離を課すことを望む可能性があるため、この含意を強化しないように、DCATは、dcat:downloadURLをdcat:accessURLのサブプロパティーであると定義しません。"@ja ; +. + +dcat:endDate + rdfs:label + "datum konce"@cs , + "slutdato"@da , + "end date"@en , + "fecha final"@es , + "data di fine"@it ; + schema:description + "Konec doby trvání."@cs , + "Slutningen på perioden."@da , + "The end of the period."@en , + "El fin del período."@es , + "La fine del periodo."@it ; +. + +dcat:endpointDescription + rdfs:label + "popis přístupového bodu služby"@cs , + "endpointbeskrivelse"@da , + "description of service end-point"@en , + "descripción del end-point del servicio"@es , + "descrizione dell'endpoint del servizio"@it ; + schema:description + "Popis přístupového bodu služby včetně operací, parametrů apod."@cs , + "En beskrivelse af det pågældende tjenesteendpoint, inklusiv dets operationer, parametre etc."@da , + "A description of the service end-point, including its operations, parameters etc."@en , + "Una descripción del end-point del servicio, incluyendo sus operaciones, parámetros, etc."@es , + "Una descripción del end-point del servicio, incluyendo sus operaciones, parámetros, etc.."@es , + "Una descrizione dell'endpoint del servizio, incluse le sue operazioni, parametri, ecc."@it ; +. + +dcat:endpointURL + rdfs:label + "přístupový bod služby"@cs , + "tjenesteendpoint"@da , + "service end-point"@en , + "end-point del servicio"@es , + "end-point del servizio"@it ; + schema:description + "Kořenové umístění nebo hlavní přístupový bod služby (IRI přístupné přes Web)."@cs , + "Rodplaceringen eller det primære endpoint for en tjeneste (en web-resolverbar IRI)."@da , + "The root location or primary endpoint of the service (a web-resolvable IRI)."@en , + "La posición raíz o end-point principal del servicio (una IRI web)."@es , + "La locazione principale o l'endpoint primario del servizio (un IRI risolvibile via web)."@it ; +. + +dcat:keyword + rdfs:label + "كلمة مفتاحية "@ar , + "klíčové slovo"@cs , + "nøgleord"@da , + "λέξη-κλειδί"@el , + "keyword"@en , + "palabra clave"@es , + "mot-clés "@fr , + "parola chiave"@it , + "キーワード/タグ"@ja ; + schema:description + "كلمة مفتاحيه توصف قائمة البيانات"@ar , + "Klíčové slovo nebo značka popisující zdroj."@cs , + "Et nøgleord eller tag til beskrivelse af en ressource."@da , + "Μία λέξη-κλειδί ή μία ετικέτα που περιγράφει το σύνολο δεδομένων."@el , + "A keyword or tag describing a resource."@en , + "Una palabra clave o etiqueta que describe un recurso."@es , + "Un mot-clé ou étiquette décrivant une ressource."@fr , + "Una parola chiave o un'etichetta per descrivere la risorsa."@it , + "データセットを記述しているキーワードまたはタグ。"@ja ; +. + +dcat:landingPage + rdfs:label + "صفحة وصول"@ar , + "vstupní stránka"@cs , + "destinationsside"@da , + "ιστοσελίδα αρχικής πρόσβασης"@el , + "landing page"@en , + "página de destino"@es , + "page d'atterrissage"@fr , + "pagina di destinazione"@it , + "ランディング・ページ"@ja ; + schema:description + "صفحة وب يمكن من خلالها الوصول الى قائمة البيانات أو إلى معلومات إضافية متعلقة بها "@ar , + "Webová stránka, na kterou lze pro získání přístupu ke katalogu, datové sadě, jejím distribucím a/nebo dalším informacím přistoupit webovým prohlížečem."@cs , + "En webside som der kan navigeres til i en webbrowser for at få adgang til kataloget, et datasæt, dets distributioner og/eller yderligere information."@da , + "En webside som en webbrowser kan navigeres til for at få adgang til kataloget, et datasæt, dets distritbutioner og/eller yderligere information."@da , + "Μία ιστοσελίδα πλοηγίσιμη μέσω ενός φυλλομετρητή (Web browser) που δίνει πρόσβαση στο σύνολο δεδομένων, τις διανομές αυτού ή/και επιπρόσθετες πληροφορίες."@el , + "A Web page that can be navigated to in a Web browser to gain access to the catalog, a dataset, its distributions and/or additional information."@en , + "Una página web que puede ser visitada en un explorador Web para tener acceso el catálogo, un conjunto de datos, sus distribuciones y/o información adicional."@es , + "Une page Web accessible par un navigateur Web donnant accès au catalogue, un jeu de données, ses distributions et/ou des informations additionnelles."@fr , + "Una pagina web che può essere navigata per ottenere l'accesso al catalogo, ad un dataset, alle distribuzioni del dataset e/o ad informazioni addizionali."@it , + "データセット、その配信および(または)追加情報にアクセスするためにウエブ・ブラウザでナビゲートできるウェブページ。"@ja ; +. + +dcat:mediaType + rdfs:label + "نوع الميديا"@ar , + "typ média"@cs , + "medietype"@da , + "τύπος μέσου"@el , + "media type"@en , + "tipo de media"@es , + "type de média"@fr , + "tipo di media"@it , + "メディア・タイプ"@ja ; + schema:description + "يجب استخدام هذه الخاصية إذا كان نوع الملف معرف ضمن IANA"@ar , + "Typ média distribuce definovaný v IANA."@cs , + "Medietypen for distributionen som den er defineret af IANA."@da , + "Η ιδιότητα αυτή ΘΑ ΠΡΕΠΕΙ να χρησιμοποιείται όταν ο τύπος μέσου μίας διανομής είναι ορισμένος στο IANA, αλλιώς η ιδιότητα dct:format ΔΥΝΑΤΑΙ να χρησιμοποιηθεί με διαφορετικές τιμές."@el , + "The media type of the distribution as defined by IANA"@en , + "The media type of the distribution as defined by IANA."@en , + "Esta propiedad debe ser usada cuando está definido el tipo de media de la distribución en IANA, de otra manera dct:format puede ser utilizado con diferentes valores"@es , + "Esta propiedad debe ser usada cuando está definido el tipo de media de la distribución en IANA, de otra manera dct:format puede ser utilizado con diferentes valores."@es , + "Cette propriété doit être utilisée quand c'est définit le type de média de la distribution en IANA, sinon dct:format DOIT être utilisé avec différentes valeurs."@fr , + "Il tipo di media della distribuzione come definito da IANA"@it , + "Il tipo di media della distribuzione come definito da IANA."@it , + "このプロパティーは、配信のメディア・タイプがIANAで定義されているときに使用すべきで(SHOULD)、そうでない場合には、dct:formatを様々な値と共に使用できます(MAY)。"@ja ; +. + +dcat:packageFormat + rdfs:label + "formát balíčku"@cs , + "pakkeformat"@da , + "packaging format"@en , + "formato de empaquetado"@es , + "formato di impacchettamento"@it ; + schema:description + "Balíčkový formát souboru, ve kterém je jeden či více souborů seskupeno dohromady, např. aby bylo možné stáhnout sadu souvisejících souborů naráz."@cs , + "Format til pakning af data med henblik på distribution af en eller flere relaterede datafiler der samles til en enhed med henblik på samlet distribution. "@da , + "The package format of the distribution in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together."@en , + "El formato del archivo en que se agrupan uno o más archivos de datos, e.g. para permitir que un conjunto de archivos relacionados se bajen juntos."@es , + "Il formato di impacchettamento della distribuzione in cui uno o più file di dati sono raggruppati insieme, ad es. per abilitare un insieme di file correlati da scaricare insieme."@it ; +. + +dcat:qualifiedRelation + rdfs:label + "kvalifikovaný vztah"@cs , + "Kvalificeret relation"@da , + "qualified relation"@en , + "relación calificada"@es , + "relazione qualificata"@it ; + schema:description + "Odkaz na popis vztahu s jiným zdrojem."@cs , + "Reference til en beskrivelse af en relation til en anden ressource."@da , + "Link to a description of a relationship with another resource."@en , + "Enlace a una descripción de la relación con otro recurso."@es , + "Link a una descrizione di una relazione con un'altra risorsa."@it ; +. + +dcat:record + rdfs:label + "سجل"@ar , + "záznam"@cs , + "post"@da , + "καταγραφή"@el , + "record"@en , + "registro"@es , + "registre"@fr , + "record"@it , + "カタログ・レコード"@ja ; + schema:description + "تربط الفهرس بسجل ضمنه"@ar , + "Propojuje katalog a jeho záznamy."@cs , + "Záznam popisující registraci jedné datové sady či datové služby jakožto součásti katalogu."@cs , + "En post der beskriver registreringen af et enkelt datasæt eller en datatjeneste som er opført i kataloget."@da , + "Συνδέει έναν κατάλογο με τις καταγραφές του."@el , + "A record describing the registration of a single dataset or data service that is part of the catalog."@en , + "Describe la registración de un conjunto de datos o un servicio de datos en el catálogo."@es , + "Relie un catalogue à ses registres."@fr , + "Un record che descrive la registrazione di un singolo set di dati o di un servizio dati che fa parte del catalogo."@it , + "カタログの一部であるカタログ・レコード。"@ja ; +. + +dcat:servesDataset + rdfs:label + "poskytuje datovou sadu"@cs , + "datatjeneste for datasæt"@da , + "serves dataset"@en , + "provee conjunto de datos"@es , + "serve set di dati"@it ; + schema:description + "Kolekce dat, kterou je tato Datová služba schopna poskytnout."@cs , + "En samling af data som denne datatjeneste kan distribuere."@da , + "A collection of data that this DataService can distribute."@en , + "Una colección de datos que este Servicio de Datos puede distribuir."@es , + "Una raccolta di dati che questo DataService può distribuire."@it ; +. + +dcat:service + rdfs:label + "služba"@cs , + "datatjeneste"@da , + "service"@en , + "servicio"@es , + "servizio"@it ; + schema:description + "Umístění či přístupový bod registrovaný v katalogu."@cs , + "Et websted eller et endpoint som er opført i kataloget."@da , + "A site or endpoint that is listed in the catalog."@en , + "Un sitio o 'endpoint' que está listado en el catálogo."@es , + "Un sito o endpoint elencato nel catalogo."@it ; +. + +dcat:spatialResolutionInMeters + rdfs:label + "prostorové rozlišení (metry)"@cs , + "geografisk opløsning (meter)"@da , + "spatial resolution (metres)"@en-GB , + "spatial resolution (meters)"@en-US , + "resolución espacial (metros)"@es , + "risoluzione spaziale (metros)"@it ; + schema:description + "minimální prostorový rozestup rozeznatelný v datové sadě, měřeno v metrech."@cs , + "mindste geografiske afstand som kan erkendes i et datasæt, målt i meter."@da , + "mindste geografiske afstand som kan resolveres i et datasæt, målt i meter."@da , + "minimum spatial separation resolvable in a dataset, measured in metres."@en-GB , + "minimum spatial separation resolvable in a dataset, measured in meters."@en-US , + "mínima separacíon espacial disponible en un conjunto de datos, medida en metros."@es , + "separazione spaziale minima risolvibile in un set di dati, misurata in metri."@it ; +. + +dcat:startDate + rdfs:label + "datum začátku"@cs , + "startdato"@da , + "start date"@en , + "data di inizio"@it ; + schema:description + "Začátek doby trvání"@cs , + "Start på perioden."@da , + "The start of the period"@en , + "El comienzo del período"@es , + "L'inizio del periodo"@it ; +. + +dcat:temporalResolution + rdfs:label + "časové rozlišení"@cs , + "tidslig opløsning"@da , + "temporal resolution"@en , + "resolución temporal"@es , + "risoluzione temporale"@it ; + schema:description + "minimální doba trvání rozlišitelná v datové sadě."@cs , + "mindste tidsperiode der kan resolveres i datasættet."@da , + "minimum time period resolvable in a dataset."@en , + "período de tiempo mínimo en el conjunto de datos."@es , + "periodo di tempo minimo risolvibile in un set di dati."@it ; +. + +dcat:theme + rdfs:label + "التصنيف"@ar , + "téma"@cs , + "emne"@da , + "Θέμα"@el , + "theme"@en , + "tema"@es , + "thème"@fr , + "tema"@it , + "テーマ/カテゴリー"@ja ; + schema:description + "التصنيف الرئيسي لقائمة البيانات. قائمة البيانات يمكن أن تملك أكثر من تصنيف رئيسي واحد."@ar , + "Hlavní téma zdroje. Zdroj může mít více témat."@cs , + "Et centralt emne for ressourcen. En ressource kan have flere centrale emner."@da , + "Η κύρια κατηγορία του συνόλου δεδομένων. Ένα σύνολο δεδομένων δύναται να έχει πολλαπλά θέματα."@el , + "A main category of the resource. A resource can have multiple themes."@en , + "La categoría principal del recurso. Un recurso puede tener varios temas."@es , + "La catégorie principale de la ressource. Une ressource peut avoir plusieurs thèmes."@fr , + "La categoria principale della risorsa. Una risorsa può avere più temi."@it , + "データセットの主要カテゴリー。データセットは複数のテーマを持つことができます。"@ja ; +. + +dcat:themeTaxonomy + rdfs:label + "قائمة التصنيفات"@ar , + "taxonomie témat"@cs , + "emnetaksonomi"@da , + "Ταξινομία θεματικών κατηγοριών."@el , + "theme taxonomy"@en , + "taxonomía de temas"@es , + "taxonomie de thèmes"@fr , + "tassonomia dei temi"@it , + "テーマ"@ja ; + schema:description + "لائحة التصنيفات المستخدمه لتصنيف قوائم البيانات ضمن الفهرس"@ar , + "Systém organizace znalostí (KOS) použitý pro klasifikaci datových sad v katalogu."@cs , + "Vidensorganiseringssystem (KOS) som anvendes til at klassificere datasæt i kataloget."@da , + "Το σύστημα οργάνωσης γνώσης που χρησιμοποιείται για την κατηγοριοποίηση των συνόλων δεδομένων του καταλόγου."@el , + "The knowledge organization system (KOS) used to classify catalog's datasets."@en , + "El sistema de organización del conocimiento utilizado para clasificar conjuntos de datos de catálogos."@es , + "Le systhème d'ogranisation de connaissances utilisé pour classifier les jeux de données du catalogue."@fr , + "Il sistema di organizzazione della conoscenza (KOS) usato per classificare i dataset del catalogo."@it , + "カタログのデータセットを分類するために用いられる知識組織化体系(KOS;knowledge organization system)。"@ja ; +. + +foaf:homepage + schema:description "This axiom needed so that Protege loads DCAT2 without errors." ; +. + +foaf:primaryTopic + schema:description "This axiom needed so that Protege loads DCAT2 without errors." ; +. + +dcat:hadRole + rdfs:label + "sehraná role"@cs , + "havde rolle"@da , + "hadRole"@en , + "haRuolo"@it , + "tiene rol"@it ; + schema:description + "Funkce entity či agenta ve vztahu k jiné entitě či zdroji."@cs , + "Den funktion en entitet eller aktør har i forhold til en anden ressource."@da , + "The function of an entity or agent with respect to another entity or resource."@en , + "La función de una entidad o agente con respecto a otra entidad o recurso."@es , + "La funzione di un'entità o un agente rispetto ad un'altra entità o risorsa."@it ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + +[] rdfs:seeAlso ; +. + diff --git a/prez/reference_data/annotations/dcterms-annotations.ttl b/prez/reference_data/annotations/dcterms-annotations.ttl new file mode 100644 index 00000000..d2affebd --- /dev/null +++ b/prez/reference_data/annotations/dcterms-annotations.ttl @@ -0,0 +1,623 @@ +PREFIX dcmitype: +PREFIX dcterms: +PREFIX rdfs: +PREFIX schema: + +dcterms: + rdfs:label "DCMI Metadata Terms - other"@en ; +. + +dcterms:Agent + rdfs:label "Agent"@en ; + schema:description "A resource that acts or has the power to act."@en ; +. + +dcterms:AgentClass + rdfs:label "Agent Class"@en ; + schema:description "A group of agents."@en ; +. + +dcterms:BibliographicResource + rdfs:label "Bibliographic Resource"@en ; + schema:description "A book, article, or other documentary resource."@en ; +. + +dcterms:Box + rdfs:label "DCMI Box"@en ; + rdfs:seeAlso ; + schema:description "The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme."@en ; +. + +dcterms:DCMIType + rdfs:label "DCMI Type Vocabulary"@en ; + rdfs:seeAlso dcmitype: ; + schema:description "The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource."@en ; +. + +dcterms:DDC + rdfs:label "DDC"@en ; + rdfs:seeAlso ; + schema:description "The set of conceptual resources specified by the Dewey Decimal Classification."@en ; +. + +dcterms:FileFormat + rdfs:label "File Format"@en ; + schema:description "A digital resource format."@en ; +. + +dcterms:Frequency + rdfs:label "Frequency"@en ; + schema:description "A rate at which something recurs."@en ; +. + +dcterms:IMT + rdfs:label "IMT"@en ; + rdfs:seeAlso ; + schema:description "The set of media types specified by the Internet Assigned Numbers Authority."@en ; +. + +dcterms:ISO3166 + rdfs:label "ISO 3166"@en ; + rdfs:seeAlso ; + schema:description "The set of codes listed in ISO 3166-1 for the representation of names of countries."@en ; +. + +dcterms:ISO639-2 + rdfs:label "ISO 639-2"@en ; + rdfs:seeAlso ; + schema:description "The three-letter alphabetic codes listed in ISO639-2 for the representation of names of languages."@en ; +. + +dcterms:ISO639-3 + rdfs:label "ISO 639-3"@en ; + rdfs:seeAlso ; + schema:description "The set of three-letter codes listed in ISO 639-3 for the representation of names of languages."@en ; +. + +dcterms:Jurisdiction + rdfs:label "Jurisdiction"@en ; + schema:description "The extent or range of judicial, law enforcement, or other authority."@en ; +. + +dcterms:LCC + rdfs:label "LCC"@en ; + rdfs:seeAlso ; + schema:description "The set of conceptual resources specified by the Library of Congress Classification."@en ; +. + +dcterms:LCSH + rdfs:label "LCSH"@en ; + schema:description "The set of labeled concepts specified by the Library of Congress Subject Headings."@en ; +. + +dcterms:LicenseDocument + rdfs:label "License Document"@en ; + schema:description "A legal document giving official permission to do something with a resource."@en ; +. + +dcterms:LinguisticSystem + rdfs:label "Linguistic System"@en ; + schema:description + "A system of signs, symbols, sounds, gestures, or rules used in communication."@en , + "Written, spoken, sign, and computer languages are linguistic systems."@en ; +. + +dcterms:Location + rdfs:label "Location"@en ; + schema:description "A spatial region or named place."@en ; +. + +dcterms:LocationPeriodOrJurisdiction + rdfs:label "Location, Period, or Jurisdiction"@en ; + schema:description "A location, period of time, or jurisdiction."@en ; +. + +dcterms:MESH + rdfs:label "MeSH"@en ; + rdfs:seeAlso ; + schema:description "The set of labeled concepts specified by the Medical Subject Headings."@en ; +. + +dcterms:MediaType + rdfs:label "Media Type"@en ; + schema:description "A file format or physical medium."@en ; +. + +dcterms:MediaTypeOrExtent + rdfs:label "Media Type or Extent"@en ; + schema:description "A media type or extent."@en ; +. + +dcterms:MethodOfAccrual + rdfs:label "Method of Accrual"@en ; + schema:description "A method by which resources are added to a collection."@en ; +. + +dcterms:MethodOfInstruction + rdfs:label "Method of Instruction"@en ; + schema:description "A process that is used to engender knowledge, attitudes, and skills."@en ; +. + +dcterms:NLM + rdfs:label "NLM"@en ; + rdfs:seeAlso ; + schema:description "The set of conceptual resources specified by the National Library of Medicine Classification."@en ; +. + +dcterms:Period + rdfs:label "DCMI Period"@en ; + rdfs:seeAlso ; + schema:description "The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme."@en ; +. + +dcterms:PeriodOfTime + rdfs:label "Period of Time"@en ; + schema:description "An interval of time that is named or defined by its start and end dates."@en ; +. + +dcterms:PhysicalMedium + rdfs:label "Physical Medium"@en ; + schema:description + "A physical material or carrier."@en , + "Examples include paper, canvas, or DVD."@en ; +. + +dcterms:PhysicalResource + rdfs:label "Physical Resource"@en ; + schema:description "A material thing."@en ; +. + +dcterms:Point + rdfs:label "DCMI Point"@en ; + rdfs:seeAlso ; + schema:description "The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme."@en ; +. + +dcterms:Policy + rdfs:label "Policy"@en ; + schema:description "A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters."@en ; +. + +dcterms:ProvenanceStatement + rdfs:label "Provenance Statement"@en ; + schema:description "Any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation."@en ; +. + +dcterms:RFC1766 + rdfs:label "RFC 1766"@en ; + rdfs:seeAlso ; + schema:description "The set of tags, constructed according to RFC 1766, for the identification of languages."@en ; +. + +dcterms:RFC3066 + rdfs:label "RFC 3066"@en ; + rdfs:seeAlso ; + schema:description + "RFC 3066 has been obsoleted by RFC 4646."@en , + "The set of tags constructed according to RFC 3066 for the identification of languages."@en ; +. + +dcterms:RFC4646 + rdfs:label "RFC 4646"@en ; + rdfs:seeAlso ; + schema:description + "RFC 4646 obsoletes RFC 3066."@en , + "The set of tags constructed according to RFC 4646 for the identification of languages."@en ; +. + +dcterms:RFC5646 + rdfs:label "RFC 5646"@en ; + rdfs:seeAlso ; + schema:description + "RFC 5646 obsoletes RFC 4646."@en , + "The set of tags constructed according to RFC 5646 for the identification of languages."@en ; +. + +dcterms:RightsStatement + rdfs:label "Rights Statement"@en ; + schema:description "A statement about the intellectual property rights (IPR) held in or over a resource, a legal document giving official permission to do something with a resource, or a statement about access rights."@en ; +. + +dcterms:SizeOrDuration + rdfs:label "Size or Duration"@en ; + schema:description + "A dimension or extent, or a time taken to play or execute."@en , + "Examples include a number of pages, a specification of length, width, and breadth, or a period in hours, minutes, and seconds."@en ; +. + +dcterms:Standard + rdfs:label "Standard"@en ; + schema:description "A reference point against which other things can be evaluated or compared."@en ; +. + +dcterms:TGN + rdfs:label "TGN"@en ; + rdfs:seeAlso ; + schema:description "The set of places specified by the Getty Thesaurus of Geographic Names."@en ; +. + +dcterms:UDC + rdfs:label "UDC"@en ; + rdfs:seeAlso ; + schema:description "The set of conceptual resources specified by the Universal Decimal Classification."@en ; +. + +dcterms:URI + rdfs:label "URI"@en ; + rdfs:seeAlso ; + schema:description "The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force."@en ; +. + +dcterms:W3CDTF + rdfs:label "W3C-DTF"@en ; + rdfs:seeAlso ; + schema:description "The set of dates and times constructed according to the W3C Date and Time Formats Specification."@en ; +. + +dcterms:abstract + rdfs:label "Abstract"@en ; + schema:description "A summary of the resource."@en ; +. + +dcterms:accessRights + rdfs:label "Access Rights"@en ; + schema:description + "Access Rights may include information regarding access or restrictions based on privacy, security, or other policies."@en , + "Information about who access the resource or an indication of its security status."@en ; +. + +dcterms:accrualMethod + rdfs:label "Accrual Method"@en ; + schema:description + "Recommended practice is to use a value from the Collection Description Accrual Method Vocabulary [[DCMI-ACCRUALMETHOD](https://dublincore.org/groups/collections/accrual-method/)]."@en , + "The method by which items are added to a collection."@en ; +. + +dcterms:accrualPeriodicity + rdfs:label "Accrual Periodicity"@en ; + schema:description + "Recommended practice is to use a value from the Collection Description Frequency Vocabulary [[DCMI-COLLFREQ](https://dublincore.org/groups/collections/frequency/)]."@en , + "The frequency with which items are added to a collection."@en ; +. + +dcterms:accrualPolicy + rdfs:label "Accrual Policy"@en ; + schema:description + "Recommended practice is to use a value from the Collection Description Accrual Policy Vocabulary [[DCMI-ACCRUALPOLICY](https://dublincore.org/groups/collections/accrual-policy/)]."@en , + "The policy governing the addition of items to a collection."@en ; +. + +dcterms:alternative + rdfs:label "Alternative Title"@en ; + schema:description + "An alternative name for the resource."@en , + "The distinction between titles and alternative titles is application-specific."@en ; +. + +dcterms:audience + rdfs:label "Audience"@en ; + schema:description + "A class of agents for whom the resource is intended or useful."@en , + "Recommended practice is to use this property with non-literal values from a vocabulary of audience types."@en ; +. + +dcterms:available + rdfs:label "Date Available"@en ; + schema:description + "Date that the resource became or will become available."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + +dcterms:bibliographicCitation + rdfs:label "Bibliographic Citation"@en ; + schema:description + "A bibliographic reference for the resource."@en , + "Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible."@en ; +. + +dcterms:conformsTo + rdfs:label "Conforms To"@en ; + schema:description "An established standard to which the described resource conforms."@en ; +. + +dcterms:contributor + rdfs:label "Contributor"@en ; + schema:description + "An entity responsible for making contributions to the resource."@en , + "The guidelines for using names of persons or organizations as creators apply to contributors."@en ; +. + +dcterms:coverage + rdfs:label "Coverage"@en ; + schema:description + "Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names [[TGN](https://www.getty.edu/research/tools/vocabulary/tgn/index.html)]. Where appropriate, named places or time periods may be used in preference to numeric identifiers such as sets of coordinates or date ranges. Because coverage is so broadly defined, it is preferable to use the more specific subproperties Temporal Coverage and Spatial Coverage."@en , + "The spatial or temporal topic of the resource, spatial applicability of the resource, or jurisdiction under which the resource is relevant."@en ; +. + +dcterms:created + rdfs:label "Date Created"@en ; + schema:description + "Date of creation of the resource."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + +dcterms:creator + rdfs:label "Creator"@en ; + schema:description + "An entity responsible for making the resource."@en , + "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en ; +. + +dcterms:date + rdfs:label "Date"@en ; + schema:description + "A point or period of time associated with an event in the lifecycle of the resource."@en , + "Date may be used to express temporal information at any level of granularity. Recommended practice is to express the date, date/time, or period of time according to ISO 8601-1 [[ISO 8601-1](https://www.iso.org/iso-8601-date-and-time-format.html)] or a published profile of the ISO standard, such as the W3C Note on Date and Time Formats [[W3CDTF](https://www.w3.org/TR/NOTE-datetime)] or the Extended Date/Time Format Specification [[EDTF](http://www.loc.gov/standards/datetime/)]. If the full date is unknown, month and year (YYYY-MM) or just year (YYYY) may be used. Date ranges may be specified using ISO 8601 period of time specification in which start and end dates are separated by a '/' (slash) character. Either the start or end date may be missing."@en ; +. + +dcterms:dateAccepted + rdfs:label "Date Accepted"@en ; + schema:description + "Date of acceptance of the resource."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty. Examples of resources to which a date of acceptance may be relevant are a thesis (accepted by a university department) or an article (accepted by a journal)."@en ; +. + +dcterms:dateCopyrighted + rdfs:label "Date Copyrighted"@en ; + schema:description + "Date of copyright of the resource."@en , + "Typically a year. Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + +dcterms:dateSubmitted + rdfs:label "Date Submitted"@en ; + schema:description + "Date of submission of the resource."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty. Examples of resources to which a 'Date Submitted' may be relevant include a thesis (submitted to a university department) or an article (submitted to a journal)."@en ; +. + +dcterms:description + rdfs:label "Description"@en ; + schema:description + "An account of the resource."@en , + "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ; +. + +dcterms:educationLevel + rdfs:label "Audience Education Level"@en ; + schema:description "A class of agents, defined in terms of progression through an educational or training context, for which the described resource is intended."@en ; +. + +dcterms:extent + rdfs:label "Extent"@en ; + schema:description + "Recommended practice is to specify the file size in megabytes and duration in ISO 8601 format."@en , + "The size or duration of the resource."@en ; +. + +dcterms:format + rdfs:label "Format"@en ; + schema:description + "Recommended practice is to use a controlled vocabulary where available. For example, for file formats one could use the list of Internet Media Types [[MIME](https://www.iana.org/assignments/media-types/media-types.xhtml)]. Examples of dimensions include size and duration."@en , + "The file format, physical medium, or dimensions of the resource."@en ; +. + +dcterms:hasFormat + rdfs:label "Has Format"@en ; + schema:description + "A related resource that is substantially the same as the pre-existing described resource, but in another format."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Is Format Of."@en ; +. + +dcterms:hasPart + rdfs:label "Has Part"@en ; + schema:description + "A related resource that is included either physically or logically in the described resource."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en ; +. + +dcterms:hasVersion + rdfs:label "Has Version"@en ; + schema:description + "A related resource that is a version, edition, or adaptation of the described resource."@en , + "Changes in version imply substantive changes in content rather than differences in format. This property is intended to be used with non-literal values. This property is an inverse property of Is Version Of."@en ; +. + +dcterms:identifier + rdfs:label "Identifier"@en ; + schema:description + "An unambiguous reference to the resource within a given context."@en , + "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en ; +. + +dcterms:instructionalMethod + rdfs:label "Instructional Method"@en ; + schema:description + "A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support."@en , + "Instructional Method typically includes ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback."@en ; +. + +dcterms:isFormatOf + rdfs:label "Is Format Of"@en ; + schema:description + "A pre-existing related resource that is substantially the same as the described resource, but in another format."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Has Format."@en ; +. + +dcterms:isPartOf + rdfs:label "Is Part Of"@en ; + schema:description + "A related resource in which the described resource is physically or logically included."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Has Part."@en ; +. + +dcterms:isReferencedBy + rdfs:label "Is Referenced By"@en ; + schema:description + "A related resource that references, cites, or otherwise points to the described resource."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of References."@en ; +. + +dcterms:isReplacedBy + rdfs:label "Is Replaced By"@en ; + schema:description + "A related resource that supplants, displaces, or supersedes the described resource."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Replaces."@en ; +. + +dcterms:isRequiredBy + rdfs:label "Is Required By"@en ; + schema:description + "A related resource that requires the described resource to support its function, delivery, or coherence."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Requires."@en ; +. + +dcterms:isVersionOf + rdfs:label "Is Version Of"@en ; + schema:description + "A related resource of which the described resource is a version, edition, or adaptation."@en , + "Changes in version imply substantive changes in content rather than differences in format. This property is intended to be used with non-literal values. This property is an inverse property of Has Version."@en ; +. + +dcterms:issued + rdfs:label "Date Issued"@en ; + schema:description + "Date of formal issuance of the resource."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + +dcterms:language + rdfs:label "Language"@en ; + schema:description + "A language of the resource."@en , + "Recommended practice is to use either a non-literal value representing a language from a controlled vocabulary such as ISO 639-2 or ISO 639-3, or a literal value consisting of an IETF Best Current Practice 47 [[IETF-BCP47](https://tools.ietf.org/html/bcp47)] language tag."@en ; +. + +dcterms:license + rdfs:label "License"@en ; + schema:description + "A legal document giving official permission to do something with the resource."@en , + "Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided."@en ; +. + +dcterms:mediator + rdfs:label "Mediator"@en ; + schema:description + "An entity that mediates access to the resource."@en , + "In an educational context, a mediator might be a parent, teacher, teaching assistant, or care-giver."@en ; +. + +dcterms:medium + rdfs:label "Medium"@en ; + schema:description "The material or physical carrier of the resource."@en ; +. + +dcterms:modified + rdfs:label "Date Modified"@en ; + schema:description + "Date on which the resource was changed."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + +dcterms:provenance + rdfs:label "Provenance"@en ; + schema:description + "A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation."@en , + "The statement may include a description of any changes successive custodians made to the resource."@en ; +. + +dcterms:publisher + rdfs:label "Publisher"@en ; + schema:description "An entity responsible for making the resource available."@en ; +. + +dcterms:references + rdfs:label "References"@en ; + schema:description + "A related resource that is referenced, cited, or otherwise pointed to by the described resource."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Is Referenced By."@en ; +. + +dcterms:relation + rdfs:label "Relation"@en ; + schema:description + "A related resource."@en , + "Recommended practice is to identify the related resource by means of a URI. If this is not possible or feasible, a string conforming to a formal identification system may be provided."@en ; +. + +dcterms:replaces + rdfs:label "Replaces"@en ; + schema:description + "A related resource that is supplanted, displaced, or superseded by the described resource."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Is Replaced By."@en ; +. + +dcterms:requires + rdfs:label "Requires"@en ; + schema:description + "A related resource that is required by the described resource to support its function, delivery, or coherence."@en , + "This property is intended to be used with non-literal values. This property is an inverse property of Is Required By."@en ; +. + +dcterms:rights + rdfs:label "Rights"@en ; + schema:description + "Information about rights held in and over the resource."@en , + "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights. Recommended practice is to refer to a rights statement with a URI. If this is not possible or feasible, a literal value (name, label, or short text) may be provided."@en ; +. + +dcterms:rightsHolder + rdfs:label "Rights Holder"@en ; + schema:description + "A person or organization owning or managing rights over the resource."@en , + "Recommended practice is to refer to the rights holder with a URI. If this is not possible or feasible, a literal value that identifies the rights holder may be provided."@en ; +. + +dcterms:source + rdfs:label "Source"@en ; + schema:description + "A related resource from which the described resource is derived."@en , + "This property is intended to be used with non-literal values. The described resource may be derived from the related resource in whole or in part. Best practice is to identify the related resource by means of a URI or a string conforming to a formal identification system."@en ; +. + +dcterms:spatial + rdfs:label "Spatial Coverage"@en ; + schema:description "Spatial characteristics of the resource."@en ; +. + +dcterms:subject + rdfs:label "Subject"@en ; + schema:description + "A topic of the resource."@en , + "Recommended practice is to refer to the subject with a URI. If this is not possible or feasible, a literal value that identifies the subject may be provided. Both should preferably refer to a subject in a controlled vocabulary."@en ; +. + +dcterms:tableOfContents + rdfs:label "Table Of Contents"@en ; + schema:description "A list of subunits of the resource."@en ; +. + +dcterms:temporal + rdfs:label "Temporal Coverage"@en ; + schema:description "Temporal characteristics of the resource."@en ; +. + +dcterms:title + rdfs:label "Title"@en ; + schema:description "A name given to the resource."@en ; +. + +dcterms:type + rdfs:label "Type"@en ; + schema:description + "Recommended practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [[DCMI-TYPE](http://dublincore.org/documents/dcmi-type-vocabulary/)]. To describe the file format, physical medium, or dimensions of the resource, use the property Format."@en , + "The nature or genre of the resource."@en ; +. + +dcterms:valid + rdfs:label "Date Valid"@en ; + schema:description + "Date (often a range) of validity of a resource."@en , + "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; +. + diff --git a/prez/reference_data/annotations/dwc-annotations.ttl b/prez/reference_data/annotations/dwc-annotations.ttl new file mode 100644 index 00000000..76461f7a --- /dev/null +++ b/prez/reference_data/annotations/dwc-annotations.ttl @@ -0,0 +1,8 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Core terms defined by Darwin Core"@en ; + schema:description "This term list includes all currently valid terms that have been defined in the core Darwin Core namespace dwc:. To comment on this schema, please create a new issue in https://github.com/tdwg/dwc/issues"@en ; +. + diff --git a/prez/reference_data/annotations/geo-annotations.ttl b/prez/reference_data/annotations/geo-annotations.ttl new file mode 100644 index 00000000..5b20f0ef --- /dev/null +++ b/prez/reference_data/annotations/geo-annotations.ttl @@ -0,0 +1,394 @@ +PREFIX geo: +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "GeoSPARQL Ontology" ; + rdfs:seeAlso ; + schema:description "An RDF/OWL vocabulary for representing spatial information"@en ; +. + +geo:Feature + rdfs:label "Feature"@en ; + schema:description "A discrete spatial phenomenon in a universe of discourse."@en ; +. + +geo:FeatureCollection + rdfs:label "Feature Collection"@en ; + schema:description "The class Feature Collection represents any collection of individual Features."@en ; +. + +geo:Geometry + rdfs:label "Geometry"@en ; + schema:description "A coherent set of direct positions in Euclidian space. A direct position holds the coordinates for a position within a Coordinate Reference System (CRS)."@en ; +. + +geo:GeometryCollection + rdfs:label "Geometry Collection"@en ; + schema:description "The class Geometry Collection represents any collection of individual Geometries."@en ; +. + +geo:SpatialObject + rdfs:label "Spatial Object"@en ; + schema:description "Anything spatial (having or being a shape, position or an extent)."@en ; +. + +geo:SpatialObjectCollection + rdfs:label "Spatial Object Collection"@en ; + schema:description "The class Spatial Object Collection represents any collection of individual Spatial Objects. It is superclass of Feature Collection and Geometry Collection."@en ; +. + +geo:asDGGS + rdfs:label "as DGGS"@en ; + schema:description "The Discrete Global Grid System (DGGS) serialization of a Geometry"@en ; +. + +geo:asGML + rdfs:label "as GML"@en ; + schema:description "The GML serialization of a Geometry"@en ; +. + +geo:asGeoJSON + rdfs:label "as GeoJSON"@en ; + rdfs:seeAlso ; + schema:description "The GeoJSON serialization of a Geometry"@en ; +. + +geo:asKML + rdfs:label "as KML"@en ; + rdfs:seeAlso ; + schema:description "The KML serialization of a Geometry"@en ; +. + +geo:asWKT + rdfs:label "as WKT"@en ; + schema:description "The WKT serialization of a Geometry"@en ; +. + +geo:coordinateDimension + rdfs:label "coordinate dimension"@en ; + schema:description "The number of measurements or axes needed to describe the position of this Geometry in a coordinate system."@en ; +. + +geo:defaultGeometry + rdfs:label "default geometry"@en ; + schema:description "The default Geometry to be used in spatial calculations. It is usually the most detailed Geometry."@en ; +. + +geo:dggsLiteral + rdfs:label "DGGS Literal"@en ; + rdfs:seeAlso ; + schema:description "A textual serialization of a Discrete Global Grid (DGGS) Geometry object."@en ; +. + +geo:dimension + rdfs:label "dimension"@en ; + schema:description "The topological dimension of this geometric object, which must be less than or equal to the coordinate dimension. In non-homogeneous collections, this will return the largest topological dimension of the contained objects."@en ; +. + +geo:ehContains + rdfs:label "contains"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*TFF*FF*"@en ; +. + +geo:ehCoveredBy + rdfs:label "covered by"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially covered by the object SpatialObject. DE-9IM: TFF*TFT**"@en ; +. + +geo:ehCovers + rdfs:label "covers"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially covers the object SpatialObject. DE-9IM: T*TFT*FF*"@en ; +. + +geo:ehDisjoint + rdfs:label "disjoint"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially disjoint from the object SpatialObject. DE-9IM: FF*FF****"@en ; +. + +geo:ehEquals + rdfs:label "equals"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially equals the object SpatialObject. DE-9IM: TFFFTFFFT"@en ; +. + +geo:ehInside + rdfs:label "inside"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially inside the object SpatialObject. DE-9IM: TFF*FFT**"@en ; +. + +geo:ehMeet + rdfs:label "meet"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially meets the object SpatialObject. DE-9IM: FT******* ^ F**T***** ^ F***T****"@en ; +. + +geo:ehOverlap + rdfs:label "overlap"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially overlaps the object SpatialObject. DE-9IM: T*T***T**"@en ; +. + +geo:geoJSONLiteral + rdfs:label "GeoJSON Literal"@en ; + rdfs:seeAlso ; + schema:description "A GeoJSON serialization of a Geometry object."@en ; +. + +geo:gmlLiteral + rdfs:label "GML Literal"@en ; + rdfs:seeAlso ; + schema:description "A GML serialization of a Geometry object."@en ; +. + +geo:hasArea + rdfs:label "has area"@en ; + schema:description "The area of a Spatial Object."@en ; +. + +geo:hasBoundingBox + rdfs:label "has bounding box"@en ; + schema:description "The minimum or smallest bounding or enclosing box of a given Feature."@en ; +. + +geo:hasCentroid + rdfs:label "has centroid"@en ; + schema:description "The arithmetic mean position of all the Geometry points of a given Feature."@en ; +. + +geo:hasDefaultGeometry + rdfs:label "has default geometry"@en ; + schema:description "The default Geometry to be used in spatial calculations. It is usually the most detailed Geometry."@en ; +. + +geo:hasGeometry + rdfs:label "has geometry"@en ; + schema:description "A spatial representation for a given Feature."@en ; +. + +geo:hasLength + rdfs:label "has length"@en ; + schema:description "The length of a Spatial Object."@en ; +. + +geo:hasMetricArea + rdfs:label "has area in square meters"@en ; + schema:description "The area of a Spatial Object in square meters."@en ; +. + +geo:hasMetricLength + rdfs:label "has length in meters"@en ; + schema:description "The length of a Spatial Object in meters."@en ; +. + +geo:hasMetricPerimeterLength + rdfs:label "has perimeter length in meters"@en ; + schema:description "The length of the perimeter of a Spatial Object in meters."@en ; +. + +geo:hasMetricSize + rdfs:label "has metric size"@en ; + schema:description "Subproperties of this property are used to indicate the size of a Spatial Object, as a measurement or estimate of one or more dimensions of the Spatial Object's spatial presence. Units are always metric (meter, square meter or cubic meter)."@en ; +. + +geo:hasMetricSpatialAccuracy + rdfs:label "has spatial accuracy in meters"@en ; + schema:description "The positional accuracy of the coordinates of a Geometry in meters."@en ; +. + +geo:hasMetricSpatialResolution + rdfs:label "has spatial resolution in meters"@en ; + schema:description "The spatial resolution of a Geometry in meters."@en ; +. + +geo:hasMetricVolume + rdfs:label "has volume in cubic meters"@en ; + schema:description "The volume of a Spatial Object in cubic meters."@en ; +. + +geo:hasPerimeterLength + rdfs:label "has perimeter length"@en ; + schema:description "The length of the perimeter of a Spatial Object."@en ; +. + +geo:hasSerialization + rdfs:label "has serialization"@en ; + schema:description "Connects a Geometry object with its text-based serialization."@en ; +. + +geo:hasSize + rdfs:label "has size"@en ; + schema:description "Subproperties of this property are used to indicate the size of a Spatial Object as a measurement or estimate of one or more dimensions of the Spatial Object's spatial presence."@en ; +. + +geo:hasSpatialAccuracy + rdfs:label "has spatial accuracy"@en ; + schema:description "The positional accuracy of the coordinates of a Geometry."@en ; +. + +geo:hasSpatialResolution + rdfs:label "has spatial resolution"@en ; + schema:description "The spatial resolution of a Geometry."@en ; +. + +geo:hasVolume + rdfs:label "has volume"@en ; + schema:description "The volume of a three-dimensional Spatial Object."@en ; +. + +geo:isEmpty + rdfs:label "is empty"@en ; + schema:description "(true) if this geometric object is the empty Geometry. If true, then this geometric object represents the empty point set for the coordinate space."@en ; +. + +geo:isSimple + rdfs:label "is simple"@en ; + rdfs:seeAlso ; + schema:description "(true) if this geometric object has no anomalous geometric points, such as self intersection or self tangency."@en ; +. + +geo:kmlLiteral + rdfs:label "KML Literal"@en ; + rdfs:seeAlso ; + schema:description "A KML serialization of a Geometry object."@en ; +. + +geo:rcc8dc + rdfs:label "disconnected"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially disjoint from the object SpatialObject. DE-9IM: FFTFFTTTT"@en ; +. + +geo:rcc8ec + rdfs:label "externally connected"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially meets the object SpatialObject. DE-9IM: FFTFTTTTT"@en ; +. + +geo:rcc8eq + rdfs:label "equals"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially equals the object SpatialObject. DE-9IM: TFFFTFFFT"@en ; +. + +geo:rcc8ntpp + rdfs:label "non-tangential proper part"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially inside the object SpatialObject. DE-9IM: TFFTFFTTT"@en ; +. + +geo:rcc8ntppi + rdfs:label "non-tangential proper part inverse"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: TTTFFTFFT"@en ; +. + +geo:rcc8po + rdfs:label "partially overlapping"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially overlaps the object SpatialObject. DE-9IM: TTTTTTTTT"@en ; +. + +geo:rcc8tpp + rdfs:label "tangential proper part"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially covered by the object SpatialObject. DE-9IM: TFFTTFTTT"@en ; +. + +geo:rcc8tppi + rdfs:label "tangential proper part inverse"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially covers the object SpatialObject. DE-9IM: TTTFTTFFT"@en ; +. + +geo:sfContains + rdfs:label "contains"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; +. + +geo:sfCrosses + rdfs:label "crosses"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially crosses the object SpatialObject. DE-9IM: T*T******"@en ; +. + +geo:sfDisjoint + rdfs:label "disjoint"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially disjoint from the object SpatialObject. DE-9IM: FF*FF****"@en ; +. + +geo:sfEquals + rdfs:label "equals"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially equals the object SpatialObject. DE-9IM: TFFFTFFFT"@en ; +. + +geo:sfIntersects + rdfs:label "intersects"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is not spatially disjoint from the object SpatialObject. DE-9IM: T******** ^ *T******* ^ ***T***** ^ ****T****"@en ; +. + +geo:sfOverlaps + rdfs:label "overlaps"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially overlaps the object SpatialObject. DE-9IM: T*T***T**"@en ; +. + +geo:sfTouches + rdfs:label "touches"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject spatially touches the object SpatialObject. DE-9IM: FT******* ^ F**T***** ^ F***T****"@en ; +. + +geo:sfWithin + rdfs:label "within"@en ; + rdfs:seeAlso ; + schema:description "States that the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; +. + +geo:spatialDimension + rdfs:label "spatial dimension"@en ; + schema:description "The number of measurements or axes needed to describe the spatial position of this Geometry in a coordinate system."@en ; +. + +geo:wktLiteral + rdfs:label "Well-known Text Literal"@en ; + rdfs:seeAlso ; + schema:description "A Well-known Text serialization of a Geometry object."@en ; +. + +[] rdfs:label "Open Geospatial Consortium" ; +. + +[] rdfs:label "Matthew Perry" ; +. + +[] rdfs:label "John Herring" ; +. + +[] rdfs:label "Nicholas J. Car" ; +. + +[] rdfs:label "Joseph Abhayaratna" ; +. + +[] rdfs:label "Timo Homburg" ; +. + +[] rdfs:label "Simon J D Cox" ; +. + +[] rdfs:label "Frans Knibbe" ; +. + +[] rdfs:label "Mathias Bonduel" ; +. + diff --git a/prez/reference_data/annotations/geojson-annotations.ttl b/prez/reference_data/annotations/geojson-annotations.ttl new file mode 100644 index 00000000..6ebbf438 --- /dev/null +++ b/prez/reference_data/annotations/geojson-annotations.ttl @@ -0,0 +1,87 @@ +PREFIX rdfs: +PREFIX schema: + + + schema:description "A description of the RFC 7946 GeoJSON model. See https://github.com/geojson/geojson-ld for vocabulary developments." ; +. + + + rdfs:label "Feature"@en ; + schema:description "See RFC 7946 Section 3.2."@en ; +. + + + rdfs:label "FeatureCollection"@en ; + schema:description "See RFC 7946 Section 3.3."@en ; +. + + + rdfs:label "GeometryCollection"@en ; + schema:description "See RFC 7946 Section 3.1.8."@en ; +. + + + rdfs:label "LineString"@en ; + schema:description "See RFC 7946 Section 3.1.4."@en ; +. + + + rdfs:label "MultiLineString"@en ; + schema:description "See RFC 7946 Section 3.1.5."@en ; +. + + + rdfs:label "MultiPoint"@en ; + schema:description "See RFC 7946 Section 3.1.3."@en ; +. + + + rdfs:label "MultiPolygon"@en ; + schema:description "See RFC 7946 Section 3.1.7."@en ; +. + + + rdfs:label "Point"@en ; + schema:description "See RFC 7946 Section 3.1.2."@en ; +. + + + rdfs:label "Polygon"@en ; + schema:description "See RFC 7946 Section 3.1.6."@en ; +. + + + rdfs:label "bbox"@en ; + schema:description "See RFC 7946 Section 5."@en ; +. + + + rdfs:label "coordinates"@en ; + schema:description "RFC 7946 Section 3.1.1."@en ; +. + + + rdfs:label "features"@en ; + schema:description "RFC 7946 Section 3.3."@en ; +. + + + rdfs:label "geometry"@en ; + schema:description "RFC 7946 Section 3.2."@en ; +. + + + rdfs:label "id"@en ; + schema:description "RFC 7946 Section 3.2."@en ; +. + + + rdfs:label "properties"@en ; + schema:description "RFC 7946 Section 3.2."@en ; +. + + + rdfs:label "type"@en ; + schema:description "RFC 7946 Section 3."@en ; +. + diff --git a/prez/reference_data/annotations/gml-annotations.ttl b/prez/reference_data/annotations/gml-annotations.ttl new file mode 100644 index 00000000..969df6a2 --- /dev/null +++ b/prez/reference_data/annotations/gml-annotations.ttl @@ -0,0 +1,221 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + rdfs:label "GML Geometry Types Vocabulary" ; + schema:description "An RDF/OWL vocabulary defining GML geometry types"^^xsd:string ; +. + + + rdfs:label "Abstract Curve Segment"@en ; +. + + + rdfs:label "Abstract Geometric Primitive"@en ; +. + + + rdfs:label "Abstract Geometry"@en ; +. + + + rdfs:label "Abstract Gridded Surface"@en ; +. + + + rdfs:label "Abstract Parametric Curve Surface"@en ; +. + + + rdfs:label "Abstract Surface Patch"@en ; +. + + + rdfs:label "Arc"@en ; +. + + + rdfs:label "Arc by Bulge"@en ; +. + + + rdfs:label "Arc by Center Point"@en ; +. + + + rdfs:label "Arc String"@en ; +. + + + rdfs:label "Arc String by Bulge"@en ; +. + + + rdfs:label "BSpline"@en ; +. + + + rdfs:label "Bezier"@en ; +. + + + rdfs:label "Circle"@en ; +. + + + rdfs:label "CircleByCenterPoint"@en ; +. + + + rdfs:label "Clothoid"@en ; +. + + + rdfs:label "Composite"@en ; +. + + + rdfs:label "Composite Curve"@en ; +. + + + rdfs:label "Composite Solid"@en ; +. + + + rdfs:label "Composite Surface"@en ; +. + + + rdfs:label "Cone"@en ; +. + + + rdfs:label "Cubic Spline"@en ; +. + + + rdfs:label "Curve"@en ; +. + + + rdfs:label "Cylinder"@en ; +. + + + rdfs:label "Geodesic"@en ; +. + + + rdfs:label "Geodesic String"@en ; +. + + + rdfs:label "Geometric Complex"@en ; +. + + + rdfs:label "Line String"@en ; +. + + + rdfs:label "Line String Segment"@en ; +. + + + rdfs:label "Linear Ring"@en ; +. + + + rdfs:label "Multi-Curve"@en ; +. + + + rdfs:label "Multi-Geometry"@en ; +. + + + rdfs:label "Multi-Point"@en ; +. + + + rdfs:label "Multi-Solid"@en ; +. + + + rdfs:label "Multi-Surface"@en ; +. + + + rdfs:label "Offset Curve"@en ; +. + + + rdfs:label "Orientable Curve"@en ; +. + + + rdfs:label "Orientable Surface"@en ; +. + + + rdfs:label "Point"@en ; +. + + + rdfs:label "Polygon"@en ; +. + + + rdfs:label "Polygon Patch"@en ; +. + + + rdfs:label "Polyhedral Surface"@en ; +. + + + rdfs:label "Polynomial Spline"@en ; +. + + + rdfs:label "Rectangle"@en ; +. + + + rdfs:label "Ring"@en ; +. + + + rdfs:label "Shell"@en ; +. + + + rdfs:label "Solid"@en ; +. + + + rdfs:label "Sphere"@en ; +. + + + rdfs:label "Spline Curve"@en ; +. + + + rdfs:label "Surface"@en ; +. + + + rdfs:label "Triangulated Irregular Network"@en ; +. + + + rdfs:label "Triangle"@en ; +. + + + rdfs:label "Triangulated Surface"@en ; +. + diff --git a/prez/reference_data/annotations/gts2020-annotations.ttl b/prez/reference_data/annotations/gts2020-annotations.ttl new file mode 100644 index 00000000..fd300f33 --- /dev/null +++ b/prez/reference_data/annotations/gts2020-annotations.ttl @@ -0,0 +1,6784 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Years before present (1950)"@en ; + rdfs:seeAlso ; + schema:description + "Positions in archeologic and 'recent' geologic time are conventionally denoted in years, measured backwards from the present, which is fixed to 1950 when the precision requires it"@en , + "Temporal position expressed numerically scaled in years increasing backwards relative to 1950"@en , + """Temporal position expressed numerically scaled in years increasing backwards relative to 1950. + +Positions in archeologic and 'recent' geologic time are conventionally denoted in years, measured backwards from the present, which is fixed to 1950 when the precision requires it."""@en ; +. + + + rdfs:label "Millions of years ago"@en ; + rdfs:seeAlso + , + ; + schema:description + "Positions in geologic time are conventionally denoted in millions of years, measured backwards from the present. "@en , + "Temporal position expressed numerically scaled in millions of years increasing backwards from the present"@en , + """Temporal position expressed numerically scaled in millions of years increasing backwards from the present. + +Positions in geologic time are conventionally denoted in millions of years, measured backwards from the present."""@en ; +. + + + rdfs:label "Geologic Timescale Elements in the International Chronostratigraphic Chart"@en ; +. + + + rdfs:label + "пален"@bg , + "Aalen"@cs , + "Aalenien"@da , + "Aalénium"@de , + "Aalenian"@en , + "Aalenian Age"@en , + "Aaleniense"@es , + "Aaleni"@et , + "Aalen"@fi , + "Aalénien"@fr , + "aaleni"@hu , + "aaleniano"@it , + "アーレニアン期"@ja , + "Alenis"@lt , + "Aaleniën"@nl , + "Aalen"@no , + "Aalen"@pl , + "Aaleniano"@pt , + "álen"@sk , + "aalenij"@sl , + "aalen"@sv , + "阿连期"@zh ; + schema:description + "older bound -174.1 +|-1.0 Ma"@en , + "younger bound -170.3 +|-1.4 Ma"@en ; +. + + + rdfs:label + "перон"@bg , + "Aeron"@cs , + "Aeronien"@da , + "Aeronium"@de , + "Aeronian"@en , + "Aeronian Age"@en , + "Aeroniense"@es , + "Aeroni"@et , + "Aeron"@fi , + "Aéronien"@fr , + "aeroni"@hu , + "aeroniano"@it , + "アエロニアン期"@ja , + "Aeronis"@lt , + "Aeroniën"@nl , + "Aeronium"@no , + "Aeron"@pl , + "Aeroniano"@pt , + "aerón"@sk , + "aeronij"@sl , + "aeron"@sv , + "埃隆期"@zh ; + schema:description + "older bound -440.8 +|-1.2 Ma"@en , + "younger bound -438.5 +|-1.1 Ma"@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Age\""@en ; +. + + + rdfs:label + "плб"@bg , + "Alb"@cs , + "Albien"@da , + "Albium"@de , + "Albian"@en , + "Albian Age"@en , + "Albiense"@es , + "Albi"@et , + "Alb"@fi , + "Albien"@fr , + "albai"@hu , + "albiano"@it , + "アルビアン期"@ja , + "Albis"@lt , + "Albiën"@nl , + "Alb"@no , + "Alb"@pl , + "Albiano"@pt , + "alb"@sk , + "albij"@sl , + "alban"@sv , + "阿尔布期"@zh ; + schema:description + "older bound -113.0 Ma"@en , + "younger bound -100.5 Ma"@en ; +. + + + rdfs:label + "пниз"@bg , + "Anis"@cs , + "Anisien"@da , + "Anisium"@de , + "Anisian"@en , + "Anisian Age"@en , + "Anisiense"@es , + "Anisi"@et , + "Anis"@fi , + "Anisien"@fr , + "anisusi"@hu , + "anisico"@it , + "アニシアン期"@ja , + "Anizis"@lt , + "Anisiën"@nl , + "Ansin"@no , + "Anizyk"@pl , + "Anisiano"@pt , + "anis"@sk , + "anizij"@sl , + "anis"@sv , + "安尼期"@zh ; + schema:description + "older bound -247.2 Ma"@en , + "younger bound -242 Ma"@en ; +. + + + rdfs:label + "ппт"@bg , + "Apt"@cs , + "Aptien"@da , + "Aptium"@de , + "Aptian"@en , + "Aptian Age"@en , + "Aptiense"@es , + "Apti"@et , + "Apt"@fi , + "Aptien"@fr , + "apti"@hu , + "aptiano"@it , + "アプチアン期"@ja , + "Aptis"@lt , + "Aptiën"@nl , + "Apt"@no , + "Apt"@pl , + "Aptiano"@pt , + "apt"@sk , + "aptij"@sl , + "apt"@sv , + "阿普弟期"@zh ; + schema:description + "older bound -125.0 Ma"@en , + "younger bound -113.0 Ma"@en ; +. + + + rdfs:label + "пквитан"@bg , + "Aquitan"@cs , + "Aquitanien"@da , + "Aquitanium"@de , + "Aquitanian"@en , + "Aquitanian Age"@en , + "Aquitaninse"@es , + "Aquitani"@et , + "Aquitan"@fi , + "Aquitanien"@fr , + "aquitaniai"@hu , + "aquitaniano"@it , + "アキタニアン期"@ja , + "Akvitanis"@lt , + "Aquitaniën-Vierland"@nl , + "Aquitanium"@no , + "Akwitan"@pl , + "Aquitaniano"@pt , + "akvitán"@sk , + "akvitanij"@sl , + "aquitan"@sv , + "阿启坦期"@zh ; + schema:description + "older bound -23.03 Ma"@en , + "younger bound -20.44 Ma"@en ; +. + + + rdfs:label + "прхай"@bg , + "Archaikum"@cs , + "Arkæisk"@da , + "Archaikum"@de , + "Archean"@en , + "Archean Eon"@en , + "Archaean"@en-gb , + "Archean"@en-us , + "Arcaico"@es , + "Arhaikum"@et , + "Arkeikum"@fi , + "Archéen"@fr , + "archaikum"@hu , + "archeano"@it , + "始生代"@ja , + "Archejus"@lt , + "Archaïcum"@nl , + "Arkeikum"@no , + "Archaik"@pl , + "Arcaico"@pt , + "archaikum, prahory"@sk , + "arhaik"@sl , + "arkeikum"@sv , + "太古宙"@zh ; + schema:description + "older bound -4000 Ma"@en , + "younger bound -2500 Ma"@en ; +. + + + rdfs:label + "пртин"@bg , + "Artinsk"@cs , + "Artinskien"@da , + "Artinskium"@de , + "Artinskian"@en , + "Artinskian Age"@en , + "Artinskiense"@es , + "Artinski"@et , + "Artinsk"@fi , + "Artinskien"@fr , + "artyinszki"@hu , + "artinskiano"@it , + "アルティンスキアン期"@ja , + "Artinskis"@lt , + "Artinskiën"@nl , + "Artiskium"@no , + "Artinsk"@pl , + "Artinskiano"@pt , + "artinsk"@sk , + "artinskij"@sl , + "artinsk"@sv , + "亚丁斯克期"@zh ; + schema:description + "older bound -290.1 +|-0.26 Ma"@en , + "younger bound -283.5 +|-0.6 Ma"@en ; +. + + + rdfs:label + "пѿел"@bg , + "Assel"@cs , + "Asselien"@da , + "Asselium"@de , + "Asselian"@en , + "Asselian Age"@en , + "Asseliense"@es , + "Asseli"@et , + "Assel"@fi , + "Assélien"@fr , + "asszeli"@hu , + "asseliano"@it , + "アセリアン期"@ja , + "Aselis"@lt , + "Asseliën"@nl , + "Asselium"@no , + "Aselsk"@pl , + "Asseliano"@pt , + "assel"@sk , + "asselij"@sl , + "assel"@sv , + "阿瑟尔期"@zh ; + schema:description + "older bound -298.9 +|-0.15 Ma"@en , + "younger bound -295.0 +|-0.18 Ma"@en ; +. + + + rdfs:label + "Байоѿ"@bg , + "Bajok"@cs , + "Bajocien"@da , + "Bajocium"@de , + "Bajocian"@en , + "Bajocian Age"@en , + "Bajociense"@es , + "Bajoci"@et , + "Bajoc"@fi , + "Bajocien"@fr , + "bajoci"@hu , + "bajociano"@it , + "バジョシアン期"@ja , + "Bajosis"@lt , + "Bajociën"@nl , + "Bajoc"@no , + "Bajos"@pl , + "Bajociano"@pt , + "bajok"@sk , + "bajocij"@sl , + "bajoc"@sv , + "巴柔期"@zh ; + schema:description + "older bound -170.3 +|-1.4 Ma"@en , + "younger bound -168.3 +|-1.3 Ma"@en ; +. + + + rdfs:label + "Барем"@bg , + "Barrem"@cs , + "Barremien"@da , + "Barrêmium"@de , + "Barremian"@en , + "Barremian Age"@en , + "Barremiense"@es , + "Barremi"@et , + "Barrem"@fi , + "Barrémien"@fr , + "barremi"@hu , + "berremiano"@it , + "バレミアン期"@ja , + "Baremis"@lt , + "Barremiën"@nl , + "Barremium"@no , + "Barrem"@pl , + "Barremiano"@pt , + "barém"@sk , + "barremij"@sl , + "barrem"@sv , + "巴列姆期"@zh ; + schema:description + "older bound -129.4 Ma"@en , + "younger bound -125.0 Ma"@en ; +. + + + rdfs:label + "Бартон"@bg , + "Barton"@cs , + "Bartonien"@da , + "Bartonium"@de , + "Bartonian"@en , + "Bartonian Age"@en , + "Bartoniense"@es , + "Bartoni"@et , + "Barton"@fi , + "Bartonien"@fr , + "bartoni"@hu , + "bartoniano"@it , + "バートニアン期"@ja , + "Bartonis"@lt , + "Bartoniën"@nl , + "Barton"@no , + "Barton"@pl , + "Bartoniano"@pt , + "bartón"@sk , + "bartonij"@sl , + "barton"@sv , + "巴尔顿期"@zh ; + schema:description + "older bound -41.2 Ma"@en , + "younger bound -37.8 Ma"@en ; +. + + + rdfs:label "Base of Aeronian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Aeronian"@en ; +. + + + rdfs:label "Stratotype Point Base of Aeronian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Trefawr Track Section, Wales, UK"@en ; +. + + + rdfs:label "Base of Albian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Albian"@en ; +. + + + rdfs:label "Stratotype Point Base of Albian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Southeastern France"@en ; +. + + + rdfs:label "Base of Aptian"@en ; +. + + + rdfs:label "Stratotype Point Base of Aptian"@en ; + rdfs:seeAlso ; + schema:description "candidate is Gorgo a Cerbara, Piobbico, Umbria-Marche, central Italy"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Aquitanian"@en ; +. + + + rdfs:label "Base of Archean"@en ; +. + + + rdfs:label "Base of Artinskian"@en ; +. + + + rdfs:label "Stratotype Point Base of Artinskian"@en ; + rdfs:seeAlso ; + schema:description "candidate is Usolka section, Russia"@en ; +. + + + rdfs:label "Base of Bajocian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Bajocian"@en ; +. + + + rdfs:label "Stratotype Point Base of Bajocian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Murtinheira Section, Cabo Mondego, Portugal "@en ; +. + + + rdfs:label "Base of Barremian"@en ; +. + + + rdfs:label "Stratotype Point Base of Barremian"@en ; + rdfs:seeAlso ; + schema:description "candidate is Río Argos near Caravaca, Murcia Province, Spain"@en ; +. + + + rdfs:label "Base of Bartonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Bartonian"@en ; + rdfs:seeAlso ; + schema:description "Contessa highway section near Gubio, Central Apennines, Italy"@en ; +. + + + rdfs:label "Base of Bathonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Bathonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Bathonian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Ravin du Bes, Bas Auran area, Alpes de Haute Provence, France "@en ; +. + + + rdfs:label "Base of Burdigalian"@en ; +. + + + rdfs:label "Stratotype Point Base of Burdigalian"@en ; + rdfs:seeAlso ; + schema:description "Potentially in astronomically tuned ODP core"@en ; +. + + + rdfs:label "Base of Calabrian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Calabrian"@en ; +. + + + rdfs:label "Stratotype Point Base of Calabrian"@en ; + rdfs:seeAlso + , + , + , + , + ; + schema:description "Vrica, Italy"@en ; +. + + + rdfs:label "Base of Callovian"@en ; +. + + + rdfs:label "Stratotype Point Base of Callovian"@en ; + rdfs:seeAlso ; + schema:description "candidates are Pfeffingen (Swabian Alb, SW Germany) and in Russia"@en ; +. + + + rdfs:label "Base of Cambrian Series 2"@en ; +. + + + rdfs:label "Stratotype Point Base of Cambrian Stage 3"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Base of Cambrian Series 3"@en ; +. + + + rdfs:label "Base of Cambrian Stage 10"@en ; +. + + + rdfs:label "Stratotype Point Base of Cambrian Stage 10"@en ; + rdfs:seeAlso ; + schema:description "candidate section is Duibian (Zhejiang province, China)"@en ; +. + + + rdfs:label "Base of Cambrian Stage 2"@en ; +. + + + rdfs:label "Stratotype Point Base of Cambrian Stage 2"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Base of Cambrian Stage 4"@en ; +. + + + rdfs:label "Stratotype Point Base of Cambrian Stage 4"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Base of Campanian"@en ; +. + + + rdfs:label "Stratotype Point Base of Campanian"@en ; + rdfs:seeAlso ; + schema:description "candidates are in Italy and in Texas"@en ; +. + + + rdfs:label "Base of Capitanian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Capitanian"@en ; +. + + + rdfs:label "Stratotype Point Base of Capitanian"@en ; + rdfs:seeAlso + , + ; + schema:description "Nipple Hill, SE Guadalupe Mountains, Texas, U.S.A"@en ; +. + + + rdfs:label "Base of Carboniferous"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Carboniferous"@en ; +. + + + rdfs:label "Stratotype Point Base of Tournaisian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "La Serre, France"@en ; +. + + + rdfs:label "Base of Cenozoic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Cenozoic"@en ; +. + + + rdfs:label "Stratotype Point Base of Danian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Oued Djerfane, west of El Kef, Tunisia"@en ; +. + + + rdfs:label "Base of Changhsingian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Changhsingian"@en ; +. + + + rdfs:label "Stratotype Point Base of Changhsingian"@en ; + rdfs:seeAlso + , + ; + schema:description "Meishan, Zhejiang Province, China"@en ; +. + + + rdfs:label "Base of Chattian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Chattian"@en ; +. + + + rdfs:label "Stratotype Point Base of Chattian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Monte Cagnero, Umbria-Marche region, Italy"@en ; +. + + + rdfs:label "Stratotype Point Base of Chibanian"@en ; + schema:description "Chiba, Japan" ; +. + + + rdfs:label "Base of Coniacian"@en ; +. + + + rdfs:label "Stratotype Point Base of Coniaician"@en ; + rdfs:seeAlso ; + schema:description "candidates are in Poland (Slupia Nadbrzena), USA (Pueblo, Colorado), and Germany (Salzgitter-Salder Quarry)"@en ; +. + + + rdfs:label "Base of Cretaceous"@en ; +. + + + rdfs:label "Stratotype Point Base of Berriaisian"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Base of Cryogenian"@en ; +. + + + rdfs:label "Stratotype Point Base of Cryogenian"@en ; + rdfs:seeAlso ; + schema:description "Onset of the first global glaciation. First glacial episode occurred after 750 Ma"@en ; +. + + + rdfs:label + "Base of Darriwilian"@en , + "Base of Darriwillian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Darriwilian"@en ; +. + + + rdfs:label "Stratotype Point Base of Darriwilian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Huangnitang section, Changshan, Zhejiang Province, SE China"@en ; +. + + + rdfs:label "Base of Devonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Devonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Lochkovian"@en ; + rdfs:seeAlso + , + ; + schema:description "Klonk, near Prague, Czech Republic"@en ; +. + + + rdfs:label "Base of Drumian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Guzhangian"@en ; +. + + + rdfs:label "Stratotype Point Base of Drumian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Drum Mountains, Millard County, Utah, USA"@en ; +. + + + rdfs:label "Base of Ectasian"@en ; +. + + + rdfs:label "Base of Ediacaran"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Ediacaran"@en ; +. + + + rdfs:label "Stratotype Point Base of Ediacaran"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Enorama Creek, Flinders Ranges, South Australia"@en ; +. + + + rdfs:label "Base of Emsian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Emsian"@en ; +. + + + rdfs:label "Stratotype Point Base of Emsian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Zinzil'ban Gorge in the Kitab State Geological Reserve, Uzbekistan"@en ; +. + + + rdfs:label "Base of Eocene"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Eocene"@en ; +. + + + rdfs:label "Stratotype Point Base of Ypresian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Dababiya, near Luxor, Egypt"@en ; +. + + + rdfs:label "Base of Famennian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Famennian"@en ; +. + + + rdfs:label "Stratotype Point Base of Famennian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Coumiac Quarry, near Cessenon, Montagne Noire, France"@en ; +. + + + rdfs:label "Base of Floian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Floian"@en ; +. + + + rdfs:label "Stratotype Point Base of Floian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Diabasbrottet, Hunneberg, Sweden"@en ; +. + + + rdfs:label "Base of Furongian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Furongian"@en ; +. + + + rdfs:label "Stratotype Point Base of Paibian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Wuling Mountains, Huayuan County, NW Hunan Province, China"@en ; +. + + + rdfs:label "Base of Givetian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Givetian"@en ; +. + + + rdfs:label "Stratotype Point Base of Givetian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Jebel Mech Irdane, Morocco"@en ; +. + + + rdfs:label "Base of Guadalupian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Guadalupian"@en ; +. + + + rdfs:label + "Stratotype Point Base of Guadalupian"@en , + "Stratotype Point Base of Roadian"@en ; + rdfs:seeAlso + , + ; + schema:description "Stratotype Canyon, Texas, U.S.A"@en ; +. + + + rdfs:label "Base of Guzhangian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Guzhangian "@en ; +. + + + rdfs:label "Stratotype Point Base of Guzhangian "@en ; + rdfs:seeAlso + , + , + ; + schema:description "Louyixi, Guzhang County, NW Hunan Province, S. China"@en ; +. + + + rdfs:label "Base of Gzhelian"@en ; +. + + + rdfs:label "Stratotype Point Base of Gzhelian"@en ; + rdfs:seeAlso ; + schema:description "candidates are in southern Urals or Nashui (south China)."@en ; +. + + + rdfs:label "Base of Hauterivian"@en ; +. + + + rdfs:label "Stratotype Point Base of Hauterivian"@en ; + rdfs:seeAlso ; + schema:description "La Charce village, Drôme Province, southeast France"@en ; +. + + + rdfs:label "Base of Hirnantian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Hirnantian"@en ; +. + + + rdfs:label "Stratotype Point Base of Hirnantian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Wangjiawan North section, N of Yichang city, Western Hubei Province, China"@en ; +. + + + rdfs:label "Base of Holocene"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Holocene"@en ; +. + + + rdfs:label "Stratotype Point Base of Greenlandian"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "NorthGRIP2 ice core, central Greenland"@en ; +. + + + rdfs:label "Base of Homerian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Homerian"@en ; +. + + + rdfs:label "Stratotype Point Base of Homerian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Sheinton Brook, Homer, UK"@en ; +. + + + rdfs:label "Base of Jiangshanian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Jiangshanian"@en ; +. + + + rdfs:label "Stratotype Point Base of Jiangshanian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Duibian B section, Zhejiang province, China"@en ; +. + + + rdfs:label "Base of Jurassic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Jurassic"@en ; +. + + + rdfs:label "Stratotype Point Base of Hettangian"@en ; + rdfs:seeAlso + , + ; + schema:description "Kuhjoch section,Tyrol, Austria "@en ; +. + + + rdfs:label "Base of Katian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Katian"@en ; +. + + + rdfs:label "Stratotype Point Base of Katian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Black Knob Ridge Section, Atoka, Oklahoma (USA)"@en ; +. + + + rdfs:label "Base of Kimmeridgian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Kimmeridgian"@en ; +. + + + rdfs:label "Stratotype Point Base of Kimmeridgian"@en ; + rdfs:seeAlso ; + schema:description "candidate is Flodigarry (Isle of Skye, NW Scotland)"@en ; +. + + + rdfs:label "Base of Kungurian"@en ; +. + + + rdfs:label "Stratotype Point Base of Kungurian"@en ; + rdfs:seeAlso ; + schema:description "candidate Pequob Mtns., Nevada, USA."@en ; +. + + + rdfs:label "Base of Ladinian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Ladinian"@en ; +. + + + rdfs:label "Stratotype Point Base of Ladinian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Bagolino, Province of Brescia, Northern Italy"@en ; +. + + + rdfs:label "Base of Langhian"@en ; +. + + + rdfs:label "Stratotype Point Base of Langhian"@en ; + rdfs:seeAlso ; + schema:description + "St. Peter's Pool, Malta or La Vedova,Italy" , + "Potentially in astronomically tuned ODP core (Leg 154) or in Italy (Moria or La Vedova)"@en ; +. + + + rdfs:label "Base of Late Cretaceous"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Upper Cretaceous"@en ; +. + + + rdfs:label "Base of Late Devonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Upper Devonian"@en ; +. + + + rdfs:label "Base of Late Jurassic"@en ; +. + + + rdfs:label "Base of Late Mississippian"@en ; +. + + + rdfs:label "Base of Late Ordovician"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Upper Ordovician"@en ; +. + + + rdfs:label "Base of Late Pennsylvanian"@en ; +. + + + rdfs:label "Base of Late Pleistocene"@en ; + schema:description "The age sought is near the mid-point of Termination II in the marine isotope stratigraphy." ; +. + + + rdfs:label "Base of Late Triassic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Upper Triassic"@en ; +. + + + rdfs:label "Base of Lopingian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Lopingian"@en ; +. + + + rdfs:label "Stratotype Point Base of Wuchiapingian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Penglaitan, Guanxi Province, South China"@en ; +. + + + rdfs:label "Base of Ludfordian Stage"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Ludfordian"@en ; +. + + + rdfs:label "Stratotype Point Base of Ludfordian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "near Ludlow, UK"@en ; +. + + + rdfs:label "Base of Ludlow"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Ludlow"@en ; +. + + + rdfs:label "Stratotype Point Base of Gorstian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "near Ludlow, UK"@en ; +. + + + rdfs:label "Base of Lutetian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Lutetian"@en ; +. + + + rdfs:label "Stratotype Point Base of Lutetian"@en ; + rdfs:seeAlso + , + ; + schema:description "Gorrondatxe sea-cliff section,Basque Country, northern Spain"@en ; +. + + + rdfs:label "Base of Maastrichtian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Maastrichtian"@en ; +. + + + rdfs:label "Stratotype Point Base of Maastrichtian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Tercis les Bains, Landes, France"@en ; +. + + + rdfs:label "Base of Meghalayan"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Meghalayan"@en ; +. + + + rdfs:label "Auxiliary Stratotype Point Base of Meghalayan"@en ; + rdfs:seeAlso + , + ; + schema:description "Global Auxiliary Stratotype, Mount Logan ice core, Canada"@en ; +. + + + rdfs:label "Stratotype Point Base of Meghalayan"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Mawmluh Cave, Meghalaya,India"@en ; +. + + + rdfs:label "Base of Mesoarchean"@en ; +. + + + rdfs:label "Base of Mesoproterozoic"@en ; +. + + + rdfs:label "Base of Mesozoic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Mesozoic"@en ; +. + + + rdfs:label "Stratotype Point Base of Induan"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Meishan, Zhejiang Province, China"@en ; +. + + + rdfs:label "Base of Messinian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Messinian"@en ; +. + + + rdfs:label "Stratotype Point Base of Messinian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Oued Akrech, Morocco"@en ; +. + + + rdfs:label "Base of Miaolingian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Miaolingian"@en ; +. + + + rdfs:label "Stratotype Point Base of Wuliuan"@en ; + rdfs:seeAlso + , + ; + schema:description "Wuliu-Zengjiayan (east Guizhou, China)"@en ; +. + + + rdfs:label "Base of Middle Devonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Middle Devonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Eifelian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Wetteldorf, Eifel Hills, Germany"@en ; +. + + + rdfs:label "Base of Middle Jurassic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Middle Jurassic"@en ; +. + + + rdfs:label "Stratotype Point Base of Aalenian"@en ; + rdfs:seeAlso + , + ; + schema:description "Fuentelsaz, Spain "@en ; +. + + + rdfs:label + "Base of Middle Mississippian"@en , + "Base of Visean"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Middle Mississippian"@en ; +. + + + rdfs:label "Stratotype Point Base of Visean"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Pengchong, south China"@en ; +. + + + rdfs:label "Base of Middle Ordovician"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Middle Ordovician"@en ; +. + + + rdfs:label "Stratotype Point Base of Dapingian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Huanghuachang Section, NE of Yichang city, Hubei Province, S. China"@en ; +. + + + rdfs:label "Base of Middle Pennsylvanian"@en ; +. + + + rdfs:label "Stratotype Point Base of Moscovian"@en ; + rdfs:seeAlso ; + schema:description "candidates are in southern Urals or Nashui (south China)."@en ; +. + + + rdfs:label "Base of Chibanian"@en ; +. + + + rdfs:label "Base of Middle Triassic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Middle Triassic"@en ; +. + + + rdfs:label "Stratotype Point Base of Anisian"@en ; + rdfs:seeAlso ; + schema:description "Candidate section at Desli Caira (Dobrogea, Romania); significant sections in Guizhou Province (China) and South Primorye (Russia)"@en ; +. + + + rdfs:label "Base of Neoarchean"@en ; +. + + + rdfs:label "Base of Neogene"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Neogene"@en ; +. + + + rdfs:label "Stratotype Point Base of Aquitainian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Lemme Carrioso Section, Allessandria Province, Italy"@en ; +. + + + rdfs:label "Base of Neoproterozoic"@en ; +. + + + rdfs:label "Base of Norian"@en ; +. + + + rdfs:label "Stratotype Point Base of Norian"@en ; + rdfs:seeAlso ; + schema:description "Candidates are Black Bear Ridge in British Columbia (Canada) and Pizzo Mondello, Sicily (Italy)"@en ; +. + + + rdfs:label "Base of Northgrippian"@en ; +. + + + schema:description "Location of Stratotype Point Base of Northgrippian"@en ; +. + + + rdfs:label "Auxiliary Stratotype Point Base of Northgrippian"@en ; + rdfs:seeAlso + , + ; + schema:description "Global AuxiliaryStratotype: Gruta do Padre Cave speleothem, Brazil"@en ; +. + + + rdfs:label "Stratotype Point Base of Northgrippian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description + "Global AuxiliaryStratotype: Gruta do Padre Cave speleothem, Brazil"@en , + "NorthGRIP1 ice core, Greenland"@en , + "NorthGRIP1 ice core, Greenland."@en ; +. + + + rdfs:label "Base of Olenekian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Olenekian"@en ; +. + + + rdfs:label "Stratotype Point Base of Olenekian"@en ; + rdfs:seeAlso ; + schema:description "Candidate Stratotype Point Mud (Muth) village, Spiti valley, northwest India"@en ; +. + + + rdfs:label "Base of Oligocene"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Oligocene"@en ; +. + + + rdfs:label "Stratotype Point Base of Rupelian"@en ; + rdfs:seeAlso + , + ; + schema:description "Massignano, near Ancona, Italy"@en ; +. + + + rdfs:label "Base of Ordovician"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Ordovician"@en ; +. + + + rdfs:label "Stratotype Point Base of Tremadocian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Green Point Section, western Newfoundland"@en ; +. + + + rdfs:label "Base of Orosirian"@en ; +. + + + rdfs:label "Base of Paleoarchean"@en ; +. + + + rdfs:label "Base of Pennsylvanian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Pennsylvanian"@en ; +. + + + rdfs:label + "Stratotype Point Base of Bashkirian"@en , + "Stratotype Point Base of Pennsylvanian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Arrow Canyon, Nevada"@en ; +. + + + rdfs:label "Base of Permian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Permian"@en ; +. + + + rdfs:label "Stratotype Point Base of Asselian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Aidaralash Creek, Kazakhstan"@en ; +. + + + rdfs:label "Base of Phanerozoic"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Phanerozoic"@en ; +. + + + rdfs:label "Stratotype Point Base of Fortunian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Fortune Head, SE Newfoundland, Canada"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Piacenzian"@en ; +. + + + rdfs:label "Base of Piacenzian"@en ; +. + + + rdfs:label "Stratotype Point Base of Piacenzian"@en ; + rdfs:seeAlso + , + ; + schema:description "Punta Piccola, Sicily, Italy"@en ; +. + + + rdfs:label "Base of Pliensbachian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Pliensbachian"@en ; +. + + + rdfs:label "Stratotype Point Base of Pliensbachian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Wine Haven, Robin Hoods Bay, Yorkshire Coast, England "@en ; +. + + + rdfs:label "Base of Pliocene"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Pliocene"@en ; +. + + + rdfs:label "Stratotype Point Base of Zanclean"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Eraclea Minoa, Sicily, Italy"@en ; +. + + + rdfs:label "Base of Pragian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Pragian"@en ; +. + + + rdfs:label "Stratotype Point Base of Pragian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Velka Chuchle, Prague, Czech Republic"@en ; +. + + + rdfs:label "Base of Priabonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Priabonian"@en ; + rdfs:seeAlso ; + schema:description "Alano section, Piave River; Veneto Prealps, Belluno province, N. Italy"@en ; +. + + + rdfs:label "Base of Pridoli"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Pridoli"@en ; +. + + + rdfs:label "Stratotype Point Base of Přídolí"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Požáry Section, Reporyje, Prague, Czech Republic"@en ; +. + + + rdfs:label "Base of Proterozoic"@en ; +. + + + rdfs:label "Base of Quaternary"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Quaternary"@en ; +. + + + rdfs:label "Stratotype Point Base of Gelasian"@en ; + rdfs:seeAlso + , + , + ; + schema:description + "Definition as base of Quaternary and Pleistocene ratified 2009" , + "Monte San Nicola, Sicily, Italy"@en ; +. + + + rdfs:label "Base of Rhaetian"@en ; +. + + + rdfs:label "Stratotype Point Base of Rhaetian"@en ; + rdfs:seeAlso ; + schema:description "Candidates are Pizzo Mondello, Sicily (Italy) and Steinbergkogel, Austria"@en ; +. + + + rdfs:label "Base of Rhyacian"@en ; +. + + + rdfs:label "Base of Sakmarian"@en ; +. + + + rdfs:label "Stratotype Point Base of Sakmarian"@en ; + rdfs:seeAlso ; + schema:description "Kondurovsky, Orenburg Province, Russia."@en ; +. + + + rdfs:label "Base of Santonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Santonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Santonian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Olazagutia, Navarra, Spain"@en ; +. + + + rdfs:label "Base of Selandian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Selandian"@en ; +. + + + rdfs:label "Stratotype Point Base of Selandian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Zumaia section, northern Spain"@en ; +. + + + rdfs:label "Base of Serravallian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Serravallian"@en ; +. + + + rdfs:label "Stratotype Point Base of Serravallian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Ras il Pellegrin section, Fomm Ir- Rih Bay, west coast of Malta"@en ; +. + + + rdfs:label "Base of Silurian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Silurian"@en ; +. + + + rdfs:label "Stratotype Point Base of Rhuddanian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Dobs Linn, Scotland"@en ; +. + + + rdfs:label "Base of Sinemurian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Sinemurian"@en ; +. + + + rdfs:label "Stratotype Point Base of Sinemurian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "East Quantoxhead, SW England "@en ; +. + + + rdfs:label "Base of Statherian"@en ; +. + + + rdfs:label "Base of Stenian"@en ; +. + + + rdfs:label "Stratotype Point Base of Tarentian"@en ; + rdfs:seeAlso ; + schema:description "Taranto, Italy" ; +. + + + rdfs:label "Base of Telychian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Telychian"@en ; +. + + + rdfs:label "Stratotype Point Base of Telychian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Cefn-cerig Road Section, Wales, UK"@en ; +. + + + rdfs:label "Base of Thanetian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Thanetian"@en ; +. + + + rdfs:label "Stratotype Point Base of Thanetian"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "Zumaia section, northern Spain"@en ; +. + + + rdfs:label "Base of Tithonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Tithonian"@en ; + rdfs:seeAlso ; + schema:description "candidates are Mt. Crussol or Canjuers (SE France) and Fornazzo (Sicily, S. Italy)"@en ; +. + + + rdfs:label "Base of Toarcian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Toarcian"@en ; +. + + + rdfs:label "Stratotype Point Base of Toarcian"@en ; + rdfs:seeAlso + , + ; + schema:description "Ponta do Trovao, Peniche (Portugal)"@en ; +. + + + rdfs:label "Base of Tortonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Tortonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Tortonian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Monte dei Corvi Beach, near Ancona, Italy"@en ; +. + + + rdfs:label "Base of Turonian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Turonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Turonian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Pueblo, Colorado, USA"@en ; +. + + + rdfs:label "Base of Upper Cretaceous"@en ; +. + + + rdfs:label "Stratotype Point Base of Cenomanian"@en ; + rdfs:seeAlso + , + ; + schema:description "Mount Risou, Hautes Alpes, France"@en ; +. + + + rdfs:label "Base of Upper Devonian"@en ; +. + + + rdfs:label "Stratotype Point Base of Frasnian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Col du Puech de la Suque, Montage Noire, France"@en ; +. + + + rdfs:label "Base of Upper Jurassic"@en ; +. + + + rdfs:label "Stratotype Point Base of Oxfordian"@en ; + rdfs:seeAlso ; + schema:description "Thuoux Section, SE France"@en ; +. + + + rdfs:label "Base of Upper Mississippian"@en ; +. + + + rdfs:label "Stratotype Point Base of Serpukhovian"@en ; + rdfs:seeAlso ; + schema:description "candidates are Verkhnyaya Kardailovka (Urals) or Nashui (China)"@en ; +. + + + rdfs:label "Base of Upper Ordovician"@en ; +. + + + rdfs:label "Stratotype Point Base of Sandbian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Sularp Brook, Fagelsang, Sweden"@en ; +. + + + rdfs:label "Base of Upper Pennsylvanian"@en ; +. + + + rdfs:label "Stratotype Point Base of Kasimovian"@en ; + rdfs:seeAlso ; + schema:description "candidates are in southern Urals, and Nashui (South China)."@en ; +. + + + rdfs:label "Base of Upper Pleistocene"@en ; +. + + + rdfs:label "Base of Upper Triassic"@en ; +. + + + rdfs:label "Stratotype Point Base of Carnian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Prati di Stuores, Dolomites, Italy"@en ; +. + + + rdfs:label "Base of Valanginian"@en ; +. + + + rdfs:label "Stratotype Point Base of Valanginian"@en ; + rdfs:seeAlso ; + schema:description "candidates are near Montbrunles- Bains (Drôme province, SE France) and Cañada Luenga (Betic Cordillera, S. Spain)"@en ; +. + + + rdfs:label "Base of Wenlock"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Wenlock"@en ; +. + + + rdfs:label "Stratotype Point Base of Sheinwoodian"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Hughley Brook, UK"@en ; +. + + + rdfs:label "Base of Wordian"@en ; +. + + + rdfs:label "Location of Stratotype Point Base of Wordian"@en ; +. + + + rdfs:label "Stratotype Point Base of Wordian"@en ; + rdfs:seeAlso + , + ; + schema:description "Guadalupe Pass, Texas, U.S.A"@en ; +. + + + rdfs:label + "Башкир"@bg , + "Bashkir"@cs , + "Bashkirien"@da , + "Bashkirium"@de , + "Bashkirian"@en , + "Bashkirian Age"@en , + "Bashkiriense"@es , + "Baškiiri"@et , + "Bashkir"@fi , + "Bashkirien"@fr , + "baskír"@hu , + "bashkiriano"@it , + "バシキリアン期"@ja , + "Bashkirian"@lt , + "Bashkiriën"@nl , + "Bashkirium"@no , + "Baszkir"@pl , + "Bashkiriano"@pt , + "baškir"@sk , + "baškirij"@sl , + "bashkir"@sv , + "巴什基尔期"@zh ; + schema:description + "older bound -323.2 +|-0.4 Ma"@en , + "younger bound -315.2 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Бат"@bg , + "Bathon"@cs , + "Bathonien"@da , + "Bathonium"@de , + "Bathonian"@en , + "Bathonian Age"@en , + "Bathoniense"@es , + "Bathoni"@et , + "Bathon"@fi , + "Bathonien"@fr , + "bath"@hu , + "bathoniano"@it , + "バソニアン期"@ja , + "Batonis"@lt , + "Barthoniën"@nl , + "Bathon"@no , + "Baton"@pl , + "Batoniano"@pt , + "bath"@sk , + "bathonij"@sl , + "bathon"@sv , + "巴通期"@zh ; + schema:description + "older bound -168.3 +|-1.3 Ma"@en , + "younger bound -166.1 +|-1.2 Ma"@en ; +. + + + rdfs:label + "Бериаѿ"@bg , + "Berrias"@cs , + "Berriasien"@da , + "Berriasium"@de , + "Berriasian"@en , + "Berriasian Age"@en , + "Berriasiense"@es , + "Berriasi"@et , + "Berrias"@fi , + "Berriasien"@fr , + "berriasi"@hu , + "berriasiano"@it , + "ベリアシアン期"@ja , + "Beriasis"@lt , + "Berrasiën"@nl , + "Berriasium"@no , + "Berias"@pl , + "Berriasiano"@pt , + "berias"@sk , + "berriasij"@sl , + "berrias"@sv , + "贝利亚斯期"@zh ; + schema:description + "older bound -145.0 Ma"@en , + "younger bound -139.8 Ma"@en ; +. + + + rdfs:label "Boundaries in the International Chronostratigraphic Chart"@en ; +. + + + rdfs:label "Geochronologic Boundaries"@en ; + schema:description + "Boundaries of intervals in the chronostratigraphic chart (unspecified)"@en , + "This skos:Concept is included to spoof the Research Vocabularies Australia UI, which wants to show all top concepts."@en ; +. + + + rdfs:label + "Бурдигал"@bg , + "Burdigal"@cs , + "Burdigalien"@da , + "Burdigalium"@de , + "Burdigalian"@en , + "Burdigalian Age"@en , + "Burdigaliense"@es , + "Burdigali"@et , + "Burdigal"@fi , + "Burdigalien"@fr , + "burdigaliai"@hu , + "burdigaliano"@it , + "バーディガリアン期"@ja , + "Burdigalis"@lt , + "Burdigaliën-Hemmoor"@nl , + "Burdigalium"@no , + "Burdygał"@pl , + "Burdigaliano"@pt , + "burdigal"@sk , + "burdigalij"@sl , + "burdigal"@sv , + "布迪加尔期"@zh ; + schema:description + "older bound -20.44 Ma"@en , + "younger bound -15.97 Ma"@en ; +. + + + rdfs:label + "Калабрий"@bg , + "Calabr"@cs , + "Calabrian"@da , + "Calabrium"@de , + "Calabrian"@en , + "Calabrian Age"@en , + "Calabriense"@es , + "Kalaabria"@et , + "Calabria"@fi , + "Calabrien"@fr , + "kalabriai"@hu , + "calabriano"@it , + "カラブリア期"@ja , + "Kalabris"@lt , + "Onder Pleistoceen/ Hoog Terras"@nl , + "Calabrium"@no , + "Kalambr"@pl , + "Calabriano"@pt , + "kalábrian"@sk , + "calabrij"@sl , + "calabr"@sv , + "卡拉布里亚期"@zh ; + schema:description + "older bound -1.80 Ma"@en , + "younger bound -0.781 Ma"@en ; +. + + + rdfs:label + "Калов"@bg , + "Callov"@cs , + "Callovien"@da , + "Callovium"@de , + "Callovian"@en , + "Callovian Age"@en , + "Calloviense"@es , + "Callovi"@et , + "Callov"@fi , + "Callovien"@fr , + "callovi"@hu , + "calloviano"@it , + "カロビアン期"@ja , + "Kelovėjis"@lt , + "Calloviën"@nl , + "Callove"@no , + "Kelowej"@pl , + "Caloviano"@pt , + "kelovej"@sk , + "callovij"@sl , + "callov"@sv , + "卡洛夫期"@zh ; + schema:description + "older bound -166.1 +|-1.2 Ma"@en , + "younger bound -163.5 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Калим"@bg , + "Calymm"@cs , + "Calymmien"@da , + "Calymmium"@de , + "Calymmian"@en , + "Calymmian Period"@en , + "Calymmiense"@es , + "Calymm"@et , + "Calym"@fi , + "Calymmien"@fr , + "calymmi"@hu , + "calymmiano"@it , + "カリミアン紀"@ja , + "Kalymis"@lt , + "Calymmiën"@nl , + "Kalymmium"@no , + "Kalym"@pl , + "Calymiano"@pt , + "kalymnium"@sk , + "calymmij"@sl , + "kalymmium"@sv , + "盖层纪"@zh ; + schema:description + "older bound -1600 Ma"@en , + "younger bound -1400 Ma"@en ; +. + + + rdfs:label + "Камбрий"@bg , + "Kambrium"@cs , + "Kambrium"@da , + "Kambrium"@de , + "Cambrian"@en , + "Cambrian Period"@en , + "Cámbrico"@es , + "Kambrium"@et , + "Kambri"@fi , + "Cambrien"@fr , + "kambriumi"@hu , + "cambriano"@it , + "カンブリア紀"@ja , + "Kambras"@lt , + "Cambrium"@nl , + "Cambrium"@no , + "Kambr"@pl , + "Câmbrico"@pt , + "kambrium"@sk , + "kambrij"@sl , + "kambrium"@sv , + "寒武纪"@zh ; + schema:description + "older bound -541.0 +|-1.0 Ma"@en , + "younger bound -485.4 +|-1.9 Ma"@en ; +. + + + rdfs:label + "Камбрий - 2 ѿериѿ"@bg , + "Kambrium-Oddělení 2"@cs , + "Kambrium-Serie 2"@da , + "Kambrium-Serie 2"@de , + "Cambrian Series 2"@en , + "Cambrian Series 2 Epoch"@en , + "Cámbrico-Serie 2"@es , + "Kambrium, Ladestik 2"@et , + "Kambri-sarja 2"@fi , + "Cambrien-Séries 2"@fr , + "kambrium 2. sorozat"@hu , + "cambriano - serie 2"@it , + "第2世"@ja , + "Kambras-Serija 2"@lt , + "Cambrium, Zone 2"@nl , + "Kambrium -serie 2"@no , + "Kambr-Oddział 2"@pl , + "Câmbrico-Série 2"@pt , + "kambrium - séria 2"@sk , + "kambrij-serija 2"@sl , + "kambrium serie 2"@sv , + "第二世"@zh ; + schema:description + "older bound -521 Ma"@en , + "younger bound -509 Ma"@en ; +. + + + rdfs:label + "Камбрий - 3 ѿериѿ"@bg , + "Kambrium-Oddělení 3"@cs , + "Kambrium-Serie 3"@da , + "Kambrium-Serie 3"@de , + "Cambrian Series 3"@en , + "Cambrian Series 3 Epoch"@en , + "Cámbrico-Serie 3"@es , + "Kambrium, Ladestik 3"@et , + "Kambri-sarja 3"@fi , + "Cambrien-Séries 3"@fr , + "kambrium 3. sorozat"@hu , + "cambriano - serie 3"@it , + "第3世"@ja , + "Kambras-Serija 3"@lt , + "Cambrium, Zone 3"@nl , + "Kambrium-serie 3"@no , + "Kambr-Oddział 3"@pl , + "Câmbrico-Série 3"@pt , + "kambrium - séria 3"@sk , + "kambrij-serija 3"@sl , + "kambrium serie 3"@sv , + "第三世"@zh ; +. + + + rdfs:label + "Камбрий - 10 етаж"@bg , + "Kambrium-Stupeň 10"@cs , + "Kambrium-Etage 10"@da , + "Kambrium-Stufe 10"@de , + "Cambrian Stage 10 Age"@en , + "Cambrian-Stage 10"@en , + "Cámbrico-Piso 10"@es , + "Kambrium, Lade 10"@et , + "Kambri-vaihe 10"@fi , + "Cambrien-Etage 10"@fr , + "kambrium 10. emelet"@hu , + "cambriano - stage 10"@it , + "第10期"@ja , + "Kambras-Aukštas 10"@lt , + "Cambrium, Zone 10"@nl , + "Kambrium-etasje10"@no , + "Kambr-Piętro 10"@pl , + "Câmbrico-Piso 10"@pt , + "kambrium, stupeň 10"@sk , + "kambrij-stopnja 10"@sl , + "kambrium etage 10"@sv , + "第十期"@zh ; + schema:description + "older bound -489.5 Ma"@en , + "younger bound -485.4 +|-1.9 Ma"@en ; +. + + + rdfs:label + "Камбрий - 2 етаж"@bg , + "Kambrium-Stupeň 2"@cs , + "Kambrium-Etage 2"@da , + "Kambrium-Stufe 2"@de , + "Cambrian Stage 2 Age"@en , + "Cambrian-Stage 2"@en , + "Cámbrico-Piso 2"@es , + "Kambrium, Lade 2"@et , + "Kambri-vaihe 2"@fi , + "Cambrien-Etage 2"@fr , + "kambrium 2. emelet"@hu , + "cambriano - stage 2"@it , + "第2期"@ja , + "Kambras-Aukštas 2"@lt , + "Cambrium, Zone 2"@nl , + "Kambrium-etasje 2"@no , + "Kambr-Piętro 2"@pl , + "Câmbrico-Piso 2"@pt , + "kambrium, stupeň 2"@sk , + "kambrij-stopnja 2"@sl , + "kambrium etage 1"@sv , + "第二期"@zh ; + schema:description + "older bound -529 Ma"@en , + "younger bound -521 Ma"@en ; +. + + + rdfs:label + "Камбрий - 3 етаж"@bg , + "Kambrium-Stupeň 3"@cs , + "Kambrium-Etage 3"@da , + "Kambrium-Stufe 3"@de , + "Cambrian Stage 3 Age"@en , + "Cambrian-Stage 3"@en , + "Cámbrico-Piso 3"@es , + "Kambrium, Lade 3"@et , + "Kambri-vaihe 3"@fi , + "Cambrien-Etage 3"@fr , + "kambrium 3. emelet"@hu , + "cambriano - stage 3"@it , + "第3期"@ja , + "Kambras-Aukštas 3"@lt , + "Cambrium, Zone3"@nl , + "Kambrium-etasje 3"@no , + "Kambr-Piętro 3"@pl , + "Câmbrico-Piso 3"@pt , + "kambrium, stupeň 3"@sk , + "kambrij-stopnja 3"@sl , + "kambrium etage 3"@sv , + "第三期"@zh ; + schema:description + "older bound -521 Ma"@en , + "younger bound -514 Ma"@en ; +. + + + rdfs:label + "Камбрий - 4 етаж"@bg , + "Kambrium-Stupeň 4"@cs , + "Kambrium-Etage 4"@da , + "Kambrium-Stufe 4"@de , + "Cambrian Stage 4 Age"@en , + "Cambrian-Stage 4"@en , + "Cámbrico-Piso 4"@es , + "Kambrium, Lade 4"@et , + "Kambri-vaihe 4"@fi , + "Cambrien-Etage 4"@fr , + "kambrium 4. emelet"@hu , + "cambriano - stage 4"@it , + "第4期"@ja , + "Kambras-Aukšts 4"@lt , + "Cambrium, Zone 4"@nl , + "Kambrium-etasje 4"@no , + "Kambr-Piętro 4"@pl , + "Câmbrico-Piso 4"@pt , + "kambrium, stupeň 4"@sk , + "kambrij stopnja 4"@sl , + "kambrium etage 4"@sv , + "第四期"@zh ; + schema:description + "older bound -514 Ma"@en , + "younger bound -509 Ma"@en ; +. + + + rdfs:label + "Камбрий-5 етаж"@bg , + "Kambrium-Stupeň 5"@cs , + "Kambrium-Etage 5"@da , + "Kambrium-Stufe 5"@de , + "Cambrian Stage 5 Age"@en , + "Cambrian-Stage 5"@en , + "Cámbrico-Piso 5"@es , + "Kambrium, Lade 5"@et , + "Kambri-vaihe 5"@fi , + "Cambrien-Etage 5"@fr , + "kambriumi-5. szakasz"@hu , + "cambriano-stage 5"@it , + "第5期"@ja , + "Kambras-Aukštas 5"@lt , + "Cambrium, Zone 5"@nl , + "Cambrium-etasje 5"@no , + "Kambr-Piętro 5"@pl , + "Câmbrico-Piso 5"@pt , + "kambrium-stupeň 5"@sk , + "kambrij-stopnja 5"@sl , + "kambrium etage 5"@sv , + "第五期"@zh ; +. + + + rdfs:label + "Кампан"@bg , + "Campan"@cs , + "Campanien"@da , + "Campanium"@de , + "Campanian"@en , + "Campanian Age"@en , + "Campaniense"@es , + "Campani"@et , + "Campan"@fi , + "Campanien"@fr , + "campaniai"@hu , + "campaniano"@it , + "カンパニアン期"@ja , + "Kampanis"@lt , + "Campaniën"@nl , + "Campanium"@no , + "Kampan"@pl , + "Campaniano"@pt , + "kampán"@sk , + "campanij"@sl , + "campan"@sv , + "坎佩尼期"@zh ; + schema:description + "older bound -83.6 +|-0.2 Ma"@en , + "younger bound -72.1 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Капитан"@bg , + "Capitan"@cs , + "Capitanien"@da , + "Capitanium"@de , + "Capitanian"@en , + "Capitanian Age"@en , + "Capitaniense"@es , + "Capitani"@et , + "Capitan"@fi , + "Capitanien"@fr , + "capitani"@hu , + "capitaniano"@it , + "カピタニアン期"@ja , + "Kapitanis"@lt , + "Capitaniën"@nl , + "Capitanium"@no , + "Kapitan"@pl , + "Capitaniano"@pt , + "capitan"@sk , + "capitanij"@sl , + "capitan"@sv , + "卡匹敦期"@zh ; + schema:description + "older bound -265.1 +|-0.4 Ma"@en , + "younger bound -259.1 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Карбон"@bg , + "Karbon"@cs , + "Karbon"@da , + "Karbon"@de , + "Carboniferous"@en , + "Carboniferous Period"@en , + "Carbonífero"@es , + "Karbon"@et , + "Kivihiili"@fi , + "Carbonifère"@fr , + "karbon"@hu , + "carbonifero"@it , + "石炭紀"@ja , + "Karbonas"@lt , + "Carboon"@nl , + "Karbon"@no , + "Karbon"@pl , + "Carbónico"@pt , + "karbón"@sk , + "karbon"@sl , + "karbon"@sv , + "石炭纪"@zh ; + schema:description + "older bound -358.9 +|-0.4 Ma"@en , + "younger bound -298.9 +|-0.15 Ma"@en ; +. + + + rdfs:label + "Карн"@bg , + "Carn"@cs , + "Carnien"@da , + "Karnium"@de , + "Carnian"@en , + "Carnian Age"@en , + "Carniense"@es , + "Carni"@et , + "Carn"@fi , + "Carnien"@fr , + "karni"@hu , + "carnico"@it , + "カーニアン期"@ja , + "Karnis"@lt , + "Carniën"@nl , + "Carn"@no , + "Karnik"@pl , + "Carniano"@pt , + "karn"@sk , + "karnij"@sl , + "carn"@sv , + "卡尼期"@zh ; + schema:description + "older bound -237 Ma"@en , + "younger bound -227 Ma"@en ; +. + + + rdfs:label + "Ценоман"@bg , + "Cenoman"@cs , + "Cenomanien"@da , + "Cenomanium"@de , + "Cenomanian"@en , + "Cenomanian Age"@en , + "Cenomaniense"@es , + "Cenomani"@et , + "Cenoman"@fi , + "Cénomanien"@fr , + "cenoman"@hu , + "cenomaniano"@it , + "セノマニアン期"@ja , + "Cenomanis"@lt , + "Laat/Boven Krijt"@nl , + "Cenomanium"@no , + "Cenoman"@pl , + "Cenomaniano"@pt , + "cenoman"@sk , + "cenomanij"@sl , + "cenoman"@sv , + "森诺曼期"@zh ; + schema:description + "older bound -100.5 Ma"@en , + "younger bound -93.9 Ma"@en ; +. + + + rdfs:label + "пеозой"@bg , + "Kenozoikum"@cs , + "Kænozoisk"@da , + "Känozoikum"@de , + "Cenozoic"@en , + "Cenozoic Era"@en , + "Cainozoic"@en-gb , + "Cenozoic"@en-us , + "Cenozoico"@es , + "Kainosoikum"@et , + "Kenotsoikum"@fi , + "Cénozoïque"@fr , + "kainozoikum"@hu , + "cenozoico"@it , + "新生代"@ja , + "Cenozojus"@lt , + "Kaenozoïcum"@nl , + "Kenozoikum"@no , + "Kenozoik"@pl , + "Cenozóico"@pt , + "kenozoikum"@sk , + "kenozoik"@sl , + "kenozoikum"@sv , + "新生代"@zh ; + schema:description + "older bound -66.0 Ma"@en , + "younger bound -0.0 Ma"@en ; +. + + + rdfs:label + "Чангшинг"@bg , + "Changhsing"@cs , + "Changhsingien"@da , + "Changhsingium"@de , + "Changhsingian"@en , + "Changhsingian Age"@en , + "Changsingiense"@es , + "Changhsingi"@et , + "Changhsing"@fi , + "Changhsingien"@fr , + "changhsingi"@hu , + "changsingiano"@it , + "チャンシンギアン期"@ja , + "Čangšinjanis"@lt , + "Changhsingiën"@nl , + "Changxingium"@no , + "Changhsing"@pl , + "Changhsingiano"@pt , + "Ŀchangsing"@sk , + "changhsingij"@sl , + "changhsing"@sv , + "长兴期"@zh ; + schema:description + "older bound -254.14 +|-0.07 Ma"@en , + "younger bound -251.902 +|-0.024 Ma"@en ; +. + + + rdfs:label + "Хат"@bg , + "Chat"@cs , + "Chattien"@da , + "Chattium"@de , + "Chattian"@en , + "Chattian Age"@en , + "Chattiense"@es , + "Chatti"@et , + "Chatt"@fi , + "Chattien"@fr , + "katti"@hu , + "chattiano"@it , + "シャティアン期"@ja , + "Chatis"@lt , + "Chattiën"@nl , + "Chattium"@no , + "Szat"@pl , + "Chatiano"@pt , + "chatt"@sk , + "chattij"@sl , + "chatt"@sv , + "恰特期"@zh ; + schema:description + "older bound -27.82 Ma"@en , + "younger bound -23.03 Ma"@en ; +. + + + rdfs:label + "Циѿурал"@bg , + "Cisural"@cs , + "Cisuralien"@da , + "Cisuralium"@de , + "Cisuralian"@en , + "Cisuralian Epoch"@en , + "Cisuraliense"@es , + "Cisural"@et , + "Cisural"@fi , + "Cisuralien"@fr , + "ciszurali"@hu , + "cisuraliano"@it , + "キスラリアン世"@ja , + "Kisuralis"@lt , + "Cisuraliën"@nl , + "Cisuralium"@no , + "Cisural"@pl , + "Cisuraliano"@pt , + "cisural"@sk , + "cisuralij"@sl , + "cisural"@sv , + "乌拉尔世"@zh ; + schema:description + "older bound -298.9 +|-0.15 Ma"@en , + "younger bound -272.95 +|-0.11 Ma"@en ; +. + + + rdfs:label + "Кониак"@bg , + "Coniak"@cs , + "Coniacien"@da , + "Coniacium"@de , + "Coniacian"@en , + "Coniacian Age"@en , + "Coni"@es , + "Coniaci"@et , + "Coniac"@fi , + "Coniacien"@fr , + "coniaci"@hu , + "coniaciano"@it , + "コニアシアン期"@ja , + "Konjakis"@lt , + "Conaciën"@nl , + "Coniacium"@no , + "Koniak"@pl , + "Coniaciano"@pt , + "koňak"@sk , + "coniacij"@sl , + "coniac"@sv , + "科尼亚克期"@zh ; + schema:description + "older bound -89.8 +|-0.3 Ma"@en , + "younger bound -86.3 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Креда"@bg , + "Křída"@cs , + "Kridt"@da , + "Kreide"@de , + "Cretaceous"@en , + "Cretaceous Period"@en , + "Cretácico"@es , + "Kriit"@et , + "Liitu"@fi , + "Crétacé"@fr , + "kréta"@hu , + "cretacico"@it , + "白亜紀"@ja , + "Kreida"@lt , + "Krijt"@nl , + "Kritt"@no , + "Kreda"@pl , + "Cretácico"@pt , + "krieda"@sk , + "kreda"@sl , + "krita"@sv , + "白垩纪"@zh ; + schema:description + "older bound -145.0 Ma"@en , + "younger bound -66.0 Ma"@en ; +. + + + rdfs:label + "Криоген"@bg , + "Cryogen"@cs , + "Cryogenien"@da , + "Kryogenium"@de , + "Cryogenian"@en , + "Cryogenian Period"@en , + "Criogeniense"@es , + "Krüogeen"@et , + "Cryogen"@fi , + "Cryogénien"@fr , + "cryogeni"@hu , + "cryogeniano"@it , + "クリオジェニアン紀"@ja , + "Kriogenis"@lt , + "Cryogeniën"@nl , + "Kryogenium"@no , + "Kriogen"@pl , + "Criogeniano"@pt , + "kryogén"@sk , + "cryogenij"@sl , + "kryogenium"@sv , + "成冰纪"@zh ; + schema:description + "older bound -720 Ma"@en , + "younger bound -635 Ma"@en ; +. + + + rdfs:label + "Дан"@bg , + "Dan"@cs , + "Danien"@da , + "Danium"@de , + "Danian"@en , + "Danian Age"@en , + "Daninese"@es , + "Taani"@et , + "Dan"@fi , + "Danien"@fr , + "dániai"@hu , + "daniano"@it , + "ダニアン期"@ja , + "Danis"@lt , + "Daniën"@nl , + "Danium"@no , + "Dan"@pl , + "Daniano"@pt , + "dán"@sk , + "danij"@sl , + "dan"@sv , + "丹麦期"@zh ; + schema:description + "older bound -66.0 Ma"@en , + "younger bound -61.6 Ma"@en ; +. + + + rdfs:label + "Дапинг"@bg , + "Daping"@cs , + "Dapingien"@da , + "Dapingium"@de , + "Dapingian"@en , + "Dapingian Age"@en , + "Dapingiense"@es , + "Dapingi"@et , + "Daping"@fi , + "Dapingien"@fr , + "dapingi"@hu , + "dapingiano"@it , + "ダピンギアン期"@ja , + "Dapingis"@lt , + "Dapingiën"@nl , + "Dapingium"@no , + "Daping"@pl , + "Dapingiano"@pt , + "daping"@sk , + "dapingij"@sl , + "daping"@sv , + "大坪期"@zh ; + schema:description + "older bound -470.0 +|-1.4 Ma"@en , + "younger bound -467.3 +|-1.1 Ma"@en ; +. + + + rdfs:label + "Даривил"@bg , + "Darriwil"@cs , + "Darriwilien"@da , + "Darriwilium"@de , + "Darriwilian"@en , + "Darriwilian Age"@en , + "Darriwiliense"@es , + "Darriwili"@et , + "Darriwil"@fi , + "Darriwilien"@fr , + "darriwili"@hu , + "darriwilliano"@it , + "ダーリウィリアン期"@ja , + "Darivilis"@lt , + "Darriwiliën"@nl , + "Daewillium"@no , + "Darriwil"@pl , + "Darriwiliano"@pt , + "darriwil"@sk , + "darriwilij"@sl , + "darriwil"@sv , + "达瑞威尔期"@zh ; + schema:description + "older bound -467.3 +|-1.1 Ma"@en , + "younger bound -458.4 +|-0.9 Ma"@en ; +. + + + rdfs:label + "Девон"@bg , + "Devon"@cs , + "Devon"@da , + "Devon"@de , + "Devonian"@en , + "Devonian Period"@en , + "Devónico"@es , + "Devon"@et , + "Devoni"@fi , + "Dévonien"@fr , + "devon"@hu , + "devoniano"@it , + "デボン紀"@ja , + "Devonas"@lt , + "Devoon"@nl , + "Devon"@no , + "Dewon"@pl , + "Devónico"@pt , + "devón"@sk , + "devon"@sl , + "devon"@sv , + "泥盆纪"@zh ; + schema:description + "older bound -419.2 +|-3.2 Ma"@en , + "younger bound -358.9 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Друм"@bg , + "Drum"@cs , + "Drumien"@da , + "Drumium"@de , + "Drumian"@en , + "Drumian Age"@en , + "Drumiense"@es , + "Drumi"@et , + "Drum"@fi , + "Drumien"@fr , + "drumi"@hu , + "drumiano"@it , + "ドルミアン期"@ja , + "Drumis"@lt , + "Drumiën"@nl , + "Drumium"@no , + "Drum"@pl , + "Drumiano"@pt , + "drum"@sk , + "drumij"@sl , + "drum"@sv , + "鼓山期"@zh ; + schema:description + "older bound -504.5 Ma"@en , + "younger bound -500.5 Ma"@en ; +. + + + rdfs:label + "Ектаз"@bg , + "Ectas"@cs , + "Ectasien"@da , + "Ectasium"@de , + "Ectasian"@en , + "Ectasian Period"@en , + "Ectasiense"@es , + "Ectas"@et , + "Ectas"@fi , + "Ectasien"@fr , + "ectasi"@hu , + "ectasiano"@it , + "エクタシアン紀"@ja , + "Ektasis"@lt , + "Ectasiën"@nl , + "Ektasium"@no , + "Ektas"@pl , + "Ectasiano"@pt , + "ektazium"@sk , + "ectasij"@sl , + "ectasium"@sv , + "延展纪"@zh ; + schema:description + "older bound -1400 Ma"@en , + "younger bound -1200 Ma"@en ; +. + + + rdfs:label + "Едиакар"@bg , + "Ediacar"@cs , + "Ediacara"@da , + "Ediacarium"@de , + "Ediacaran"@en , + "Ediacaran Period"@en , + "Ediacariense"@es , + "Ediacara"@et , + "Ediacar"@fi , + "Ediacarien"@fr , + "ediacaranum"@hu , + "ediacariano"@it , + "エディアカラ紀"@ja , + "Ediakaras"@lt , + "Ediacaran"@nl , + "Ediacara"@no , + "Ediakar"@pl , + "Ediacariano"@pt , + "ediakarium"@sk , + "ediacarij"@sl , + "ediacara"@sv , + "埃迪卡拉纪"@zh ; + schema:description + "Enorama Creek, Flinders Ranges, South Australia | 31.3314 S 138.6334 E | Base of the Marinoan cap Carbonate | (1) rapid decay of Marinoan ice sheets and onset of distinct cap carbonates throughout the world, and (2) the beginning of a distinctive pattern of secular changes in carbon isotopes. | Ratified 1990 | Lethaia 39, p.13 30, 2006 | http://stratigraphy.science.purdue.edu/references/EdiacaranGSSP_Lethaia060.pdf"@en , + "older bound -635 Ma"@en , + "younger bound -541.0 +|-1.0 Ma"@en ; +. + + + rdfs:label + "пйфел"@bg , + "Eifel"@cs , + "Eifelien"@da , + "Eifelium"@de , + "Eifelian"@en , + "Eifelian Age"@en , + "Eifeliense"@es , + "Eifeli"@et , + "Eifel"@fi , + "Eifélien"@fr , + "eifeli"@hu , + "eifeliano"@it , + "アイフェリアン期"@ja , + "Eifelis"@lt , + "Eifeliën"@nl , + "Eifelium"@no , + "Eifel"@pl , + "Eifeliano"@pt , + "eifel"@sk , + "eifelij"@sl , + "eifel"@sv , + "艾菲尔期"@zh ; + schema:description + "older bound -393.3 +|-1.2 Ma"@en , + "younger bound -387.7 +|-0.8 Ma"@en ; +. + + + rdfs:label + "Емѿ"@bg , + "Ems"@cs , + "Emsien"@da , + "Emsium"@de , + "Emsian"@en , + "Emsian Age"@en , + "Emsiense"@es , + "Emsi"@et , + "Ems"@fi , + "Emsien"@fr , + "emsi"@hu , + "emsiano"@it , + "エムシアン期"@ja , + "Emsis"@lt , + "Emsiën"@nl , + "Emsium"@no , + "Ems"@pl , + "Emsiano"@pt , + "ems"@sk , + "emsij"@sl , + "ems"@sv , + "艾姆斯期"@zh ; + schema:description + "older bound -407.6 +|-2.6 Ma"@en , + "younger bound -393.3 +|-1.2 Ma"@en ; +. + + + rdfs:label + "Еоархай"@bg , + "Eoarchaikum"@cs , + "Eoarkæisk"@da , + "Eoarchaikum"@de , + "Eoarchean"@en , + "Eoarchean Era"@en , + "Eoarchaean"@en-gb , + "Eoarchean"@en-us , + "Eoarcaico"@es , + "Eoarhaikum"@et , + "Eoarkeikum"@fi , + "Eoarchéen"@fr , + "eoarchaikum"@hu , + "eoarcheano"@it , + "暁始生代"@ja , + "Eoarchejus"@lt , + "Eo-archaicum"@nl , + "Eoarkeikum"@no , + "Eoarchaik"@pl , + "Eoarcaico"@pt , + "eoarchaikum"@sk , + "eoarhaik"@sl , + "eoarkeikum"@sv , + "始太古代"@zh ; + schema:description + "older bound -4000 Ma"@en , + "younger bound -3600 Ma"@en ; +. + + + rdfs:label + "Еоцен"@bg , + "Eocén"@cs , + "Eocæn"@da , + "Eozän"@de , + "Eocene"@en , + "Eocene Epoch"@en , + "Eoceno"@es , + "Eotseen"@et , + "Eoseeni"@fi , + "Eocène"@fr , + "eocén"@hu , + "eocene"@it , + "始新世"@ja , + "Eocenas"@lt , + "Eoceen"@nl , + "Eocen"@no , + "Eocen"@pl , + "Eocénico"@pt , + "eocén"@sk , + "eocen"@sl , + "eocen"@sv , + "始新世"@zh ; + schema:description + "older bound -56 Ma"@en , + "younger bound -33.9 Ma"@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Eon\""@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Epoch\""@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Era\""@en ; +. + + + rdfs:label + "Фамен"@bg , + "Famen"@cs , + "Famennien"@da , + "Fammennium"@de , + "Famennian"@en , + "Famennian Age"@en , + "Fameniense"@es , + "Famenne"@et , + "Fammenn"@fi , + "Famennien"@fr , + "famenni"@hu , + "famenniano"@it , + "ファメニアン期"@ja , + "Famenis"@lt , + "Famenniën"@nl , + "Famennium"@no , + "Famen"@pl , + "Fameniano"@pt , + "famen"@sk , + "fammenij"@sl , + "famenn"@sv , + "法门期"@zh ; + schema:description + "older bound -372.2 +|-1.6 Ma"@en , + "younger bound -358.9 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Flo"@cs , + "Floian"@da , + "Floium"@de , + "Floian"@en , + "Floian Age"@en , + "Floiense"@es , + "Floi"@et , + "Flo"@fi , + "Floien"@fr , + "floi"@hu , + "floiano"@it , + "フロイアン期"@ja , + "Flois"@lt , + "Floiën"@nl , + "Floium"@no , + "Flo"@pl , + "Floiano"@pt , + "flo"@sk , + "floij"@sl , + "flo"@sv , + "弗洛期"@zh ; + schema:description + "older bound -477.7 +|-1.4 Ma"@en , + "younger bound -470.0 +|-1.4 Ma"@en ; +. + + + rdfs:label "Formation of the Earth"@en ; +. + + + rdfs:label "Formation of earth uncertainty"@en ; +. + + + rdfs:label + "Фортун"@bg , + "Fortun"@cs , + "Fortunien"@da , + "Fortunium"@de , + "Fortunian"@en , + "Fortunian Age"@en , + "Fortuniense"@es , + "Fortune"@et , + "Fortun"@fi , + "Fortunien"@fr , + "fortuni"@hu , + "fortuniano"@it , + "フォルツニアン期"@ja , + "Fortunis"@lt , + "Fortuniën"@nl , + "Fortunium"@no , + "Fortun"@pl , + "Fortuniano"@pt , + "fortun"@sk , + "fortunij"@sl , + "fortun"@sv , + "好运期"@zh ; + schema:description + "older bound -541.0 +|-1.0 Ma"@en , + "younger bound -529 Ma"@en ; +. + + + rdfs:label + "Фран"@bg , + "Frasn"@cs , + "Frasnien"@da , + "Frasnium"@de , + "Frasnian"@en , + "Frasnian Age"@en , + "Frasniense"@es , + "Frasne"@et , + "Frasn"@fi , + "Frasnien"@fr , + "frasni"@hu , + "frasniano"@it , + "フラスニアン期"@ja , + "Franis"@lt , + "Frasniën"@nl , + "Frasneium"@no , + "Fran"@pl , + "Frasniano"@pt , + "frasn"@sk , + "frasnij"@sl , + "frasn"@sv , + "弗拉斯期"@zh ; + schema:description + "older bound -382.7 +|-1.6 Ma"@en , + "younger bound -372.2 +|-1.6 Ma"@en ; +. + + + rdfs:label + "Фуронг"@bg , + "Furong"@cs , + "Furongien"@da , + "Furongium"@de , + "Furongian"@en , + "Furongian Epoch"@en , + "Furogiense"@es , + "Furong"@et , + "Furong"@fi , + "Furongien"@fr , + "furongi"@hu , + "furongiano"@it , + "フロンギアン世"@ja , + "Furongis"@lt , + "Furongiën"@nl , + "Furongium"@no , + "Furong"@pl , + "Furongiano"@pt , + "furong"@sk , + "furongij"@sl , + "furong"@sv , + "芙蓉世"@zh ; + schema:description + "older bound -497 Ma"@en , + "younger bound -485.4 +|-1.9 Ma"@en ; +. + + + rdfs:label + "Gelas"@cs , + "Gelasian"@da , + "Gelasium"@de , + "Gelasian"@en , + "Gelasian Age"@en , + "Gelasiense"@es , + "Gelasi"@et , + "Gelas"@fi , + "Gelasien"@fr , + "gelasi"@hu , + "gelasiano"@it , + "ゲラシアン期"@ja , + "Gelasis"@lt , + "Pretigliën + Tigliën"@nl , + "Gelasium"@no , + "Gelas"@pl , + "Gelasiano"@pt , + "gelas"@sk , + "gelasij"@sl , + "gelas"@sv , + "格拉斯期"@zh ; + schema:description + "older bound -2.58 Ma"@en , + "younger bound -1.80 Ma"@en ; +. + + + rdfs:label "GeochronologicEras (all ranks) in the International Chronostratigraphic Chart"@en ; +. + + + rdfs:label + "Живет"@bg , + "Givet"@cs , + "Givetien"@da , + "Givetium"@de , + "Givetian"@en , + "Givetian Age"@en , + "Givetiense"@es , + "Givet"@et , + "Givet"@fi , + "Givétien"@fr , + "giveti"@hu , + "givetiano"@it , + "ジベーチアン期"@ja , + "Živetis"@lt , + "Givetiën"@nl , + "Givetium"@no , + "Żywet"@pl , + "Givetiano"@pt , + "givet"@sk , + "givetij"@sl , + "givet"@sv , + "吉维特期"@zh ; + schema:description + "older bound -387.7 +|-0.8 Ma"@en , + "younger bound -382.7 +|-1.6 Ma"@en ; +. + + + rdfs:label + "Горѿт"@bg , + "Gorst"@cs , + "Gorstien"@da , + "Gorstium"@de , + "Gorstian"@en , + "Gorstian Age"@en , + "Gorstiense"@es , + "Gorsti"@et , + "Gorst"@fi , + "Gorstien"@fr , + "gorsti"@hu , + "gorstiano"@it , + "ゴースティアン期"@ja , + "Gorstis"@lt , + "Gorstiën"@nl , + "Gorstium"@no , + "Gorst"@pl , + "Gorstiano"@pt , + "gorst"@sk , + "gorstij"@sl , + "gorst"@sv , + "格斯特期"@zh ; + schema:description + "older bound -427.4 +|-0.5 Ma"@en , + "younger bound -425.6 +|-0.9 Ma"@en ; +. + + + rdfs:label + "Greenlandian"@en , + "Greenlandian Age"@en ; + schema:description + "older bound -0.0117 Ma"@en , + "younger bound -0.0082 Ma"@en ; +. + + + rdfs:label + "Гуадалуп"@bg , + "Guadalup"@cs , + "Guadalupien"@da , + "Guadalupium"@de , + "Guadalupian"@en , + "Guadalupian Epoch"@en , + "Guadalupiense"@es , + "Guadalup"@et , + "Guadalup"@fi , + "Guadalupéen"@fr , + "guadalupei"@hu , + "guadalupiano"@it , + "ガダリューピアン世"@ja , + "Gvadalupis"@lt , + "Guadalupiën"@nl , + "Guadalupium"@no , + "Gwadelup"@pl , + "Guadalupiano"@pt , + "guadalup"@sk , + "guadalupij"@sl , + "guadalup"@sv , + "瓜德鲁普世"@zh ; + schema:description + "older bound -272.95 +|-0.11 Ma"@en , + "younger bound -259.1 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Жужанг"@bg , + "Guzhang"@cs , + "Guzhangien"@da , + "Guzhangium"@de , + "Guzhangian"@en , + "Guzhangian Age"@en , + "Guzhangiense"@es , + "Guzhangi"@et , + "Guzhang"@fi , + "Guzhangien"@fr , + "guzhangi"@hu , + "guzhangiano"@it , + "グザンギアン期"@ja , + "Gužangis"@lt , + "Guzhangiën"@nl , + "Guzhangium"@no , + "Gużang"@pl , + "Guzhangiano"@pt , + "gužang"@sk , + "guzhangij"@sl , + "guzhang"@sv , + "古丈期"@zh ; + schema:description + "older bound -500.5 Ma"@en , + "younger bound -497 Ma"@en ; +. + + + rdfs:label + "Гжел"@bg , + "Gzhel"@cs , + "Gzhelien"@da , + "Gzhelium"@de , + "Gzhelian"@en , + "Gzhelian Age"@en , + "Gzeliense"@es , + "Gzheli"@et , + "Gzhel"@fi , + "Gzhélien"@fr , + "gzseli"@hu , + "gzheliano"@it , + "グゼリアン期"@ja , + "Gželis"@lt , + "Gzheliën"@nl , + "Gzhelium"@no , + "Gżel"@pl , + "Gzeliano"@pt , + "gžel"@sk , + "gželij"@sl , + "gzhel"@sv , + "格热尔期"@zh ; + schema:description + "older bound -303.7 +|-0.1 Ma"@en , + "younger bound -298.9 +|-0.15 Ma"@en ; +. + + + rdfs:label + "Hád (spodní hranice není definována)"@cs , + "Hadean"@da , + "Hadaikum"@de , + "Hadean"@en , + "Hadean Eon"@en , + "Hadeánico"@es , + "Hadesi??"@et , + "Hadea"@fi , + "Hadéen"@fr , + "hadei"@hu , + "adeano"@it , + "冥王代(非公式の)"@ja , + "Hadejus (neoficialus)"@lt , + "Hadeïcum"@nl , + "Hadeikum"@no , + "Hadean (Nieformalny)"@pl , + "Hadeano"@pt , + "hadaikum"@sk , + "hadej (neformalno)"@sl , + "hadeikum"@sv , + "冥古宙(非正式)"@zh ; + schema:description + "older bound -4567 +|-1 Ma"@en , + "younger bound -4000 Ma"@en ; +. + + + rdfs:label + "Хотрив"@bg , + "Hauteriv"@cs , + "Hauterivien"@da , + "Hauterivium"@de , + "Hauterivian"@en , + "Hauterivian Age"@en , + "Hauteviriense"@es , + "Hauterivi"@et , + "Hauteriv"@fi , + "Hauterivien"@fr , + "hauterivi"@hu , + "hauteriviano"@it , + "オーテリビアン期"@ja , + "Hoterivis"@lt , + "Hauteriviën"@nl , + "Hauterivium"@no , + "Hoteryw"@pl , + "Hauteriviano"@pt , + "hauteriv"@sk , + "hauterivij"@sl , + "hauteriv"@sv , + "豪特里维期"@zh ; + schema:description + "older bound -132.9 Ma"@en , + "younger bound -129.4 Ma"@en ; +. + + + rdfs:label + "Хетанж"@bg , + "Hettang"@cs , + "Hettangien"@da , + "Hettangium"@de , + "Hettangian"@en , + "Hettangian Age"@en , + "Hettagiense"@es , + "Hettangi"@et , + "Hettang"@fi , + "Hettangien"@fr , + "hettangi"@hu , + "hettangiano"@it , + "ヘッタンギアン期"@ja , + "Hetangis"@lt , + "Hettangiën"@nl , + "Hettang"@no , + "Hetang"@pl , + "Hetangiano"@pt , + "hetanž"@sk , + "hettangij"@sl , + "hettang"@sv , + "赫唐期"@zh ; + schema:description + "older bound -201.3 +|-0.2 Ma"@en , + "younger bound -199.3 +|-0.3 Ma"@en ; +. + + + rdfs:label + "Хирнант"@bg , + "Hirnant"@cs , + "Hirnantien"@da , + "Hirnantium"@de , + "Hirnantian"@en , + "Hirnantian Age"@en , + "Hirnantiense"@es , + "Hirnantia"@et , + "Hirnant"@fi , + "Hirnantien"@fr , + "hirnanti"@hu , + "hirnantiano"@it , + "ヒルナンティアン期"@ja , + "Hirnantis"@lt , + "Hirnantiën"@nl , + "Hirnatium"@no , + "Hirnant"@pl , + "Hirnantiano"@pt , + "hirnant"@sk , + "hirnantij"@sl , + "hirnant"@sv , + "赫南特期"@zh ; + schema:description + "older bound -445.2 +|-1.4 Ma"@en , + "younger bound -443.8 +|-1.5 Ma"@en ; +. + + + rdfs:label + "Холоцен"@bg , + "Holocén"@cs , + "Holocæn"@da , + "Holozän"@de , + "Holocene"@en , + "Holocene Epoch"@en , + "Holoceno"@es , + "Holotseen"@et , + "Holoseeni"@fi , + "Holocène"@fr , + "holocén"@hu , + "olocene"@it , + "完新世"@ja , + "Holocenas"@lt , + "Holoceen"@nl , + "Holocen"@no , + "Holocen"@pl , + "Holocénico"@pt , + "holocén"@sk , + "holocen"@sl , + "holocen"@sv , + "全新世"@zh ; + schema:description + "older bound -0.0117 Ma"@en , + "younger bound -0.0 Ma"@en ; +. + + + rdfs:label + "Хомер"@bg , + "Homer"@cs , + "Homerien"@da , + "Homerium"@de , + "Homerian"@en , + "Homerian Age"@en , + "Homeriense"@es , + "Homeri"@et , + "Homer"@fi , + "Homérien"@fr , + "homeri"@hu , + "homeriano"@it , + "ホメリアン期"@ja , + "Homeris"@lt , + "Homeriën"@nl , + "Homer"@no , + "Homer"@pl , + "Homeriano"@pt , + "homer"@sk , + "homerij"@sl , + "homer"@sv , + "侯默期"@zh ; + schema:description + "older bound -430.5 +|-0.7 Ma"@en , + "younger bound -427.4 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Инд"@bg , + "Indu"@cs , + "Induen"@da , + "Indusium"@de , + "Induan"@en , + "Induan Age"@en , + "Induense"@es , + "Indu"@et , + "Indus"@fi , + "Induen"@fr , + "indusi"@hu , + "induano"@it , + "インドゥアン期"@ja , + "Indis"@lt , + "Induiën"@nl , + "Indu"@no , + "Ind"@pl , + "Induano"@pt , + "indu"@sk , + "indij"@sl , + "indu"@sv , + "印度期"@zh ; + schema:description + "older bound -251.902 +|-0.024 Ma"@en , + "younger bound -251.2 Ma"@en ; +. + + + rdfs:label + "Йониан"@bg , + "Ion"@cs , + "Ionian"@da , + "Ionium"@de , + "Ionian"@en , + "Ioniense"@es , + "Iooni"@et , + "Ion"@fi , + "Ionien"@fr , + "ioni"@hu , + "ioniano"@it , + "イオニアン期"@ja , + "lonis"@lt , + "Ionium"@no , + "Ion"@pl , + "Ioniano"@pt , + "jonian"@sk , + "ionij"@sl , + "ion"@sv , + "“爱奥尼亚”期"@zh ; +. + + + rdfs:label + "Jiangshanian"@en , + "Jiangshanian Age"@en , + "江山期"@zh ; + schema:description + "older bound -494 Ma"@en , + "younger bound -489.5 Ma"@en ; +. + + + rdfs:label + "Юра"@bg , + "Jura"@cs , + "Jurassisk"@da , + "Jura"@de , + "Jurassic"@en , + "Jurassic Period"@en , + "Jurásico"@es , + "Juura"@et , + "Jura"@fi , + "Jurassique"@fr , + "jura"@hu , + "giurassico"@it , + "ジュラ紀"@ja , + "Jura"@lt , + "Jura"@nl , + "Jura"@no , + "Jura"@pl , + "Jurássico"@pt , + "jura, jurský"@sk , + "jura"@sl , + "jura"@sv , + "侏罗纪"@zh ; + schema:description + "older bound -201.3 +|-0.2 Ma"@en , + "younger bound -145.0 Ma"@en ; +. + + + rdfs:label + "Каѿимов"@bg , + "Kasimov"@cs , + "Kasimovien"@da , + "Kasimovium"@de , + "Kasimovian"@en , + "Kasimovian Age"@en , + "Kasimoviense"@es , + "Kasimovi"@et , + "Kasimov"@fi , + "Kasimovien"@fr , + "kaszimovi"@hu , + "kasimoviano"@it , + "カシモビアン期"@ja , + "Kasimovis"@lt , + "Kasimoviën"@nl , + "Kasimovium"@no , + "Kasimow"@pl , + "Kasimoviano"@pt , + "kasimov"@sk , + "kasimovij"@sl , + "kasimov"@sv , + "卡西莫夫期"@zh ; + schema:description + "older bound -307 +|-0.1 Ma"@en , + "younger bound -303.7 +|-0.1 Ma"@en ; +. + + + rdfs:label + "Кат"@bg , + "Kat"@cs , + "Katien"@da , + "Katium"@de , + "Katian"@en , + "Katian Age"@en , + "Katiense"@es , + "Kati"@et , + "Kat"@fi , + "Katien"@fr , + "kati"@hu , + "katiano"@it , + "カティアン期"@ja , + "Katis"@lt , + "Katiën"@nl , + "Katium"@no , + "Kat"@pl , + "Katiano"@pt , + "kat"@sk , + "katij"@sl , + "kat"@sv , + "凯迪期"@zh ; + schema:description + "older bound -453 +|-0.7 Ma"@en , + "younger bound -445.2 +|-1.4 Ma"@en ; +. + + + rdfs:label + "Кимеридж"@bg , + "Kimmeridž"@cs , + "Kimmeridgien"@da , + "Kimmeridgium"@de , + "Kimmeridgian"@en , + "Kimmeridgian Age"@en , + "Kimmeridgiense"@es , + "Kimmeridge"@et , + "Kimmeridge"@fi , + "Kimméridgien"@fr , + "kimmeridgei"@hu , + "kimmeridgiano"@it , + "キンメリッジアン期"@ja , + "Kimeridis"@lt , + "Kimmeridgiën"@nl , + "Kimmeridge"@no , + "Kimeryd"@pl , + "Kimeridgiano"@pt , + "kimeridž"@sk , + "kimmeridgij"@sl , + "kimmeridge"@sv , + "启莫里支期"@zh ; + schema:description + "older bound -157.3 +|-1.0 Ma"@en , + "younger bound -152.1 +|-0.9 Ma"@en ; +. + + + rdfs:label + "Кунгур"@bg , + "Kungur"@cs , + "Kungurien"@da , + "Kungurium"@de , + "Kungurian"@en , + "Kungurian Age"@en , + "Kunguriense"@es , + "Kunguri"@et , + "Kungur"@fi , + "Kungurien"@fr , + "kunguri"@hu , + "kungurianno"@it , + "クングリアン期"@ja , + "Kunguris"@lt , + "Kunguriën"@nl , + "Kungurium"@no , + "Kungur"@pl , + "Kunguriano"@pt , + "kungur"@sk , + "kungurij"@sl , + "kungur"@sv , + "孔古尔期"@zh ; + schema:description + "older bound -283.5 +|-0.6 Ma"@en , + "younger bound -272.95 +|-0.11 Ma"@en ; +. + + + rdfs:label + "Ладин"@bg , + "Ladin"@cs , + "Ladinien"@da , + "Ladinium"@de , + "Ladinian"@en , + "Ladinian Age"@en , + "Ladiniense"@es , + "Ladini"@et , + "Ladin"@fi , + "Ladinien"@fr , + "ladin"@hu , + "ladinico"@it , + "ラディニアン期"@ja , + "Ladinis"@lt , + "Ladiniën"@nl , + "Ladin"@no , + "Ladyn"@pl , + "Ladiniano"@pt , + "ladin"@sk , + "ladinij"@sl , + "ladin"@sv , + "拉迪尼亚期"@zh ; + schema:description + "older bound -242 Ma"@en , + "younger bound -237 Ma"@en ; +. + + + rdfs:label + "Ланг"@bg , + "Langh"@cs , + "Langhien"@da , + "Langhium"@de , + "Langhian"@en , + "Langhian Age"@en , + "Langhiense"@es , + "Langhi"@et , + "Langh"@fi , + "Langhien"@fr , + "langhei"@hu , + "langhiano"@it , + "ランギアン期"@ja , + "Langis"@lt , + "Langhiën-Reinbek"@nl , + "Langhium"@no , + "Lang"@pl , + "Langhiano"@pt , + "langh"@sk , + "langhij"@sl , + "langh"@sv , + "兰海期"@zh ; + schema:description + "older bound -15.97 Ma"@en , + "younger bound -13.82 Ma"@en ; +. + + + rdfs:label + "Лиандовери"@bg , + "Llandovery"@cs , + "Llandovery"@da , + "Llandovery"@de , + "Llandovery"@en , + "Llandovery Epoch"@en , + "Llandovery"@es , + "Llandovery"@et , + "Llandovery"@fi , + "Llandovery"@fr , + "llandoveryi"@hu , + "llandovery"@it , + "ランドベリアン世"@ja , + "Landoveris"@lt , + "Llandovery"@nl , + "Llandovery"@no , + "Landower"@pl , + "Llandovery"@pt , + "llandover"@sk , + "llandoverij"@sl , + "llandovery"@sv , + "兰多维列世"@zh ; + schema:description + "older bound -443.8 +|-1.5 Ma"@en , + "younger bound -433.4 +|-0.8 Ma"@en ; +. + + + rdfs:label + "Ложков"@bg , + "Lochkov"@cs , + "Lochkovien"@da , + "Lochkovium"@de , + "Lochkovian"@en , + "Lochkovian Age"@en , + "Lochkoviense"@es , + "Lochkovi"@et , + "Lochkov"@fi , + "Lochkovien"@fr , + "lochkovi"@hu , + "lochkoviano"@it , + "ロッコビアン期"@ja , + "Lochkovis"@lt , + "Lochkoviën"@nl , + "Lochkovium"@no , + "Lochkow"@pl , + "Lochkoviano"@pt , + "lochkov"@sk , + "lochkovij"@sl , + "lochkov"@sv , + "洛赫科夫期"@zh ; + schema:description + "older bound -419.2 +|-3.2 Ma"@en , + "younger bound -410.8 +|-2.8 Ma"@en ; +. + + + rdfs:label + "Лопинг"@bg , + "Loping"@cs , + "Lopingien"@da , + "Lopingium"@de , + "Lopingian"@en , + "Lopingian Epoch"@en , + "Lopingiense"@es , + "Loping"@et , + "Loping"@fi , + "Lopingien"@fr , + "lopingi"@hu , + "lopingiano"@it , + "ロピンギアン世"@ja , + "Lopingis"@lt , + "Lopingiën"@nl , + "Lopingium"@no , + "Loping"@pl , + "Lopingiano"@pt , + "loping"@sk , + "lopingij"@sl , + "loping"@sv , + "乐平世"@zh ; + schema:description + "older bound -259.1 +|-0.5 Ma"@en , + "younger bound -251.902 +|-0.024 Ma"@en ; +. + + + rdfs:label + "Ранна Креда"@bg , + "Tidlig Kridt"@da , + "Frühe Kreide"@de , + "Early Cretaceous"@en , + "Early Cretaceous Epoch"@en , + "Cretácico temprano"@es , + "Varajane kriit"@et , + "Varhais-Liitu"@fi , + "Crétacé précoce"@fr , + "kora-kréta"@hu , + "Cretaceo precoce"@it , + "白亜紀前期"@ja , + "Ankstyvoji Kreida"@lt , + "Vroeg Krijt"@nl , + "Wczesna Kreda"@pl , + "Cretáceo Primitivo"@pt , + "raná krieda"@sk , + "zgodnja kreda"@sl , + "äldre krita"@sv , + "早白垩世"@zh ; + schema:description + "older bound -145.0 Ma"@en , + "younger bound -100.5 Ma"@en ; +. + + + rdfs:label + "Ранен Девон"@bg , + "brzy devon"@cs , + "Tidlig Devon"@da , + "Frühes Devon"@de , + "Early Devonian"@en , + "Early Devonian Epoch"@en , + "Devónico temprano"@es , + "Vara-Devon"@et , + "Varhais-Devoni"@fi , + "Dévonien précoce"@fr , + "kora-devon"@hu , + "devoniano precoce"@it , + "デボン紀前期"@ja , + "Ankstyvasis Devonas"@lt , + "Vroeg Devoon"@nl , + "Tidlig devon"@no , + "Wczesny Dewon"@pl , + "Devoniano primitivo"@pt , + "raný devón"@sk , + "zgodnji devon"@sl , + "äldre devon"@sv , + "早泥盆世"@zh ; + schema:description + "older bound -419.2 +|-3.2 Ma"@en , + "younger bound -393.3 +|-1.2 Ma"@en ; +. + + + rdfs:label + "Ранна Юра"@bg , + "brzy jura"@cs , + "Tidlig Jurassisk"@da , + "Früher Jura"@de , + "Early Jurassic"@en , + "Early Jurassic Epoch"@en , + "Jurásico temprano"@es , + "Vara-Juura"@et , + "Varhais-Jura"@fi , + "Jurassique précoce"@fr , + "kora-jura"@hu , + "giurassico precoce"@it , + "ジュラ紀前期"@ja , + "Ankstyvoji Jura"@lt , + "Vroeg Jura"@nl , + "Tidlig jura"@no , + "Wczesna Jura"@pl , + "Jurássico primitivo"@pt , + "raná jura"@sk , + "zgodnja jura"@sl , + "äldre jura"@sv , + "早侏罗世"@zh ; + schema:description + "older bound -201.3 +|-0.2 Ma"@en , + "younger bound -174.1 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Early Mississippian"@en , + "Early Mississippian Epoch"@en , + "前期ミシシッピアン紀"@ja , + "早密西西比世"@zh ; + schema:description + "older bound -358.9 +|-0.4 Ma"@en , + "younger bound -346.7 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Ранен Ордовик"@bg , + "brzy ordovik"@cs , + "Tidlig Ordovicium"@da , + "Fühes Ordovizium"@de , + "Early Ordovician"@en , + "Early Ordovician Epoch"@en , + "Ordovícico temprano"@es , + "Vara-Ordoviitsium"@et , + "Varhais-Ordoviikki"@fi , + "Ordovicien précoce"@fr , + "kora-ordovícium"@hu , + "ordoviciano precoce"@it , + "オルドビス紀前期"@ja , + "Ankstyvasis Ordovikas"@lt , + "Vroeg Ordovicium"@nl , + "Tidlig ordovicium"@no , + "Wczesny Ordowik"@pl , + "Ordovícista adiantado"@pt , + "raný ordovik"@sk , + "zgodnji ordovicij"@sl , + "äldre ordovicium"@sv , + "早奥陶世"@zh ; + schema:description + "older bound -485.4 +|-1.9 Ma"@en , + "younger bound -470.0 +|-1.4 Ma"@en ; +. + + + rdfs:label + "Early Pennsylvanian"@en , + "Early Pennsylvanian Epoch"@en , + "前期ペンシルバニア紀"@ja , + "早宾夕法尼亚世"@zh ; + schema:description + "older bound -323.2 +|-0.4 Ma"@en , + "younger bound -315.2 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Раннен Триаѿ"@bg , + "brzy trias"@cs , + "Tidlig Triassisk"@da , + "Frühe Trias (Buntsandstein)"@de , + "Early Triassic"@en , + "Early Triassic Epoch"@en , + "Triásico temprano"@es , + "Vara-Triias"@et , + "Varhais-Trias"@fi , + "Trias précoce"@fr , + "kora-triász"@hu , + "triassico precoce"@it , + "三畳紀前期"@ja , + "Ankstyvasis Triasas"@lt , + "Vroeg Trias"@nl , + "Tidlig trias"@no , + "Wczesny Trias"@pl , + "Triássico primitivo"@pt , + "raný trias"@sk , + "zgodnji trias"@sl , + "äldre trias"@sv , + "早三叠世"@zh ; + schema:description + "older bound -251.902 +|-0.024 Ma"@en , + "younger bound -247.2 Ma"@en ; +. + + + rdfs:label + "Лудфорд"@bg , + "Ludford"@cs , + "Ludfordien"@da , + "Ludfordium"@de , + "Ludfordian"@en , + "Ludfordian Age"@en , + "Ludfordiense"@es , + "Ludfordi"@et , + "Ludford"@fi , + "Ludfordien"@fr , + "ludfordi"@hu , + "ludfordiano"@it , + "ルドフォーディアン期"@ja , + "Lutfordis"@lt , + "Ludfordiën"@nl , + "Ludford"@no , + "Ludford"@pl , + "Ludfordiano"@pt , + "ludford"@sk , + "ludfordij"@sl , + "ludford"@sv , + "卢德福德期"@zh ; + schema:description + "older bound -425.6 +|-0.9 Ma"@en , + "younger bound -423 +|-2.3 Ma"@en ; +. + + + rdfs:label + "Лудлоу"@bg , + "Ludlow"@cs , + "Ludlow"@da , + "Ludlow"@de , + "Ludlow"@en , + "Ludlow Epoch"@en , + "Ludlow"@es , + "Ludlow"@et , + "Ludlow"@fi , + "Ludlow"@fr , + "ludlowi"@hu , + "ludlow"@it , + "ルーロビアン世"@ja , + "Ludlovis"@lt , + "Ludlow"@nl , + "Ludlow"@no , + "Ludlow"@pl , + "Ludlow"@pt , + "ludlow"@sk , + "ludlowij"@sl , + "ludlow"@sv , + "卢德洛世"@zh ; + schema:description + "older bound -427.4 +|-0.5 Ma"@en , + "younger bound -423 +|-2.3 Ma"@en ; +. + + + rdfs:label + "Лютеѿ"@bg , + "Lutet"@cs , + "Lutetien"@da , + "Lutetium"@de , + "Lutetian"@en , + "Lutetian Age"@en , + "Luteciense"@es , + "Luteti"@et , + "Lutet"@fi , + "Lutétien"@fr , + "lutetiai"@hu , + "leteziano"@it , + "ルテシアン期"@ja , + "Liutetis"@lt , + "Lutetiën"@nl , + "Litetium"@no , + "Lutet"@pl , + "Luteciano"@pt , + "lutét"@sk , + "lutecij"@sl , + "lutet"@sv , + "卢台特期"@zh ; + schema:description + "older bound -47.8 Ma"@en , + "younger bound -41.2 Ma"@en ; +. + + + rdfs:label + "Маѿтрихт"@bg , + "Maastricht"@cs , + "Maastrichtien"@da , + "Maastrichtium"@de , + "Maastrichtian"@en , + "Maastrichtian Age"@en , + "Maastrichtiense"@es , + "Maastrichti"@et , + "Maastricht"@fi , + "Maastrichtien"@fr , + "maastrichti"@hu , + "maastrichtiano"@it , + "マーストリヒシアン期"@ja , + "Mastrichtis"@lt , + "Maastrichtiën"@nl , + "Maastricht"@no , + "Mastrycht"@pl , + "Maestrichtiano"@pt , + "mástricht"@sk , + "maastrichtij"@sl , + "maastricht"@sv , + "马斯特里赫特期"@zh ; + schema:description + "older bound -72.1 +|-0.2 Ma"@en , + "younger bound -66.0 Ma"@en ; +. + + + rdfs:label + "Meghalayan"@en , + "Meghalayan Age"@en ; + schema:description + "older bound -0.0042 Ma"@en , + "younger bound 0 Ma"@en ; +. + + + rdfs:label + "Мезоархай"@bg , + "Mezoarchaikum"@cs , + "Mesoarkæisk"@da , + "Mesoarchaikum"@de , + "Mesoarchean"@en , + "Mesoarchean Era"@en , + "Mesoarchaean"@en-gb , + "Mesoarchean"@en-us , + "Mesoarcaico"@es , + "Mesoarhaikum"@et , + "Mesoarkeikum"@fi , + "Mésoarchéen"@fr , + "mezoarchai"@hu , + "mesoarcheano"@it , + "中始生代"@ja , + "Mezoarchejus"@lt , + "Meso-archaicum"@nl , + "Mesoarkeikum"@no , + "Mezoarchaik"@pl , + "Mesoarcaico"@pt , + "mezoarchaikum"@sk , + "mezoarhaik"@sl , + "mesoarkeikum"@sv , + "中太古代"@zh ; + schema:description + "older bound -3200 Ma"@en , + "younger bound -2800 Ma"@en ; +. + + + rdfs:label + "Мезопротерозой"@bg , + "Mezoproterozoikum"@cs , + "Mesoproterozoisk"@da , + "Mesoproterozoikum"@de , + "Mesoproterozoic"@en , + "Mesoproterozoic Era"@en , + "Mesoproterozoico"@es , + "Mesoproterosoikum"@et , + "Mesoproterotsoikum"@fi , + "Mésoprotérozoïque"@fr , + "mezoproterozoikum"@hu , + "mesoproterozoico"@it , + "原生代中期"@ja , + "Mezoproterozojus"@lt , + "Mesoproterozoïcum"@nl , + "Mesoproterozoikum"@no , + "Mezoproterozoik"@pl , + "Mesoproterozóico"@pt , + "mezoproterozoikum"@sk , + "mezoproterozoik"@sl , + "mesoproterozoikum"@sv , + "中元古代"@zh ; + schema:description + "older bound -1600 Ma"@en , + "younger bound -1000 Ma"@en ; +. + + + rdfs:label + "Мезозой"@bg , + "Mezozoikum"@cs , + "Mesozoisk"@da , + "Mesozoikum"@de , + "Mesozoic"@en , + "Mesozoic Era"@en , + "Mesozoico"@es , + "Mesosoikum"@et , + "Mesotsoikum"@fi , + "Mésozoïque"@fr , + "mezozoikum"@hu , + "mesozoico"@it , + "中生代"@ja , + "Mezozojus"@lt , + "Mesozoïcum"@nl , + "Mesozoikum"@no , + "Mezozoik"@pl , + "Mesozóico"@pt , + "mezozoikum"@sk , + "mezozoik"@sl , + "mesozoikum"@sv , + "中生代"@zh ; + schema:description + "older bound -251.902 +|-0.024 Ma"@en , + "younger bound -66.0 Ma"@en ; +. + + + rdfs:label + "Меѿин"@bg , + "Messin"@cs , + "Messinien"@da , + "Messinium"@de , + "Messinian"@en , + "Messinian Age"@en , + "Messiniense"@es , + "Messini"@et , + "Messina"@fi , + "Messinien"@fr , + "messinai"@hu , + "messiniano"@it , + "メッシニアン期"@ja , + "Mesinis"@lt , + "Susteriën"@nl , + "Messinium"@no , + "Messyn"@pl , + "Messiniano"@pt , + "messin"@sk , + "messinij"@sl , + "messin"@sv , + "墨西拿期"@zh ; + schema:description + "older bound -7.246 Ma"@en , + "younger bound -5.333 Ma"@en ; +. + + + rdfs:label + "Miaolingian"@en , + "Miaolingian Epoch"@en ; + schema:description + "older bound -509 Ma"@en , + "younger bound -497 Ma"@en ; +. + + + rdfs:label + "Среден Девон"@bg , + "Střední devon"@cs , + "Mellem Devon"@da , + "Mitteldevon"@de , + "Middle Devonian"@en , + "Middle Devonian Epoch"@en , + "Devónico Medio"@es , + "Kesk-Devon"@et , + "Keski-Devoni"@fi , + "Dévonien moyen"@fr , + "középső-devon"@hu , + "devoniano medio"@it , + "中期デボン紀"@ja , + "Vidurinis Devonas"@lt , + "Midden Devoon"@nl , + "Midtre devon"@no , + "Środkowy Dewon"@pl , + "Devónico Médio"@pt , + "stredný devón"@sk , + "srednji devon"@sl , + "mellersta devon"@sv , + "中泥盆世"@zh ; + schema:description + "older bound -393.3 +|-1.2 Ma"@en , + "younger bound -382.7 +|-1.6 Ma"@en ; +. + + + rdfs:label + "Средна Юра"@bg , + "Střední jura"@cs , + "Mellem Jurassisk"@da , + "Mittlerer Jura"@de , + "Middle Jurassic"@en , + "Middle Jurassic Epoch"@en , + "Jurásico Medio"@es , + "Kesk-Juura"@et , + "Keski-Jura"@fi , + "Jurassique moyen"@fr , + "középső-jura"@hu , + "giurassico medio"@it , + "中期ジュラ紀"@ja , + "Vidurinė Jura"@lt , + "Midden Jura"@nl , + "Midtre jura"@no , + "Środkowa Jura"@pl , + "Jurássico Médio"@pt , + "stredná jura"@sk , + "srednja jura"@sl , + "mellersta jura"@sv , + "中侏罗世"@zh ; + schema:description + "older bound -174.1 +|-1.0 Ma"@en , + "younger bound -163.5 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Middle Mississippian"@en , + "Middle Mississippian Epoch"@en , + "中期ミシシッピアン紀"@ja , + "中密西西比世"@zh ; + schema:description + "older bound -346.7 +|-0.4 Ma"@en , + "younger bound -330.9 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Среден Ордовик"@bg , + "Střední ordovik"@cs , + "Mellem Ordovicium"@da , + "Mittleres Ordovizium"@de , + "Middle Ordovician"@en , + "Middle Ordovician Epoch"@en , + "Ordovícico Medio"@es , + "Kesk-Ordoviitsium"@et , + "Keski-Ordoviikki"@fi , + "Ordovicien moyen"@fr , + "középső-ordovícium"@hu , + "ordoviciano medio"@it , + "中期オルドビス紀"@ja , + "Vidurinis Ordovikas"@lt , + "Midden Ordovicium"@nl , + "Midtre ordovicium"@no , + "Środkowy Ordowik"@pl , + "Ordovícico Médio"@pt , + "stredný ordovik"@sk , + "srednji ordovicij"@sl , + "mellersta ordovicium"@sv , + "中奥陶世"@zh ; + schema:description + "older bound -470.0 +|-1.4 Ma"@en , + "younger bound -458.4 +|-0.9 Ma"@en ; +. + + + rdfs:label + "Middle Pennsylvanian"@en , + "Middle Pennsylvanian Epoch"@en , + "中期ペンシルバニア紀"@ja , + "中宾夕法尼亚世"@zh ; + schema:description + "older bound -315.2 +|-0.2 Ma"@en , + "younger bound -307 +|-0.1 Ma"@en ; +. + + + rdfs:label + "Chibanian"@en , + "Chibanian Age"@en ; + schema:description + "older bound -0.781 Ma"@en , + "younger bound -0.126 Ma"@en ; +. + + + rdfs:label + "Среден Триаѿ"@bg , + "Střední trias"@cs , + "Mellem Triassisk"@da , + "Mittlere Trias"@de , + "Middle Triassic"@en , + "Middle Triassic Epoch"@en , + "Triásico Medio"@es , + "Kesk-Triias"@et , + "Keski-Trias"@fi , + "Trias moyen"@fr , + "középső-triász"@hu , + "triassico medio"@it , + "中期三畳紀"@ja , + "Vidurinis Triasas"@lt , + "Midden Trias"@nl , + "Midtre trias"@no , + "Środkowy Trias"@pl , + "Triásico Médio"@pt , + "stredný trias"@sk , + "srednji trias"@sl , + "mellersta trias"@sv , + "中三叠世"@zh ; + schema:description + "older bound -247.2 Ma"@en , + "younger bound -237 Ma"@en ; +. + + + rdfs:label + "Миоцен"@bg , + "Miocén"@cs , + "Miocæn"@da , + "Miozän"@de , + "Miocene"@en , + "Miocene Epoch"@en , + "Mioceno"@es , + "Miotseen"@et , + "Mioseeni"@fi , + "Miocène"@fr , + "miocén"@hu , + "miocene"@it , + "中新世"@ja , + "Miocenas"@lt , + "Mioceen"@nl , + "Miocen"@no , + "Miocen"@pl , + "Miocénico"@pt , + "miocén"@sk , + "miocen"@sl , + "miocen"@sv , + "中新世"@zh ; + schema:description + "older bound -23.03 Ma"@en , + "younger bound -5.333 Ma"@en ; +. + + + rdfs:label + "Миѿиѿип"@bg , + "Mississip"@cs , + "Mississippien"@da , + "Mississippium"@de , + "Mississippian"@en , + "Mississippian Sub-period"@en , + "Mississippiense"@es , + "Mississippi"@et , + "Mississippi"@fi , + "Mississippien"@fr , + "mississippi"@hu , + "mississippiano"@it , + "ミシシッピアン紀"@ja , + "Misisipis"@lt , + "Mississippiën"@nl , + "Mississippium"@no , + "Missisip"@pl , + "Mississipiano"@pt , + "mississip"@sk , + "mississippij"@sl , + "mississippi"@sv , + "密西西比亚纪"@zh ; + schema:description + "older bound -358.9 +|-0.4 Ma"@en , + "younger bound -323.2 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Моѿков"@bg , + "Moscov"@cs , + "Moscovien"@da , + "Moskovium"@de , + "Moscovian"@en , + "Moscovian Age"@en , + "Moscoviense"@es , + "Moskva"@et , + "Moskova"@fi , + "Moscovien"@fr , + "moszkvai"@hu , + "moscoviano"@it , + "モスコビアン期"@ja , + "Moskovis"@lt , + "Moscoviën"@nl , + "Moskovium"@no , + "Moskow"@pl , + "Moscoviano"@pt , + "moskov"@sk , + "moskovij"@sl , + "moscov"@sv , + "莫斯科期"@zh ; + schema:description + "older bound -315.2 +|-0.2 Ma"@en , + "younger bound -307 +|-0.1 Ma"@en ; +. + + + rdfs:label + "пеоархай"@bg , + "Neoarchaikum"@cs , + "Neoarkæisk"@da , + "Neoarchaikum"@de , + "Neoarchean"@en , + "Neoarchean Era"@en , + "Neoarchaean"@en-gb , + "Neoarchean"@en-us , + "Neoarcaico"@es , + "Neoarhaikum"@et , + "Neoarkeikum"@fi , + "Néoarchéen"@fr , + "neoarchaikum"@hu , + "neoarcheano"@it , + "新始生代"@ja , + "Neoarchejus"@lt , + "Neo-archaicum"@nl , + "Neoarkeikum"@no , + "Neoarchaik"@pl , + "Neoarcaico"@pt , + "neoarchaikum"@sk , + "neoarhaik"@sl , + "neoarkeikum"@sv , + "新太古代"@zh ; + schema:description + "older bound -2800 Ma"@en , + "younger bound -2500 Ma"@en ; +. + + + rdfs:label + "пеоген"@bg , + "Neogén"@cs , + "Neogen"@da , + "Neogen"@de , + "Neogene"@en , + "Neogene Period"@en , + "Neógeno"@es , + "Neogeen"@et , + "Neogeeni"@fi , + "Néogène"@fr , + "neogén"@hu , + "neogene"@it , + "新第三紀"@ja , + "Neogenas"@lt , + "Neogeen"@nl , + "Neogen"@no , + "Neogen"@pl , + "Neogénico"@pt , + "neogén"@sk , + "neogen"@sl , + "neogen"@sv , + "晚第三纪"@zh ; + schema:description + "older bound -23.03 Ma"@en , + "younger bound -2.58 Ma"@en ; +. + + + rdfs:label + "пеопротерозой"@bg , + "Neoproterozoikum"@cs , + "Neoproterozoisk"@da , + "Neoproterozoikum"@de , + "Neoproterozoic"@en , + "Neoproterozoic Era"@en , + "Neoproerozoico"@es , + "Neoproterosoikum"@et , + "Neoproterotsoikum"@fi , + "Néoprotérozoïque"@fr , + "neoproterozoikum"@hu , + "neoproterozoico"@it , + "原生代後期"@ja , + "Neoproterozojus"@lt , + "Neoproterozoïcum"@nl , + "Neoproterozoikum"@no , + "Neoproterozoik"@pl , + "Neoproterozóico"@pt , + "neoproterozoikum"@sk , + "neoproterozoik"@sl , + "neoproterozoikum"@sv , + "新元古代"@zh ; + schema:description + "older bound -1000 Ma"@en , + "younger bound -541.0 +|-1.0 Ma"@en ; +. + + + rdfs:label + "пор"@bg , + "Nor"@cs , + "Norien"@da , + "Norium"@de , + "Norian"@en , + "Norian Age"@en , + "Noriense"@es , + "Nori"@et , + "Nor"@fi , + "Norien"@fr , + "nori"@hu , + "norico"@it , + "ノーリアン期"@ja , + "Noris"@lt , + "Noriën"@nl , + "Nor"@no , + "Noryk"@pl , + "Noriano"@pt , + "norik"@sk , + "norij"@sl , + "nor"@sv , + "诺利克期"@zh ; + schema:description + "older bound -227 Ma"@en , + "younger bound -208.5 Ma"@en ; +. + + + rdfs:label + "Northgrippian"@en , + "Northgrippian Age"@en ; + schema:description + "older bound -0.0082 Ma"@en , + "younger bound -0.0042 Ma"@en ; +. + + + rdfs:label + "Оленек"@bg , + "Olenek"@cs , + "Olenekien"@da , + "Olenekium"@de , + "Olenekian"@en , + "Olenekian Age"@en , + "Olenekiense"@es , + "Oleneki"@et , + "Olenek"@fi , + "Olénekien"@fr , + "olenyoki"@hu , + "olenekiano"@it , + "オレネキアン期"@ja , + "Olenekis"@lt , + "Olenekiën"@nl , + "Olenek"@no , + "Olenek"@pl , + "Olenekiano"@pt , + "olenek"@sk , + "olenekij"@sl , + "olenek"@sv , + "奥伦尼克期"@zh ; + schema:description + "older bound -251.2 Ma"@en , + "younger bound -247.2 Ma"@en ; +. + + + rdfs:label + "Олигоцен"@bg , + "Oligocén"@cs , + "Oligocæn"@da , + "Oligozän"@de , + "Oligocene"@en , + "Oligocene Epoch"@en , + "Oligoceno"@es , + "Oligotseen"@et , + "Oligoseeni"@fi , + "Oligocène"@fr , + "oligocén"@hu , + "oligocene"@it , + "漸新世"@ja , + "Oligocenas"@lt , + "Oliogoceen"@nl , + "Oligocen"@no , + "Oligocen"@pl , + "Oligocénico"@pt , + "oligocén"@sk , + "oligocen"@sl , + "oligocen"@sv , + "渐新世"@zh ; + schema:description + "older bound -33.9 Ma"@en , + "younger bound -23.03 Ma"@en ; +. + + + rdfs:label + "Ордовик"@bg , + "Ordovik"@cs , + "Ordovicium"@da , + "Ordovizium"@de , + "Ordovician"@en , + "Ordovician Period"@en , + "Ordovícico"@es , + "Ordoviitsium"@et , + "Ordoviikki"@fi , + "Ordovicien"@fr , + "ordovícium"@hu , + "ordoviciano"@it , + "オルドビス紀"@ja , + "Ordovikas"@lt , + "Ordovicium"@nl , + "Ordovicium"@no , + "Ordowik"@pl , + "Ordovícico"@pt , + "ordovik"@sk , + "ordovicij"@sl , + "ordovicium"@sv , + "奥陶纪"@zh ; + schema:description + "older bound -485.4 +|-1.9 Ma"@en , + "younger bound -443.8 +|-1.5 Ma"@en ; +. + + + rdfs:label + "Ороѿир"@bg , + "Orosir"@cs , + "Orosirien"@da , + "Orosirium"@de , + "Orosirian"@en , + "Orosirian Period"@en , + "Orosiriense"@es , + "Orosir"@et , + "Orosir"@fi , + "Orosirien"@fr , + "orosiri"@hu , + "orosiriano"@it , + "オロシリアン紀"@ja , + "Orosiris"@lt , + "Orosiriën"@nl , + "Orosirium"@no , + "Orosir"@pl , + "Orosiriano"@pt , + "orosirium"@sk , + "orosijrij"@sl , + "orosirium"@sv , + "造山纪"@zh ; + schema:description + "older bound -2050 Ma"@en , + "younger bound -1800 Ma"@en ; +. + + + rdfs:label + "Окѿфорд"@bg , + "Oxford"@cs , + "Oxfordien"@da , + "Oxfordium"@de , + "Oxfordian"@en , + "Oxfordian Age"@en , + "Oxfordiense"@es , + "Oxfordi"@et , + "Oxford"@fi , + "Oxfordien"@fr , + "oxfordi"@hu , + "oxfordiano"@it , + "オックスフォーディアン期"@ja , + "Oksfordis"@lt , + "Oxfordiën"@nl , + "Oxford"@no , + "Oksford"@pl , + "Oxfordiano"@pt , + "oxford"@sk , + "oxfordij"@sl , + "oxford"@sv , + "牛津期"@zh ; + schema:description + "older bound -163.5 +|-1.0 Ma"@en , + "younger bound -157.3 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Паиб"@bg , + "Paib"@cs , + "Paibien"@da , + "Paibium"@de , + "Paibian"@en , + "Paibian Age"@en , + "Paibiense"@es , + "Paibi"@et , + "Paib"@fi , + "Paibien"@fr , + "paibi"@hu , + "paibiano"@it , + "パイビアン期"@ja , + "Paibis"@lt , + "Paibiën"@nl , + "Paibium"@no , + "Paib"@pl , + "Paibiano"@pt , + "pajb"@sk , + "paibij"@sl , + "paib"@sv , + "排碧期"@zh ; + schema:description + "older bound -497 Ma"@en , + "younger bound -494 Ma"@en ; +. + + + rdfs:label + "Палеоархай"@bg , + "Paleoarchaikum"@cs , + "Palæoarkæisk"@da , + "Paläoarchaikum"@de , + "Paleoarchean"@en , + "Paleoarchean Era"@en , + "Palaeoarchaean"@en-gb , + "Paleoarchean"@en-us , + "Paleoarcaico"@es , + "Paleoarhaikum"@et , + "Paleoarkeikum"@fi , + "Paléoarchéen"@fr , + "paleoarchai"@hu , + "paleoarcheano"@it , + "古始生代"@ja , + "Paleoarchejus"@lt , + "Paleo-archaicum"@nl , + "Paleoarkeikum"@no , + "Paleoarchaik"@pl , + "Paleoarcaico"@pt , + "paleoarchaikum"@sk , + "paleoarhaik"@sl , + "paleoarkeikum"@sv , + "古太古代"@zh ; + schema:description + "older bound -3600 Ma"@en , + "younger bound -3200 Ma"@en ; +. + + + rdfs:label + "Палеоцен"@bg , + "Paleocén"@cs , + "Paleocæn"@da , + "Paläozän"@de , + "Paleocene"@en , + "Paleocene Epoch"@en , + "Palaeocene"@en-gb , + "Paleocene"@en-us , + "Paleoceno"@es , + "Paleotseen"@et , + "Paleoseeni"@fi , + "Paléocène"@fr , + "paleocén"@hu , + "paleocene"@it , + "暁新世"@ja , + "Paleocenas"@lt , + "Paleoceen"@nl , + "Paleocen"@no , + "Paleocen"@pl , + "Paleocénico"@pt , + "paleocén"@sk , + "paleocen"@sl , + "paleocen"@sv , + "古新世"@zh ; + schema:description + "older bound -66.0 Ma"@en , + "younger bound -56 Ma"@en ; +. + + + rdfs:label + "Палеоген"@bg , + "Paleogén"@cs , + "Palæogen"@da , + "Paläogen"@de , + "Paleogene"@en , + "Paleogene Period"@en , + "Palaeogene"@en-gb , + "Paleogene"@en-us , + "Paleógeno"@es , + "Paleogeen"@et , + "Paleogeeni"@fi , + "Paléogène"@fr , + "paleogén"@hu , + "paleogene"@it , + "古第三紀"@ja , + "Paleogenas"@lt , + "Paleogeen"@nl , + "Paleogen"@no , + "Paleogen"@pl , + "Paleogénico"@pt , + "paleogén"@sk , + "paleogen"@sl , + "paleogen"@sv , + "早第三纪"@zh ; + schema:description + "older bound -66.0 Ma"@en , + "younger bound -23.03 Ma"@en ; +. + + + rdfs:label + "Палеопротерозой"@bg , + "Paleoproterozoikum"@cs , + "Palæoproterozoisk"@da , + "Paläoproteroizoikum"@de , + "Paleoproterozoic"@en , + "Paleoproterozoic Era"@en , + "Palaeoproterozoic"@en-gb , + "Paleoproterozoic"@en-us , + "Paleoproterozoico"@es , + "Paleoproterosoikum"@et , + "Paleoproterotsoikum"@fi , + "Paléoprotérozoïque"@fr , + "paleoproterozikum"@hu , + "paleoproterozoico"@it , + "原生代前期"@ja , + "Paleoproterozojus"@lt , + "paleoproterozoïcum"@nl , + "Paleoproterozoikum"@no , + "Paleoproterozoik"@pl , + "Paleoproterozóico"@pt , + "paleoproterozoikum"@sk , + "paleoproterozoik"@sl , + "paleoproterozoikum"@sv , + "古元古代"@zh ; + schema:description + "older bound -2500 Ma"@en , + "younger bound -1600 Ma"@en ; +. + + + rdfs:label + "Палеозой"@bg , + "Paleozoikum"@cs , + "Palæozoisk"@da , + "Paläozoikum"@de , + "Paleozoic"@en , + "Paleozoic Era"@en , + "Palaeozoic"@en-gb , + "Paleozoic"@en-us , + "Palozoico"@es , + "Paleosoikum"@et , + "Paleotsoikum"@fi , + "Paléozoïque"@fr , + "paleozoikum"@hu , + "paleozoico"@it , + "古生代"@ja , + "Paleozojus"@lt , + "Paleozoïcum"@nl , + "Paleozoikum"@no , + "Paleozoik"@pl , + "Paleozóico"@pt , + "paleozoikum"@sk , + "paleozoik"@sl , + "paleozoikum"@sv , + "古生代"@zh ; + schema:description + "older bound -541.0 +|-1.0 Ma"@en , + "younger bound -251.902 +|-0.024 Ma"@en ; +. + + + rdfs:label + "Пенѿилван"@bg , + "Pennsylván"@cs , + "Pennsylvanien"@da , + "Pennsylvanium"@de , + "Pennsylvanian"@en , + "Pennsylvanian Sub-period"@en , + "Pennsylvaniense"@es , + "Pennsylvania"@et , + "Pennsylvania"@fi , + "Pennsylvanien"@fr , + "pennsylvaniai"@hu , + "pennsylvaniano"@it , + "ペンシルバニア紀"@ja , + "Pensilvanis"@lt , + "Pennsylvaniën"@nl , + "Pennsylvanium"@no , + "Pensylwan"@pl , + "Pensilvaniano"@pt , + "penssylván"@sk , + "pennsylvanij"@sl , + "pennsylvan"@sv , + "宾夕法尼亚亚纪"@zh ; + schema:description + "older bound -323.2 +|-0.4 Ma"@en , + "younger bound -298.9 +|-0.15 Ma"@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Period\""@en ; +. + + + rdfs:label + "Перм"@bg , + "Perm"@cs , + "Perm"@da , + "Perm"@de , + "Permian"@en , + "Permian Period"@en , + "Pérmico"@es , + "Perm"@et , + "Permi"@fi , + "Permien"@fr , + "perm"@hu , + "permiano"@it , + "ペルム紀"@ja , + "Permas"@lt , + "Perm"@nl , + "Perm"@no , + "Perm"@pl , + "Pérmico"@pt , + "perm"@sk , + "perm"@sl , + "perm"@sv , + "二叠纪"@zh ; + schema:description + "older bound -298.9 +|-0.15 Ma"@en , + "younger bound -251.902 +|-0.024 Ma"@en ; +. + + + rdfs:label + "Фанерозой"@bg , + "Fanerozoikum"@cs , + "Phanerozoisk"@da , + "Phanerozoikum"@de , + "Phanerozoic"@en , + "Phanerozoic Eon"@en , + "Fanerozoico"@es , + "Fanerosoikum"@et , + "Fanerotsoikum"@fi , + "Phanérozoïque"@fr , + "fanerozoikum"@hu , + "fanerozoico"@it , + "顕生代"@ja , + "Fanerozojus"@lt , + "Phanerozoïcum"@nl , + "Fanerozoikum"@no , + "Fanerozoik"@pl , + "Fanerozóico"@pt , + "fanerozoikum"@sk , + "fanerozoik"@sl , + "fanerozoikum"@sv , + "显生宙"@zh ; + schema:description + "older bound -541.0 +|-1.0 Ma"@en , + "younger bound -0.0 Ma"@en ; +. + + + rdfs:label + "Пиачен"@bg , + "Piacenz"@cs , + "Piacenzien"@da , + "Piacenzium"@de , + "Piacenzian"@en , + "Piacenzian Age"@en , + "Plazenciense"@es , + "Piacenzi"@et , + "Piacenz"@fi , + "Piacenzien"@fr , + "piacenzai"@hu , + "piacenziano"@it , + "ピアセンジアン期"@ja , + "PiaĿenzis"@lt , + "Reuveriën"@nl , + "Piecenzium"@no , + "Piacenz"@pl , + "Placenciano"@pt , + "piaĿenz"@sk , + "piacenzij"@sl , + "piacenz"@sv , + "皮亚琴期"@zh ; + schema:description + "older bound -3.6 Ma"@en , + "younger bound -2.58 Ma"@en ; +. + + + rdfs:label + "Плейѿтоцен"@bg , + "Pleistocén"@cs , + "Pleistocæn"@da , + "Pleistozän"@de , + "Pleistocene"@en , + "Pleistocene Epoch"@en , + "Pleistoceno"@es , + "Pleistotseen"@et , + "Pleistoseeni"@fi , + "Pléistocène"@fr , + "pleisztocén"@hu , + "pleistocene"@it , + "更新世"@ja , + "Pleistocenas"@lt , + "Pleistoceen"@nl , + "Pleistocen"@no , + "Plejstocen"@pl , + "Plistocénico"@pt , + "pleistocén"@sk , + "pleistocen"@sl , + "pleistocen"@sv , + "更新世"@zh ; + schema:description + "older bound -2.58 Ma"@en , + "younger bound -0.0117 Ma"@en ; +. + + + rdfs:label + "Плиинѿбах"@bg , + "Pliensbach"@cs , + "Pliensbachien"@da , + "Pliensbachium"@de , + "Pliensbachian"@en , + "Pliensbachian Age"@en , + "Pliensbachiense"@es , + "Pliensbachi"@et , + "Plienbach"@fi , + "Pliensbachien"@fr , + "pliensbachi"@hu , + "pliensbachiano"@it , + "プリンスバッキアン期"@ja , + "Plynsbachis"@lt , + "Pliënsbachiën"@nl , + "Pliensbach"@no , + "Pliensbach"@pl , + "Pliensbaquiano"@pt , + "pliensbach"@sk , + "pleinsbachij"@sl , + "pliensbach"@sv , + "普连斯巴奇期"@zh ; + schema:description + "older bound -190.8 +|-1.0 Ma"@en , + "younger bound -182.7 +|-0.7 Ma"@en ; +. + + + rdfs:label + "Плиоцен"@bg , + "Pliocén"@cs , + "Pliocæn"@da , + "Pliozän"@de , + "Pliocene"@en , + "Pliocene Epoch"@en , + "Ploceno"@es , + "Pliotseen"@et , + "Plioseeni"@fi , + "Pliocène"@fr , + "pliocén"@hu , + "pliocene"@it , + "鮮新世"@ja , + "Pliocenas"@lt , + "Plioceen"@nl , + "Pliocen"@no , + "Pliocen"@pl , + "Pliocénico"@pt , + "pliocén"@sk , + "pliocen"@sl , + "pliocen"@sv , + "上新世"@zh ; + schema:description + "older bound -5.333 Ma"@en , + "younger bound -2.58 Ma"@en ; +. + + + rdfs:label + "Праг"@bg , + "Prag"@cs , + "Pragien"@da , + "Pragium"@de , + "Pragian"@en , + "Pragian Age"@en , + "Praguiense"@es , + "Praha"@et , + "Praha"@fi , + "Praguien"@fr , + "prágai"@hu , + "pragiano"@it , + "プラギアン期"@ja , + "Pragis"@lt , + "Pragiën"@nl , + "Pragium"@no , + "Prag"@pl , + "Pragiano"@pt , + "prág"@sk , + "pragij"@sl , + "prag"@sv , + "布拉格期"@zh ; + schema:description + "older bound -410.8 +|-2.8 Ma"@en , + "younger bound -407.6 +|-2.6 Ma"@en ; +. + + + rdfs:label + "Прекамбрий"@bg , + "Prekambrium"@cs , + "Prækambrium"@da , + "Präkambrium"@de , + "Precambrian"@en , + "Precambrian Supereon"@en , + "Precámbrico"@es , + "Prekambrium"@et , + "Prekambri"@fi , + "Précambrien"@fr , + "prekambrium"@hu , + "precambriano"@it , + "先カンブリア時代"@ja , + "Prekambras"@lt , + "Precambrium"@nl , + "Prekambrium"@no , + "Prekambr"@pl , + "Precâmbrico"@pt , + "prekambrium"@sk , + "predkambrij"@sl , + "prekambrium"@sv , + "前寒武纪"@zh ; + schema:description + "older bound -4567 +|-1 Ma"@en , + "younger bound -541.0 +|-1.0 Ma"@en ; +. + + + rdfs:label "The Present"@en ; +. + + + rdfs:label + "Приабон"@bg , + "Priabon"@cs , + "Priabonien"@da , + "Priabonium"@de , + "Priabonian"@en , + "Priabonian Age"@en , + "Priaboniense"@es , + "Priaboni"@et , + "Priabon"@fi , + "Priabonien"@fr , + "priabonai"@hu , + "priaboniano"@it , + "プリアボニアン期"@ja , + "Priabonis"@lt , + "Priaboniën"@nl , + "Priabon"@no , + "Priabon"@pl , + "Priaboniano"@pt , + "priabón"@sk , + "priabonij"@sl , + "priabon"@sv , + "普里阿邦期"@zh ; + schema:description + "older bound -37.8 Ma"@en , + "younger bound -33.9 Ma"@en ; +. + + + rdfs:label + "Пржидол"@bg , + "Přídolí"@cs , + "Pridoli"@da , + "Pridoli"@de , + "Pridoli"@en , + "Pridoli Epoch"@en , + "Prídoli"@es , + "Pridoli"@et , + "Pridoli"@fi , + "Pridoli"@fr , + "pridoli"@hu , + "pridoli"@it , + "プリドリアン世"@ja , + "Pržidolis"@lt , + "Pridoli"@nl , + "Pridoli"@no , + "Przydol"@pl , + "Pridoli"@pt , + "přídol"@sk , + "pridolij"@sl , + "pridoli"@sv , + "普里多利世"@zh ; + schema:description + "older bound -423 +|-2.3 Ma"@en , + "younger bound -419.2 +|-3.2 Ma"@en ; +. + + + rdfs:label + "Протерозой"@bg , + "Proterozoikum"@cs , + "Proterozoikum"@da , + "Proterozoikum"@de , + "Proterozoic"@en , + "Proterozoic Eon"@en , + "Proterozoico"@es , + "Proterosoikum"@et , + "Proterotsoikum"@fi , + "Protérozoïque"@fr , + "proterozoos"@hu , + "proterozoico"@it , + "原生代"@ja , + "Proterozojus"@lt , + "Proterozoïcum"@nl , + "Proterozoisk"@no , + "Proterozoik"@pl , + "Proterozóico"@pt , + "proterozoikum"@sk , + "proterozoik"@sl , + "proterozoikum"@sv , + "元古宙"@zh ; + schema:description + "older bound -2500 Ma"@en , + "younger bound -541.0 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Кватернер"@bg , + "Kvartér"@cs , + "Kvartær"@da , + "Quartär"@de , + "Quaternary"@en , + "Quaternary Period"@en , + "Cuaternario"@es , + "Kvaternaar"@et , + "Kvartääri"@fi , + "Quaternaire"@fr , + "negyedidőszak"@hu , + "quaternario"@it , + "第四紀"@ja , + "Kvarteras"@lt , + "Kwartair"@nl , + "Kvartær"@no , + "Czwartorzęd"@pl , + "Quaternário"@pt , + "kvartér"@sk , + "kvartar"@sl , + "kvartär"@sv , + "第四纪"@zh ; + schema:description + "older bound -2.58 Ma"@en , + "younger bound -0.0 Ma"@en ; +. + + + rdfs:label + "Рет"@bg , + "Rhaet"@cs , + "Rhaetien"@da , + "Rhätium"@de , + "Rhaetian"@en , + "Rhaetian Age"@en , + "Rhetiense"@es , + "Rhaeti"@et , + "Rhaet"@fi , + "Rhétien"@fr , + "rhaeti"@hu , + "retico"@it , + "レーティアン期"@ja , + "Retis"@lt , + "Rhaetiën"@nl , + "Ræt"@no , + "Retyk"@pl , + "Reciano"@pt , + "rét"@sk , + "retij"@sl , + "rät"@sv , + "瑞替期"@zh ; + schema:description + "older bound -208.5 Ma"@en , + "younger bound -201.3 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Рудан"@bg , + "Rhuddan"@cs , + "Rhuddanien"@da , + "Rhuddanium"@de , + "Rhuddanian"@en , + "Rhuddanian Age"@en , + "Rhuddaniense"@es , + "Rhuddani"@et , + "Rhuddan"@fi , + "Rhuddanien"@fr , + "rhuddani"@hu , + "rhuddaniano"@it , + "ルダニアン期"@ja , + "Rudanis"@lt , + "Rhuddaniën"@nl , + "Rhuddanium"@no , + "Rhuddan"@pl , + "Rudaniano"@pt , + "rhuddan"@sk , + "rhuddanij"@sl , + "rhuddan"@sv , + "鲁丹期"@zh ; + schema:description + "older bound -443.8 +|-1.5 Ma"@en , + "younger bound -440.8 +|-1.2 Ma"@en ; +. + + + rdfs:label + "Риац"@bg , + "Rhyak"@cs , + "Rhyacien"@da , + "Rhyacium"@de , + "Rhyacian"@en , + "Rhyacian Period"@en , + "Ryaciense"@es , + "Rhyac"@et , + "Ryak"@fi , + "Rhyacien"@fr , + "rhyaci"@hu , + "rhyaciano"@it , + "リヤシアン紀"@ja , + "Riacis"@lt , + "Rhyaciën"@nl , + "Ryasium"@no , + "Riak"@pl , + "Riaciano"@pt , + "rhyacium"@sk , + "rhyacij"@sl , + "ryacium"@sv , + "层侵纪"@zh ; + schema:description + "older bound -2300 Ma"@en , + "younger bound -2050 Ma"@en ; +. + + + rdfs:label + "Роад"@bg , + "Road"@cs , + "Roadien"@da , + "Roadium"@de , + "Roadian"@en , + "Roadian Age"@en , + "Roadiense"@es , + "Roadi"@et , + "Road"@fi , + "Roadien"@fr , + "roadi"@hu , + "roadiano"@it , + "ローディアン期"@ja , + "Roadis"@lt , + "Roadiën"@nl , + "Roadium"@no , + "Road"@pl , + "Roadiano"@pt , + "road"@sk , + "roadij"@sl , + "road"@sv , + "罗德期"@zh ; + schema:description + "older bound -272.95 +|-0.11 Ma"@en , + "younger bound -268.8 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Рупел"@bg , + "Rupel"@cs , + "Rupelien"@da , + "Rupelium"@de , + "Rupelian"@en , + "Rupelian Age"@en , + "Rupeliense"@es , + "Rupeli"@et , + "Rupel"@fi , + "Rupélien"@fr , + "rupeli"@hu , + "rupeliano"@it , + "ルペル期"@ja , + "Rupelis"@lt , + "Rupeliën"@nl , + "Rupel"@no , + "Rupel"@pl , + "Rupeliano"@pt , + "rupel"@sk , + "rupelij"@sl , + "rupel"@sv , + "鲁珀利期"@zh ; + schema:description + "older bound -33.9 Ma"@en , + "younger bound -28.1 Ma"@en ; +. + + + rdfs:label + "Сакмар"@bg , + "Sakmar"@cs , + "Sakmarien"@da , + "Sakmarium"@de , + "Sakmarian"@en , + "Sakmarian Age"@en , + "Sakmariense"@es , + "Sakmaria"@et , + "Sakmar"@fi , + "Sakmarien"@fr , + "szakmarai"@hu , + "sakmariano"@it , + "サクマリアン期"@ja , + "Sakmaris"@lt , + "Sakmariën"@nl , + "Samarkium"@no , + "Sakmar"@pl , + "Sakmariano"@pt , + "sakmar"@sk , + "sakmarij"@sl , + "sakmar"@sv , + "萨克马尔期"@zh ; + schema:description + "older bound -295.0 +|-0.18 Ma"@en , + "younger bound -290.1 +|-0.26 Ma"@en ; +. + + + rdfs:label + "Сандб"@bg , + "Sandby"@cs , + "Sandbien"@da , + "Sandbium"@de , + "Sandbian"@en , + "Sandbian Age"@en , + "Sandbiense"@es , + "Sandbi"@et , + "Sandb"@fi , + "Sandbien"@fr , + "sandbi"@hu , + "sandbiano"@it , + "サンドビアン期"@ja , + "Sandbis"@lt , + "Sandbiën"@nl , + "Sandbyium"@no , + "Sandb"@pl , + "Sandbiano"@pt , + "sandb"@sk , + "sandbij"@sl , + "sandby"@sv , + "桑比期"@zh ; + schema:description + "older bound -458.4 +|-0.9 Ma"@en , + "younger bound -453.0 +|-0.7 Ma"@en ; +. + + + rdfs:label + "Сантон"@bg , + "Santon"@cs , + "Santonien"@da , + "Santonium"@de , + "Santonian"@en , + "Santonian Age"@en , + "Santoniense"@es , + "Santoni"@et , + "Santon"@fi , + "Santonien"@fr , + "santoni"@hu , + "santoniano"@it , + "サントニアン期"@ja , + "Santonis"@lt , + "Santoniën"@nl , + "Santonium"@no , + "Santon"@pl , + "Santoniano"@pt , + "santón"@sk , + "santonij"@sl , + "santon"@sv , + "桑托期"@zh ; + schema:description + "older bound -86.3 +|-0.5 Ma"@en , + "younger bound -83.6 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Селанд"@bg , + "Seland"@cs , + "Selandien"@da , + "Selandium"@de , + "Selandian"@en , + "Selandian Age"@en , + "Selandiense"@es , + "Selandi"@et , + "Seland"@fi , + "Sélandien"@fr , + "selandi"@hu , + "selandiano"@it , + "セランディアン期"@ja , + "Selandis"@lt , + "Selandiën"@nl , + "Selandium"@no , + "Zeland"@pl , + "Selandiano"@pt , + "seland"@sk , + "selandij"@sl , + "seland"@sv , + "塞兰特期"@zh ; + schema:description + "older bound -61.6 Ma"@en , + "younger bound -59.2 Ma"@en ; +. + + + rdfs:label + "Серпухов"@bg , + "Serpukhov"@cs , + "Serpukhovien"@da , + "Serpukhovium"@de , + "Serpukhovian"@en , + "Serpukhovian Age"@en , + "Serpulkhoviense"@es , + "Serpuhhovi"@et , + "Serpukhov"@fi , + "Serpukhovien"@fr , + "szerpuhovi"@hu , + "serpukhoviano"@it , + "サプコビアン期"@ja , + "Serpuchovis"@lt , + "Serpukhoviën"@nl , + "Serpukovium"@no , + "Serpuchow"@pl , + "Serpukoviano"@pt , + "serpuchov"@sk , + "serpukhovij"@sl , + "serpukhov"@sv , + "谢尔普霍夫期"@zh ; + schema:description + "older bound -330.9 +|-0.2 Ma"@en , + "younger bound -323.2 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Саравал"@bg , + "Serraval"@cs , + "Serravallien"@da , + "Serravallium"@de , + "Serravallian"@en , + "Serravallian Age"@en , + "Serravalliense"@es , + "Serravalli"@et , + "Serravall"@fi , + "Serravallien"@fr , + "serravallei"@hu , + "serravaliano"@it , + "サーラバリアン期"@ja , + "Seravalis"@lt , + "Serravalliën - Langeveld"@nl , + "Servallium"@no , + "Serrawal"@pl , + "Serravaliano"@pt , + "serravall"@sk , + "serravallij"@sl , + "serravall"@sv , + "塞拉瓦尔期"@zh ; + schema:description + "older bound -13.82 Ma"@en , + "younger bound -11.63 Ma"@en ; +. + + + rdfs:label + "Шейнуд"@bg , + "Sheinwood"@cs , + "Sheinwoodien"@da , + "Sheinwoodium"@de , + "Sheinwoodian"@en , + "Sheinwoodian Age"@en , + "Sheinwoodiense"@es , + "Sheinwoodi"@et , + "Sheinwood"@fi , + "Sheinwoodien"@fr , + "sheinwoodi"@hu , + "sheinwoodiano"@it , + "シェインウッディアン期"@ja , + "Šeinvudis"@lt , + "Sheinwoodiën"@nl , + "Sheinwood"@no , + "Sheinwood"@pl , + "Sheinwoodiano"@pt , + "sheinwood"@sk , + "sheinwodij"@sl , + "sheinwood"@sv , + "申伍德期"@zh ; + schema:description + "older bound -433.4 +|-0.8 Ma"@en , + "younger bound -430.5 +|-0.7 Ma"@en ; +. + + + rdfs:label + "Сидер"@bg , + "Sider"@cs , + "Siderien"@da , + "Siderium"@de , + "Siderian"@en , + "Siderian Period"@en , + "Sideriense"@es , + "Sider"@et , + "Sider"@fi , + "Sidérien"@fr , + "sideri"@hu , + "sideriano"@it , + "シデリアン紀"@ja , + "Sideris"@lt , + "Sideriën"@nl , + "Siderium"@no , + "Sider"@pl , + "Sideriano"@pt , + "siderium"@sk , + "siderij"@sl , + "siderium"@sv , + "成铁纪"@zh ; + schema:description + "older bound -2500 Ma"@en , + "younger bound -2300 Ma"@en ; +. + + + rdfs:label + "Силур"@bg , + "Silur"@cs , + "Silur"@da , + "Silur"@de , + "Silurian"@en , + "Silurian Period"@en , + "Silúrcio"@es , + "Silur"@et , + "Siluuri"@fi , + "Silurien"@fr , + "szilur"@hu , + "siluriano"@it , + "シルル紀"@ja , + "Silūras"@lt , + "Siluur"@nl , + "Silur"@no , + "Sylur"@pl , + "Silúrico"@pt , + "silúr"@sk , + "silur"@sl , + "silur"@sv , + "志留纪"@zh ; + schema:description + "The Silurian is a geologic period and system that extends from the end of the Ordovician Period, about 443.7 ± 1.5 million years ago (mya), to the beginning of the Devonian Period, about 416.0 ± 2.8 mya. As with other geologic periods, the rock beds that define the period's start and end are well identified, but the exact dates are uncertain by several million years. The Base of the Silurian is set at a major extinction event when 60% of marine species were wiped out."@en , + "older bound -443.8 +|-1.5 Ma"@en , + "younger bound -419.2 +|-3.2 Ma"@en ; +. + + + rdfs:label + "Синемур"@bg , + "Sinemur"@cs , + "Sinemurien"@da , + "Sinémurium"@de , + "Sinemurian"@en , + "Sinemurian Age"@en , + "Sinemuriense"@es , + "Sinemuri"@et , + "Sinemur"@fi , + "Sinémurien"@fr , + "sinemuri"@hu , + "sinemuriano"@it , + "シネムール期"@ja , + "Sinemiūris"@lt , + "Sinemuriën"@nl , + "Sinemur"@no , + "Synemur"@pl , + "Sinemuriano"@pt , + "sinemúr"@sk , + "sinemurij"@sl , + "sinemur"@sv , + "辛涅穆尔期"@zh ; + schema:description + "older bound -199.3 +|-0.3 Ma"@en , + "younger bound -190.8 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Статер"@bg , + "Stather"@cs , + "Statherien"@da , + "Statherium"@de , + "Statherian"@en , + "Statherian Period"@en , + "Statheriense"@es , + "Stather"@et , + "Stather"@fi , + "Stathérien"@fr , + "statheri"@hu , + "statheriano"@it , + "スタテリアン紀"@ja , + "Stateris"@lt , + "Statheriën"@nl , + "Staterium"@no , + "Stater"@pl , + "Stateriano"@pt , + "staterium"@sk , + "statherij"@sl , + "staterium"@sv , + "固结纪"@zh ; + schema:description + "older bound -1800 Ma"@en , + "younger bound -1600 Ma"@en ; +. + + + rdfs:label + "Стен"@bg , + "Sten"@cs , + "Stenien"@da , + "Stenium"@de , + "Stenian"@en , + "Stenian Period"@en , + "Esteniense"@es , + "Sten"@et , + "Sten"@fi , + "Sténien"@fr , + "steni"@hu , + "steniano"@it , + "ステニアン紀"@ja , + "Stenis"@lt , + "Steniën"@nl , + "Stenium"@no , + "Sten"@pl , + "Steniano"@pt , + "stenium"@sk , + "stenij"@sl , + "stenium"@sv , + "狭带纪"@zh ; + schema:description + "older bound -1200 Ma"@en , + "younger bound -1000 Ma"@en ; +. + + + rdfs:label "Stratigraphic points"@en ; + schema:description + "Stratigraphic points providing stratotypes of boundaries in the chronostratigraphic chart (unspecified)"@en , + "This skos:Concept is included to spoof the Research Vocabularies Australia UI, which wants to show all top concepts."@en ; +. + + + rdfs:label "Stratotypes of boundaries in the International Chronostratigraphic Chart"@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Sub-Period\""@en ; +. + + + rdfs:label "GeochronologicEras of rank \"Super-Eon\""@en ; +. + + + rdfs:label + "Телич"@bg , + "Telych"@cs , + "Telychien"@da , + "Telychium"@de , + "Telychian"@en , + "Telychian Age"@en , + "Telychiense"@es , + "Telychi"@et , + "Telych"@fi , + "Télychien"@fr , + "telychi"@hu , + "telychiano"@it , + "テリチアン期"@ja , + "TelyĿis"@lt , + "Telychiën"@nl , + "Telychium"@no , + "Telych"@pl , + "Telychiano"@pt , + "telych"@sk , + "telychij"@sl , + "telych"@sv , + "特列奇期"@zh ; + schema:description + "older bound -438.5 +|-1.1 Ma"@en , + "younger bound -433.4 +|-0.8 Ma"@en ; +. + + + rdfs:label + "Теренеув"@bg , + "Terreneuv"@cs , + "Terreneuvien"@da , + "Terreneuvium"@de , + "Terreneuvian"@en , + "Terreneuvian Epoch"@en , + "Terreneuviense"@es , + "Terreneuvi"@et , + "Terreneuv"@fi , + "Terreneuvien"@fr , + "terreneuvi"@hu , + "terreneuviano"@it , + "テレニュービアン世"@ja , + "Tereniuvis"@lt , + "Terreneuviën"@nl , + "Terreneuvium"@no , + "Terenew"@pl , + "Terreneuviano"@pt , + "terreneuv"@sk , + "terreneuvij"@sl , + "terreneuv"@sv , + "纽芬兰世"@zh ; + schema:description + "older bound -541.0 +|-1.0 Ma"@en , + "younger bound -521 Ma"@en ; +. + + + rdfs:label + "Танет"@bg , + "Thanet"@cs , + "Thanetien"@da , + "Thanetium"@de , + "Thanetian"@en , + "Thanetian Age"@en , + "Thanetiense"@es , + "Thaneti"@et , + "Thanet"@fi , + "Thanétien"@fr , + "thaneti"@hu , + "thanetiano"@it , + "サネティアン期"@ja , + "Tanetis"@lt , + "Thanetiën"@nl , + "Thanetium"@no , + "Tanet"@pl , + "Tanetiano"@pt , + "tanet"@sk , + "thanetij"@sl , + "thanet"@sv , + "塔内提期"@zh ; + schema:description + "older bound -59.2 Ma"@en , + "younger bound -56 Ma"@en ; +. + + + rdfs:label + "Титон"@bg , + "Tithon"@cs , + "Tithonien"@da , + "Tithonium"@de , + "Tithonian"@en , + "Tithonian Age"@en , + "Tithoniense"@es , + "Tithoni"@et , + "Tithon"@fi , + "Tithonien"@fr , + "tithon"@hu , + "titoniano"@it , + "チトニアン期"@ja , + "Titonis"@lt , + "Tithoniën"@nl , + "Tithonium"@no , + "Tyton"@pl , + "Titoniano"@pt , + "titón"@sk , + "tithonij"@sl , + "tithon"@sv , + "提通期"@zh ; + schema:description + "older bound -152.1 +|-0.9 Ma"@en , + "younger bound -145.0 Ma"@en ; +. + + + rdfs:label + "Тоар"@bg , + "Toark"@cs , + "Toarcien"@da , + "Toarcium"@de , + "Toarcian"@en , + "Toarcian Age"@en , + "Toarciense"@es , + "Toarci"@et , + "Toarc"@fi , + "Toarcien"@fr , + "toarci"@hu , + "toarciano"@it , + "トアルシアン期"@ja , + "Toaris"@lt , + "Toarciën"@nl , + "Toarc"@no , + "Toark"@pl , + "Toarciano"@pt , + "toark"@sk , + "toarcij"@sl , + "toarc"@sv , + "托阿尔期"@zh ; + schema:description + "older bound -182.7 +|-0.7 Ma"@en , + "younger bound -174.1 +|-1.0 Ma"@en ; +. + + + rdfs:label + "Тон"@bg , + "Ton"@cs , + "Tonien"@da , + "Tonium"@de , + "Tonian"@en , + "Tonian Period"@en , + "Toniense"@es , + "Ton"@et , + "Ton"@fi , + "Tonien"@fr , + "toni"@hu , + "toniano"@it , + "トニアン紀"@ja , + "Tonis"@lt , + "Toniën"@nl , + "Tonium"@no , + "Ton"@pl , + "Toniano"@pt , + "tonium"@sk , + "tonij"@sl , + "tonium"@sv , + "拉伸纪"@zh ; + schema:description + "older bound -1000 Ma"@en , + "younger bound -720 Ma"@en ; +. + + + rdfs:label + "Тортон"@bg , + "Torton"@cs , + "Tortonien"@da , + "Tortonium"@de , + "Tortonian"@en , + "Tortonian Age"@en , + "Tortoniense"@es , + "Tortoni"@et , + "Torton"@fi , + "Tortonien"@fr , + "tortonai"@hu , + "toroniano"@it , + "トートニアン期"@ja , + "Tortonis"@lt , + "Tortoniën - Linne"@nl , + "Tortonium"@no , + "Torton"@pl , + "Tortoniano"@pt , + "tortón"@sk , + "tortonij"@sl , + "torton"@sv , + "托尔顿期"@zh ; + schema:description + "older bound -11.63 Ma"@en , + "younger bound -7.246 Ma"@en ; +. + + + rdfs:label + "Турней"@bg , + "Tournai"@cs , + "Tournaisien"@da , + "Tournaisium"@de , + "Tournaisian"@en , + "Tournaisian Age"@en , + "Tournaisiense"@es , + "Tournais"@et , + "Tournais"@fi , + "Tournaisien"@fr , + "tournaisi"@hu , + "tournasiano"@it , + "トルネージアン期"@ja , + "Turnėjis"@lt , + "Tournaisiën"@nl , + "Tournasium"@no , + "Turnej"@pl , + "Turnaisiano"@pt , + "turnén"@sk , + "tournaisij"@sl , + "tournas"@sv , + "杜内期"@zh ; + schema:description + "older bound -358.9 +|-0.4 Ma"@en , + "younger bound -346.7 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Тремадок"@bg , + "Tremadok"@cs , + "Tremadocien"@da , + "Tremadocium"@de , + "Tremadocian"@en , + "Tremadocian Age"@en , + "Tremadociense"@es , + "Tremadoci"@et , + "Tremadoc"@fi , + "Trémadocien"@fr , + "tremadoci"@hu , + "tremadociano"@it , + "トレマドキアン期"@ja , + "Tremadokis"@lt , + "Tremadociën"@nl , + "Tremadoc"@no , + "Tremadok"@pl , + "Tremadociano"@pt , + "tremadok"@sk , + "tremadocij"@sl , + "tremadoc"@sv , + "特马豆克期"@zh ; + schema:description + "older bound -485.4 +|-1.9 Ma"@en , + "younger bound -477.7 +|-1.4 Ma"@en ; +. + + + rdfs:label + "Триаѿ"@bg , + "Trias"@cs , + "Triassisk"@da , + "Trias"@de , + "Triassic"@en , + "Triassic Period"@en , + "Triásico"@es , + "Triias"@et , + "Trias"@fi , + "Trias"@fr , + "triász"@hu , + "triassico"@it , + "三畳紀"@ja , + "Triasas"@lt , + "Trias"@nl , + "Trias"@no , + "Trias"@pl , + "Triásico"@pt , + "trias"@sk , + "trias"@sl , + "trias"@sv , + "三叠纪"@zh ; + schema:description + "older bound -251.902 +|-0.024 Ma"@en , + "younger bound -201.3 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Турон"@bg , + "Turon"@cs , + "Turonien"@da , + "Turonium"@de , + "Turonian"@en , + "Turonian Age"@en , + "Turoniense"@es , + "Turoni"@et , + "Turon"@fi , + "Turonien"@fr , + "turon"@hu , + "turoniano"@it , + "チュロニアン期"@ja , + "Turonis"@lt , + "Tuironiën"@nl , + "Turonium"@no , + "Turon"@pl , + "Turoniano"@pt , + "turón"@sk , + "turonij"@sl , + "turon"@sv , + "土仑期"@zh ; + schema:description + "older bound -93.9 Ma"@en , + "younger bound -89.8 +|-0.3 Ma"@en ; +. + + + rdfs:label + "Къѿна Креда"@bg , + "Pozdní křída"@cs , + "Sen Kridt"@da , + "Späte Kreide"@de , + "Late Cretaceous"@en , + "Late Cretaceous Epoch"@en , + "Hilis-Kriit"@et , + "Myöhäis-Liitu"@fi , + "késő-kréta"@hu , + "後期白亜紀"@ja , + "Vėlyva kreida"@lt , + "Laat Krijt"@nl , + "Sen kritt"@no , + "Późna Kreda"@pl , + "mladšia krieda"@sk , + "pozna kreda"@sl , + "yngre krita"@sv , + "晚白垩世"@zh ; + schema:description + "older bound -100.5 Ma"@en , + "younger bound -66.0 Ma"@en ; +. + + + rdfs:label + "Къѿен Девон"@bg , + "Svrchní devon"@cs , + "Sen Devon"@da , + "Spätes Devon"@de , + "Late Devonian"@en , + "Late Devonian Epoch"@en , + "Hilis-Devon"@et , + "Myöhäis-Devoni"@fi , + "késő-devon"@hu , + "後期デボン紀"@ja , + "Vėlyvasis Devonas"@lt , + "Laat Devoon"@nl , + "Sen devon"@no , + "Późny Dewon"@pl , + "mladší devón"@sk , + "pozni devon"@sl , + "yngre devon"@sv , + "晚泥盆世"@zh ; + schema:description + "older bound -382.7 +|-1.6 Ma"@en , + "younger bound -358.9 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Къѿна Юра"@bg , + "Pozdní jura"@cs , + "Sen Jurassisk"@da , + "Später Jura"@de , + "Late Jurassic"@en , + "Late Jurassic Epoch"@en , + "Hilis-Juura"@et , + "Myöhäis-Jura"@fi , + "késő-jura"@hu , + "後期ジュラ紀"@ja , + "Vėlyvoji Jura"@lt , + "Laat Jura"@nl , + "Sen jura"@no , + "Późna Jura"@pl , + "mladšia jura"@sk , + "pozna jura"@sl , + "yngre jura"@sv , + "晚侏罗世"@zh ; + schema:description + "older bound -163.5 +|-1.0 Ma"@en , + "younger bound -145.0 Ma"@en ; +. + + + rdfs:label + "Late Mississippian"@en , + "Late Mississippian Epoch"@en , + "後期ミシシッピアン紀"@ja , + "晚密西西比世"@zh ; + schema:description + "older bound -330.9 +|-0.2 Ma"@en , + "younger bound -298.9 +|-0.15 Ma"@en ; +. + + + rdfs:label + "Къѿен Ордовик"@bg , + "Pozdní ordovik"@cs , + "Sen Ordovicium"@da , + "Spätes Ordovizium"@de , + "Late Ordovician"@en , + "Late Ordovician Epoch"@en , + "Hilis-Ordoviitsium"@et , + "Myöhäis-Ordoviikki"@fi , + "késő-ordovícium"@hu , + "後期オルドビス紀"@ja , + "Vėlyvasis Ordovikas"@lt , + "Laat Ordovicium"@nl , + "Sen ordovicium"@no , + "Późny Ordowik"@pl , + "mladší ordovik"@sk , + "starejši ordovicij"@sl , + "yngre ordovicium"@sv , + "晚奥陶世"@zh ; + schema:description + "older bound -458.4 +|-0.9 Ma"@en , + "younger bound -443.8 +|-1.5 Ma"@en ; +. + + + rdfs:label + "Къѿен Пенѿилван"@bg , + "Pozdní pennsylván"@cs , + "Sen Pennsylvanien"@da , + "Spätes Pennsylvanium"@de , + "Late Pennsylvanian"@en , + "Late Pennsylvanian Epoch"@en , + "Hilis-Pennsylvania"@et , + "Myöhäis-Pennsylvania"@fi , + "késő-pennsylvaniai"@hu , + "後期ペンシルバニア紀"@ja , + "Vėlyvasis Pensilvanis"@lt , + "Laat Pennsylvaniën"@nl , + "Sen pennsylvanium"@no , + "Późny Pensylwan"@pl , + "mladší penssylván"@sk , + "pozni pennsylvanij"@sl , + "yngre pennsylvan"@sv , + "晚宾夕法尼亚世"@zh ; + schema:description + "older bound -307 +|-0.1 Ma"@en , + "younger bound -298.9 +|-0.15 Ma"@en ; +. + + + rdfs:label + "Къѿен плейѿтоцен"@bg , + "Pozdní pleistocén"@cs , + "Sen Pleistocæn"@da , + "Spätes Pleistozän"@de , + "Late Pleistocene"@en , + "Late Pleistocene Age"@en , + "Hiline pleistotseen"@et , + "Myöhäis-Pleistoseeni"@fi , + "késő pleisztocén"@hu , + "後期更新世"@ja , + "Apatinis Pleistocenas"@lt , + "Laat Pleistoceen"@nl , + "Yngre pleistocen"@no , + "Późny Plejstocen"@pl , + "mladší pleistocén"@sk , + "pozni pleistocen"@sl , + "yngre pleistocen"@sv , + "晚更新世"@zh ; + schema:description + "older bound -0.126 Ma"@en , + "younger bound -0.0117 Ma"@en ; +. + + + rdfs:label + "Къѿен Триаѿ"@bg , + "Pozdní trias"@cs , + "Sen Triassisk"@da , + "Späte Trias"@de , + "Late Triassic"@en , + "Late Triassic Epoch"@en , + "Hilis-Triias"@et , + "Myöhäis-Trias"@fi , + "késő-triász"@hu , + "後期三畳紀"@ja , + "Vėlyvasis Triasas"@lt , + "Laat Trias"@nl , + "Sen trias"@no , + "Późny Trias"@pl , + "mladší trias"@sk , + "pozni trias"@sl , + "yngre trias"@sv , + "晚三叠世"@zh ; + schema:description + "older bound -237 Ma"@en , + "younger bound -201.3 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Валанжин"@bg , + "Valangin"@cs , + "Valanginien"@da , + "Valanginium"@de , + "Valanginian"@en , + "Valanginian Age"@en , + "Valanginiense"@es , + "Valangini"@et , + "Valangin"@fi , + "Valanginien"@fr , + "valangini"@hu , + "valanginiano"@it , + "バランギニアン期"@ja , + "Valendis"@lt , + "Vanlangiën"@nl , + "Valanginium"@no , + "Walanżyn"@pl , + "Valanginiano"@pt , + "valanžin"@sk , + "valanginij"@sl , + "valangin"@sv , + "凡兰吟期"@zh ; + schema:description + "older bound -139.8 Ma"@en , + "younger bound -132.9 Ma"@en ; +. + + + rdfs:label + "Визей"@bg , + "Visé"@cs , + "Viseen"@da , + "Viseum"@de , + "Visean"@en , + "Visean Age"@en , + "Viseense"@es , + "Vise"@et , + "Vis"@fi , + "Viséen"@fr , + "viséi"@hu , + "viseano"@it , + "ビゼアン期"@ja , + "Vizejis"@lt , + "Vise-iën"@nl , + "Viseium"@no , + "Wizen"@pl , + "Viseano"@pt , + "visén"@sk , + "viseij"@sl , + "vis"@sv , + "韦宪期"@zh ; + schema:description + "older bound -346.7 +|-0.4 Ma"@en , + "younger bound -330.9 +|-0.2 Ma"@en ; +. + + + rdfs:label + "Венлок"@bg , + "Wenlock"@cs , + "Wenlock"@da , + "Wenlock"@de , + "Wenlock"@en , + "Wenlock Epoch"@en , + "Wenlock"@es , + "Wenlock"@et , + "Wenlock"@fi , + "Wenlock"@fr , + "wenlocki"@hu , + "wenlockiano"@it , + "ウェンロッキアン世"@ja , + "Uenlokis"@lt , + "Wenlock"@nl , + "Welnlock"@no , + "Wenlok"@pl , + "Wenlock"@pt , + "wenlock"@sk , + "wenlockij"@sl , + "wenlock"@sv , + "温洛克世"@zh ; + schema:description + "older bound -433.4 +|-0.8 Ma"@en , + "younger bound -427.4 +|-0.5 Ma"@en ; +. + + + rdfs:label + "Уорд"@bg , + "Word"@cs , + "Wordien"@da , + "Wordium"@de , + "Wordian"@en , + "Wordian Age"@en , + "Wordiense"@es , + "Wordi"@et , + "Word"@fi , + "Wordien"@fr , + "wordi"@hu , + "wordiano"@it , + "ワーディアン期"@ja , + "Vordis"@lt , + "Wordiën"@nl , + "Wordium"@no , + "Word"@pl , + "Wordiano"@pt , + "word"@sk , + "wordij"@sl , + "word"@sv , + "沃德期"@zh ; + schema:description + "older bound -268.8 +|-0.5 Ma"@en , + "younger bound -265.1 +|-0.4 Ma"@en ; +. + + + rdfs:label + "Вучиапинг"@bg , + "Wuchiaping"@cs , + "Wuchiapingien"@da , + "Wuchiapingium"@de , + "Wuchiapingian"@en , + "Wuchiapingian Age"@en , + "Wuchiapingiense"@es , + "Wuchiapingi"@et , + "Wuchiaiping"@fi , + "Wuchiapingien"@fr , + "wuchiapingi"@hu , + "wuchiapingiano"@it , + "ウキアピンギアン期"@ja , + "VuĿiapingis"@lt , + "Wuchiapingiën"@nl , + "Wuchianpingum"@no , + "Wuchiaping"@pl , + "Wuchiapingiano"@pt , + "wuťiapching"@sk , + "wuchiapingij"@sl , + "wuchiaping"@sv , + "吴家坪期"@zh ; + schema:description + "older bound -259.1 +|-0.5 Ma"@en , + "younger bound -254.14 +|-0.07 Ma"@en ; +. + + + rdfs:label + "Wuliuan"@en , + "Wuliuan Age"@en ; + schema:description + "older bound -509 Ma"@en , + "younger bound -504.5 Ma"@en ; +. + + + rdfs:label + "Ипреѿ"@bg , + "Ypres"@cs , + "Ypresien"@da , + "Ypersium"@de , + "Ypresian"@en , + "Ypresian Age"@en , + "Ypresiense"@es , + "Ypresi"@et , + "Ypres"@fi , + "Yprésien"@fr , + "ypresi"@hu , + "ypresiano"@it , + "イプレシアン期"@ja , + "Ypris"@lt , + "Ypresiën"@nl , + "Ypres"@no , + "Ipr"@pl , + "Ipresiano"@pt , + "ypres"@sk , + "ypresij"@sl , + "ypres"@sv , + "伊普雷斯期"@zh ; + schema:description + "older bound -56 Ma"@en , + "younger bound -47.8 Ma"@en ; +. + + + rdfs:label + "Занклѿки"@bg , + "Zancl"@cs , + "Zanclien"@da , + "Zanclium"@de , + "Zanclean"@en , + "Zanclean Age"@en , + "Zanclayense"@es , + "Zancle"@et , + "Zancl"@fi , + "Zancléen"@fr , + "zanclai"@hu , + "zancleano"@it , + "ザンクレアン期"@ja , + "Zanklis"@lt , + "Brunssummiën"@nl , + "Zancleium"@no , + "Zankl"@pl , + "Zancleano"@pt , + "zanclean"@sk , + "zanclij"@sl , + "zancl"@sv , + "赞克勒期"@zh ; + schema:description + "older bound -5.333 Ma"@en , + "younger bound -3.6 Ma"@en ; +. + + + rdfs:label + "Geologic Time Scale (2020)"@en , + "Geological Timescale (2020)"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "RDF representation of the Geologic Time Scale, as defined in the International Chronostratigraphic Chart (ICC) from the International Commission on Stratigraphy (ICS). The ICC embraces both chronostratigraphic (time-rock) units and their equivalent geochronologic (geologic-time) units, the former being related to the ‘Stratigraphic points’ referred to below, and the latter (geochronologic units) being employed in this RDF representation."@en ; +. + diff --git a/prez/reference_data/annotations/owl-annotations.ttl b/prez/reference_data/annotations/owl-annotations.ttl new file mode 100644 index 00000000..4f671b97 --- /dev/null +++ b/prez/reference_data/annotations/owl-annotations.ttl @@ -0,0 +1,413 @@ +PREFIX owl: +PREFIX rdfs: +PREFIX schema: + + + rdfs:seeAlso + , + ; + schema:description """ + This ontology partially describes the built-in classes and + properties that together form the basis of the RDF/XML syntax of OWL 2. + The content of this ontology is based on Tables 6.1 and 6.2 + in Section 6.4 of the OWL 2 RDF-Based Semantics specification, + available at http://www.w3.org/TR/owl2-rdf-based-semantics/. + Please note that those tables do not include the different annotations + (labels, comments and rdfs:isDefinedBy links) used in this file. + Also note that the descriptions provided in this ontology do not + provide a complete and correct formal description of either the syntax + or the semantics of the introduced terms (please see the OWL 2 + recommendations for the complete and normative specifications). + Furthermore, the information provided by this ontology may be + misleading if not used with care. This ontology SHOULD NOT be imported + into OWL ontologies. Importing this file into an OWL 2 DL ontology + will cause it to become an OWL 2 Full ontology and may have other, + unexpected, consequences. + """ ; +. + +owl:AllDifferent + rdfs:label "AllDifferent" ; + schema:description "The class of collections of pairwise different individuals." ; +. + +owl:AllDisjointClasses + rdfs:label "AllDisjointClasses" ; + schema:description "The class of collections of pairwise disjoint classes." ; +. + +owl:AllDisjointProperties + rdfs:label "AllDisjointProperties" ; + schema:description "The class of collections of pairwise disjoint properties." ; +. + +owl:Annotation + rdfs:label "Annotation" ; + schema:description "The class of annotated annotations for which the RDF serialization consists of an annotated subject, predicate and object." ; +. + +owl:AnnotationProperty + rdfs:label "AnnotationProperty" ; + schema:description "The class of annotation properties." ; +. + +owl:AsymmetricProperty + rdfs:label "AsymmetricProperty" ; + schema:description "The class of asymmetric properties." ; +. + +owl:Axiom + rdfs:label "Axiom" ; + schema:description "The class of annotated axioms for which the RDF serialization consists of an annotated subject, predicate and object." ; +. + +owl:Class + rdfs:label "Class" ; + schema:description "The class of OWL classes." ; +. + +owl:DataRange + rdfs:label "DataRange" ; + schema:description "The class of OWL data ranges, which are special kinds of datatypes. Note: The use of the IRI owl:DataRange has been deprecated as of OWL 2. The IRI rdfs:Datatype SHOULD be used instead." ; +. + +owl:DatatypeProperty + rdfs:label "DatatypeProperty" ; + schema:description "The class of data properties." ; +. + +owl:DeprecatedClass + rdfs:label "DeprecatedClass" ; + schema:description "The class of deprecated classes." ; +. + +owl:DeprecatedProperty + rdfs:label "DeprecatedProperty" ; + schema:description "The class of deprecated properties." ; +. + +owl:FunctionalProperty + rdfs:label "FunctionalProperty" ; + schema:description "The class of functional properties." ; +. + +owl:InverseFunctionalProperty + rdfs:label "InverseFunctionalProperty" ; + schema:description "The class of inverse-functional properties." ; +. + +owl:IrreflexiveProperty + rdfs:label "IrreflexiveProperty" ; + schema:description "The class of irreflexive properties." ; +. + +owl:NamedIndividual + rdfs:label "NamedIndividual" ; + schema:description "The class of named individuals." ; +. + +owl:NegativePropertyAssertion + rdfs:label "NegativePropertyAssertion" ; + schema:description "The class of negative property assertions." ; +. + +owl:Nothing + rdfs:label "Nothing" ; + schema:description "This is the empty class." ; +. + +owl:ObjectProperty + rdfs:label "ObjectProperty" ; + schema:description "The class of object properties." ; +. + +owl:Ontology + rdfs:label "Ontology" ; + schema:description "The class of ontologies." ; +. + +owl:OntologyProperty + rdfs:label "OntologyProperty" ; + schema:description "The class of ontology properties." ; +. + +owl:ReflexiveProperty + rdfs:label "ReflexiveProperty" ; + schema:description "The class of reflexive properties." ; +. + +owl:Restriction + rdfs:label "Restriction" ; + schema:description "The class of property restrictions." ; +. + +owl:SymmetricProperty + rdfs:label "SymmetricProperty" ; + schema:description "The class of symmetric properties." ; +. + +owl:Thing + rdfs:label "Thing" ; + schema:description "The class of OWL individuals." ; +. + +owl:TransitiveProperty + rdfs:label "TransitiveProperty" ; + schema:description "The class of transitive properties." ; +. + +owl:allValuesFrom + rdfs:label "allValuesFrom" ; + schema:description "The property that determines the class that a universal property restriction refers to." ; +. + +owl:annotatedProperty + rdfs:label "annotatedProperty" ; + schema:description "The property that determines the predicate of an annotated axiom or annotated annotation." ; +. + +owl:annotatedSource + rdfs:label "annotatedSource" ; + schema:description "The property that determines the subject of an annotated axiom or annotated annotation." ; +. + +owl:annotatedTarget + rdfs:label "annotatedTarget" ; + schema:description "The property that determines the object of an annotated axiom or annotated annotation." ; +. + +owl:assertionProperty + rdfs:label "assertionProperty" ; + schema:description "The property that determines the predicate of a negative property assertion." ; +. + +owl:backwardCompatibleWith + rdfs:label "backwardCompatibleWith" ; + schema:description "The annotation property that indicates that a given ontology is backward compatible with another ontology." ; +. + +owl:bottomDataProperty + rdfs:label "bottomDataProperty" ; + schema:description "The data property that does not relate any individual to any data value." ; +. + +owl:bottomObjectProperty + rdfs:label "bottomObjectProperty" ; + schema:description "The object property that does not relate any two individuals." ; +. + +owl:cardinality + rdfs:label "cardinality" ; + schema:description "The property that determines the cardinality of an exact cardinality restriction." ; +. + +owl:complementOf + rdfs:label "complementOf" ; + schema:description "The property that determines that a given class is the complement of another class." ; +. + +owl:datatypeComplementOf + rdfs:label "datatypeComplementOf" ; + schema:description "The property that determines that a given data range is the complement of another data range with respect to the data domain." ; +. + +owl:deprecated + rdfs:label "deprecated" ; + schema:description "The annotation property that indicates that a given entity has been deprecated." ; +. + +owl:differentFrom + rdfs:label "differentFrom" ; + schema:description "The property that determines that two given individuals are different." ; +. + +owl:disjointUnionOf + rdfs:label "disjointUnionOf" ; + schema:description "The property that determines that a given class is equivalent to the disjoint union of a collection of other classes." ; +. + +owl:disjointWith + rdfs:label "disjointWith" ; + schema:description "The property that determines that two given classes are disjoint." ; +. + +owl:distinctMembers + rdfs:label "distinctMembers" ; + schema:description "The property that determines the collection of pairwise different individuals in a owl:AllDifferent axiom." ; +. + +owl:equivalentClass + rdfs:label "equivalentClass" ; + schema:description "The property that determines that two given classes are equivalent, and that is used to specify datatype definitions." ; +. + +owl:equivalentProperty + rdfs:label "equivalentProperty" ; + schema:description "The property that determines that two given properties are equivalent." ; +. + +owl:hasKey + rdfs:label "hasKey" ; + schema:description "The property that determines the collection of properties that jointly build a key." ; +. + +owl:hasSelf + rdfs:label "hasSelf" ; + schema:description "The property that determines the property that a self restriction refers to." ; +. + +owl:hasValue + rdfs:label "hasValue" ; + schema:description "The property that determines the individual that a has-value restriction refers to." ; +. + +owl:imports + rdfs:label "imports" ; + schema:description "The property that is used for importing other ontologies into a given ontology." ; +. + +owl:incompatibleWith + rdfs:label "incompatibleWith" ; + schema:description "The annotation property that indicates that a given ontology is incompatible with another ontology." ; +. + +owl:intersectionOf + rdfs:label "intersectionOf" ; + schema:description "The property that determines the collection of classes or data ranges that build an intersection." ; +. + +owl:inverseOf + rdfs:label "inverseOf" ; + schema:description "The property that determines that two given properties are inverse." ; +. + +owl:maxCardinality + rdfs:label "maxCardinality" ; + schema:description "The property that determines the cardinality of a maximum cardinality restriction." ; +. + +owl:maxQualifiedCardinality + rdfs:label "maxQualifiedCardinality" ; + schema:description "The property that determines the cardinality of a maximum qualified cardinality restriction." ; +. + +owl:members + rdfs:label "members" ; + schema:description "The property that determines the collection of members in either a owl:AllDifferent, owl:AllDisjointClasses or owl:AllDisjointProperties axiom." ; +. + +owl:minCardinality + rdfs:label "minCardinality" ; + schema:description "The property that determines the cardinality of a minimum cardinality restriction." ; +. + +owl:minQualifiedCardinality + rdfs:label "minQualifiedCardinality" ; + schema:description "The property that determines the cardinality of a minimum qualified cardinality restriction." ; +. + +owl:onClass + rdfs:label "onClass" ; + schema:description "The property that determines the class that a qualified object cardinality restriction refers to." ; +. + +owl:onDataRange + rdfs:label "onDataRange" ; + schema:description "The property that determines the data range that a qualified data cardinality restriction refers to." ; +. + +owl:onDatatype + rdfs:label "onDatatype" ; + schema:description "The property that determines the datatype that a datatype restriction refers to." ; +. + +owl:onProperties + rdfs:label "onProperties" ; + schema:description "The property that determines the n-tuple of properties that a property restriction on an n-ary data range refers to." ; +. + +owl:onProperty + rdfs:label "onProperty" ; + schema:description "The property that determines the property that a property restriction refers to." ; +. + +owl:oneOf + rdfs:label "oneOf" ; + schema:description "The property that determines the collection of individuals or data values that build an enumeration." ; +. + +owl:priorVersion + rdfs:label "priorVersion" ; + schema:description "The annotation property that indicates the predecessor ontology of a given ontology." ; +. + +owl:propertyChainAxiom + rdfs:label "propertyChainAxiom" ; + schema:description "The property that determines the n-tuple of properties that build a sub property chain of a given property." ; +. + +owl:propertyDisjointWith + rdfs:label "propertyDisjointWith" ; + schema:description "The property that determines that two given properties are disjoint." ; +. + +owl:qualifiedCardinality + rdfs:label "qualifiedCardinality" ; + schema:description "The property that determines the cardinality of an exact qualified cardinality restriction." ; +. + +owl:sameAs + rdfs:label "sameAs" ; + schema:description "The property that determines that two given individuals are equal." ; +. + +owl:someValuesFrom + rdfs:label "someValuesFrom" ; + schema:description "The property that determines the class that an existential property restriction refers to." ; +. + +owl:sourceIndividual + rdfs:label "sourceIndividual" ; + schema:description "The property that determines the subject of a negative property assertion." ; +. + +owl:targetIndividual + rdfs:label "targetIndividual" ; + schema:description "The property that determines the object of a negative object property assertion." ; +. + +owl:targetValue + rdfs:label "targetValue" ; + schema:description "The property that determines the value of a negative data property assertion." ; +. + +owl:topDataProperty + rdfs:label "topDataProperty" ; + schema:description "The data property that relates every individual to every data value." ; +. + +owl:topObjectProperty + rdfs:label "topObjectProperty" ; + schema:description "The object property that relates every two individuals." ; +. + +owl:unionOf + rdfs:label "unionOf" ; + schema:description "The property that determines the collection of classes or data ranges that build a union." ; +. + +owl:versionIRI + rdfs:label "versionIRI" ; + schema:description "The property that identifies the version IRI of an ontology." ; +. + +owl:versionInfo + rdfs:label "versionInfo" ; + schema:description "The annotation property that provides version information for an ontology or another OWL construct." ; +. + +owl:withRestrictions + rdfs:label "withRestrictions" ; + schema:description "The property that determines the collection of facet-value pairs that define a datatype restriction." ; +. + diff --git a/prez/reference_data/annotations/pav-annotations.ttl b/prez/reference_data/annotations/pav-annotations.ttl new file mode 100644 index 00000000..58c4d63e --- /dev/null +++ b/prez/reference_data/annotations/pav-annotations.ttl @@ -0,0 +1,527 @@ +PREFIX dcterms: +PREFIX foaf: +PREFIX prov: +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + rdfs:label "Khalid Belhajjame" ; +. + + + rdfs:label "Stian Soiland-Reyes" ; +. + + + rdfs:label "Simon Jupp" ; +. + + + rdfs:label "Paolo Ciccarese" ; +. + + + rdfs:label "Alasdair J G Gray" ; +. + + + rdfs:label + "PAV - Provenance, Authoring and Versioning"@en , + "Provenance, Authoring and Versioning (PAV)"@en ; + rdfs:seeAlso + , + , + , + prov: , + ; + schema:description + , + """PAV is a lightweight ontology for tracking Provenance, Authoring and Versioning. PAV specializes the W3C provenance ontology PROV-O in order to describe authorship, curation and digital creation of online resources. + + This ontology describes the defined PAV properties and their usage. Note that PAV does not define any explicit classes or domain/ranges, as every property is meant to be used directly on the described online resource. + + Cite as: Paolo Ciccarese, Stian Soiland-Reyes, Khalid Belhajjame, Alasdair JG Gray, Carole Goble, Tim Clark (2013): PAV ontology: provenance, authoring and versioning. Journal of biomedical semantics 4 (1), 37. doi:10.1186/2041-1480-4-37 + """@en , + """PAV supplies terms for distinguishing between the different roles of the agents contributing content in current web based systems: contributors, authors, curators and digital artifact creators. The ontology also provides terms for tracking provenance of digital entities that are published on the web and then accessed, transformed and consumed. In order to support broader interoperability, PAV specializes the general purpose W3C PROV provenance model (PROV-O). + +PAV distinguishes between the data related to the digital artifact - named Provenance - and those related to the actual knowledge creation and therefore to the intellectual property aspects – named Authoring. The Versioning axis describes the evolution of digital entities in time. + +Using PAV, descriptions can define the authors that originate or gave existence to the work that is expressed in the digital resource (pav:authoredBy); curators (pav:curatedBy) who are content specialists responsible for shaping the expression in an appropriate format, and contributors (super-property pav:contributedBy) that provided some help in conceiving the resource or in the expressed knowledge creation/extraction. + +These provenance aspects can be detailed with dates using pav:curatedOn, pav:authoredOn, etc. Further details about the creation activities, such as different authors contributing specific parts of the resource at different dates are out of scope for PAV and should be defined using vocabularies like PROV-O and additional intermediate entities to describe the different states. + +For resources based on other resources, PAV allows specification of direct retrieval (pav:retrievedFrom), import through transformations (pav:importedFrom) and sources that were merely consulted (pav:sourceAccessedAt). These aspects can also define the agents responsible using pav:retrievedBy, pav:importedBy and pav:sourceAccessedBy. + +Version number of a resource can be given with pav:version, the previous version of the resource with pav:previousVersion, and any other earlier versions with pav:hasEarlierVersion. Unversioned, 'mutable' resources can specify their current version as a snapshot resource using pav:hasCurrentVersion and list the earlier versions using pav:hasVersion. + +The creation of the digital representation (e.g. an RDF graph or a .docx file) can in many cases be different from the authorship of the content/knowledge, and in PAV this digital creation is specified using pav:createdBy, pav:createdWith and pav:createdOn. + +PAV specializes terms from W3C PROV-O (prov:) and DC Terms (dcterms:), however these ontologies are not OWL imported as PAV can be used independently. The "is defined by" links indicate where those terms are included from. See http://www.w3.org/TR/prov-o and http://dublincore.org/documents/2012/06/14/dcmi-terms/ for more details. See http://purl.org/pav/mapping/dcterms For a comprehensive SKOS mapping to DC Terms. + +PAV 2 is based on PAV 1.2 but in a different namespace ( http://purl.org/pav/ ). Terms compatible with 1.2 are indicated in this ontology using owl:equivalentProperty. + +The ontology IRI http://purl.org/pav/ always resolve to the latest version of PAV 2. Particular versionIRIs such as http://purl.org/pav/2.1 can be used by clients to force imports of a particular version - note however that all terms are defined directly in the http://purl.org/pav/ namespace. + +The goal of PAV is to provide a lightweight, straight forward way to give the essential information about authorship, provenance and versioning, and therefore these properties are described directly on the published resource. As such, PAV does not define any classes or restrict domain/ranges, as all properties are applicable to any online resource. + +-- + +Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School; Balboa Systems; University of Manchester + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +"""@en ; +. + + + rdfs:label "Created with"@en ; + rdfs:seeAlso ; + schema:description """The software/tool used by the creator (pav:createdBy) when making the digital resource, for instance a word processor or an annotation tool. A more independent software agent that creates the resource without direct interaction by a human creator should instead should instead by indicated using pav:createdBy. +"""@en ; +. + + + rdfs:label "Curates"@en ; + schema:description "Provided for backwards compatibility. Use instead the inverse pav:curatedBy."@en ; +. + + + rdfs:label "Has earlier version"@en ; + schema:description """This versioned resource has an earlier version. + +Any earlier version of this resource can be indicated with pav:hasEarlierVersion, e.g.: + + pav:hasEarlierVersion ; + pav:hasEarlierVersion . + + +The subproperty pav:previousVersion SHOULD be used if the earlier version is the direct ancestor of this version. + + pav:previousVersion . + + +This property is transitive, so it should not be necessary to repeat the earlier versions of an earlier version. A chain of previous versions can be declared using the subproperty pav:previousVersion, implying that the previous previous version is also an earlier version. It might however still be useful to declare an earlier version explicitly, for instance because it is an earlier version of high relevance or because the complete chain of pav:previousVersion is not available. + + +To indicate that this version is a snapshot of a more general, non-versioned resource, e.g. "Weather Today" vs. "Weather Today on 2013-12-07", see pav:hasVersion.""" ; +. + + + rdfs:label "Last refreshed on"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description """The date of the last re-import of the resource. This property is used in addition to pav:importedOn if this version has been updated due to a re-import. If the re-import created a new resource rather than refreshing an existing resource, then instead use pav:importedOn together with pav:previousVersion. + +This property is normally used in a functional way, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Last updated on"@en ; + rdfs:seeAlso + , + ; + schema:description """The date of the last update of the resource. An update is a change which did not warrant making a new resource related using pav:previousVersion, for instance correcting a spelling mistake. + +This property is normally used in a functional way, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Provided by"@en ; + rdfs:seeAlso dcterms:publisher ; + schema:description """The original provider of the encoded information (e.g. PubMed, UniProt, Science Commons). + +The provider might not coincide with the dct:publisher, which would describe the current publisher of the resource. For instance if the resource was retrieved, imported or derived from a source, that source was published by the original provider. pav:providedBy provides a shortcut to indicate that original provider on the new resource. """@en ; +. + + + rdfs:label "Marco Ocana" ; +. + +foaf:isPrimaryTopicOf + rdfs:label "foaf:isPrimaryTopicOf"@en ; +. + +foaf:name + rdfs:label "foaf:name"@en ; +. + + + rdfs:label "Authored on"@en ; + rdfs:seeAlso + , + , + ; + schema:description """The date this resource was authored. + +pav:authoredBy gives the authoring agent. + +Note that pav:authoredOn is different from pav:createdOn, although they are often the same. See pav:createdBy for a discussion. + +This property is normally used in a functional way, indicating the last time of authoring, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Contributed by"@en ; + rdfs:seeAlso + , + ; + schema:description """The resource was contributed to by the given agent. + +Specifies an agent that provided any sort of help in conceiving the work that is expressed by the digital artifact. + +Contributions can take many forms, of which PAV define the subproperties pav:authoredBy and pav:curatedBy; however other specific roles could also be specified by pav:contributedBy or custom subproperties, such as illustrating, investigating or managing the underlying data source. Contributions can additionally be expressed in detail using prov:qualifiedAttribution and prov:hadRole. + +Note that pav:contributedBy identifies only agents that contributed to the work, knowledge or intellectual property, and not agents that made the digital artifact or representation (pav:createdBy), thus the considerations for software agents is similar to for pav:authoredBy and pav:curatedBy. + +pav:contributedBy is more specific than its superproperty dct:contributor - which might or might not be interpreted to also cover contributions to making the representation of the artifact. + + +The date of contribution can be expressed using pav:contributedOn - note however in the case of multiple contributors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy."""@en ; +. + + + rdfs:label "Contributed on"@en ; + rdfs:seeAlso ; + schema:description """The date this resource was contributed to. + +pav:contributedBy provides the agent(s) that contributed. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Curated on"@en ; + rdfs:seeAlso ; + schema:description """The date this resource was curated. + +pav:curatedBy gives the agent(s) that performed the curation. + +This property is normally used in a functional way, indicating the last curation date, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Has current version"@en ; + schema:description """This resource has a more specific, versioned resource with equivalent content. + +This property is intended for relating a non-versioned or abstract resource to a single snapshot that can be used as a permalink to indicate the current version of the content. + +For instance, if today is 2013-12-25, then a News page can indicate a corresponding snapshot resource which will refer to the news as they were of 2013-12-25. + + pav:hasCurrentVersion . + +"Equivalent content" is a loose definition, for instance the snapshot resource might include additional information to indicate it is a snapshot, and is not required to be immutable. + +Other versioned resources indicating the content at earlier times MAY be indicated with the superproperty pav:hasVersion, one of which MAY be related to the current version using pav:hasCurrentVersion: + + pav:previousVersion . + pav:hasVersion . + +Note that it might be confusing to also indicate pav:previousVersion from a resource that has hasCurrentVersion relations, as such a resource is intended to be a long-living "unversioned" resource. The PAV ontology does however not formally restrict this, to cater for more complex scenarios with multiple abstraction levels. + +Similarly, it would normally be incorrect to indicate a pav:hasCurrentVersion from an older version; instead the current version would be found by finding the non-versioned resource that the particular resource is a version of, and then its current version. + +This property is normally used in a functional way, although PAV does not formally restrict this."""@en ; +. + + + rdfs:label "Has version"@en ; + rdfs:seeAlso + , + ; + schema:description """This resource has a more specific, versioned resource. + +This property is intended for relating a non-versioned or abstract resource to several versioned resources, e.g. snapshots. For instance, if there are two snapshots of the News page, made on 23rd and 24th of December, then: + + pav:hasVersion ; + pav:hasVersion . + +If one of the versions has somewhat the equivalent content to this resource (e.g. can be used as a permalink for this resource), then it should instead be indicated with the subproperty pav:hasCurrentVersion: + + pav:hasCurrentVersion . + +To order the versions, use pav:previousVersion: + + pav:previousVersion . + pav:previousVersion . + +Note that it might be confusing to also indicate pav:previousVersion from a resource that has pav:hasVersion relations, as such a resource is intended to be a long-living "unversioned" resource. The PAV ontology does however not formally restrict this, to cater for more complex scenarios with multiple abstraction levels. + +pav:hasVersion is a subproperty of dcterms:hasVersion to more strongly define this hierarchical pattern. It is therefore also a subproperty of pav:generalizationOf (inverse of prov:specializationOf). + +To indicate the existence of other, non-hierarchical kind of editions and adaptations of this resource that are not versioned snapshots (e.g. Powerpoint slides has a video recording version), use instead dcterms:hasVersion or prov:alternateOf."""@en ; +. + + + rdfs:label "Retrieved on"@en ; + rdfs:seeAlso + , + ; + schema:description """The date the source for this resource was retrieved. + +The source that was retrieved should be indicated with pav:retrievedFrom. The agent that performed the retrieval may be specified with pav:retrievedBy. + +This property is normally used in a functional way, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Source accessed on"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description """The resource is related to a source which was originally accessed or consulted on the given date as part of creating or authoring the resource. The source(s) should be specified using pav:sourceAccessedAt. + +For instance, if the source accessed described the weather forecast for the next day, the time of source access can be crucial information. + +This property is normally used in a functional way, although PAV does not formally restrict this. If the source is subsequently checked again (say to verify validity), this should be indicated with pav:sourceLastAccessedOn. + +In the case multiple sources being accessed at different times or by different agents, PAV does not distinguish who accessed when what. If such details are required, they may be provided by additionally using prov:qualifiedInfluence. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Version"@en ; + rdfs:seeAlso ; + schema:description """The version number of a resource. This is a freetext string, typical values are "1.5" or "21". The URI identifying the previous version can be provided using prov:previousVersion. + +This property is normally used in a functional way, although PAV does not formally restrict this."""^^xsd:string ; +. + + + rdfs:label "Authored by"@en ; + rdfs:seeAlso + , + ; + schema:description """An agent that originated or gave existence to the work that is expressed by the digital resource. + +The author of the content of a resource may be different from the creator of the resource representation (although they are often the same). See pav:createdBy for a discussion. + +pav:authoredBy is more specific than its superproperty dct:creator - which might or might not be interpreted to also cover the creation of the representation of the artifact. + +The author is usually not a software agent (which would be indicated with pav:createdWith, pav:createdBy or pav:importedBy), unless the software actually authored the content itself; for instance an artificial intelligence algorithm which authored a piece of music or a machine learning algorithm that authored a classification of a tumor sample. + +The date of authoring can be expressed using pav:authoredOn - note however in the case of multiple authors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy."""@en ; +. + + + rdfs:label "Curated by"@en ; + rdfs:seeAlso + , + ; + schema:description """Specifies an agent specialist responsible for shaping the expression in an appropriate format. Often the primary agent responsible for ensuring the quality of the representation. + +The curator may be different from the author (pav:authoredBy) and creator of the digital resource (pav:createdBy). + +The curator may in some cases be a software agent, for instance text mining software which adds hyperlinks for recognized genome names. + +The date of curating can be expressed using pav:curatedOn - note however in the case of multiple curators that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy."""@en ; +. + + + rdfs:label "Derived from"@en ; + rdfs:seeAlso + , + ; + schema:description """Derived from a different resource. + +Derivation conserns itself with derived knowledge. If this resource has the same content as the other resource, but has simply been transcribed to fit a different model (like XML -> RDF or SQL -> CVS), use pav:importedFrom. If a resource was simply retrieved, use pav:retrievedFrom. If the content has however been further refined or modified, pav:derivedFrom should be used. + +Details about who performed the derivation (e.g. who did the refining or modifications) may be indicated with pav:contributedBy and its subproperties. +"""@en ; +. + + + rdfs:label "Imported on"@en ; + rdfs:seeAlso + , + ; + schema:description """The date this resource was imported from a source (pav:importedFrom). + +Note that pav:importedOn may overlap with pav:createdOn, but in cases where they differ, the import time indicates the time of the retrieval and transcription of the original source, while the creation time indicates when the final resource was made, for instance after user approval. + +This property is normally used in a functional way, indicating the first import date, although PAV does not formally restrict this. If the resource is later reimported, this should instead be indicated with pav:lastRefreshedOn. + +The source of the import should be given with pav:importedFrom. The agent that performed the import should be given with pav:importedBy. + +See pav:importedFrom for a discussion about import vs. retrieval. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Retrieved by"@en ; + rdfs:seeAlso ; + schema:description """An entity responsible for retrieving the data from an external source. + +The retrieving agent is usually a software entity, which has done the retrieval from the original source without performing any transcription. + +The source that was retrieved should be given with pav:retrievedFrom. The time of the retrieval should be indicated using pav:retrievedOn. + +See pav:importedFrom for a discussion of import vs. retrieve vs. derived."""@en ; +. + + + rdfs:label "Source last accessed on"@en ; + rdfs:seeAlso + , + , + ; + schema:description """The resource is related to a source which was last accessed or consulted on the given date. The source(s) should be specified using pav:sourceAccessedAt. Usage of this property indicates that the source has been checked previously, which the initial time should be indicated with pav:sourceAccessedOn. + +This property can be useful together with pav:lastRefreshedOn or pav:lastUpdateOn in order to indicate a re-import or update, but could also be used alone, for instance when a source was simply verified and no further action was taken for the resource. + +This property is normally used in a functional way, although PAV does not formally restrict this. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Created at"@en ; + rdfs:seeAlso ; + schema:description "The geo-location of the agents when creating the resource (pav:createdBy). For instance a photographer takes a picture of the Eiffel Tower while standing in front of it."@en ; +. + + + rdfs:label "Created on"@en ; + rdfs:seeAlso ; + schema:description """The date of creation of the resource representation. + +The agents responsible can be indicated with pav:createdBy. + +This property is normally used in a functional way, indicating the time of creation, although PAV does not formally restrict this. pav:lastUpdateOn can be used to indicate minor updates that did not affect the creating date. + +The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime."""@en ; +. + + + rdfs:label "Imported by"@en ; + rdfs:seeAlso ; + schema:description """An entity responsible for importing the data. + +The importer is usually a software entity which has done the transcription from the original source. + +Note that pav:importedBy may overlap with pav:createdWith. + +The source for the import should be given with pav:importedFrom. The time of the import should be given with pav:importedOn. + +See pav:importedFrom for a discussion of import vs. retrieve vs. derived."""@en ; +. + + + rdfs:label "Retrieved from"@en ; + rdfs:seeAlso + , + ; + schema:description """The URI where a resource has been retrieved from. + +The retrieving agent is usually a software entity, which has done the retrieval from the original source without performing any transcription. + +Retrieval indicates that this resource has the same representation as the original resource. If the resource has been somewhat transformed, use pav:importedFrom instead. + +The time of the retrieval should be indicated using pav:retrievedOn. The agent may be indicated with pav:retrievedBy."""@en ; +. + + + rdfs:label "Source accessed at"@en ; + rdfs:seeAlso + , + , + , + , + ; + schema:description """The resource is related to a given source which was accessed or consulted (but not retrieved, imported or derived from). This access can be detailed with pav:sourceAccessedBy and pav:sourceAccessedOn. + +For instance, a curator (pav:curatedBy) might have consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper's supplementary CSV file. + +Another example: I can access the page for tomorrow weather in Boston (http://www.weather.com/weather/tomorrow/Boston+MA+02143) and I can blog ‘tomorrow is going to be nice’. The source does not make any claims about the nice weather, that is my interpretation; therefore the blog post has pav:sourceAccessedAt the weather page. """@en ; +. + + + rdfs:label "Source accessed by"@en ; + rdfs:seeAlso ; + schema:description """The resource is related to a source which was accessed or consulted +by the given agent. The source(s) should be specified using pav:sourceAccessedAt, and the time with pav:sourceAccessedOn. + +For instance, the given agent could be a curator (also pav:curatedBy) which consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper's supplementary CSV file."""@en ; +. + + + rdfs:label "Previous version"@en ; + rdfs:seeAlso + , + , + ; + schema:description """The previous version of a resource in a lineage. For instance a news article updated to correct factual information would point to the previous version of the article with pav:previousVersion. If however the content has significantly changed so that the two resources no longer share lineage (say a new article that talks about the same facts), they can instead be related using pav:derivedFrom. + +This property is normally used in a functional way, although PAV does not formally restrict this. Earlier versions which are not direct ancestors of this resource may instead be provided using the superproperty pav:hasEarlierVersion. + +A version number of this resource can be provided using the data property pav:version. + +To indicate that this version is a snapshot of a more general, non-versioned resource, e.g. "Weather Today" vs. "Weather Today on 2013-12-07", see pav:hasVersion. + +Note that it might be confusing to indicate pav:previousVersion from a resource that also has pav:hasVersion or pav:hasCurrentVersion relations, as such resources are intended to be a long-living and "unversioned", while pav:previousVersion is intended for use between permalink-like "snapshots" arranged in a linear history. """@en ; +. + + + rdfs:label "Imported from"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description """The original source of imported information. + +Import means that the content has been preserved, but transcribed somehow, for instance to fit a different representation model by converting formats. Examples of import are when the original was JSON and the current resource is RDF, or where the original was an document scan, and this resource is the plain text found through OCR. + +The imported resource does not have to be complete, but should be consistent with the knowledge conveyed by the original resource. + +If additional knowledge has been contributed, pav:derivedFrom would be more appropriate. + +If the resource has been copied verbatim from the original representation (e.g. downloaded), use pav:retrievedFrom. + +To indicate which agent(s) performed the import, use pav:importedBy. Use pav:importedOn to indicate when it happened. """@en ; +. + + + rdfs:label "Created by"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description """An agent primary responsible for making the digital artifact or resource representation. + +This property is distinct from forming the content, which is indicated with pav:contributedBy or its subproperties; pav:authoredBy, which identifies who authored the knowledge expressed by this resource; and pav:curatedBy, which identifies who curated the knowledge into its current form. + +pav:createdBy is more specific than its superproperty dct:creator - which might or might not be interpreted to cover this creator. + +For instance, the author wrote 'this species has bigger wings than normal' in his log book. The curator, going through the log book and identifying important knowledge, formalizes this as 'locus perculus has wingspan > 0.5m'. The creator enters this knowledge as a digital resource in the knowledge system, thus creating the digital artifact (say as JSON, RDF, XML or HTML). + +A different example is a news article. pav:authoredBy indicates the journalist who wrote the article. pav:contributedBy can indicate the artist who added an illustration. pav:curatedBy can indicate the editor who made the article conform to the news paper's style. pav:createdBy can indicate who put the article on the web site. + +The software tool used by the creator to make the digital resource (say Protege, Wordpress or OpenOffice) can be indicated with pav:createdWith. + +The date the digital resource was created can be indicated with pav:createdOn. + +The location the agent was at when creating the digital resource can be made using pav:createdAt."""@en ; +. + diff --git a/prez/reference_data/annotations/prof-annotations.ttl b/prez/reference_data/annotations/prof-annotations.ttl new file mode 100644 index 00000000..f72be513 --- /dev/null +++ b/prez/reference_data/annotations/prof-annotations.ttl @@ -0,0 +1,78 @@ +PREFIX prof: +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Profiles Vocabulary" ; + schema:description """This vocabulary is for describing relationships between standards/specifications, profiles of them and supporting artifacts such as validating resources. + +This model starts with [http://dublincore.org/2012/06/14/dcterms#Standard](dct:Standard) entities which can either be Base Specifications (a standard not profiling any other Standard) or Profiles (Standards which do profile others). Base Specifications or Profiles can have Resource Descriptors associated with them that defines implementing rules for the it. Resource Descriptors must indicate the role they play (to guide, to validate etc.) and the formalism they adhere to (dct:format) to allow for content negotiation. A vocabulary of Resource Roles are provided alongside this vocabulary but that list is extensible."""@en ; +. + +prof:Profile + rdfs:label "Profile" ; + schema:description """A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications. + +This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles"."""@en ; +. + +prof:ResourceDescriptor + rdfs:label "Resource Descriptor"@en ; + schema:description "A description of a resource that defines an aspect - a particular part, feature or role - of a Profile"@en ; +. + +prof:ResourceRole + rdfs:label "Resource Role" ; + schema:description "A role that an profile resource, described by a Resource Descriptor, plays"@en ; +. + +prof:hasArtifact + rdfs:label "has artifact" ; + schema:description "The URL of a downloadable file with particulars such as its format and role indicated by the Resource Descriptor"@en ; +. + +prof:hasResource + rdfs:label "has resource"@en ; + schema:description "A resource which describes the nature of an artifact and the role it plays in relation to the Profile"@en ; +. + +prof:hasRole + rdfs:label "has role" ; + schema:description "The function of an artifact described by a Resource Descriptor, such as specification, guidance etc."@en ; +. + +prof:hasToken + rdfs:label "has token" ; + schema:description "The preferred identifier for the Profile, for use in circumstances where its URI cannot be used"@en ; +. + +prof:isInheritedFrom + rdfs:label "is inherited from" ; + schema:description "A base specification, a Resource Descriptor from which is to be considered a Resource Descriptor for this Profile also"@en ; +. + +prof:isProfileOf + rdfs:label "is profile of" ; + schema:description "A specification for which this Profile defines constraints, extensions, or which it uses in combination with other specifications, or provides guidance or explanation about its usage"@en ; +. + +prof:isTransitiveProfileOf + rdfs:label "is transitive profile of" ; + schema:description "The transitive closure of the prof:isProfileOf property. Relates a profile to another specification that it is a profile of, possibly via a chain of intermediate profiles that are in prof:isProfileOf relationships"@en ; +. + +[] rdfs:label "Nicholas J. Car" ; +. + +[] rdfs:label "SURROUND Australia Pty Ltd" ; +. + +[] rdfs:label "Rob Atkinson" ; +. + +[] rdfs:label "Open Geospatial Consortium" ; +. + +[] rdfs:label "Metalinkage" ; +. + diff --git a/prez/reference_data/annotations/prov-annotations.ttl b/prez/reference_data/annotations/prov-annotations.ttl new file mode 100644 index 00000000..4f8e465f --- /dev/null +++ b/prez/reference_data/annotations/prov-annotations.ttl @@ -0,0 +1,882 @@ +PREFIX prov: +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + rdfs:seeAlso ; +. + +prov:Accept + rdfs:label "Accept"@en ; +. + +prov:Activity + rdfs:label "Activity" ; +. + +prov:ActivityInfluence + rdfs:label "Activity Influence" ; + rdfs:seeAlso prov:activity ; + schema:description + "ActivityInfluence provides additional descriptions of an Activity's binary influence upon any other kind of resource. Instances of ActivityInfluence use the prov:activity property to cite the influencing Activity."@en , + "It is not recommended that the type ActivityInfluence be asserted without also asserting one of its more specific subclasses."@en ; +. + +prov:Agent + rdfs:label "Agent" ; +. + +prov:AgentInfluence + rdfs:label "Agent Influence" ; + rdfs:seeAlso prov:agent ; + schema:description + "AgentInfluence provides additional descriptions of an Agent's binary influence upon any other kind of resource. Instances of AgentInfluence use the prov:agent property to cite the influencing Agent."@en , + "It is not recommended that the type AgentInfluence be asserted without also asserting one of its more specific subclasses."@en ; +. + +prov:Association + rdfs:label "Association" ; + schema:description "An instance of prov:Association provides additional descriptions about the binary prov:wasAssociatedWith relation from an prov:Activity to some prov:Agent that had some responsiblity for it. For example, :baking prov:wasAssociatedWith :baker; prov:qualifiedAssociation [ a prov:Association; prov:agent :baker; :foo :bar ]."@en ; +. + +prov:Attribution + rdfs:label "Attribution" ; + schema:description "An instance of prov:Attribution provides additional descriptions about the binary prov:wasAttributedTo relation from an prov:Entity to some prov:Agent that had some responsible for it. For example, :cake prov:wasAttributedTo :baker; prov:qualifiedAttribution [ a prov:Attribution; prov:entity :baker; :foo :bar ]."@en ; +. + +prov:Bundle + rdfs:label "Bundle" ; + schema:description "Note that there are kinds of bundles (e.g. handwritten letters, audio recordings, etc.) that are not expressed in PROV-O, but can be still be described by PROV-O."@en ; +. + +prov:Collection + rdfs:label "Collection" ; +. + +prov:Communication + rdfs:label "Communication" ; + schema:description "An instance of prov:Communication provides additional descriptions about the binary prov:wasInformedBy relation from an informed prov:Activity to the prov:Activity that informed it. For example, :you_jumping_off_bridge prov:wasInformedBy :everyone_else_jumping_off_bridge; prov:qualifiedCommunication [ a prov:Communication; prov:activity :everyone_else_jumping_off_bridge; :foo :bar ]."@en ; +. + +prov:Contribute + rdfs:label """Contribute +"""@en ; +. + +prov:Contributor + rdfs:label "Contributor"@en ; +. + +prov:Copyright + rdfs:label "Copyright"@en ; +. + +prov:Create + rdfs:label "Create"@en ; +. + +prov:Creator + rdfs:label "Creator"@en ; +. + +prov:Delegation + rdfs:label "Delegation" ; + schema:description "An instance of prov:Delegation provides additional descriptions about the binary prov:actedOnBehalfOf relation from a performing prov:Agent to some prov:Agent for whom it was performed. For example, :mixing prov:wasAssociatedWith :toddler . :toddler prov:actedOnBehalfOf :mother; prov:qualifiedDelegation [ a prov:Delegation; prov:entity :mother; :foo :bar ]."@en ; +. + +prov:Derivation + rdfs:label "Derivation" ; + schema:description + "An instance of prov:Derivation provides additional descriptions about the binary prov:wasDerivedFrom relation from some derived prov:Entity to another prov:Entity from which it was derived. For example, :chewed_bubble_gum prov:wasDerivedFrom :unwrapped_bubble_gum; prov:qualifiedDerivation [ a prov:Derivation; prov:entity :unwrapped_bubble_gum; :foo :bar ]."@en , + "The more specific forms of prov:Derivation (i.e., prov:Revision, prov:Quotation, prov:PrimarySource) should be asserted if they apply."@en ; +. + +prov:Dictionary + rdfs:label "Dictionary" ; + schema:description + "A given dictionary forms a given structure for its members. A different structure (obtained either by insertion or removal of members) constitutes a different dictionary." , + "This concept allows for the provenance of the dictionary, but also of its constituents to be expressed. Such a notion of dictionary corresponds to a wide variety of concrete data structures, such as a maps or associative arrays." ; +. + +prov:DirectQueryService + rdfs:label "Provenance Service" ; + schema:description "Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments." ; +. + +prov:EmptyCollection + rdfs:label "Empty Collection"@en ; +. + +prov:EmptyDictionary + rdfs:label "Empty Dictionary" ; +. + +prov:End + rdfs:label "End" ; + schema:description "An instance of prov:End provides additional descriptions about the binary prov:wasEndedBy relation from some ended prov:Activity to an prov:Entity that ended it. For example, :ball_game prov:wasEndedBy :buzzer; prov:qualifiedEnd [ a prov:End; prov:entity :buzzer; :foo :bar; prov:atTime '2012-03-09T08:05:08-05:00'^^xsd:dateTime ]."@en ; +. + +prov:Entity + rdfs:label "Entity" ; +. + +prov:EntityInfluence + rdfs:label "Entity Influence" ; + rdfs:seeAlso prov:entity ; + schema:description + "EntityInfluence provides additional descriptions of an Entity's binary influence upon any other kind of resource. Instances of EntityInfluence use the prov:entity property to cite the influencing Entity."@en , + "It is not recommended that the type EntityInfluence be asserted without also asserting one of its more specific subclasses."@en ; +. + +prov:Generation + rdfs:label "Generation" ; + schema:description "An instance of prov:Generation provides additional descriptions about the binary prov:wasGeneratedBy relation from a generated prov:Entity to the prov:Activity that generated it. For example, :cake prov:wasGeneratedBy :baking; prov:qualifiedGeneration [ a prov:Generation; prov:activity :baking; :foo :bar ]."@en ; +. + +prov:Influence + rdfs:label "Influence" ; + schema:description + "An instance of prov:Influence provides additional descriptions about the binary prov:wasInfluencedBy relation from some influenced Activity, Entity, or Agent to the influencing Activity, Entity, or Agent. For example, :stomach_ache prov:wasInfluencedBy :spoon; prov:qualifiedInfluence [ a prov:Influence; prov:entity :spoon; :foo :bar ] . Because prov:Influence is a broad relation, the more specific relations (Communication, Delegation, End, etc.) should be used when applicable."@en , + "Because prov:Influence is a broad relation, its most specific subclasses (e.g. prov:Communication, prov:Delegation, prov:End, prov:Revision, etc.) should be used when applicable."@en ; +. + +prov:Insertion + rdfs:label "Insertion" ; +. + +prov:InstantaneousEvent + rdfs:label "Instantaneous Event" ; + schema:description "An instantaneous event, or event for short, happens in the world and marks a change in the world, in its activities and in its entities. The term 'event' is commonly used in process algebra with a similar meaning. Events represent communications or interactions; they are assumed to be atomic and instantaneous."@en ; +. + +prov:Invalidation + rdfs:label "Invalidation" ; + schema:description "An instance of prov:Invalidation provides additional descriptions about the binary prov:wasInvalidatedBy relation from an invalidated prov:Entity to the prov:Activity that invalidated it. For example, :uncracked_egg prov:wasInvalidatedBy :baking; prov:qualifiedInvalidation [ a prov:Invalidation; prov:activity :baking; :foo :bar ]."@en ; +. + +prov:KeyEntityPair + rdfs:label "Key-Entity Pair" ; +. + +prov:Location + rdfs:label "Location" ; + rdfs:seeAlso prov:atLocation ; +. + +prov:Modify + rdfs:label "Modify"@en ; +. + +prov:Organization + rdfs:label "Organization" ; +. + +prov:Person + rdfs:label "Person" ; +. + +prov:Plan + rdfs:label "Plan" ; + schema:description "There exist no prescriptive requirement on the nature of plans, their representation, the actions or steps they consist of, or their intended goals. Since plans may evolve over time, it may become necessary to track their provenance, so plans themselves are entities. Representing the plan explicitly in the provenance can be useful for various tasks: for example, to validate the execution as represented in the provenance record, to manage expectation failures, or to provide explanations."@en ; +. + +prov:PrimarySource + rdfs:label "Primary Source" ; + schema:description "An instance of prov:PrimarySource provides additional descriptions about the binary prov:hadPrimarySource relation from some secondary prov:Entity to an earlier, primary prov:Entity. For example, :blog prov:hadPrimarySource :newsArticle; prov:qualifiedPrimarySource [ a prov:PrimarySource; prov:entity :newsArticle; :foo :bar ] ."@en ; +. + +prov:Publish + rdfs:label "Publish"@en ; +. + +prov:Publisher + rdfs:label "Publisher"@en ; +. + +prov:Quotation + rdfs:label "Quotation" ; + schema:description "An instance of prov:Quotation provides additional descriptions about the binary prov:wasQuotedFrom relation from some taken prov:Entity from an earlier, larger prov:Entity. For example, :here_is_looking_at_you_kid prov:wasQuotedFrom :casablanca_script; prov:qualifiedQuotation [ a prov:Quotation; prov:entity :casablanca_script; :foo :bar ]."@en ; +. + +prov:Removal + rdfs:label "Removal" ; +. + +prov:Replace + rdfs:label "Replace"@en ; +. + +prov:Revision + rdfs:label "Revision" ; + schema:description "An instance of prov:Revision provides additional descriptions about the binary prov:wasRevisionOf relation from some newer prov:Entity to an earlier prov:Entity. For example, :draft_2 prov:wasRevisionOf :draft_1; prov:qualifiedRevision [ a prov:Revision; prov:entity :draft_1; :foo :bar ]."@en ; +. + +prov:RightsAssignment + rdfs:label "RightsAssignment"@en ; +. + +prov:RightsHolder + rdfs:label "RightsHolder"@en ; +. + +prov:Role + rdfs:label "Role" ; + rdfs:seeAlso prov:hadRole ; +. + +prov:ServiceDescription + rdfs:label "Service Description" ; + schema:description "Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments." ; +. + +prov:SoftwareAgent + rdfs:label + "Software Agent" , + "SoftwareAgent" ; +. + +prov:Start + rdfs:label "Start" ; + schema:description "An instance of prov:Start provides additional descriptions about the binary prov:wasStartedBy relation from some started prov:Activity to an prov:Entity that started it. For example, :foot_race prov:wasStartedBy :bang; prov:qualifiedStart [ a prov:Start; prov:entity :bang; :foo :bar; prov:atTime '2012-03-09T08:05:08-05:00'^^xsd:dateTime ] ."@en ; +. + +prov:Submit + rdfs:label "Submit"@en ; +. + +prov:Usage + rdfs:label "Usage" ; + schema:description "An instance of prov:Usage provides additional descriptions about the binary prov:used relation from some prov:Activity to an prov:Entity that it used. For example, :keynote prov:used :podium; prov:qualifiedUsage [ a prov:Usage; prov:entity :podium; :foo :bar ]."@en ; +. + +prov:actedOnBehalfOf + rdfs:label "acted on behalf of" ; + schema:description "An object property to express the accountability of an agent towards another agent. The subordinate agent acted on behalf of the responsible agent in an actual activity. "@en ; +. + +prov:activityOfInfluence + rdfs:label "activity of influence" ; +. + +prov:agentOfInfluence + rdfs:label "agent of influence" ; +. + +prov:asInBundle + rdfs:label "asInBundle" ; + schema:description """prov:asInBundle is used to specify which bundle the general entity of a prov:mentionOf property is described. + +When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described."""@en ; +. + +prov:atTime + rdfs:label "at time" ; + schema:description "The time at which an InstantaneousEvent occurred, in the form of xsd:dateTime."@en ; +. + +prov:category + schema:description "Classify prov-o terms into three categories, including 'starting-point', 'qualifed', and 'extended'. This classification is used by the prov-o html document to gently introduce prov-o terms to its users. "@en ; +. + +prov:component + schema:description "Classify prov-o terms into six components according to prov-dm, including 'agents-responsibility', 'alternate', 'annotations', 'collections', 'derivations', and 'entities-activities'. This classification is used so that readers of prov-o specification can find its correspondence with the prov-dm specification."@en ; +. + +prov:constraints + schema:description "A reference to the principal section of the PROV-CONSTRAINTS document that describes this concept."@en ; +. + +prov:contributed + rdfs:label "contributed" ; +. + +prov:definition + schema:description "A definition quoted from PROV-DM or PROV-CONSTRAINTS that describes the concept expressed with this OWL term."@en ; +. + +prov:derivedByInsertionFrom + rdfs:label "derivedByInsertionFrom" ; +. + +prov:derivedByRemovalFrom + rdfs:label "derivedByRemovalFrom" ; +. + +prov:describesService + rdfs:label "describes service" ; + schema:description "relates a generic provenance query service resource (type prov:ServiceDescription) to a specific query service description (e.g. a prov:DirectQueryService or a sd:Service)."@en ; +. + +prov:dictionary + rdfs:label "dictionary" ; +. + +prov:dm + schema:description "A reference to the principal section of the PROV-DM document that describes this concept."@en ; +. + +prov:editorialNote + schema:description "A note by the OWL development team about how this term expresses the PROV-DM concept, or how it should be used in context of semantic web or linked data."@en ; +. + +prov:editorsDefinition + schema:description "When the prov-o term does not have a definition drawn from prov-dm, and the prov-o editor provides one."@en ; +. + +prov:ended + rdfs:label "ended" ; +. + +prov:endedAtTime + rdfs:label "ended at time" ; + schema:description "The time at which an activity ended. See also prov:startedAtTime."@en ; +. + +prov:entityOfInfluence + rdfs:label "entity of influence" ; +. + +prov:generalizationOf + rdfs:label "generalization of" ; +. + +prov:generated + rdfs:label "generated" ; +. + +prov:generatedAsDerivation + rdfs:label "generated as derivation" ; +. + +prov:generatedAtTime + rdfs:label "generated at time" ; + schema:description "The time at which an entity was completely created and is available for use."@en ; +. + +prov:hadActivity + rdfs:label "had activity" ; + schema:description + "This property has multiple RDFS domains to suit multiple OWL Profiles. See PROV-O OWL Profile." , + "The _optional_ Activity of an Influence, which used, generated, invalidated, or was the responsibility of some Entity. This property is _not_ used by ActivityInfluence (use prov:activity instead)."@en ; +. + +prov:hadDelegate + rdfs:label "had delegate" ; +. + +prov:hadDerivation + rdfs:label "had derivation" ; +. + +prov:hadDictionaryMember + rdfs:label "hadDictionaryMember" ; +. + +prov:hadGeneration + rdfs:label "had generation" ; + schema:description "The _optional_ Generation involved in an Entity's Derivation."@en ; +. + +prov:hadInfluence + rdfs:label "had influence" ; +. + +prov:hadMember + rdfs:label "had member" ; +. + +prov:hadPlan + rdfs:label "had plan" ; + schema:description "The _optional_ Plan adopted by an Agent in Association with some Activity. Plan specifications are out of the scope of this specification."@en ; +. + +prov:hadPrimarySource + rdfs:label "had primary source" ; +. + +prov:hadRevision + rdfs:label "had revision" ; +. + +prov:hadUsage + rdfs:label + "had usage" , + "hadUsage" ; + schema:description "The _optional_ Usage involved in an Entity's Derivation."@en ; +. + +prov:has_anchor + rdfs:label "has anchor" ; + schema:description "Indicates anchor URI for a potentially dynamic resource instance."@en ; +. + +prov:has_provenance + rdfs:label "has provenance" ; + schema:description "Indicates a provenance-URI for a resource; the resource identified by this property presents a provenance record about its subject or anchor resource."@en ; +. + +prov:has_query_service + rdfs:label "has provenance service" ; + schema:description "Indicates a provenance query service that can access provenance related to its subject or anchor resource."@en ; +. + +prov:influenced + rdfs:label "influenced" ; +. + +prov:influencer + rdfs:label "influencer" ; + schema:description "Subproperties of prov:influencer are used to cite the object of an unqualified PROV-O triple whose predicate is a subproperty of prov:wasInfluencedBy (e.g. prov:used, prov:wasGeneratedBy). prov:influencer is used much like rdf:object is used."@en ; +. + +prov:informed + rdfs:label "informed" ; +. + +prov:insertedKeyEntityPair + rdfs:label "insertedKeyEntityPair" ; +. + +prov:invalidated + rdfs:label "invalidated" ; +. + +prov:invalidatedAtTime + rdfs:label "invalidated at time" ; + schema:description "The time at which an entity was invalidated (i.e., no longer usable)."@en ; +. + +prov:inverse + rdfs:seeAlso ; + schema:description "PROV-O does not define all property inverses. The directionalities defined in PROV-O should be given preference over those not defined. However, if users wish to name the inverse of a PROV-O property, the local name given by prov:inverse should be used."@en ; +. + +prov:locationOf + rdfs:label "location of" ; +. + +prov:mentionOf + rdfs:label "mentionOf" ; + schema:description """prov:mentionOf is used to specialize an entity as described in another bundle. It is to be used in conjuction with prov:asInBundle. + +prov:asInBundle is used to cite the Bundle in which the generalization was mentioned."""@en ; +. + +prov:n + schema:description + "A reference to the principal section of the PROV-DM document that describes this concept."@en , + "A reference to the principal section of the PROV-M document that describes this concept."@en ; +. + +prov:order + schema:description "The position that this OWL term should be listed within documentation. The scope of the documentation (e.g., among all terms, among terms within a prov:category, among properties applying to a particular class, etc.) is unspecified."@en ; +. + +prov:pairEntity + rdfs:label "pairKey" ; +. + +prov:pairKey + rdfs:label "pairKey" ; +. + +prov:pingback + rdfs:label "provenance pingback" ; + schema:description "Relates a resource to a provenance pingback service that may receive additional provenance links about the resource."@en ; +. + +prov:provenanceUriTemplate + rdfs:label "provenanceUriTemplate" ; + schema:description "Relates a provenance service to a URI template string for constructing provenance-URIs."@en ; +. + +prov:qualifiedAssociation + rdfs:label "qualified association" ; + schema:description "If this Activity prov:wasAssociatedWith Agent :ag, then it can qualify the Association using prov:qualifiedAssociation [ a prov:Association; prov:agent :ag; :foo :bar ]."@en ; +. + +prov:qualifiedAssociationOf + rdfs:label "qualified association of" ; +. + +prov:qualifiedAttribution + rdfs:label "qualified attribution" ; + schema:description "If this Entity prov:wasAttributedTo Agent :ag, then it can qualify how it was influenced using prov:qualifiedAttribution [ a prov:Attribution; prov:agent :ag; :foo :bar ]."@en ; +. + +prov:qualifiedAttributionOf + rdfs:label "qualified attribution of" ; +. + +prov:qualifiedCommunication + rdfs:label "qualified communication" ; + schema:description "If this Activity prov:wasInformedBy Activity :a, then it can qualify how it was influenced using prov:qualifiedCommunication [ a prov:Communication; prov:activity :a; :foo :bar ]."@en ; +. + +prov:qualifiedCommunicationOf + rdfs:label "qualified communication of" ; +. + +prov:qualifiedDelegation + rdfs:label "qualified delegation" ; + schema:description "If this Agent prov:actedOnBehalfOf Agent :ag, then it can qualify how with prov:qualifiedResponsibility [ a prov:Responsibility; prov:agent :ag; :foo :bar ]."@en ; +. + +prov:qualifiedDelegationOf + rdfs:label "qualified delegation of" ; +. + +prov:qualifiedDerivation + rdfs:label "qualified derivation" ; + schema:description "If this Entity prov:wasDerivedFrom Entity :e, then it can qualify how it was derived using prov:qualifiedDerivation [ a prov:Derivation; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedDerivationOf + rdfs:label "qualified derivation of" ; +. + +prov:qualifiedEnd + rdfs:label "qualified end" ; + schema:description "If this Activity prov:wasEndedBy Entity :e1, then it can qualify how it was ended using prov:qualifiedEnd [ a prov:End; prov:entity :e1; :foo :bar ]."@en ; +. + +prov:qualifiedEndOf + rdfs:label "qualified end of" ; +. + +prov:qualifiedForm + schema:description """This annotation property links a subproperty of prov:wasInfluencedBy with the subclass of prov:Influence and the qualifying property that are used to qualify it. + +Example annotation: + + prov:wasGeneratedBy prov:qualifiedForm prov:qualifiedGeneration, prov:Generation . + +Then this unqualified assertion: + + :entity1 prov:wasGeneratedBy :activity1 . + +can be qualified by adding: + + :entity1 prov:qualifiedGeneration :entity1Gen . + :entity1Gen + a prov:Generation, prov:Influence; + prov:activity :activity1; + :customValue 1337 . + +Note how the value of the unqualified influence (prov:wasGeneratedBy :activity1) is mirrored as the value of the prov:activity (or prov:entity, or prov:agent) property on the influence class."""@en ; +. + +prov:qualifiedGeneration + rdfs:label "qualified generation" ; + schema:description "If this Activity prov:generated Entity :e, then it can qualify how it performed the Generation using prov:qualifiedGeneration [ a prov:Generation; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedGenerationOf + rdfs:label "qualified generation of" ; +. + +prov:qualifiedInfluence + rdfs:label "qualified influence" ; + schema:description "Because prov:qualifiedInfluence is a broad relation, the more specific relations (qualifiedCommunication, qualifiedDelegation, qualifiedEnd, etc.) should be used when applicable."@en ; +. + +prov:qualifiedInfluenceOf + rdfs:label "qualified influence of" ; +. + +prov:qualifiedInsertion + rdfs:label "qualifiedInsertion" ; +. + +prov:qualifiedInvalidation + rdfs:label "qualified invalidation" ; + schema:description "If this Entity prov:wasInvalidatedBy Activity :a, then it can qualify how it was invalidated using prov:qualifiedInvalidation [ a prov:Invalidation; prov:activity :a; :foo :bar ]."@en ; +. + +prov:qualifiedInvalidationOf + rdfs:label "qualified invalidation of" ; +. + +prov:qualifiedPrimarySource + rdfs:label "qualified primary source" ; + schema:description "If this Entity prov:hadPrimarySource Entity :e, then it can qualify how using prov:qualifiedPrimarySource [ a prov:PrimarySource; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedQuotation + rdfs:label "qualified quotation" ; + schema:description "If this Entity prov:wasQuotedFrom Entity :e, then it can qualify how using prov:qualifiedQuotation [ a prov:Quotation; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedQuotationOf + rdfs:label "qualified quotation of" ; +. + +prov:qualifiedRemoval + rdfs:label "qualifiedRemoval" ; +. + +prov:qualifiedRevision + rdfs:label "qualified revision" ; + schema:description "If this Entity prov:wasRevisionOf Entity :e, then it can qualify how it was revised using prov:qualifiedRevision [ a prov:Revision; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedSourceOf + rdfs:label "qualified source of" ; +. + +prov:qualifiedStart + rdfs:label "qualified start" ; + schema:description "If this Activity prov:wasStartedBy Entity :e1, then it can qualify how it was started using prov:qualifiedStart [ a prov:Start; prov:entity :e1; :foo :bar ]."@en ; +. + +prov:qualifiedStartOf + rdfs:label "qualified start of" ; +. + +prov:qualifiedUsage + rdfs:label "qualified usage" ; + schema:description "If this Activity prov:used Entity :e, then it can qualify how it used it using prov:qualifiedUsage [ a prov:Usage; prov:entity :e; :foo :bar ]."@en ; +. + +prov:qualifiedUsingActivity + rdfs:label "qualified using activity" ; +. + +prov:quotedAs + rdfs:label "quoted as" ; +. + +prov:removedKey + rdfs:label "removedKey" ; +. + +prov:revisedEntity + rdfs:label "revised entity" ; +. + +prov:started + rdfs:label "started" ; +. + +prov:startedAtTime + rdfs:label "started at time" ; + schema:description "The time at which an activity started. See also prov:endedAtTime."@en ; +. + +prov:unqualifiedForm + schema:description "Classes and properties used to qualify relationships are annotated with prov:unqualifiedForm to indicate the property used to assert an unqualified provenance relation."@en ; +. + +prov:used + rdfs:label "used" ; + schema:description "A prov:Entity that was used by this prov:Activity. For example, :baking prov:used :spoon, :egg, :oven ."@en ; +. + +prov:value + rdfs:label "value" ; +. + +prov:wasActivityOfInfluence + rdfs:label "was activity of influence" ; +. + +prov:wasAssociateFor + rdfs:label "was associate for" ; +. + +prov:wasAssociatedWith + rdfs:label "was associated with" ; + schema:description "An prov:Agent that had some (unspecified) responsibility for the occurrence of this prov:Activity."@en ; +. + +prov:wasAttributedTo + rdfs:label "was attributed to" ; + schema:description "Attribution is the ascribing of an entity to an agent."@en ; +. + +prov:wasDerivedFrom + rdfs:label "was derived from" ; + schema:description "The more specific subproperties of prov:wasDerivedFrom (i.e., prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource) should be used when applicable."@en ; +. + +prov:wasEndedBy + rdfs:label "was ended by" ; + schema:description "End is when an activity is deemed to have ended. An end may refer to an entity, known as trigger, that terminated the activity."@en ; +. + +prov:wasGeneratedBy + rdfs:label + "was generated by" , + "was generatedby" ; +. + +prov:wasInfluencedBy + rdfs:label "was influenced by" ; + schema:description + "This property has multiple RDFS domains to suit multiple OWL Profiles. See PROV-O OWL Profile." , + "Because prov:wasInfluencedBy is a broad relation, its more specific subproperties (e.g. prov:wasInformedBy, prov:actedOnBehalfOf, prov:wasEndedBy, etc.) should be used when applicable."@en ; +. + +prov:wasInformedBy + rdfs:label "was informed by" ; + schema:description "An activity a2 is dependent on or informed by another activity a1, by way of some unspecified entity that is generated by a1 and used by a2."@en ; +. + +prov:wasInvalidatedBy + rdfs:label "was invalidated by" ; +. + +prov:wasMemberOf + rdfs:label "was member of" ; +. + +prov:wasPlanOf + rdfs:label "was plan of" ; +. + +prov:wasPrimarySourceOf + rdfs:label "was primary source of" ; +. + +prov:wasQuotedFrom + rdfs:label "was quoted from" ; + schema:description "An entity is derived from an original entity by copying, or 'quoting', some or all of it."@en ; +. + +prov:wasRevisionOf + rdfs:label "was revision of" ; + schema:description "A revision is a derivation that revises an entity into a revised version."@en ; +. + +prov:wasRoleIn + rdfs:label "wasRoleIn" ; +. + +prov:wasStartedBy + rdfs:label "was started by" ; + schema:description "Start is when an activity is deemed to have started. A start may refer to an entity, known as trigger, that initiated the activity."@en ; +. + +prov:wasUsedBy + rdfs:label "was used by" ; +. + +prov:wasUsedInDerivation + rdfs:label "was used in derivation" ; +. + + + rdfs:label "PROV Access and Query Ontology"@en ; + rdfs:seeAlso + , + prov: ; + schema:description + "0.2"^^xsd:string , + """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). + +If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome."""@en ; +. + + + rdfs:label "Dublin Core extensions of the W3C PROVenance Interchange Ontology (PROV-O) "@en ; + schema:description """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). + +If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome."""@en ; +. + + + rdfs:label "W3C PROVenance Interchange Ontology (PROV-O) Dictionary Extension"@en ; + rdfs:seeAlso + , + ; + schema:description """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). + +If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome."""@en ; +. + + + rdfs:label "W3C PROV Linking Across Provenance Bundles Ontology (PROV-LINKS)"@en ; + rdfs:seeAlso + , + ; + schema:description """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/ +). All feedback is welcome."""@en ; +. + + + rdfs:label "W3C PROVenance Interchange Ontology (PROV-O)"@en ; + rdfs:seeAlso + , + ; + schema:description """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). + +If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome."""@en ; +. + +prov: + rdfs:label "W3C Provenance Ontology"@en ; + rdfs:seeAlso ; + schema:description """This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). + +If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/ +Archives/Public/public-prov-comments/). All feedback is welcome."""@en ; +. + +prov:activity + rdfs:label "activity" ; +. + +prov:agent + rdfs:label "agent" ; +. + +prov:alternateOf + rdfs:label "alternate of" ; + rdfs:seeAlso prov:specializationOf ; +. + +prov:atLocation + rdfs:label "atLocation" ; + schema:description + "This property has multiple RDFS domains to suit multiple OWL Profiles. See PROV-O OWL Profile." , + "The Location of any resource."@en ; +. + +prov:entity + rdfs:label "entity" ; +. + +prov:hadRole + rdfs:label "had role" ; + schema:description + "This property has multiple RDFS domains to suit multiple OWL Profiles. See PROV-O OWL Profile." , + "The _optional_ Role that an Entity assumed in the context of an Activity. For example, :baking prov:used :spoon; prov:qualified [ a prov:Usage; prov:entity :spoon; prov:hadRole roles:mixing_implement ]."@en ; +. + +prov:specializationOf + rdfs:label + "specialization of" , + "specializationOf" ; + rdfs:seeAlso prov:alternateOf ; +. + +[] schema:description "A collection is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be member of the collections."@en ; +. + +[] schema:description "hadPrimarySource property is a particular case of wasDerivedFrom (see http://www.w3.org/TR/prov-dm/#term-original-source) that aims to give credit to the source that originated some information." ; +. + +[] schema:description "Attribution is a particular case of trace (see http://www.w3.org/TR/prov-dm/#concept-trace), in the sense that it links an entity to the agent that ascribed it." ; +. + +[] schema:description "Derivation is a particular case of trace (see http://www.w3.org/TR/prov-dm/#term-trace), since it links an entity to another entity that contributed to its existence." ; +. + +[] schema:description "Quotation is a particular case of derivation (see http://www.w3.org/TR/prov-dm/#term-quotation) in which an entity is derived from an original entity by copying, or \"quoting\", some or all of it. " ; +. + +[] schema:description """Revision is a derivation (see http://www.w3.org/TR/prov-dm/#term-Revision). Moreover, according to +http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#term-Revision 23 April 2012 'wasRevisionOf is a strict sub-relation of wasDerivedFrom since two entities e2 and e1 may satisfy wasDerivedFrom(e2,e1) without being a variant of each other.'""" ; +. + diff --git a/prez/reference_data/annotations/qb-annotations.ttl b/prez/reference_data/annotations/qb-annotations.ttl new file mode 100644 index 00000000..0df0fcf6 --- /dev/null +++ b/prez/reference_data/annotations/qb-annotations.ttl @@ -0,0 +1,191 @@ +PREFIX qb: +PREFIX rdfs: +PREFIX schema: + + + rdfs:label + "The data cube vocabulary" , + "Vocabulary for multi-dimensional (e.g. statistical) data publishing" ; + schema:description "This vocabulary allows multi-dimensional data, such as statistics, to be published in RDF. It is based on the core information model from SDMX (and thus also DDI)." ; +. + +qb:Attachable + rdfs:label "Attachable (abstract)"@en ; + schema:description "Abstract superclass for everything that can have attributes and dimensions"@en ; +. + +qb:AttributeProperty + rdfs:label "Attribute property"@en ; + schema:description "The class of components which represent attributes of observations in the cube, e.g. unit of measurement"@en ; +. + +qb:CodedProperty + rdfs:label "Coded property"@en ; + schema:description "Superclass of all coded ComponentProperties"@en ; +. + +qb:ComponentProperty + rdfs:label "Component property (abstract)"@en ; + schema:description "Abstract super-property of all properties representing dimensions, attributes or measures"@en ; +. + +qb:ComponentSet + rdfs:label "Component set"@en ; + schema:description "Abstract class of things which reference one or more ComponentProperties"@en ; +. + +qb:ComponentSpecification + rdfs:label "Component specification"@en ; + schema:description "Used to define properties of a component (attribute, dimension etc) which are specific to its usage in a DSD."@en ; +. + +qb:DataSet + rdfs:label "Data set"@en ; + schema:description "Represents a collection of observations, possibly organized into various slices, conforming to some common dimensional structure."@en ; +. + +qb:DataStructureDefinition + rdfs:label "Data structure definition"@en ; + schema:description "Defines the structure of a DataSet or slice"@en ; +. + +qb:DimensionProperty + rdfs:label "Dimension property"@en ; + schema:description "The class of components which represent the dimensions of the cube"@en ; +. + +qb:HierarchicalCodeList + rdfs:label "Hierarchical Code List"@en ; + schema:description "Represents a generalized hierarchy of concepts which can be used for coding. The hierarchy is defined by one or more roots together with a property which relates concepts in the hierarchy to thier child concept . The same concepts may be members of multiple hierarchies provided that different qb:parentChildProperty values are used for each hierarchy."@en ; +. + +qb:MeasureProperty + rdfs:label "Measure property"@en ; + schema:description "The class of components which represent the measured value of the phenomenon being observed"@en ; +. + +qb:Observation + rdfs:label "Observation"@en ; + schema:description "A single observation in the cube, may have one or more associated measured values"@en ; +. + +qb:ObservationGroup + rdfs:label "Observation Group"@en ; + schema:description "A, possibly arbitrary, group of observations."@en ; +. + +qb:Slice + rdfs:label "Slice"@en ; + schema:description "Denotes a subset of a DataSet defined by fixing a subset of the dimensional values, component properties on the Slice"@en ; +. + +qb:SliceKey + rdfs:label "Slice key"@en ; + schema:description "Denotes a subset of the component properties of a DataSet which are fixed in the corresponding slices"@en ; +. + +qb:attribute + rdfs:label "attribute"@en ; + schema:description "An alternative to qb:componentProperty which makes explicit that the component is a attribute"@en ; +. + +qb:codeList + rdfs:label "code list"@en ; + schema:description "gives the code list associated with a CodedProperty"@en ; +. + +qb:component + rdfs:label "component specification"@en ; + schema:description "indicates a component specification which is included in the structure of the dataset"@en ; +. + +qb:componentAttachment + rdfs:label "component attachment"@en ; + schema:description "Indicates the level at which the component property should be attached, this might an qb:DataSet, qb:Slice or qb:Observation, or a qb:MeasureProperty."@en ; +. + +qb:componentProperty + rdfs:label "component"@en ; + schema:description "indicates a ComponentProperty (i.e. attribute/dimension) expected on a DataSet, or a dimension fixed in a SliceKey"@en ; +. + +qb:componentRequired + rdfs:label "component required"@en ; + schema:description """Indicates whether a component property is required (true) or optional (false) in the context of a DSD. Only applicable + to components correspond to an attribute. Defaults to false (optional)."""@en ; +. + +qb:concept + rdfs:label "concept"@en ; + schema:description "gives the concept which is being measured or indicated by a ComponentProperty"@en ; +. + +qb:dataSet + rdfs:label "data set"@en ; + schema:description "indicates the data set of which this observation is a part"@en ; +. + +qb:dimension + rdfs:label "dimension"@en ; + schema:description "An alternative to qb:componentProperty which makes explicit that the component is a dimension"@en ; +. + +qb:hierarchyRoot + schema:description "Specifies a root of the hierarchy. A hierarchy may have multiple roots but must have at least one."@en ; +. + +qb:measure + rdfs:label "measure"@en ; + schema:description "An alternative to qb:componentProperty which makes explicit that the component is a measure"@en ; +. + +qb:measureDimension + rdfs:label "measure dimension"@en ; + schema:description "An alternative to qb:componentProperty which makes explicit that the component is a measure dimension"@en ; +. + +qb:measureType + rdfs:label "measure type"@en ; + schema:description "Generic measure dimension, the value of this dimension indicates which measure (from the set of measures in the DSD) is being given by the obsValue (or other primary measure)"@en ; +. + +qb:observation + rdfs:label "observation"@en ; + schema:description "indicates a observation contained within this slice of the data set"@en ; +. + +qb:observationGroup + rdfs:label "observation group"@en ; + schema:description "Indicates a group of observations. The domain of this property is left open so that a group may be attached to different resources and need not be restricted to a single DataSet"@en ; +. + +qb:order + rdfs:label "order"@en ; + schema:description "indicates a priority order for the components of sets with this structure, used to guide presentations - lower order numbers come before higher numbers, un-numbered components come last"@en ; +. + +qb:parentChildProperty + rdfs:label "parent-child property"@en ; + schema:description "Specifies a property which relates a parent concept in the hierarchy to a child concept."@en ; +. + +qb:slice + rdfs:label "slice"@en ; + schema:description "Indicates a subset of a DataSet defined by fixing a subset of the dimensional values"@en ; +. + +qb:sliceKey + rdfs:label "slice key"@en ; + schema:description "indicates a slice key which is used for slices in this dataset"@en ; +. + +qb:sliceStructure + rdfs:label "slice structure"@en ; + schema:description "indicates the sub-key corresponding to this slice"@en ; +. + +qb:structure + rdfs:label "structure"@en ; + schema:description "indicates the structure to which this data set conforms"@en ; +. + diff --git a/prez/reference_data/annotations/quantitykinds-annotations.ttl b/prez/reference_data/annotations/quantitykinds-annotations.ttl new file mode 100644 index 00000000..11854351 --- /dev/null +++ b/prez/reference_data/annotations/quantitykinds-annotations.ttl @@ -0,0 +1,6658 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "QUDT Quantity Kind Vocabulary Version 2.1.33" ; +. + + + rdfs:label "Absolute Activity"@en ; + schema:description "The \"Absolute Activity\" is the exponential of the ratio of the chemical potential to \\(RT\\) where \\(R\\) is the gas constant and \\(T\\) the thermodynamic temperature."^^ ; +. + + + rdfs:label "Absorbed Dose"@en ; + schema:description + "\"Absorbed Dose\" (also known as Total Ionizing Dose, TID) is a measure of the energy deposited in a medium by ionizing radiation. It is equal to the energy deposited per unit mass of medium, and so has the unit \\(J/kg\\), which is given the special name Gray (\\(Gy\\))."^^ , + "Note that the absorbed dose is not a good indicator of the likely biological effect. 1 Gy of alpha radiation would be much more biologically damaging than 1 Gy of photon radiation for example. Appropriate weighting factors can be applied reflecting the different relative biological effects to find the equivalent dose. The risk of stoctic effects due to radiation exposure can be quantified using the effective dose, which is a weighted average of the equivalent dose to each organ depending upon its radiosensitivity. When ionising radiation is used to treat cancer, the doctor will usually prescribe the radiotherapy treatment in Gy. When risk from ionising radiation is being discussed, a related unit, the Sievert is used." ; +. + + + rdfs:label "Absorbed Dose Rate"@en ; + schema:description ""Absorbed Dose Rate" is the absorbed dose of ionizing radiation imparted at a given location per unit of time (second, minute, hour, or day)."^^rdf:HTML ; +. + + + rdfs:label "Absorptance"@en ; + schema:description "Absorptance is the ratio of the radiation absorbed by a surface to that incident upon it. Also known as absorbance."^^rdf:HTML ; +. + + + rdfs:label + "التسارع"@ar , + "Zrychlení"@cs , + "Beschleunigung"@de , + "Όγκος"@el , + "acceleration"@en , + "aceleración"@es , + "شتاب"@fa , + "accélération"@fr , + "त्वरण"@hi , + "accelerazione"@it , + "加速度"@ja , + "acceleratio"@la , + "Pecutan"@ms , + "przyspieszenie"@pl , + "aceleração"@pt , + "accelerație"@ro , + "Ускоре́ние"@ru , + "pospešek"@sl , + "ivme"@tr , + "加速度"@zh ; + schema:description "Acceleration is the (instantaneous) rate of change of velocity. Acceleration may be either linear acceleration, or angular acceleration. It is a vector quantity with dimension \\(length/time^{2}\\) for linear acceleration, or in the case of angular acceleration, with dimension \\(angle/time^{2}\\). In SI units, linear acceleration is measured in \\(meters/second^{2}\\) (\\(m \\cdot s^{-2}\\)) and angular acceleration is measured in \\(radians/second^{2}\\). In physics, any increase or decrease in speed is referred to as acceleration and similarly, motion in a circle at constant speed is also an acceleration, since the direction component of the velocity is changing."^^ ; +. + + + rdfs:label "Acceleration Of Gravity"@en ; + schema:description "The acceleration of freely falling bodies under the influence of terrestrial gravity, equal to approximately 9.81 meters (32 feet) per second per second."^^rdf:HTML ; +. + + + rdfs:label "Acceptor Density"@en ; + schema:description ""Acceptor Density" is the number per volume of acceptor levels."^^rdf:HTML ; +. + + + rdfs:label "Acceptor Ionization Energy"@en ; + schema:description ""Acceptor Ionization Energy" is the ionization energy of an acceptor."^^rdf:HTML ; +. + + + rdfs:label "Acidity"@en ; + schema:description "Chemicals or substances having a pH less than 7 are said to be acidic; lower pH means higher acidity."^^rdf:HTML ; +. + + + rdfs:label "Acoustic Impediance"@en ; + schema:description "Acoustic impedance at a surface is the complex quotient of the average sound pressure over that surface by the sound volume flow rate through that surface."^^rdf:HTML ; +. + + + rdfs:label "Action"@en ; + schema:description """An action is usually an integral over time. But for action pertaining to fields, it may be integrated over spatial variables as well. In some cases, the action is integrated along the path followed by the physical system. If the action is represented as an integral over time, taken a the path of the system between the initial time and the final time of the development of the system. +The evolution of a physical system between two states is determined by requiring the action be minimized or, more generally, be stationary for small perturbations about the true evolution. This requirement leads to differential equations that describe the true evolution. Conversely, an action principle is a method for reformulating differential equations of motion for a physical system as an equivalent integral equation. Although several variants have been defined (see below), the most commonly used action principle is Hamilton's principle.""" ; +. + + + rdfs:label "Action Time"@en ; + schema:description "Action Time (sec) " ; +. + + + rdfs:label "Active Energy"@en ; + rdfs:seeAlso ; + schema:description ""Active Energy" is the electrical energy transformable into some other form of energy."^^rdf:HTML ; +. + + + rdfs:label "Activity"@en ; + schema:description "\"Activity\" is the number of decays per unit time of a radioactive sample, the term used to characterise the number of nuclei which disintegrate in a radioactive substance per unit time. Activity is usually measured in Becquerels (\\(Bq\\)), where 1 \\(Bq\\) is 1 disintegration per second, in honor of the scientist Henri Becquerel."^^ ; +. + + + rdfs:label "Activity Coefficient"@en ; + schema:description "An "Activity Coefficient" is a factor used in thermodynamics to account for deviations from ideal behaviour in a mixture of chemical substances. In an ideal mixture, the interactions between each pair of chemical species are the same (or more formally, the enthalpy change of solution is zero) and, as a result, properties of the mixtures can be expressed directly in terms of simple concentrations or partial pressures of the substances present e.g. Raoult's law. Deviations from ideality are accommodated by modifying the concentration by an activity coefficient. "^^rdf:HTML ; +. + + + rdfs:label "Activity Concentration"@en ; + schema:description "The "Activity Concentration", also known as volume activity, and activity density, is ."^^rdf:HTML ; +. + + + rdfs:label "Activity Thresholds"@en ; + schema:description ""Activity Thresholds" are thresholds of sensitivity for radioactivity."^^rdf:HTML ; +. + + + rdfs:label "Adaptation"@en ; + schema:description ""Adaptation" is the recovery of visual ability following exposure to light (dark adaptation), usually measured in units of time."^^rdf:HTML ; +. + + + rdfs:label "Alpha Disintegration Energy"@en ; + schema:description "The \"Alpha Disintegration Energy\" is the sum of the kinetic energy of the \\(\\alpha\\)-particle produced in the disintegration process and the recoil energy of the product atom in the reference frame in which the emitting nucleus is at rest before its disintegration."^^ ; +. + + + rdfs:label "Altitude"@en ; + schema:description "Altitude or height is defined based on the context in which it is used (aviation, geometry, geographical survey, sport, and more). As a general definition, altitude is a distance measurement, usually in the vertical or "up" direction, between a reference datum and a point or object. The reference datum also often varies according to the context. [Wikipedia]"^^rdf:HTML ; +. + + + rdfs:label "Ambient Pressure"@en ; + schema:description """The ambient pressure on an object is the pressure of the surrounding medium, such as a gas or liquid, which comes into contact with the object. +The SI unit of pressure is the pascal (Pa), which is a very small unit relative to atmospheric pressure on Earth, so kilopascals (\\(kPa\\)) are more commonly used in this context. """^^ ; +. + + + rdfs:label + "كمية المادة"@ar , + "Количество вещество"@bg , + "Látkové množství"@cs , + "Stoffmenge"@de , + "Ποσότητα Ουσίας"@el , + "amount of substance"@en , + "cantidad de sustancia"@es , + "مقدار ماده"@fa , + "quantité de matière"@fr , + "כמות חומר"@he , + "पदार्थ की मात्रा"@hi , + "anyagmennyiség"@hu , + "quantità di sostanza"@it , + "物質量"@ja , + "quantitas substantiae"@la , + "Jumlah bahan"@ms , + "liczność materii"@pl , + "quantidade de substância"@pt , + "cantitate de substanță"@ro , + "Количество вещества"@ru , + "množina snovi"@sl , + "madde miktarı"@tr , + "物质的量"@zh ; + schema:description "\"Amount of Substance\" is a standards-defined quantity that measures the size of an ensemble of elementary entities, such as atoms, molecules, electrons, and other particles. It is sometimes referred to as chemical amount. The International System of Units (SI) defines the amount of substance to be proportional to the number of elementary entities present. The SI unit for amount of substance is \\(mole\\). It has the unit symbol \\(mol\\). The mole is defined as the amount of substance that contains an equal number of elementary entities as there are atoms in 0.012kg of the isotope carbon-12. This number is called Avogadro's number and has the value \\(6.02214179(30) \\times 10^{23}\\). The only other unit of amount of substance in current use is the \\(pound-mole\\) with the symbol \\(lb-mol\\), which is sometimes used in chemical engineering in the United States. One \\(pound-mole\\) is exactly \\(453.59237 mol\\)."^^ ; +. + + + rdfs:label "Amount of Substance of Concentration"@en ; + schema:description ""Amount of Substance of Concentration" is defined as the amount of a constituent divided by the volume of the mixture."^^rdf:HTML ; +. + + + rdfs:label "Amount of Substance of Concentration of B"@en ; + schema:description ""Amount of Substance of Concentration of B" is defined as the amount of a constituent divided by the volume of the mixture."^^rdf:HTML ; +. + + + rdfs:label "Fractional Amount of Substance"@en ; + schema:description ""Fractional Amount of Substance" is defined as tthe amount of a constituent divided by the total amount of all constituents in a mixture."^^rdf:HTML ; +. + + + rdfs:label "Amount of Substance of Fraction of B"@en ; + schema:description ""Amount of Substance of Fraction of B" is defined as tthe amount of a constituent divided by the total amount of all constituents in a mixture."^^rdf:HTML ; +. + + + rdfs:label "Amount of Substance per Unit Mass"@en ; +. + + + rdfs:label "Molar Mass variation due to Pressure"@en ; + schema:description "The "Variation of Molar Mass" of a gas as a function of pressure."^^rdf:HTML ; +. + + + rdfs:label "Amount of Substance per Unit Volume"@en ; + schema:description "The amount of substance per unit volume is called the molar density. Molar density is an intensive property of a substance and depends on the temperature and pressure."^^rdf:HTML ; +. + + + rdfs:label "Angle"@en ; + schema:description "The abstract notion of angle. Narrow concepts include plane angle and solid angle. While both plane angle and solid angle are dimensionless, they are actually length/length and area/area respectively."^^ ; +. + + + rdfs:label "Angle Of Attack"@en ; + schema:description "Angle of attack is the angle between the oncoming air or relative wind and a reference line on the airplane or wing."^^rdf:HTML ; +. + + + rdfs:label "Angle of Optical Rotation"@en ; + schema:description "The "Angle of Optical Rotation" is the angle through which plane-polarized light is rotated clockwise, as seen when facing the light source, in passing through an optically active medium."^^rdf:HTML ; +. + + + rdfs:label + "تسارع زاوي"@ar , + "Úhlové zrychlení"@cs , + "Winkelbeschleunigung"@de , + "angular acceleration"@en , + "aceleración angular"@es , + "شتاب زاویه‌ای"@fa , + "accélération angulaire"@fr , + "कोणीय त्वरण"@hi , + "accelerazione angolare"@it , + "角加速度"@ja , + "Pecutan bersudut"@ms , + "Przyspieszenie kątowe"@pl , + "aceleração angular"@pt , + "Accelerație unghiulară"@ro , + "Угловое ускорение"@ru , + "Açısal ivme"@tr , + "角加速度"@zh ; + schema:description "Angular acceleration is the rate of change of angular velocity over time. Measurement of the change made in the rate of change of an angle that a spinning object undergoes per unit time. It is a vector quantity. Also called Rotational acceleration. In SI units, it is measured in radians per second squared (\\(rad/s^2\\)), and is usually denoted by the Greek letter alpha."^^ ; +. + + + rdfs:label "Angular Cross-section"@en ; + schema:description "\"Angular Cross-section\" is the cross-section for ejecting or scattering a particle into an elementary cone, divided by the solid angle \\(d\\Omega\\) of that cone."^^ ; +. + + + rdfs:label "Angular Distance"@en ; + schema:description "Angular distance travelled by orbiting vehicle measured from the azimuth of closest approach."^^rdf:HTML ; +. + + + rdfs:label + "تردد زاوى"@ar , + "Kreisfrequenz"@de , + "angular frequency"@en , + "pulsación"@es , + "Pulsación"@fr , + "frequenza angolare"@it , + "角振動数"@ja , + "pulsacja"@pl , + "frequência angular"@pt , + "角频率"@zh ; + schema:description "\"Angular frequency\", symbol \\(\\omega\\) (also referred to by the terms angular speed, radial frequency, circular frequency, orbital frequency, radian frequency, and pulsatance) is a scalar measure of rotation rate. Angular frequency (or angular speed) is the magnitude of the vector quantity angular velocity."^^ ; +. + + + rdfs:label + "نبضة دفعية زاوية"@ar , + "Drehstoß"@de , + "angular impulse"@en , + "impulso angular"@es , + "impulsion angulaire"@fr , + "impulso angolare"@it , + "角力積"@ja , + "popęd kątowy"@pl , + "impulsão angular"@pt , + "角冲量;冲量矩"@zh ; + schema:description "The Angular Impulse, also known as angular momentum, is the moment of linear momentum around a point. It is defined as\\(H = \\int Mdt\\), where \\(M\\) is the moment of force and \\(t\\) is time."^^ ; +. + + + rdfs:label "Angular Momentum"@en ; + schema:description "Angular Momentum of an object rotating about some reference point is the measure of the extent to which the object will continue to rotate about that point unless acted upon by an external torque. In particular, if a point mass rotates about an axis, then the angular momentum with respect to a point on the axis is related to the mass of the object, the velocity and the distance of the mass to the axis. While the motion associated with linear momentum has no absolute frame of reference, the rotation associated with angular momentum is sometimes spoken of as being measured relative to the fixed stars. \\textit{Angular Momentum}, \\textit{Moment of Momentum}, or \\textit{Rotational Momentum", is a vector quantity that represents the product of a body's rotational inertia and rotational velocity about a particular axis."^^rdf:HTML ; +. + + + rdfs:label "Angular Momentum per Angle"@en ; +. + + + rdfs:label "Angular Reciprocal Lattice Vector"@en ; + schema:description "\"Angular Reciprocal Lattice Vector\" is a vector whose scalar products with all fundamental lattice vectors are integral multiples of \\(2\\pi\\)."^^ ; +. + + + rdfs:label + "سرعة زاوية"@ar , + "Úhlová rychlost"@cs , + "Winkelgeschwindigkeit"@de , + "angular velocity"@en , + "velocidad angular"@es , + "سرعت زاویه‌ای"@fa , + "vitesse angulaire"@fr , + "कोणीय वेग"@hi , + "velocità angolare"@it , + "角速度"@ja , + "Halaju bersudut"@ms , + "Prędkość kątowa"@pl , + "velocidade angular"@pt , + "Viteză unghiulară"@ro , + "Угловая скорость"@ru , + "kotna hitrost"@sl , + "Açısal hız"@tr , + "角速度"@zh ; + schema:description "Angular Velocity refers to how fast an object rotates or revolves relative to another point."^^ ; +. + + + rdfs:label "Apogee Radius"@en ; + schema:description "Apogee radius of an elliptical orbit"^^rdf:HTML ; +. + + + rdfs:label + "مساحة"@ar , + "Площ"@bg , + "plocha"@cs , + "Fläche"@de , + "Ταχύτητα"@el , + "area"@en , + "área"@es , + "مساحت"@fa , + "aire"@fr , + "שטח"@he , + "क्षेत्रफल"@hi , + "area"@it , + "面積"@ja , + "Keluasan"@ms , + "pole powierzchni"@pl , + "área"@pt , + "arie"@ro , + "Площадь"@ru , + "površina"@sl , + "alan"@tr , + "面积"@zh ; + schema:description "Area is a quantity expressing the two-dimensional size of a defined part of a surface, typically a region bounded by a closed curve."^^rdf:HTML ; +. + + + rdfs:label "Area Angle"@en ; +. + + + rdfs:label "Area per Time"@en ; +. + + + rdfs:label "Area Ratio"@en ; +. + + + rdfs:label "Area Temperature"@en ; +. + + + rdfs:label "Area Thermal Expansion"@en ; + schema:description "When the temperature of a substance changes, the energy that is stored in the intermolecular bonds between atoms changes. When the stored energy increases, so does the length of the molecular bonds. As a result, solids typically expand in response to heating and contract on cooling; this dimensional response to temperature change is expressed by its coefficient of thermal expansion."^^rdf:HTML ; +. + + + rdfs:label "Area Time"@en ; +. + + + rdfs:label "Area Time Temperature"@en ; +. + + + rdfs:label "Aeric Heat Flow Rate"@en ; + schema:description "Density of heat flow rate."^^rdf:HTML ; +. + + + rdfs:label "Asset"@en ; + schema:description "An Asset is an economic resource owned by a business or company. Simply stated, assets are things of value that can be readily converted into cash (although cash itself is also considered an asset)."^^rdf:HTML ; +. + + + rdfs:label "Atmospheric Hydroxylation Rate"@en ; + schema:description "A second order reaction rate constant that is a specific second order reaction rate constant that governs the kinetics of an atmospheric, gas-phase reaction between hydroxyl radicals and an organic chemical."^^rdf:HTML ; +. + + + rdfs:label "Atmospheric Pressure"@en ; + schema:description "The pressure exerted by the weight of the air above it at any point on the earth's surface. At sea level the atmosphere will support a column of mercury about \\(760 mm\\) high. This decreases with increasing altitude. The standard value for the atmospheric pressure at sea level in SI units is \\(101,325 pascals\\)."^^ ; +. + + + rdfs:label "Atom Scattering Factor"@en ; + schema:description ""Atom Scattering Factor" is measure of the scattering power of an isolated atom."^^rdf:HTML ; +. + + + rdfs:label "Atomic Attenuation Coefficient"@en ; + schema:description ""Atomic Attenuation Coefficient" is a measurement of how strongly a chemical species or substance absorbs or scatters light at a given wavelength, per the number of atoms in the substance."^^rdf:HTML ; +. + + + rdfs:label "Atomic Charge"@en ; + schema:description "The electric charge of an ion, equal to the number of electrons the atom has gained or lost in its ionization multiplied by the charge on one electron."^^rdf:HTML ; +. + + + rdfs:label "Atomic Mass"@en ; + schema:description "The "Atomic Mass" is the mass of a specific isotope, most often expressed in unified atomic mass units."^^rdf:HTML ; +. + + + rdfs:label "Atomic Number"@en ; + schema:description "The "Atomic Number", also known as the proton number, is the number of protons found in the nucleus of an atom and therefore identical to the charge number of the nucleus. A nuclide is a species of atom with specified numbers of protons and neutrons. Nuclides with the same value of Z but different values of N are called isotopes of an element. The ordinal number of an element in the periodic table is equal to the atomic number. The atomic number equals the charge of the nucleus in units of the elementary charge."^^rdf:HTML ; +. + + + rdfs:label "Attenuation Coefficient"@en ; + schema:description "The attenuation coefficient is a quantity that characterizes how easily a material or medium can be penetrated by a beam of light, sound, particles, or other energy or matter. A large attenuation coefficient means that the beam is quickly "attenuated" (weakened) as it passes through the medium, and a small attenuation coefficient means that the medium is relatively transparent to the beam. The Attenuation Coefficient is also called linear attenuation coefficient, narrow beam attenuation coefficient, or absorption coefficient."^^rdf:HTML ; +. + + + rdfs:label "Auditory Thresholds"@en ; + schema:description ""Auditory Thresholds" is the thresholds of sensitivity to auditory signals and other input to the ear or the sense of hearing."^^rdf:HTML ; +. + + + rdfs:label "Auxillary Magnetic Field"@en ; + schema:description "Magnetic Fields surround magnetic materials and electric currents and are detected by the force they exert on other magnetic materials and moving electric charges. The electric and magnetic fields are two interrelated aspects of a single object, called the electromagnetic field. A pure electric field in one reference frame is observed as a combination of both an electric field and a magnetic field in a moving reference frame. The Auxillary Magnetic Field, H characterizes how the true Magnetic Field B influences the organization of magnetic dipoles in a given medium."^^rdf:HTML ; +. + + + rdfs:label "Average Energy Loss per Elementary Charge Produced"@en ; + schema:description ""Average Energy Loss per Elementary Charge Produced" is also referred to as average energy loss per ion pair formed."^^rdf:HTML ; +. + + + rdfs:label "Average Head End Pressure"@en ; +. + + + rdfs:label "Average Logarithmic Energy Decrement"@en ; + schema:description ""Average Logarithmic Energy Decrement" is a measure of the amount of energy a neutron loses upon colliding with various nuclei. It is the average value of the increase in lethargy in elastic collisions between neutrons and nuclei whose kinetic energy is negligible compared with that of the neutrons."^^rdf:HTML ; +. + + + rdfs:label "Average Specific Impulse"@en ; + schema:description "Avg Specific Impulse (lbf-sec/lbm) " ; +. + + + rdfs:label "Average Vacuum Thrust"@en ; +. + + + rdfs:label "Acidity"@en ; + schema:description "Chemicals or substances having a pH higher than 7 are said to be basic; higher pH means higher basicity."^^rdf:HTML ; +. + + + rdfs:label "Bending Moment of Force"@en ; + schema:description "A bending moment exists in a structural element when a moment is applied to the element so that the element bends. It is the component of moment of force perpendicular to the longitudinal axis of a beam or a shaft."^^rdf:HTML ; +. + + + rdfs:label "Beta Disintegration Energy"@en ; + schema:description ""Beta Disintegration Energy" is the energy released by a beta particle radioactive decay. It is the sum of the maximum beta-particle kinetic energy and the recoil energy of the atom produced in the reference frame in which the emitting nucleus is at rest before its disintegration."^^rdf:HTML ; +. + + + rdfs:label "Bevel Gear Pitch Angle"@en ; + schema:description "Pitch angle in bevel gears is the angle between an element of a pitch cone and its axis. In external and internal bevel gears, the pitch angles are respectively less than and greater than 90 degrees."^^rdf:HTML ; +. + + + rdfs:label "Binding Fraction"@en ; + schema:description "The "Binding Fraction" is the ratio of the binding energy of a nucleus to the atomic mass number."^^rdf:HTML ; +. + + + rdfs:label "Bioconcentration Factor"@en ; + schema:description "The bioconcentration factor is the ratio of the concentration of a chemical substance in biota over the concentration of the same chemical substance in water. It is related to the octanol-water partition coefficient."^^rdf:HTML ; +. + + + rdfs:label "Biodegredation Half Life"@en ; + schema:description "A time that quantifies how long it takes to reduce a substance's concentration by 50% from any concentration point in time in a water or soil environment by either bacteria or another living organism."^^rdf:HTML ; +. + + + rdfs:label "Body Mass Index"@en ; + schema:description "\\(\\textit{Body Mass Index}\\), BMI, is an index of weight for height, calculated as: \\(BMI = \\frac{M_{body}}{H^2}\\), where \\(M_{body}\\) is body mass in kg, and \\(H\\) is height in metres. The BMI has been used as a guideline for defining whether a person is overweight because it minimizes the effect of height, but it does not take into consideration other important factors, such as age and body build. The BMI has also been used as an indicator of obesity on the assumption that the higher the index, the greater the level of body fat."^^ ; +. + + + rdfs:label "Boiling Point Temperature"@en ; + schema:description "A temperature that is the one at which a substance will change its physical state from a liquid to a gas. It is also the temperature where the liquid and gaseous forms of a pure substance can exist in equilibrium."^^rdf:HTML ; +. + + + rdfs:label "Bragg Angle"@en ; + schema:description ""Bragg Angle" describes the condition for a plane wave to be diffracted from a family of lattice planes, the angle between the wavevector of the incident plane wave, and the lattice planes."^^rdf:HTML ; +. + + + rdfs:label + "العرض"@ar , + "šířka"@cs , + "Breite"@de , + "breadth"@en , + "ancho"@es , + "عرض"@fa , + "largeur"@fr , + "larghezza"@it , + "幅"@ja , + "lebar"@ms , + "szerokość"@pl , + "largura"@pt , + "ширина"@ru , + "širina"@sl , + "genişliği"@tr , + "寬度"@zh ; + schema:description ""Breadth" is the extent or measure of how broad or wide something is."^^rdf:HTML ; +. + + + rdfs:label "Buckling Factor"@en ; +. + + + rdfs:label "Bulk Modulus"@en ; + schema:description "The bulk modulus of a substance measures the substance's resistance to uniform compression. It is defined as the ratio of the infinitesimal pressure increase to the resulting relative decrease of the volume."^^rdf:HTML ; +. + + + rdfs:label "Burgers Vector"@en ; + schema:description ""Burgers Vector" is the vector characterizing a dislocation, i.e. the closing vector in a Burgers circuit encircling a dislocation line."^^rdf:HTML ; +. + + + rdfs:label "Burn Rate"@en ; +. + + + rdfs:label "Burn Time"@en ; +. + + + rdfs:label "Center of Gravity in the X axis"@en ; +. + + + rdfs:label "Center of Gravity in the Y axis"@en ; +. + + + rdfs:label "Center of Gravity in the Z axis"@en ; +. + + + rdfs:label "Center of Mass (CoM)"@en ; + schema:description "The point at which the distributed mass of a composite body can be acted upon by a force without inducing any rotation of the composite body."^^rdf:HTML ; +. + + + rdfs:label "Contract End Item (CEI) Specification Mass."@en ; + schema:description "Contractual mass requirement of a delivered item. Note that The term 'control mass' is sometimes utilized as a limit in lieu of CEI mass when a CEI mass does not exist. The term 'Interface Control Document Mass' is another alternative for specifying a contractual mass requirement."^^rdf:HTML ; +. + + + rdfs:label "Control Mass."@en ; + schema:description "The upper design gross mass limit of a system at a specified mission event against which margins are calculated after accounting for basic masses of flight hardware, MGA, and uncertainties. It may include propellants, crew, and cargo."^^rdf:HTML ; +. + + + rdfs:label "Canonical Partition Function"@en ; + schema:description "A "Canonical Partition Function" applies to a canonical ensemble, in which the system is allowed to exchange heat with the environment at fixed temperature, volume, and number of particles."^^rdf:HTML ; +. + + + rdfs:label "Capacitance"@en ; + schema:description ""Capacitance" is the ability of a body to hold an electrical charge; it is quantified as the amount of electric charge stored for a given electric potential. Capacitance is a scalar-valued quantity."^^rdf:HTML ; +. + + + rdfs:label "Capacity"@en ; + schema:description "In computer operations, (a) the largest quantity which can be stored, processed, or transferred; (b) the largest number of digits or characters which may regularly be processed; (c) the upper and lower limits of the quantities which may be processed. In other contexts, the amount of material that can be stored, such as fuel or food."^^rdf:HTML ; +. + + + rdfs:label "Carrier LifetIme"@en ; + schema:description ""Carrier LifetIme" is a time constant for recombination or trapping of minority charge carriers in semiconductors."^^rdf:HTML ; +. + + + rdfs:label "Cartesian Area"@en ; + schema:description ""Area" is a quantity that expresses the extent of a two-dimensional surface or shape, or planar lamina, in the plane."^^rdf:HTML ; +. + + + rdfs:label + "Kartézská soustava souřadnic"@cs , + "kartesische Koordinaten"@de , + "Cartesian coordinates"@en , + "مختصات دکارتی"@fa , + "coordonnées cartésiennes"@fr , + "coordinate cartesiane"@it , + "Koordiant Kartesius"@ms , + "coordenadas cartesianas"@pt , + "kartezyen koordinatları"@tr , + "直角坐标系"@zh ; + schema:description ""Cartesian Coordinates" specify each point uniquely in a plane by a pair of numerical coordinates, which are the signed distances from the point to two fixed perpendicular directed lines, measured in the same unit of length. "^^rdf:HTML ; +. + + + rdfs:label + "حجم"@ar , + "Обем"@bg , + "Objem"@cs , + "Volumen"@de , + "Επιτάχυνση"@el , + "volume"@en , + "volumen"@es , + "حجم"@fa , + "volume"@fr , + "נפח"@he , + "आयतन"@hi , + "volume"@it , + "体積"@ja , + "Isipadu"@ms , + "objętość"@pl , + "volume"@pt , + "volum"@ro , + "Объём"@ru , + "prostornina"@sl , + "hacim"@tr , + "体积"@zh ; + schema:description ""Volume" is the quantity of three-dimensional space enclosed by some closed boundary, for example, the space that a substance (solid, liquid, gas, or plasma) or shape occupies or contains."^^rdf:HTML ; +. + + + rdfs:label "Catalytic Activity"@en ; + schema:description "An index of the actual or potential activity of a catalyst. The catalytic activity of an enzyme or an enzyme-containing preparation is defined as the property measured by the increase in the rate of conversion of a specified chemical reaction that the enzyme produces in a specified assay system. Catalytic activity is an extensive quantity and is a property of the enzyme, not of the reaction mixture; it is thus conceptually different from rate of conversion although measured by and equidimensional with it. The unit for catalytic activity is the \\(katal\\); it may also be expressed in mol \\(s^{-1}\\). Dimensions: \\(N T^{-1}\\). Former terms such as catalytic ability, catalytic amount, and enzymic activity are no er recommended. Derived quantities are molar catalytic activity, specific catalytic activity, and catalytic activity concentration. Source(s): www.answers.com"^^ ; +. + + + rdfs:label "Catalytic Activity Concentration"@en ; + schema:description "The catalytic activity of an enzyme per unit volume, where volume refers to that of the original enzyme‐containing preparation, not that of the assay system. It may be expressed in katals per litre."^^rdf:HTML ; +. + + + rdfs:label + "درجة الحرارة المئوية أو السيلسيوس"@ar , + "teplota"@cs , + "Celsius-Temperatur"@de , + "Celsius temperature"@en , + "temperatura Celsius"@es , + "دمای سلسیوس/سانتیگراد"@fa , + "température Celsius"@fr , + "צלזיוס"@he , + "सेल्सियस तापमान"@hi , + "temperatura Celsius"@it , + "温度"@ja , + "Suhu Celsius"@ms , + "temperatura"@pl , + "temperatura celsius"@pt , + "temperatură Celsius"@ro , + "Температура Цельсия"@ru , + "temperatura"@sl , + "Celsius sıcaklık"@tr , + "温度"@zh ; + schema:description ""Celsius Temperature", the thermodynamic temperature T_0, is exactly 0.01 kelvin below the thermodynamic temperature of the triple point of water."^^rdf:HTML ; +. + + + rdfs:label "Center of Gravity in the X axis"@en ; +. + + + rdfs:label "Center of Gravity in the Y axis"@en ; +. + + + rdfs:label "Center of Gravity in the Z axis"@en ; +. + + + rdfs:label "Characteristic Acoustic Impedance"@en ; + schema:description "Characteristic impedance at a point in a non-dissipative medium and for a plane progressive wave, the quotient of the sound pressure \\(p\\) by the component of the sound particle velocity \\(v\\) in the direction of the wave propagation."^^ ; +. + + + rdfs:label "Characteristic Velocity"@en ; + schema:description "Characteristic velocity or \\(c^{*}\\) is a measure of the combustion performance of a rocket engine independent of nozzle performance, and is used to compare different propellants and propulsion systems."^^ ; +. + + + rdfs:label "Charge Number"@en ; + schema:description "The "Charge Number", or just valance of an ion is the coefficient that, when multiplied by the elementary charge, gives the ion's charge."^^rdf:HTML ; +. + + + rdfs:label "Chemical Affinity"@en ; + schema:description "In chemical physics and physical chemistry, "Chemical Affinity" is the electronic property by which dissimilar chemical species are capable of forming chemical compounds. Chemical affinity can also refer to the tendency of an atom or compound to combine by chemical reaction with atoms or compounds of unlike composition."^^rdf:HTML ; +. + + + rdfs:label "Chemical Consumption per Mass"@en ; +. + + + rdfs:label + "جهد كيميائي"@ar , + "Chemický potenciál"@cs , + "chemisches Potential des Stoffs B"@de , + "chemical potential"@en , + "potencial químico"@es , + "پتانسیل شیمیایی"@fa , + "potential chimique"@fr , + "potenziale chimico"@it , + "化学ポテンシャル"@ja , + "Keupayaan kimia"@ms , + "Potencjał chemiczny"@pl , + "potencial químico"@pt , + "Potențial chimic"@ro , + "Химический потенциал"@ru , + "kimyasal potansiyel"@tr , + "化学势"@zh ; + schema:description ""Chemical Potential", also known as partial molar free energy, is a form of potential energy that can be absorbed or released during a chemical reaction."^^rdf:HTML ; +. + + + rdfs:label "Chromaticity"@en ; + schema:description "Chromaticity is an objective specification of the quality of a color regardless of its luminance"^^rdf:HTML ; +. + + + rdfs:label "Circulation"@en ; + schema:description "In fluid dynamics, circulation is the line integral around a closed curve of the fluid velocity. It has dimensions of length squared over time."^^rdf:HTML ; +. + + + rdfs:label "Closest Approach Radius"@en ; +. + + + rdfs:label "Coercivity"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textit{Coercivity}\\), also referred to as \\(\\textit{Coercive Field Strength}\\), is the magnetic field strength to be applied to bring the magnetic flux density in a substance from its remaining magnetic flux density to zero. This is defined as the coercive field strength in a substance when either the magnetic flux density or the magnetic polarization and magnetization is brought from its value at magnetic saturation to zero by monotonic reduction of the applied magnetic field strength. The quantity which is brought to zero should be stated, and the appropriate symbol used: \\(H_{cB}\\), \\(H_{cJ}\\) or \\(H_{cM}\\) for the coercivity relating to the magnetic flux density, the magnetic polarization or the magnetization respectively, where \\(H_{cJ} = H_{cM}\\)."^^ ; +. + + + rdfs:label "Coherence Length"@en ; + schema:description ""Coherence Length" characterizes the distance in a superconductor over which the effect of a perturbation is appreciable."^^rdf:HTML ; +. + + + rdfs:label "Cold Receptor Threshold"@en ; + schema:description ""Cold Receptor Threshold" is the threshold of cold-sensitive free nerve-ending."^^rdf:HTML ; +. + + + rdfs:label "Combined Non Evaporative Heat Transfer Coefficient"@en ; + schema:description ""Combined Non Evaporative Heat Transfer Coefficient" is the "^^rdf:HTML ; +. + + + rdfs:label "Combustion Chamber Temperature"@en ; +. + + + rdfs:label "Compressibility"@en ; + schema:description "Compressibility is a measure of the relative volume change of a fluid or solid as a response to a pressure (or mean stress) change."^^rdf:HTML ; +. + + + rdfs:label "Compressibility Factor"@en ; + schema:description "The compressibility factor (\\(Z\\)) is a useful thermodynamic property for modifying the ideal gas law to account for the real gas behaviour. The closer a gas is to a phase change, the larger the deviations from ideal behavior. It is simply defined as the ratio of the molar volume of a gas to the molar volume of an ideal gas at the same temperature and pressure. Values for compressibility are calculated using equations of state (EOS), such as the virial equation and van der Waals equation. The compressibility factor for specific gases can be obtained, with out calculation, from compressibility charts. These charts are created by plotting Z as a function of pressure at constant temperature."^^ ; +. + + + rdfs:label "Concentration"@en ; + schema:description "In chemistry, concentration is defined as the abundance of a constituent divided by the total volume of a mixture. Furthermore, in chemistry, four types of mathematical description can be distinguished: mass concentration, molar concentration, number concentration, and volume concentration. The term concentration can be applied to any kind of chemical mixture, but most frequently it refers to solutes in solutions."^^rdf:HTML ; +. + + + rdfs:label "Conduction Speed"@en ; + schema:description ""Conduction Speed" is the speed of impulses in nerve fibers."^^rdf:HTML ; +. + + + rdfs:label "Conductive Heat Transfer Rate"@en ; + schema:description ""Conductive Heat Transfer Rate" is proportional to temperature gradient and area of contact."^^rdf:HTML ; +. + + + rdfs:label "Constringence"@en ; + schema:description "In optics and lens design, constringence of a transparent material, also known as the Abbe number or the V-number, is an approximate measure of the material's dispersion (change of refractive index versus wavelength), with high values of V indicating low dispersion."^^rdf:HTML ; +. + + + rdfs:label "Convective Heat Transfer"@en ; + schema:description ""Convective Heat Transfer" is convective heat transfer coefficient multiplied by temperature difference and exchange area. "^^rdf:HTML ; +. + + + rdfs:label "Count"@en ; + schema:description ""Count" is the value of a count of items."^^rdf:HTML ; +. + + + rdfs:label + "coupling factor"@en , + "constante de acoplamiento"@es , + "constante de couplage"@fr , + "fattore di accoppiamento"@it , + "結合定数"@ja , + "stała sprzężenia"@pl , + "Constantă de cuplaj"@ro , + "Константа взаимодействия"@ru , + "Çiftlenim sabiti"@tr , + "耦合常數"@zh ; + schema:description ""Coupling Factor" is the ratio of an electromagnetic quantity, usually voltage or current, appearing at a specified location of a given circuit to the corresponding quantity at a specified location in the circuit from which energy is transferred by coupling."^^rdf:HTML ; +. + + + rdfs:label "Cross-section"@en ; + schema:description ""Cross-section" is used to express the likelihood of interaction between particles. For a specified target particle and for a specified reaction or process produced by incident charged or uncharged particles of specified type and energy, it is the mean number of such reactions or processes divided by the incident-particle fluence."^^rdf:HTML ; +. + + + rdfs:label "Cross-sectional Area"@en ; +. + + + rdfs:label "Cubic Electric Dipole Moment per Square Energy"@en ; +. + + + rdfs:label + "معامل التمدد الحجمى"@ar , + "Вълново число"@bg , + "Volumenausdehnungskoeffizient"@de , + "Κυματαριθμός"@el , + "cubic expansion coefficient"@en , + "coeficiente de dilatación cúbica"@es , + "ضریب انبساط گرمایی"@fa , + "coefficient de dilatation volumique"@fr , + "מספר גל"@he , + "Hullámszám"@hu , + "coefficiente di dilatazione volumica"@it , + "線膨張係数"@ja , + "współczynnik rozszerzalności objętościowej"@pl , + "coeficiente de dilatação volúmica"@pt , + "Температурный коэффициент"@ru , + "kübik genleşme katsayısı"@tr , + "体膨胀系数"@zh ; +. + + + rdfs:label + "درجة حرارة كوري"@ar , + "Curieova teplota"@cs , + "Curie-Temperatur"@de , + "Curie temperature"@en , + "temperatura de Curie"@es , + "نقطه کوری"@fa , + "température de Curie"@fr , + "क्यूरी ताप"@hi , + "punto di Curie"@it , + "キュリー温度"@ja , + "Suhu Curie"@ms , + "temperatura Curie"@pl , + "temperatura de Curie"@pt , + "Punct Curie"@ro , + "Точка Кюри"@ru , + "Curie sıcaklığı"@tr , + "居里点"@zh ; + schema:description ""Curie Temperature" is the critical thermodynamic temperature of a ferromagnet."^^rdf:HTML ; +. + + + rdfs:label "Currency Per Flight"@en ; +. + + + rdfs:label "Current Linkage"@en ; + schema:description ""Current Linkage" is the net electric current through a surface delimited by a closed loop."^^rdf:HTML ; +. + + + rdfs:label "Curvature"@en ; + schema:description "The canonical example of extrinsic curvature is that of a circle, which has curvature equal to the inverse of its radius everywhere. Smaller circles bend more sharply, and hence have higher curvature. The curvature of a smooth curve is defined as the curvature of its osculating circle at each point. The osculating circle of a sufficiently smooth plane curve at a given point on the curve is the circle whose center lies on the inner normal line and whose curvature is the same as that of the given curve at that point. This circle is tangent to the curve at the given point. The magnitude of curvature at points on physical curves can be measured in \\(diopters\\) (also spelled \\(dioptre\\)) — this is the convention in optics."^^ ; +. + + + rdfs:label "Curvature"@en ; + schema:description "In mathematics "Curvature" is the amount by which a geometric object deviates from being flat, or straight in the case of a line, but this is defined in different ways depending on the context."^^rdf:HTML ; +. + + + rdfs:label "Larmor Angular Frequency"@en ; + schema:description "The "Cyclotron Angular Frequency" describes angular momentum vector precession about the external field axis with an angular frequency."^^rdf:HTML ; +. + + + rdfs:label "Delta-V"@en ; + schema:description "The change in translational velocity including all losses for a propulsive system or module. Delta-V losses include, but are not limited to, gravity losses and steering losses."^^rdf:HTML ; +. + + + rdfs:label "Dry Mass"@en ; + schema:description "Mass of a system without the propellants, pressurants, reserve or residual fluids, personnel and personnel provisions, and cargo."^^rdf:HTML ; +. + + + rdfs:label "Data Rate"@en ; + schema:description "The frequency derived from the period of time required to transmit one bit. This represents the amount of data transferred per second by a communications channel or a computing or storage device. Data rate is measured in units of bits per second (written "b/s" or "bps"), bytes per second (Bps), or baud. When applied to data rate, the multiplier prefixes "kilo-", "mega-", "giga-", etc. (and their abbreviations, "k", "M", "G", etc.) always denote powers of 1000. For example, 64 kbps is 64,000 bits per second. This contrasts with units of storage which use different prefixes to denote multiplication by powers of 1024, for example 1 kibibit = 1024 bits."^^rdf:HTML ; +. + + + rdfs:label "Debye-Waller Factor"@en ; + schema:description ""Debye-Waller Factor" (DWF), named after Peter Debye and Ivar Waller, is used in condensed matter physics to describe the attenuation of x-ray scattering or coherent neutron scattering caused by thermal motion. Also, a factor by which the intensity of a diffraction line is reduced because of the lattice vibrations."^^rdf:HTML ; +. + + + rdfs:label "Debye Angular Frequency"@en ; + schema:description ""Debye Angular Frequency" is the cut-off angular frequency in the Debye model of the vibrational spectrum of a solid."^^rdf:HTML ; +. + + + rdfs:label "Debye Angular Wavenumber"@en ; + schema:description ""Debye Angular Wavenumber" is the cut-off angular wavenumber in the Debye model of the vibrational spectrum of a solid."^^rdf:HTML ; +. + + + rdfs:label "Debye Temperature"@en ; + schema:description ""Debye Temperature" is the temperature at which the highest-frequency mode (and hence all modes) are excited."^^rdf:HTML ; +. + + + rdfs:label "Decay Constant"@en ; + schema:description "The "Decay Constant" is the proportionality between the size of a population of radioactive atoms and the rate at which the population decreases because of radioactive decay."^^rdf:HTML ; +. + + + rdfs:label "Degree of Dissociation"@en ; + schema:description "The "Degree of Dissociation" is the fraction of original solute molecules that have dissociated."^^rdf:HTML ; +. + + + rdfs:label "Density In Combustion Chamber"@en ; +. + + + rdfs:label "Density of states"@en ; + schema:description ""Density of States" is the number of vibrational modes in an infinitesimal interval of angular frequency divided by the range of that interval and by volume."^^rdf:HTML ; +. + + + rdfs:label "Density Of The Exhaust Gases"@en ; +. + + + rdfs:label "Depth"@en ; + schema:description "Depth typically refers to the vertical measure of length from the surface of a liquid."^^rdf:HTML ; +. + + + rdfs:label "Dew Point Temperature"@en ; + schema:description ""Dew Point Temperature" is the temperature at which vapour in air reaches saturation."^^rdf:HTML ; +. + + + rdfs:label + "قطر"@ar , + "průměr"@cs , + "Durchmesser"@de , + "diameter"@en , + "diámetro"@es , + "قطر"@fa , + "diamètre"@fr , + "diametro"@it , + "直径"@ja , + "średnica"@pl , + "diâmetro"@pt , + "диаметр"@ru , + "premer"@sl , + "çap"@tr , + "直径"@zh ; + schema:description "In classical geometry, the "Diameter" of a circle is any straight line segment that passes through the center of the circle and whose endpoints lie on the circle. "^^rdf:HTML ; +. + + + rdfs:label "Diffusion Area"@en ; + schema:description ""Diffusion Area" in an infinite homogenous medium, is one-sixth of the mean square distance between the point where a neutron enters a specified class and the point where it leaves that class."^^rdf:HTML ; +. + + + rdfs:label + "Diffusionskoeffizient"@de , + "diffusion coefficient"@en , + "coeficiente de difusión"@es , + "coefficient de diffusion"@fr , + "coefficiente di diffusione"@it , + "coeficiente de difusão"@pt , + "difuzijski koeficient"@sl ; + schema:description "The "Diffusion Coefficient" is a proportionality constant between the molar flux due to molecular diffusion and the gradient in the concentration of the species (or the driving force for diffusion). Diffusivity is encountered in Fick's law and numerous other equations of physical chemistry."^^rdf:HTML ; +. + + + rdfs:label "Diffusion Coefficient for Fluence Rate"@en ; + schema:description "The "Diffusion Coefficient for Fluence Rate" is a proportionality constant between the ."^^rdf:HTML ; +. + + + rdfs:label "Diffusion Length"@en ; + schema:description ""Diffusion Length" is the average distance traveled by a particle, or a thermal neutron in a nuclear reactor, from the point at which it is formed to the point at which it is absorbed."^^rdf:HTML ; +. + + + rdfs:label "Dimensionless"@en ; + schema:description "In dimensional analysis, a dimensionless quantity or quantity of dimension one is a quantity without an associated physical dimension. It is thus a \"pure\" number, and as such always has a dimension of 1. Dimensionless quantities are widely used in mathematics, physics, engineering, economics, and in everyday life (such as in counting). Numerous well-known quantities, such as \\(\\pi\\), \\(\\epsilon\\), and \\(\\psi\\), are dimensionless. By contrast, non-dimensionless quantities are measured in units of length, area, time, etc. Dimensionless quantities are often defined as products or ratios of quantities that are not dimensionless, but whose dimensions cancel out when their powers are multiplied."^^ ; +. + + + rdfs:label "Dimensionless Ratio"@en ; +. + + + rdfs:label "Displacement"@en ; + schema:description ""Displacement" is the shortest distance from the initial to the final position of a point P."^^rdf:HTML ; +. + + + rdfs:label "Displacement Vector of Ion"@en ; + schema:description ""Displacement Vector of Ion" is the ."^^rdf:HTML ; +. + + + rdfs:label "Dissipance"@en ; + schema:description "Dissipance, or dissipation factor for sound power, is the ratio of dissipated sound power to incident sound power. The dissipation factor (DF) is a measure of loss-rate of energy of a mode of oscillation (mechanical, electrical, or electromechanical) in a dissipative system. It is the reciprocal of quality factor, which represents the quality of oscillation."^^rdf:HTML ; +. + + + rdfs:label + "Vzdálenost"@cs , + "Entfernung"@de , + "distance"@en , + "distancia"@es , + "مسافت"@fa , + "distance"@fr , + "distanza"@it , + "Jarak"@ms , + "distância"@pt , + "uzaklık"@tr , + "距离"@zh ; + schema:description ""Distance" is a numerical description of how far apart objects are. "^^rdf:HTML ; +. + + + rdfs:label "Distance Traveled During a Burn"@en ; +. + + + rdfs:label "Donor Density"@en ; + schema:description ""Donor Density" is the number per volume of donor levels."^^rdf:HTML ; +. + + + rdfs:label "Donor Ionization Energy"@en ; + schema:description ""Donor Ionization Energy" is the ionization energy of a donor."^^rdf:HTML ; +. + + + rdfs:label "Dose Equivalent"@en ; + schema:description "\"Dose Equivalent} (former), or \\textit{Equivalent Absorbed Radiation Dose}, usually shortened to \\textit{Equivalent Dose\", is a computed average measure of the radiation absorbed by a fixed mass of biological tissue, that attempts to account for the different biological damage potential of different types of ionizing radiation. The equivalent dose to a tissue is found by multiplying the absorbed dose, in gray, by a dimensionless \"quality factor\" \\(Q\\), dependent upon radiation type, and by another dimensionless factor \\(N\\), dependent on all other pertinent factors. N depends upon the part of the body irradiated, the time and volume over which the dose was spread, even the species of the subject."^^ ; +. + + + rdfs:label "Dose Equivalent Quality Factor"@en ; + schema:description ""Dose Equivalent Quality Factor" is a factor in the caculation and measurement of dose equivalent, by which the absorbed dose is to be weighted in order to account for different biological effectiveness of radiations, for radiation protection purposes."^^rdf:HTML ; +. + + + rdfs:label "Drag Coefficient"@en ; + schema:description "In fluid dynamics, the drag coefficient is a dimensionless quantity that is used to quantify the drag or resistance of an object in a fluid environment such as air or water."^^rdf:HTML ; +. + + + rdfs:label "Drag Force"@en ; + schema:description """In fluid dynamics, drag refers to forces which act on a solid object in the direction of the relative fluid flow velocity. Unlike other resistive forces such as dry friction, which is nearly independent of velocity, drag forces depend on velocity. +Drag forces always decrease fluid velocity relative to the solid object in the fluid's path.""" ; +. + + + rdfs:label "Dry Volume"@en ; + schema:description "Dry measures are units of volume used to measure bulk commodities which are not gas or liquid. They are typically used in agriculture, agronomy, and commodity markets to measure grain, dried beans, and dried and fresh fruit; formerly also salt pork and fish. They are also used in fishing for clams, crabs, etc. and formerly for many other substances (for example coal, cement, lime) which were typically shipped and delivered in a standardized container such as a barrel. In the original metric system, the unit of dry volume was the stere, but this is not part of the modern metric system; the liter and the cubic meter (\\(m^{3}\\)) are now used. However, the stere is still widely used for firewood."^^ ; +. + + + rdfs:label "Dynamic Friction"@en ; + schema:description "Kinetic (or dynamic) friction occurs when two objects are moving relative to each other and rub together (like a sled on the ground)."^^rdf:HTML ; +. + + + rdfs:label "Dynamic Friction Coefficient"@en ; + schema:description "Kinetic (or dynamic) friction occurs when two objects are moving relative to each other and rub together (like a sled on the ground)."^^rdf:HTML ; +. + + + rdfs:label "Dynamic Pressure"@en ; + schema:description "Dynamic Pressure (indicated with q, or Q, and sometimes called velocity pressure) is the quantity defined by: \\(q = 1/2 * \\rho v^{2}\\), where (using SI units), \\(q\\) is dynamic pressure in \\(pascals\\), \\(\\rho\\) is fluid density in \\(kg/m^{3}\\) (for example, density of air) and \\(v \\) is fluid velocity in \\(m/s\\)."^^ ; +. + + + rdfs:label "Earth Closest Approach Vehicle Velocity"@en ; +. + + + rdfs:label "Eccentricity Of Orbit"@en ; + schema:description "The orbital eccentricity of an astronomical object is a parameter that determines the amount by which its orbit around another body deviates from a perfect circle. In a two-body problem with inverse-square-law force, every orbit is a Kepler orbit. The eccentricity of this Kepler orbit is a positive number that defines its shape."^^rdf:HTML ; +. + + + rdfs:label "Effective Exhaustvelocity"@en ; + schema:description "The velocity of an exhaust stream after reduction by effects such as friction, non-axially directed flow, and pressure differences between the inside of the rocket and its surroundings. The effective exhaust velocity is one of two factors determining the thrust, or accelerating force, that a rocket can develop, the other factor being the quantity of reaction mass expelled from the rocket in unit time. In most cases, the effective exhaust velocity is close to the actual exhaust velocity."^^rdf:HTML ; +. + + + rdfs:label "Effective Mass"@en ; + schema:description ""Effective Mass" is used in the motional equation for electrons in solid state bodies, depending on the wavenumber and corresponding to its velocity and energy level."^^rdf:HTML ; +. + + + rdfs:label "Effective Multiplication Factor"@en ; + schema:description "The "Effective Multiplication Factor" is the multiplication factor for a finite medium."^^rdf:HTML ; +. + + + rdfs:label + "كفاءة"@ar , + "Wirkungsgrad"@de , + "efficiency"@en , + "rendimiento"@es , + "rendement"@fr , + "efficienza"@it , + "効率"@ja , + "sprawność"@pl , + "eficiência"@pt , + "коэффициент полезного действия"@ru , + "效率"@zh ; + schema:description "Efficiency is the ratio of output power to input power."^^rdf:HTML ; +. + + + rdfs:label "Einstein Transition Probability"@en ; + schema:description "Given two atomic states of energy \\(E_j\\) and \\(E_k\\). Let \\(E_j > E_k\\). Assume the atom is bathed in radiation of energy density \\(u(w)\\). Transitions between these states can take place in three different ways. Spontaneous, induced/stimulated emission, and induced absorption. \\(A_jk\\) represents the Einstein transition probability for spontaneous emission."^^ ; +. + + + rdfs:label + "الشحنة الكهربائية"@ar , + "Електрически заряд"@bg , + "Elektrický náboj"@cs , + "elektrische Ladung"@de , + "Ηλεκτρικό φορτίο"@el , + "electric charge"@en , + "carga eléctrica"@es , + "بار الکتریکی"@fa , + "Charge électrique"@fr , + "מטען חשמלי"@he , + "विद्युत आवेग या विद्युत बहाव"@hi , + "elektromos töltés"@hu , + "carica elettrica"@it , + "電荷"@ja , + "onus electricum"@la , + "Cas elektrik"@ms , + "ładunek elektryczny"@pl , + "carga elétrica"@pt , + "sarcină electrică"@ro , + "Электрический заряд"@ru , + "električni naboj"@sl , + "elektrik yükü"@tr , + "电荷"@zh ; + rdfs:seeAlso ; + schema:description "\"Electric Charge\" is a fundamental conserved property of some subatomic particles, which determines their electromagnetic interaction. Electrically charged matter is influenced by, and produces, electromagnetic fields. The electric charge on a body may be positive or negative. Two positively charged bodies experience a mutual repulsive force, as do two negatively charged bodies. A positively charged body and a negatively charged body experience an attractive force. Electric charge is carried by discrete particles and can be positive or negative. The sign convention is such that the elementary electric charge \\(e\\), that is, the charge of the proton, is positive. The SI derived unit of electric charge is the coulomb."^^ ; +. + + + rdfs:label "Electric Charge Line Density"@en ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively. The respective SI units are \\(C \\cdot \\), \\(m^{-1}\\), \\(C \\cdot m^{-2}\\) or \\(C \\cdot m^{-3}\\)."^^ ; +. + + + rdfs:label "Electric Charge Linear Density"@en ; + rdfs:seeAlso ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively."^^rdf:HTML ; +. + + + rdfs:label "Electric charge per amount of substance"@en ; + schema:description "\"Electric Charge Per Amount Of Substance\" is the charge assocated with a given amount of substance. Un the ISO and SI systems this is \\(1 mol\\)."^^ ; +. + + + rdfs:label "Electric charge per area"@en ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively. The respective SI units are \\(C \\cdot m^{-1}\\), \\(C \\cdot m^{-2}\\) or \\(C \\cdot m^{-3}\\)."^^ ; +. + + + rdfs:label "Electric Charge Per Mass"@en ; + schema:description "\"Electric Charge Per Mass\" is the charge associated with a specific mass of a substance. In the SI and ISO systems this is \\(1 kg\\)."^^ ; +. + + + rdfs:label "Electric Charge Volume Density"@en ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively. The respective SI units are \\(C \\cdot m^{-1}\\), \\(C \\cdot m^{-2}\\) or \\(C \\cdot m^{-3}\\)."^^ ; +. + + + rdfs:label + "elektrische Leitfähigkeit"@de , + "electric conductivity"@en , + "conductividad eléctrica"@es , + "رسانايى الکتريکى/هدایت الکتریکی"@fa , + "conductivité électrique"@fr , + "conducibilità elettrica"@it , + "Kekonduksian elektrik"@ms , + "condutividade elétrica"@pt , + "električna prevodnost"@sl , + "elektrik iletkenliği"@tr , + "电导率"@zh ; + schema:description "\"Electric Conductivity} or \\textit{Specific Conductance\" is a measure of a material's ability to conduct an electric current. When an electrical potential difference is placed across a conductor, its movable charges flow, giving rise to an electric current. The conductivity \\(\\sigma\\) is defined as the ratio of the electric current density \\(J\\) to the electric field \\(E\\): \\(J = \\sigma E\\). In isotropic materials, conductivity is scalar-valued, however in general, conductivity is a tensor-valued quantity."^^ ; +. + + + rdfs:label "Electric Current per Angle"@en ; +. + + + rdfs:label "Electric Current per Unit Energy"@en ; +. + + + rdfs:label "Electric Current per Unit Length"@en ; +. + + + rdfs:label "Electric Current per Unit Temperature"@en ; + schema:description ""Electric Current per Unit Temperature" is used to express how a current is subject to temperature. Originally used in Wien's Law to describe phenomena related to filaments. One use today is to express how a current generator derates with temperature."^^rdf:HTML ; +. + + + rdfs:label "Cubic Electric Dipole Moment per Square Energy"@en ; +. + + + rdfs:label "Quartic Electric Dipole Moment per Cubic Energy"@en ; +. + + + rdfs:label "Electric Displacement"@en ; + schema:description "In a dielectric material the presence of an electric field E causes the bound charges in the material (atomic nuclei and their electrons) to slightly separate, inducing a local electric dipole moment. The Electric Displacement Field, \\(D\\), is a vector field that accounts for the effects of free charges within such dielectric materials. This describes also the charge density on an extended surface that could be causing the field."^^ ; +. + + + rdfs:label "Electric Displacement Field"@en ; +. + + + rdfs:label "Electric Field"@en ; + schema:description "The space surrounding an electric charge or in the presence of a time-varying magnetic field has a property called an electric field. This electric field exerts a force on other electrically charged objects. In the idealized case, the force exerted between two point charges is inversely proportional to the square of the distance between them. (Coulomb's Law)."^^rdf:HTML ; +. + + + rdfs:label "Electric Flux"@en ; + rdfs:seeAlso ; + schema:description ""Electric Flux" through an area is defined as the electric field multiplied by the area of the surface projected in a plane perpendicular to the field. Electric Flux is a scalar-valued quantity."^^rdf:HTML ; +. + + + rdfs:label + "قابلية استقطاب"@ar , + "Polarizovatelnost"@cs , + "elektrische Polarisierbarkeit"@de , + "electric polarizability"@en , + "Polarizabilidad"@es , + "قطبیت پذیری الکتریکی"@fa , + "Polarisabilité"@fr , + "polarizzabilità elettrica"@it , + "分極率"@ja , + "Kepengkutuban elektrik"@ms , + "Polaryzowalność"@pl , + "polarizabilidade"@pt , + "Поляризуемость"@ru , + "Kutuplanabilirlik"@tr , + "極化性"@zh ; + schema:description ""Electric Polarizability" is the relative tendency of a charge distribution, like the electron cloud of an atom or molecule, to be distorted from its normal shape by an external electric field, which is applied typically by inserting the molecule in a charged parallel-plate capacitor, but may also be caused by the presence of a nearby ion or dipole."^^rdf:HTML ; +. + + + rdfs:label + "كمون كهربائي"@ar , + "Електрически потенциал"@bg , + "elektrický potenciál"@cs , + "elektrisches Potenzial"@de , + "electric potential"@en , + "potencial eléctrico"@es , + "پتانسیل الکتریکی"@fa , + "potentiel électrique"@fr , + "מתח חשמלי (הפרש פוטנציאלים)"@he , + "विद्युत विभव"@hi , + "elektromos feszültség , elektromos potenciálkülönbség"@hu , + "potenziale elettrico"@it , + "電位"@ja , + "tensio electrica"@la , + "Keupayaan elektrik"@ms , + "potencjał elektryczny"@pl , + "potencial elétrico"@pt , + "potențial electric"@ro , + "электростатический потенциал"@ru , + "električni potencial"@sl , + "elektrik potansiyeli"@tr , + "電勢"@zh ; + schema:description "The Electric Potential is a scalar valued quantity associated with an electric field. The electric potential \\(\\phi(x)\\) at a point, \\(x\\), is formally defined as the line integral of the electric field taken along a path from x to the point at infinity. If the electric field is static, that is time independent, then the choice of the path is arbitrary; however if the electric field is time dependent, taking the integral a different paths will produce different results."^^ ; +. + + + rdfs:label + "جهد كهربائي"@ar , + "elektrické napětí"@cs , + "elektrische Spannung"@de , + "electric potential difference"@en , + "tensión eléctrica"@es , + "ولتاژ/ اختلاف پتانسیل"@fa , + "tension électrique"@fr , + "विभवांतर"@hi , + "differenza di potenziale elettrico"@it , + "電圧"@ja , + "Voltan Perbezaan keupayaan elektrik"@ms , + "napięcie elektryczne"@pl , + "tensão elétrica (diferença de potencial)"@pt , + "diferență de potențial electric"@ro , + "электрическое напряжение"@ru , + "električna napetost"@sl , + "gerilim"@tr , + "電壓"@zh ; + schema:description ""Electric Potential Difference" is a scalar valued quantity associated with an electric field."^^rdf:HTML ; +. + + + rdfs:label + "القدرة الفعالة"@ar , + "Wirkleistung"@de , + "electric power"@en , + "potencia activa"@es , + "puissance active"@fr , + "potenza attiva"@it , + "有効電力"@ja , + "moc czynna"@pl , + "potência activa"@pt , + "有功功率"@zh ; + schema:description "\"Electric Power\" is the rate at which electrical energy is transferred by an electric circuit. In the simple case of direct current circuits, electric power can be calculated as the product of the potential difference in the circuit (V) and the amount of current flowing in the circuit (I): \\(P = VI\\), where \\(P\\) is the power, \\(V\\) is the potential difference, and \\(I\\) is the current. However, in general electric power is calculated by taking the integral of the vector cross-product of the electrical and magnetic fields over a specified area."^^ ; +. + + + rdfs:label "Electric Propulsion Propellant Mass"@en ; +. + + + rdfs:label + "elektrisches Quadrupolmoment"@de , + "electric quadrupole moment"@en , + "momento de cuadrupolo eléctrico"@es , + "گشتاور چهار قطبی الکتریکی"@fa , + "moment quadrupolaire électrique"@fr , + "momento di quadrupolo elettrico"@it , + "四極子"@ja , + "Momen kuadrupol elektrik"@ms , + "elektryczny moment kwadrupolowy"@pl , + "momento de quadrupolo elétrico"@pt , + "Электрический квадрупольный момент"@ru , + "elektrik kuadrupol momenti"@tr , + "电四极矩"@zh ; + schema:description "The Electric Quadrupole Moment is a quantity which describes the effective shape of the ellipsoid of nuclear charge distribution. A non-zero quadrupole moment Q indicates that the charge distribution is not spherically symmetric. By convention, the value of Q is taken to be positive if the ellipsoid is prolate and negative if it is oblate. In general, the electric quadrupole moment is tensor-valued."^^rdf:HTML ; +. + + + rdfs:label + "المتأثرية الكهربائية، سرعة التأثر الكهربائية"@ar , + "elektrische Suszeptibilität"@de , + "electric susceptibility"@en , + "susceptibilidad eléctrica"@es , + "susceptibilité électrique"@fr , + "suscettività elettrica"@it , + "電気感受率"@ja , + "podatność elektryczna"@pl , + "susceptibilidade eléctrica"@pt , + "электрическая восприимчивость"@ru ; + rdfs:seeAlso + , + ; + schema:description ""Electric Susceptibility" is the ratio of electric polarization to electric field strength, normalized to the electric constant. The definition applies to an isotropic medium. For an anisotropic medium, electric susceptibility is a second order tensor."^^rdf:HTML ; +. + + + rdfs:label "Electrical Power To Mass Ratio"@en ; +. + + + rdfs:label "Electrolytic Conductivity"@en ; + schema:description ""Electrolytic Conductivity" of an electrolyte solution is a measure of its ability to conduct electricity."^^rdf:HTML ; +. + + + rdfs:label "Electromagnetic Energy Density"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "\\(\\textbf{Electromagnetic Energy Density}\\), also known as the \\(\\color{indigo} {\\textit{Volumic Electromagnetic Energy}}\\), is the energy associated with an electromagnetic field, per unit volume of the field."^^ ; +. + + + rdfs:label "Electromagnetic Permeability Ratio"@en ; + schema:description "The ratio of the electromagnetic permeability of a specific medium to the electromagnetic permeability of free space."^^rdf:HTML ; +. + + + rdfs:label "Electromagnetic Wave Phase Speed"@en ; + schema:description ""Electromagnetic Wave Phase Speed" is the ratio of angular velocity and wavenumber."^^rdf:HTML ; +. + + + rdfs:label + "قوة محركة كهربائية"@ar , + "Elektromotorické napětí"@cs , + "elektromotorische Kraft"@de , + "electromotive force"@en , + "fuerza electromotriz"@es , + "نیروی محرک الکتریکی"@fa , + "force électromotrice"@fr , + "विद्युतवाहक बल"@hi , + "forza elettromotrice"@it , + "起電力"@ja , + "Daya gerak elektrik"@ms , + "siła elektromotoryczna"@pl , + "força eletromotriz"@pt , + "forță electromotoare"@ro , + "электродвижущая сила"@ru , + "elektromotorna sila"@sl , + "Elektromotor kuvvet"@tr , + "電動勢"@zh ; + schema:description "In physics, electromotive force, or most commonly \\(emf\\) (seldom capitalized), or (occasionally) electromotance is that which tends to cause current (actual electrons and ions) to flow. More formally, \\(emf\\) is the external work expended per unit of charge to produce an electric potential difference across two open-circuited terminals. \"Electromotive Force\" is deprecated in the ISO System of Quantities."^^ ; +. + + + rdfs:label "Electron Affinity"@en ; + schema:description ""Electron Affinity" is the energy difference between an electron at rest at infinity and an electron at the lowest level of the conduction band in an insulator or semiconductor. The the amount of energy released when an electron is added to a neutral atom or molecule to form a negative ion."^^rdf:HTML ; +. + + + rdfs:label "Electron Density"@en ; + schema:description ""Electron Density" is the number of electrons per volume in conduction bands. It is the measure of the probability of an electron being present at a specific location."^^rdf:HTML ; +. + + + rdfs:label "Electron Mean Free Path"@en ; + schema:description ""Electron Mean Free Path" is the mean free path of electrons."^^rdf:HTML ; +. + + + rdfs:label "Electron Radius"@en ; + schema:description ""Electron Radius", also known as the Lorentz radius or the Thomson scattering length, is based on a classical (i.e., non-quantum) relativistic model of the electron."^^rdf:HTML ; +. + + + rdfs:label "Elliptical Orbit Apogee Velocity"@en ; + schema:description "Velocity at apogee for an elliptical orbit velocity"^^rdf:HTML ; +. + + + rdfs:label "Elliptical Orbit Perigee Velocity"@en ; + schema:description "Velocity at apogee for an elliptical orbit velocity."^^rdf:HTML ; +. + + + rdfs:label "Emissivity"@en ; + schema:description "Emissivity of a material (usually written \\(\\varepsilon\\) or e) is the relative ability of its surface to emit energy by radiation."^^ ; +. + + + rdfs:label "Energy Density"@en ; + schema:description "Energy density is defined as energy per unit volume. The SI unit for energy density is the joule per cubic meter."^^rdf:HTML ; +. + + + rdfs:label "Energy Density of States"@en ; + schema:description ""Energy Density of States" refers to electrons or other entities, e.g. phonons. It can, for example, refer to amount of substance instead of volume."^^rdf:HTML ; +. + + + rdfs:label "Energy Expenditure"@en ; + schema:description """Energy expenditure is dependent on a person's sex, metabolic rate, body-mass composition, the thermic effects of food, and activity level. The approximate energy expenditure of a man lying in bed is \\(1.0\\,kilo\\,calorie\\,per\\,hour\\,per\\,kilogram\\). For slow walking (just over two miles per hour), \\(3.0\\,kilo\\,calorie\\,per\\,hour\\,per\\,kilogram\\). For fast steady running (about 10 miles per hour), \\(16.3\\,kilo\\,calorie\\,per\\,hour\\,per\\,kilogram\\). +Females expend about 10 per cent less energy than males of the same size doing a comparable activity. For people weighing the same, individuals with a high percentage of body fat usually expend less energy than lean people, because fat is not as metabolically active as muscle."""^^ ; +. + + + rdfs:label "Energy Fluence"@en ; + schema:description ""Energy Fluence" can be used to describe the energy delivered per unit area"^^rdf:HTML ; +. + + + rdfs:label "Energy Fluence Rate"@en ; + schema:description ""Energy Fluence Rate" can be used to describe the energy fluence delivered per unit time."^^rdf:HTML ; +. + + + rdfs:label "Energy Imparted"@en ; + schema:description "The "Energy Imparted", is a physical quantity associated with the energy delivered to a particular volume of matter by all the directly and indirectly ionizing particles (i.e. charged and uncharged) entering that volume."^^rdf:HTML ; +. + + + rdfs:label + "طاقة داخلية"@ar , + "vnitřní energie"@cs , + "innere Energie"@de , + "internal energy"@en , + "energía interna"@es , + "انرژی درونی"@fa , + "énergie interne"@fr , + "आन्तरिक ऊर्जा"@hi , + "energia interna"@it , + "内部エネルギー"@ja , + "Tenaga dalaman"@ms , + "energia wewnętrzna"@pl , + "energia interna"@pt , + "energie internă"@ro , + "внутренняя энергия"@ru , + "Notranja energija"@sl , + "İç enerji"@tr , + "内能"@zh ; + schema:description "The internal energy is the total energy contained by a thermodynamic system. It is the energy needed to create the system, but excludes the energy to displace the system's surroundings, any energy associated with a move as a whole, or due to external force fields. Internal energy has two major components, kinetic energy and potential energy. The internal energy (U) is the sum of all forms of energy (Ei) intrinsic to a thermodynamic system: \\( U = \\sum_i E_i \\)"^^ ; +. + + + rdfs:label + "طاقة حركية"@ar , + "kinetická energie"@cs , + "kinetische Energie"@de , + "kinetic energy"@en , + "energía cinética"@es , + "انرژی جنبشی"@fa , + "énergie cinétique"@fr , + "गतिज ऊर्जा"@hi , + "energia cinetica"@it , + "運動エネルギー"@ja , + "Tenaga kinetik"@ms , + "energia kinetyczna"@pl , + "energia cinética"@pt , + "Energie cinetică"@ro , + "кинетическая энергия"@ru , + "Kinetik enerji"@tr , + "动能"@zh ; + schema:description "The kinetic energy of an object is the energy which it possesses due to its motion. It is defined as the work needed to accelerate a body of a given mass from rest to its stated velocity."^^rdf:HTML ; +. + + + rdfs:label "Energy Level"@en ; + schema:description ""Energy Level" is the ionization energy for an electron at the Fermi energy in the interior of a substance."^^rdf:HTML ; +. + + + rdfs:label "Energy per Area"@en ; + schema:description "Energy per unit area is a measure of the energy either impinging upon or generated from a given unit of area. This can be a measure of the "toughness" of a material, being the amount of energy that needs to be applied per unit area of a crack to cause it to fracture. This is a constant for a given material.."^^rdf:HTML ; +. + + + rdfs:label "Energy Per Area Electric Charge"@en ; + schema:description ""Energy Per Area Electric Charge" is the amount of electric energy associated with a unit of area."^^rdf:HTML ; +. + + + rdfs:label "Energy per electric charge"@en ; + schema:description "Voltage is a representation of the electric potential energy per unit charge. If a unit of electrical charge were placed in a location, the voltage indicates the potential energy of it at that point. In other words, it is a measurement of the energy contained within an electric field, or an electric circuit, at a given point. Voltage is a scalar quantity. The SI unit of voltage is the volt, such that \\(1 volt = 1 joule/coulomb\\)."^^ ; +. + + + rdfs:label "Energy Per Square Magnetic Flux Density"@en ; + schema:description ""Energy Per Square Magnetic Flux Density" is a measure of energy for a unit of magnetic flux density."^^rdf:HTML ; +. + + + rdfs:label "Energy and work per mass amount of substance"@en ; +. + + + rdfs:label "Energy Per Square Magnetic Flux Density"@en ; + schema:description ""Energy Per Square Magnetic Flux Density" is a measure of energy for a unit of magnetic flux density."^^rdf:HTML ; +. + + + rdfs:label "Energy per temperature"@en ; +. + + + rdfs:label "Square Energy"@en ; +. + + + rdfs:label "Equilibrium Constant"@en ; + rdfs:seeAlso + , + ; + schema:description "The "Equlilbrium Constant", also known as the thermodynamic equilibrium constant, is an expression that gives us a ratio of the products and reactants of a reaction at equilibrium with respect to a specific unit."^^rdf:HTML ; +. + + + rdfs:label "Equilibrium Position Vector of Ion"@en ; + schema:description ""Equilibrium Position Vector of Ion" is the position vector of a particle in equilibrium."^^rdf:HTML ; +. + + + rdfs:label "Equivalent absorption area"@en ; + schema:description "In a diffuse sound field, the Equivalent Absorption Area is that area of a surface having an absorption factor equal to 1, which, if diffraction effects are neglected, would, in the same diffuse sound field, absorb the same power."^^rdf:HTML ; +. + + + rdfs:label "Evaporative Heat Transfer"@en ; + schema:description ""Evaporative Heat Transfer" is "^^rdf:HTML ; +. + + + rdfs:label "Combined Non Evaporative Heat Transfer Coefficient"@en ; + schema:description ""Evaporative Heat Transfer Coefficient" is the areic heat transfer coefficient multiplied by the water vapor pressure difference between skind and the environment, and by the exchange area."^^rdf:HTML ; +. + + + rdfs:label "Exchange Integral"@en ; + schema:description ""Exchange Integral" is the constituent of the interaction energy between the spins of adjacent electrons in matter arising from the overlap of electron state functions."^^rdf:HTML ; +. + + + rdfs:label "Exhaust Gas Mean Molecular Weight"@en ; +. + + + rdfs:label "Exhaust Gases Specific Heat"@en ; + schema:description "Specific heat of exhaust gases at constant pressure."^^rdf:HTML ; +. + + + rdfs:label "Exhaust Stream Power"@en ; +. + + + rdfs:label "Exit Plane Cross-sectional Area"@en ; + schema:description "Cross-sectional area at exit plane of nozzle"^^rdf:HTML ; +. + + + rdfs:label "Exit Plane Pressure"@en ; +. + + + rdfs:label "Exit Plane Temperature"@en ; +. + + + rdfs:label "Expansion Ratio"@en ; +. + + + rdfs:label "Exposure"@en ; + schema:description ""Exposure" reflects the extent of ionization events taking place when air is irradiated by ionizing photons (gamma radiation and/or x rays). In photography, exposure is the amount of light allowed to fall on each area unit of a photographic medium (photographic film or image sensor) during the process of taking a photograph. Exposure is measured in lux seconds, and can be computed from exposure value (EV) and scene luminance in a specified region."^^rdf:HTML ; +. + + + rdfs:label "Exposure Rate"@en ; + schema:description ""Exposure Rate" expresses the rate of charge production per unit mass of air and is commonly expressed in roentgens per hour (R/h) or milliroentgens per hour (mR/h)."^^rdf:HTML ; +. + + + rdfs:label "Extent of Reaction"@en ; + schema:description "In physical chemistry, the "Extent of Reaction" is a quantity that measures the extent in which the reaction proceeds."^^rdf:HTML ; +. + + + rdfs:label "Flight Performance Reserve Propellant Mass"@en ; + schema:description "A quantity of propellant, at a nominal mixture ratio, along with fuel bias that is set aside from total propellant loaded to cover for statistical variations of flight hardware characteristics and environment conditions on the day of launch. The launch vehicle is designed to accommodate the maximum FPR loading."^^rdf:HTML ; +. + + + rdfs:label "Fuel Bias"@en ; + schema:description "An additional quantity of fuel to ensure depletion of high-weight oxidizer before fuel for systems with high-oxidizer mixing ratios (e.g., 6:1). This practice allows for more efficient propellant utilization. Denoted as a percentage."^^rdf:HTML ; +. + + + rdfs:label "Fast Fission Factor"@en ; + schema:description ""Fast Fission Factor" in an infinite medium, is the ratio of the mean number of neutrons produced by fission due to neutrons of all energies to the mean number of neutrons produced by fissions due to thermal neutrons only."^^rdf:HTML ; +. + + + rdfs:label "Fermi Angular Wavenumber"@en ; +. + + + rdfs:label "Fermi Energy"@en ; + schema:description ""Fermi Energy" in a metal is the highest occupied energy level at zero thermodynamic temperature."^^rdf:HTML ; +. + + + rdfs:label "Fermi Temperature"@en ; + schema:description ""Fermi Temperature" is the temperature associated with the Fermi energy."^^rdf:HTML ; +. + + + rdfs:label "Final Or Current Vehicle Mass"@en ; +. + + + rdfs:label "First Moment of Area"@en ; + schema:description "The first moment of area is the summation of area times distance to an axis. It is a measure of the distribution of the area of a shape in relationship to an axis."^^rdf:HTML ; +. + + + rdfs:label "First Stage Mass Ratio"@en ; + schema:description "Mass ratio for the first stage of a multistage launcher."^^rdf:HTML ; +. + + + rdfs:label "Fish Biotransformation Half Life"@en ; + schema:description "A time that quantifies how long its takes to transform 50% of a substance's total concentration from any concentration point in time in fish via whole body metabolic reactions."^^rdf:HTML ; +. + + + rdfs:label "Fission Core Radius To Height Ratio"@en ; +. + + + rdfs:label "Fission Fuel Utilization Factor"@en ; +. + + + rdfs:label "Fission Multiplication Factor"@en ; + schema:description "The number of fission neutrons produced per absorption in the fuel."^^rdf:HTML ; +. + + + rdfs:label "Flash Point Temperature"@en ; + schema:description "A temperature that is the lowest one at which the vapors of a volatile material will ignite if exposed to an ignition source. It is frequently used to characterize fire hazards and distinguish different flammable fuels."^^rdf:HTML ; +. + + + rdfs:label "Flight Path Angle"@en ; + schema:description "Flight path angle is defined in two different ways. To the aerodynamicist, it is the angle between the flight path vector (where the airplane is going) and the local atmosphere. To the flight crew, it is normally known as the angle between the flight path vector and the horizon, also known as the climb (or descent) angle."^^rdf:HTML ; +. + + + rdfs:label "Flux"@en ; + schema:description "Flux describes any effect that appears to pass or travel (whether it actually moves or not) through a surface or substance. [Wikipedia]"^^rdf:HTML ; +. + + + rdfs:label + "وحدة القوة في نظام متر كيلوغرام ثانية"@ar , + "сила"@bg , + "Síla"@cs , + "Kraft"@de , + "Δύναμη"@el , + "force"@en , + "fuerza"@es , + "نیرو"@fa , + "force"@fr , + "כוח"@he , + "बल"@hi , + "erő"@hu , + "forza"@it , + "力"@ja , + "vis"@la , + "Daya"@ms , + "siła"@pl , + "força"@pt , + "forță"@ro , + "Сила"@ru , + "sila"@sl , + "kuvvet"@tr , + "力"@zh ; + schema:description "\"Force\" is an influence that causes mass to accelerate. It may be experienced as a lift, a push, or a pull. Force is defined by Newton's Second Law as \\(F = m \\times a \\), where \\(F\\) is force, \\(m\\) is mass and \\(a\\) is acceleration. Net force is mathematically equal to the time rate of change of the momentum of the body on which it acts. Since momentum is a vector quantity (has both a magnitude and direction), force also is a vector quantity."^^ ; +. + + + rdfs:label "Force Magnitude"@en ; + schema:description "The 'magnitude' of a force is its 'size' or 'strength', regardless of the direction in which it acts."^^rdf:HTML ; +. + + + rdfs:label "Force per Angle"@en ; +. + + + rdfs:label "Force Per Area"@en ; + schema:description "The force applied to a unit area of surface; measured in pascals (SI unit) or in dynes (cgs unit)"^^rdf:HTML ; +. + + + rdfs:label "Force Per Area Time"@en ; +. + + + rdfs:label "Force per Electric Charge"@en ; + schema:description "The electric field depicts the force exerted on other electrically charged objects by the electrically charged particle the field is surrounding. The electric field is a vector field with SI units of newtons per coulomb (\\(N C^{-1}\\)) or, equivalently, volts per metre (\\(V m^{-1}\\) ). The SI base units of the electric field are \\(kg m s^{-3} A^{-1}\\). The strength or magnitude of the field at a given point is defined as the force that would be exerted on a positive test charge of 1 coulomb placed at that point"^^ ; +. + + + rdfs:label "Force per Length"@en ; +. + + + rdfs:label + "التردد لدى نظام الوحدات الدولي"@ar , + "Честота"@bg , + "Frekvence"@cs , + "Frequenz"@de , + "Συχνότητα"@el , + "frequency"@en , + "frecuencia"@es , + "بسامد"@fa , + "fréquence"@fr , + "תדירות"@he , + "आवृत्ति"@hi , + "frekvencia"@hu , + "frequenza"@it , + "周波数"@ja , + "frequentia"@la , + "Frekuensi"@ms , + "częstotliwość"@pl , + "frequência"@pt , + "frecvență"@ro , + "Частота"@ru , + "frekvenca"@sl , + "frekans"@tr , + "频率"@zh ; + schema:description "\"Frequency\" is the number of occurrences of a repeating event per unit time. The repetition of the events may be periodic (that is. the length of time between event repetitions is fixed) or aperiodic (i.e. the length of time between event repetitions varies). Therefore, we distinguish between periodic and aperiodic frequencies. In the SI system, periodic frequency is measured in hertz (Hz) or multiples of hertz, while aperiodic frequency is measured in becquerel (Bq). In spectroscopy, \\(\\nu\\) is mostly used. Light passing through different media keeps its frequency, but not its wavelength or wavenumber."^^ ; +. + + + rdfs:label "Friction"@en ; + schema:description ""Friction" is the force of two surfaces In contact, or the force of a medium acting on a moving object (that is air on an aircraft). When contacting surfaces move relative to each other, the friction between the two objects converts kinetic energy into thermal energy."^^rdf:HTML ; +. + + + rdfs:label "Friction Coefficient"@en ; + schema:description ""Friction Coefficient" is the ratio of the force of friction between two bodies and the force pressing them together"^^rdf:HTML ; +. + + + rdfs:label + "انفلاتية"@ar , + "fugacita"@cs , + "Fugazität"@de , + "fugacity"@en , + "fugacidad"@es , + "بی‌دوامی"@fa , + "fugacité"@fr , + "fugacità"@it , + "フガシティー"@ja , + "Fugasiti"@ms , + "Lotność"@pl , + "fugacidade"@pt , + "fugacitate"@ro , + "fügasite"@tr , + "逸度"@zh ; + schema:description ""Fugacity" of a real gas is an effective pressure which replaces the true mechanical pressure in accurate chemical equilibrium calculations. It is equal to the pressure of an ideal gas which has the same chemical potential as the real gas."^^rdf:HTML ; +. + + + rdfs:label "Fundamental Lattice vector"@en ; + schema:description ""Fundamental Lattice vector" are fundamental translation vectors for the crystal lattice."^^rdf:HTML ; +. + + + rdfs:label "Fundamental Reciprocal Lattice Vector"@en ; + schema:description ""Fundamental Reciprocal Lattice Vector" are fundamental, or primary, translation vectors the reciprocal lattice."^^rdf:HTML ; +. + + + rdfs:label "g-Factor of Nucleus"@en ; + schema:description "The "g-Factor of Nucleus" is associated with the spin and magnetic moments of protons, neutrons, and many nuclei."^^rdf:HTML ; +. + + + rdfs:label "Gross Lift-Off Weight"@en ; + schema:description "The sum of a rocket's inert mass and usable fluids and gases at sea level."^^rdf:HTML ; +. + + + rdfs:label "Gain"@en ; + schema:description "A general term used to denote an increase in signal power or signal strength in transmission from one point to another. Gain is usually expressed in decibels and is widely used to denote transducer gain. An increase or amplification. In radar there are two general usages of the term: (a) antenna gain, or gain factor, is the ratio of the power transmitted along the beam axis to that of an isotropic radiator transmitting the same total power; (b) receiver gain, or video gain, is the amplification given a signal by the receiver."^^rdf:HTML ; +. + + + rdfs:label "Gap Energy"@en ; + schema:description ""Gap Energy" is the difference in energy between the lowest level of conduction band and the highest level of valence band. It is an energy range in a solid where no electron states can exist."^^rdf:HTML ; +. + + + rdfs:label "Gene Family Abundance"@en ; + schema:description "The abundance of each gene family in the community. Gene families are groups of evolutionarily-related protein-coding sequences that often perform similar functions. Gene family abundance is reported in RPK (reads per kilobase) units to normalize for gene length."^^rdf:HTML ; +. + + + rdfs:label "Generalized Coordinate"@en ; + schema:description "Generalized Coordinates refers to the parameters that describe the configuration of the system relative to some reference configuration. These parameters must uniquely define the configuration of the system relative to the reference configuration."^^rdf:HTML ; +. + + + rdfs:label "Generalized Force"@en ; + schema:description "Generalized Forces find use in Lagrangian mechanics, where they play a role conjugate to generalized coordinates."^^rdf:HTML ; +. + + + rdfs:label "Generalized Force"@en ; + schema:description "Generalized Momentum, also known as the canonical or conjugate momentum, extends the concepts of both linear momentum and angular momentum. To distinguish it from generalized momentum, the product of mass and velocity is also referred to as mechanical, kinetic or kinematic momentum."^^rdf:HTML ; +. + + + rdfs:label "Generalized Velocity"@en ; + schema:description "Generalized Velocities are the time derivatives of the generalized coordinates of the system."^^rdf:HTML ; +. + + + rdfs:label "Grand Canonical Partition Function"@en ; + schema:description "An "Grand Canonical Partition Function" for a grand canonical ensemble, a system that can exchange both heat and particles with the environment, which has a constant temperature and a chemical potential."^^rdf:HTML ; +. + + + rdfs:label "Gravitational Attraction"@en ; + schema:description "The force of attraction between all masses in the universe; especially the attraction of the earth's mass for bodies near its surface; the more remote the body the less the gravity; the gravitation between two bodies is proportional to the product of their masses and inversely proportional to the square of the distance between them."^^rdf:HTML ; +. + + + rdfs:label "API Gravity"@en ; + schema:description """The American Petroleum Institute gravity, or API gravity, is a measure of how heavy or light a petroleum liquid is compared to water: if its API gravity is greater than 10, it is lighter and floats on water; if less than 10, it is heavier and sinks. + +API gravity is thus an inverse measure of a petroleum liquid's density relative to that of water (also known as specific gravity). It is used to compare densities of petroleum liquids. For example, if one petroleum liquid is less dense than another, it has a greater API gravity. Although API gravity is mathematically a dimensionless quantity (see the formula below), it is referred to as being in 'degrees'. API gravity is graduated in degrees on a hydrometer instrument. API gravity values of most petroleum liquids fall between 10 and 70 degrees.""" ; +. + + + rdfs:label "Group Speed of Sound"@en ; + schema:description "In a dispersive medium sound speed is a function of sound frequency, through the dispersion relation. The spatial and temporal distribution of a propagating disturbance will continually change. The group speed of sound describes the propagation of the disturbance."^^rdf:HTML ; +. + + + rdfs:label "Growing Degree Days (Cereals)"@en ; + schema:description "The sum of excess temperature over 5.5°C, where the temperature is the mean of the minimum and maximum atmospheric temperature in a day. This measure is appropriate for most cereal crops."^^rdf:HTML ; +. + + + rdfs:label "Gruneisen Parameter"@en ; + schema:description ""Gruneisen Parameter" named after Eduard Grüneisen, describes the effect that changing the volume of a crystal lattice has on its vibrational properties, and, as a consequence, the effect that changing temperature has on the size or dynamics of the lattice."^^rdf:HTML ; +. + + + rdfs:label "Gustatory Threshold"@en ; + schema:description ""Gustatory Threshold" are thresholds for classes of taste that can be detected by the human mouth and thresholds of sensitivity to foods, drinks and other substances."^^rdf:HTML ; +. + + + rdfs:label "Gyromagnetic Ratio"@en ; + schema:description "\"Gyromagnetic Ratio}, also sometimes known as the magnetogyric ratio in other disciplines, of a particle or system is the ratio of its magnetic dipole moment to its angular momentum, and it is often denoted by the symbol, \\(\\gamma\\). Its SI units are radian per second per tesla (\\(rad s^{-1} \\cdot T^{1}\\)) or, equivalently, coulomb per kilogram (\\(C \\cdot kg^{-1\"\\))."^^ ; +. + + + rdfs:label + "Poločas rozpadu"@cs , + "Halbwertszeit"@de , + "half-life"@en , + "semiperiodo"@es , + "نیمه عمر"@fa , + "temps de demi-vie"@fr , + "tempo di dimezzamento"@it , + "Separuh hayat"@ms , + "meia-vida"@pt , + "yarılanma süresi"@tr , + "半衰期"@zh ; + schema:description "The "Half-Life" is the average duration required for the decay of one half of the atoms or nuclei."^^rdf:HTML ; +. + + + rdfs:label "Half-Value Thickness"@en ; + schema:description "The "Half-Value Thickness" is the thickness of the material at which the intensity of radiation entering it is reduced by one half."^^rdf:HTML ; +. + + + rdfs:label "Hall Coefficient"@en ; + schema:description ""Hall Coefficient" is defined as the ratio of the induced electric field to the product of the current density and the applied magnetic field."^^rdf:HTML ; +. + + + rdfs:label "Hamilton Function"@en ; + schema:description "The Hamilton–Jacobi equation (HJE) is a necessary condition describing extremal geometry in generalizations of problems from the calculus of variations."^^rdf:HTML ; +. + + + rdfs:label "Head End Pressure"@en ; +. + + + rdfs:label "Heart Rate"@en ; + schema:description "The number of heartbeats per unit of time, usually per minute. The heart rate is based on the number of contractions of the ventricles (the lower chambers of the heart). The heart rate may be too fast (tachycardia) or too slow (bradycardia). The average adult pulse rate at rest is 60–80 per minute, but exercise, injury, illness, and emotion may produce much faster rates."^^rdf:HTML ; +. + + + rdfs:label + "حرارة"@ar , + "jednotka tepla"@cs , + "Wärme"@de , + "heat"@en , + "calor"@es , + "کمیت گرما"@fa , + "quantité de chaleur"@fr , + "ऊष्मा"@hi , + "calore"@it , + "熱量"@ja , + "labor"@la , + "kuantiti haba Haba"@ms , + "ciepło"@pl , + "quantidade de calor"@pt , + "cantitate de căldură"@ro , + "Теплота"@ru , + "toplota"@sl , + "ısı miktarı"@tr , + "热量"@zh ; + schema:description ""Heat" is the energy transferred by a thermal process. Heat can be measured in terms of the dynamical units of energy, as the erg, joule, etc., or in terms of the amount of energy required to produce a definite thermal change in some substance, as, for example, the energy required per degree to raise the temperature of a unit mass of water at some temperature ( calorie, Btu)."^^rdf:HTML ; +. + + + rdfs:label "Heat Capacity Ratio"@en ; + schema:description "The heat capacity ratio, or ratio of specific heats, is the ratio of the heat capacity at constant pressure (\\(C_P\\)) to heat capacity at constant volume (\\(C_V\\)). For an ideal gas, the heat capacity is constant with temperature (\\(\\theta\\)). Accordingly we can express the enthalpy as \\(H = C_P*\\theta\\) and the internal energy as \\(U = C_V \\cdot \\theta\\). Thus, it can also be said that the heat capacity ratio is the ratio between enthalpy and internal energy."^^ ; +. + + + rdfs:label "Heat Flow Rate per Unit Area"@en ; + schema:description "\\(\\textit{Heat Flux}\\) is the heat rate per unit area. In SI units, heat flux is measured in \\(W/m^2\\). Heat rate is a scalar quantity, while heat flux is a vectorial quantity. To define the heat flux at a certain point in space, one takes the limiting case where the size of the surface becomes infinitesimally small."^^ ; +. + + + rdfs:label "Heat Flux Density"@en ; +. + + + rdfs:label "Calorific Value"@en ; + schema:description "The heating value (or energy value or calorific value) of a substance, usually a fuel or food (see food energy), is the amount of heat released during the combustion of a specified amount of it. "^^rdf:HTML ; +. + + + rdfs:label + "Výška"@cs , + "Höhe"@de , + "height"@en , + "altura"@es , + "ارتفاع"@fa , + "hauteur"@fr , + "altezza"@it , + "Ketinggian"@ms , + "altura"@pt , + "Înălțime"@ro , + "высота"@ru , + "yükseklik"@tr , + "高度"@zh ; + schema:description ""Height" is the measurement of vertical distance, but has two meanings in common use. It can either indicate how "tall" something is, or how "high up" it is."^^rdf:HTML ; +. + + + rdfs:label "Henry's Law Volatility Constant"@en ; + schema:description "A quantity kind that is a proportionality constant that relates the partial pressure of a gas above a liquid and the concentration of the gas dissolved in the liquid. The numerator contains the gaseous concentration and the denominator contains the liquid concentration."^^rdf:HTML ; +. + + + rdfs:label "Hole Density"@en ; + schema:description ""Hole Density" is the number of holes per volume in a valence band."^^rdf:HTML ; +. + + + rdfs:label "Horizontal Velocity"@en ; + schema:description "Component of a projectile's velocity, which acts parallel to the ground and does not lift the projectile in the air."^^rdf:HTML ; +. + + + rdfs:label "Hydraulic Permeability"@en ; + schema:description "Permeability is a property of porous materials that is an indication of the ability for fluids (gas or liquid) to flow through them. Fluids can more easily flow through a material with high permeability than one with low permeability. The permeability of a medium is related to the porosity, but also to the shapes of the pores in the medium and their level of connectedness."^^rdf:HTML ; +. + + + rdfs:label "Hyperfine Structure Quantum Number"@en ; + schema:description "The "Hyperfine Structure Quantum Number" is a quantum number of an atom describing inclination of the nuclear spin with respect to a quantization axis given by the magnetic field produced by the orbital electrons."^^rdf:HTML ; +. + + + rdfs:label "Inert Mass"@en ; + schema:description "The sum of the vehicle dry mass, residual fluids and gasses, personnel and personnel provisions, and cargo."^^rdf:HTML ; +. + + + rdfs:label "Ignition interval time"@en ; +. + + + rdfs:label + "شدة الضوء"@ar , + "Осветеност"@bg , + "Intenzita osvětlení"@cs , + "Beleuchtungsstärke"@de , + "illuminance"@en , + "luminosidad"@es , + "شدت روشنایی"@fa , + "éclairement lumineux"@fr , + "הארה (שטף ליחידת שטח)"@he , + "प्रदीपन"@hi , + "megvilágítás"@hu , + "illuminamento"@it , + "照度"@ja , + "Pencahayaan"@ms , + "natężenie oświetlenia"@pl , + "iluminamento"@pt , + "iluminare"@ro , + "Освещённость"@ru , + "osvetljenost"@sl , + "aydınlanma şiddeti"@tr , + "照度"@zh ; + schema:description "Illuminance is the total luminous flux incident on a surface, per unit area. It is a measure of the intensity of the incident light, wavelength-weighted by the luminosity function to correlate with human brightness perception."^^rdf:HTML ; +. + + + rdfs:label "Incidence"@en ; + schema:description "In epidemiology, incidence is a measure of the probability of occurrence of a given medical condition in a population within a specified period of time."^^rdf:HTML ; +. + + + rdfs:label "Infinite Multiplication Factor"@en ; + schema:description "The "Infinite Multiplication Factor" is the multiplication factor for an infinite medium or for an infinite repeating lattice."^^rdf:HTML ; +. + + + rdfs:label "Information Entropy"@en ; + schema:description "Information Entropy is a concept from information theory. It tells how much information there is in an event. In general, the more uncertain or random the event is, the more information it will contain. The concept of information entropy was created by a mathematician. He was named Claude Elwood Shannon. It has applications in many areas, including lossless data compression, statistical inference, cryptography and recently in other disciplines as biology, physics or machine learning."^^rdf:HTML ; +. + + + rdfs:label "Information flow rate"@en ; +. + + + rdfs:label "Initial Expansion Ratio"@en ; +. + + + rdfs:label "Initial Nozzle Throat Diameter"@en ; +. + + + rdfs:label "Initial Vehicle Mass"@en ; +. + + + rdfs:label "Initial Velocity"@en ; + schema:description "The velocity of a moving body at starting; especially, the velocity of a projectile as it leaves the mouth of a firearm from which it is discharged."^^rdf:HTML ; +. + + + rdfs:label "InternalConversionFactor"@en ; + schema:description "The "InternalConversionFactor" describes the rate of internal conversion. It is the ratio of the number of internal conversion electrons to the number of gamma quanta emitted by the radioactive atom in a given transition."^^rdf:HTML ; +. + + + rdfs:label "Intinsic Carrier Density"@en ; + schema:description ""Intinsic Carrier Density" is proportional to electron and hole densities."^^rdf:HTML ; +. + + + rdfs:label "Inverse amount of substance"@en ; +. + + + rdfs:label "Inverse Energy"@en ; +. + + + rdfs:label "Inverse Square Energy"@en ; +. + + + rdfs:label "Inverse Length"@en ; + schema:description "Reciprocal length or inverse length is a measurement used in several branches of science and mathematics. As the reciprocal of length, common units used for this measurement include the reciprocal metre or inverse metre (\\(m^{-1}\\)), the reciprocal centimetre or inverse centimetre (\\(cm^{-1}\\)), and, in optics, the dioptre."^^ ; +. + + + rdfs:label "Inverse Length Temperature"@en ; +. + + + rdfs:label "Inverse Magnetic Flux"@en ; +. + + + rdfs:label "Inverse Square Mass"@en ; +. + + + rdfs:label "Inverse Permittivity"@en ; +. + + + rdfs:label "Inverse Pressure"@en ; +. + + + rdfs:label "Inverse Square Energy"@en ; +. + + + rdfs:label "Inverse Square Mass"@en ; +. + + + rdfs:label "Inverse Square Time"@en ; +. + + + rdfs:label "Inverse Temperature"@en ; +. + + + rdfs:label "Inverse Time"@en ; +. + + + rdfs:label "Inverse Time Temperature"@en ; +. + + + rdfs:label "Inverse Square Time"@en ; +. + + + rdfs:label "Inverse Volume"@en ; +. + + + rdfs:label "Ion Concentration"@en ; + schema:description ""Ion Concentration" is the number of ions per unit volume. Also known as ion density."^^rdf:HTML ; +. + + + rdfs:label "Ion Current"@en ; + schema:description "An ion current is the influx and/or efflux of ions through an ion channel."^^rdf:HTML ; +. + + + rdfs:label "Ion Density"@en ; + schema:description ""Ion Density" is the number of ions per unit volume. Also known as ion concentration."^^rdf:HTML ; +. + + + rdfs:label "Ion Transport Number"@en ; + schema:description "The "Ion Transport Number" is a quantity which indicates the different contribution of ions to the electric current in electrolytes due to different electrical mobility."^^rdf:HTML ; +. + + + rdfs:label "Ionic Charge"@en ; + schema:description "The total charge of an ion. The charge of an electron; the charge of any ion is equal to this electron charge in magnitude, or is an integral multiple of it."^^rdf:HTML ; +. + + + rdfs:label "Ionic Strength"@en ; + schema:description "The "Ionic Strength" of a solution is a measure of the concentration of ions in that solution."^^rdf:HTML ; +. + + + rdfs:label "Ionization Energy"@en ; + schema:description ""Ionization Energy" is the energy difference between an electron at rest at infinity and an electron at a certain energy level. The amount of energy required to remove an electron from that atom or molecule in the gas phase."^^rdf:HTML ; +. + + + rdfs:label + "الطاقة الهلامية"@ar , + "Intenzita záření"@cs , + "Bestrahlungsstärke"@de , + "irradiance"@en , + "irradiancia"@es , + "پرتو افکنی/چگالی تابش"@fa , + "éclairement énergétique"@fr , + "irradianza"@it , + "熱流束"@ja , + "Kepenyinaran"@ms , + "irradiância"@pt , + "Поверхностная плотность потока энергии"@ru , + "yoğunluk"@tr , + "辐照度"@zh ; + schema:description "Irradiance and Radiant Emittance are radiometry terms for the power per unit area of electromagnetic radiation at a surface. "Irradiance" is used when the electromagnetic radiation is incident on the surface. "Radiant emmitance" (or "radiant exitance") is used when the radiation is emerging from the surface."^^rdf:HTML ; +. + + + rdfs:label + "معامل الانضغاط عند ثبوت درجة الحرارة"@ar , + "objemová stlačitelnost"@cs , + "isotherme Kompressibilität"@de , + "isothermal compressibility"@en , + "compresibilidad isotérmica"@es , + "ضریب تراکم‌پذیری همدما"@fa , + "compressibilité isotherme"@fr , + "comprimibilità isotermica"@it , + "等温圧縮率"@ja , + "Ketermampatan isotermik"@ms , + "ściśliwość izotermiczna"@pl , + "compressibilidade isotérmica"@pt , + "изотермический коэффициент сжимаемости"@ru , + "Izotermna stisljivost"@sl , + "等温压缩率"@zh ; + schema:description "The isothermal compressibility defines the rate of change of system volume with pressure."^^rdf:HTML ; +. + + + rdfs:label "Isothermal Moisture Capacity"@en ; + schema:description "\"Isothermal Moisture Capacity\" is the capacity of a material to absorb moisture in the Effective Moisture Penetration Depth (EMPD) model."^^ ; +. + + + rdfs:label "Kerma"@en ; + schema:description ""Kerma" is the sum of the initial kinetic energies of all the charged particles liberated by uncharged ionizing radiation (i.e., indirectly ionizing radiation such as photons and neutrons) in a sample of matter, divided by the mass of the sample."^^rdf:HTML ; +. + + + rdfs:label "Kerma Rate"@en ; + schema:description ""Kerma Rate" is the kerma per unit time."^^rdf:HTML ; +. + + + rdfs:label "Kinetic Energy"@en ; + schema:description "\\(\\textit{Kinetic Energy}\\) is the energy which a body possesses as a consequence of its motion, defined as one-half the product of its mass \\(m\\) and the square of its speed \\(v\\), \\( \\frac{1}{2} mv^{2} \\). The kinetic energy per unit volume of a fluid parcel is the \\( \\frac{1}{2} p v^{2}\\) , where \\(p\\) is the density and \\(v\\) the speed of the parcel. See potential energy. For relativistic speeds the kinetic energy is given by \\(E_k = mc^2 - m_0 c^2\\), where \\(c\\) is the velocity of light in a vacuum, \\(m_0\\) is the rest mass, and \\(m\\) is the moving mass."^^ ; +. + + + rdfs:label "Lagrange Function"@en ; + schema:description "The Lagrange Function is a function that summarizes the dynamics of the system."^^rdf:HTML ; +. + + + rdfs:label "Landau-Ginzburg Number"@en ; + schema:description ""Landau-Ginzburg Number", also known as the Ginzburg-Landau parameter, describes the relationship between London penetration depth and coherence length."^^rdf:HTML ; +. + + + rdfs:label "Lande g-Factor"@en ; + schema:description "The "Lande g-Factor" is a particular example of a g-factor, namely for an electron with both spin and orbital angular momenta. It is named after Alfred Landé, who first described it in 1921."^^rdf:HTML ; +. + + + rdfs:label "Larmor Angular Frequency"@en ; + schema:description "The "Larmor Frequency" describes angular momentum vector precession about the external field axis with an angular frequency."^^rdf:HTML ; +. + + + rdfs:label "Lattice Plane Spacing"@en ; + schema:description ""Lattice Plane Spacing" is the distance between successive lattice planes."^^rdf:HTML ; +. + + + rdfs:label "Lattice Vector"@en ; + schema:description ""Lattice Vector" is a translation vector that maps the crystal lattice on itself."^^rdf:HTML ; +. + + + rdfs:label "Leakage Factor"@en ; + schema:description ""Leakage Factor" is the ratio of the total magnetic flux to the useful magnetic flux of a magnetic circuit."^^rdf:HTML ; +. + + + rdfs:label + "طول"@ar , + "Дължина"@bg , + "Délka"@cs , + "Länge"@de , + "Μήκος"@el , + "length"@en , + "longitud"@es , + "طول"@fa , + "longueur"@fr , + "אורך"@he , + "लम्बाई"@hi , + "hossz"@hu , + "lunghezza"@it , + "長さ"@ja , + "longitudo"@la , + "Panjang"@ms , + "długość"@pl , + "comprimento"@pt , + "lungime"@ro , + "Длина"@ru , + "dolžina"@sl , + "uzunluk"@tr , + "长度"@zh ; + schema:description "In geometric measurements, length most commonly refers to the est dimension of an object. In some contexts, the term "length" is reserved for a certain dimension of an object along which the length is measured."^^rdf:HTML ; +. + + + rdfs:label "Length Force"@en ; +. + + + rdfs:label "Length Energy"@en ; +. + + + rdfs:label "Length Mass"@en ; +. + + + rdfs:label "Length Molar Energy"@en ; +. + + + rdfs:label "Length per Unit Electric Current"@en ; +. + + + rdfs:label "Length Percentage"@en ; +. + + + rdfs:label "Length Ratio"@en ; +. + + + rdfs:label "Length Temperature"@en ; +. + + + rdfs:label "Length Temperature Time"@en ; +. + + + rdfs:label "Lethargy"@en ; + schema:description "The "Lethargy" is a dimensionless logarithm of the ratio of the energy of source neutrons to the energy of neutrons after a collision."^^rdf:HTML ; +. + + + rdfs:label "Level Width"@en ; + schema:description "The "Level Width" is the uncertainty in the energy of a quantum-mechanical system having discrete energy levels in a state that is not strictly stationary. The system may be an atom, a molecule, or an atomic nucleus."^^rdf:HTML ; +. + + + rdfs:label "Lift Coefficient"@en ; + schema:description "The lift coefficient is a dimensionless coefficient that relates the lift generated by a lifting body, the dynamic pressure of the fluid flow around the body, and a reference area associated with the body."^^rdf:HTML ; +. + + + rdfs:label "Lift Force"@en ; + schema:description "The lift force, lifting force or simply lift is the sum of all the forces on a body that force it to move perpendicular to the direction of flow."^^rdf:HTML ; +. + + + rdfs:label "Linear Absorption Coefficient"@en ; + schema:description "The Linear Absorption Coefficient is a quantity that characterizes how easily a material or medium can be penetrated by a beam of light, sound, particles, or other energy or matter."^^rdf:HTML ; +. + + + rdfs:label "Linear Acceleration"@en ; +. + + + rdfs:label "Linear Attenuation Coefficient"@en ; + schema:description ""Linear Attenuation Coefficient", also called the attenuation coefficient, narrow beam attenuation coefficient, or absorption coefficient, is a quantity that characterizes how easily a material or medium can be penetrated by a beam of light, sound, particles, or other energy or matter."^^rdf:HTML ; +. + + + rdfs:label "Linear Compressibility"@en ; + schema:description "Linear Compressibility is a measure of the relative length change of a solid as a response to a normal force change."^^rdf:HTML ; +. + + + rdfs:label "Linear Density"@en ; + schema:description "The Linear density, linear mass density or linear mass is a measure of mass per unit of length, and it is a characteristic of strings or other one-dimensional objects."^^rdf:HTML ; +. + + + rdfs:label "Linear Electric Current"@en ; + schema:description ""Linear Electric Linear Current" is the electric current per unit line."^^rdf:HTML ; +. + + + rdfs:label "Linear Electric Current Density"@en ; + rdfs:seeAlso + , + ; + schema:description "\"Linear Electric Linear Current Density\" is the electric current per unit length. Electric current, \\(I\\), through a curve \\(C\\) is defined as \\(I = \\int_C J _s \\times e_n\\), where \\(e_n\\) is a unit vector perpendicular to the surface and line vector element, and \\(dr\\) is the differential of position vector \\(r\\)."^^ ; +. + + + rdfs:label "Linear Energy Transfer"@en ; + schema:description ""Linear Energy Transfer" (LET) is the linear density of energy lost by a charged ionizing particle travelling through matter.Typically, this measure is used to quantify the effects of ionizing radiation on biological specimens or electronic devices."^^rdf:HTML ; +. + + + rdfs:label + "معدل التمدد الحراري الخطي"@ar , + "linearer Ausdehnungskoeffizient"@de , + "linear expansion coefficient"@en , + "coeficiente de expansión térmica lineal"@es , + "coefficient de dilatation linéique"@fr , + "coefficiente di dilatazione lineare"@it , + "線熱膨張係数"@ja , + "współczynnik liniowej rozszerzalności cieplnej"@pl , + "coeficiente de dilatação térmica linear"@pt , + "线性热膨胀系数"@zh ; +. + + + rdfs:label + "Streckenlast"@de , + "Linear Force"@en ; + schema:description "Another name for Force Per Length, used by the Industry Foundation Classes (IFC) standard."^^rdf:HTML ; +. + + + rdfs:label "Linear Ionization"@en ; + schema:description ""Linear Ionization" is a description of how the ionization of an atom or molecule takes place. For example, an ion with a +2 charge can be created only from an ion with a +1 charge or a +3 charge. That is, the numerical charge of an atom or molecule must change sequentially, always moving from one number to an adjacent, or sequential, number. Using sequential ionization definition."^^rdf:HTML ; +. + + + rdfs:label "Linear Momentum"@en ; + schema:description "Linear momentum is the quantity obtained by multiplying the mass of a body by its linear velocity. The momentum of a continuous medium is given by the integral of the velocity over the mass of the medium or by the product of the total mass of the medium and the velocity of the center of gravity of the medium.The SI unit for linear momentum is meter-kilogram per second (\\(m-kg/s\\))."^^ ; +. + + + rdfs:label + "Streckenlast"@de , + "Linear Force"@en ; + schema:description "Stiffness is the extent to which an object resists deformation in response to an applied force. Linear Stiffness is the term used in the Industry Foundation Classes (IFC) standard."^^rdf:HTML ; +. + + + rdfs:label "Linear Strain"@en ; + schema:description "A strain is a normalized measure of deformation representing the displacement between particles in the body relative to a reference length."^^rdf:HTML ; +. + + + rdfs:label "Linear Thermal Expansion"@en ; + schema:description "When the temperature of a substance changes, the energy that is stored in the intermolecular bonds between atoms changes. When the stored energy increases, so does the length of the molecular bonds. As a result, solids typically expand in response to heating and contract on cooling; this dimensional response to temperature change is expressed by its coefficient of thermal expansion. Different coefficients of thermal expansion can be defined for a substance depending on whether the expansion is measured by: linear thermal expansion, area thermal expansion, or volumetric thermal expansion."^^rdf:HTML ; +. + + + rdfs:label "Linear Velocity"@en ; + schema:description "Linear Velocity, as the name implies deals with speed in a straight line, the units are often \\(km/hr\\) or \\(m/s\\) or \\(mph\\) (miles per hour). Linear Velocity (v) = change in distance/change in time, where \\(v = \\bigtriangleup d/\\bigtriangleup t\\)"^^ ; +. + + + rdfs:label "Linked Flux"@en ; + schema:description "\"Linked Flux\" is defined as the path integral of the magnetic vector potential. This is the line integral of a magnetic vector potential \\(A\\) along a curve \\(C\\). The line vector element \\(dr\\) is the differential of position vector \\(r\\)."^^ ; +. + + + rdfs:label "Liquid Volume"@en ; + schema:description "Liquid volume is the volume of a given amount of liquid, that is, the amount of space a liquid takes up. There are a number of different units used to measure liquid volume, but most of them fall under either the metric system of measurement or the Imperial system of measurement."^^rdf:HTML ; +. + + + rdfs:label "Octanol Air Partition Coefficient"@en ; + schema:description "A dimensionless ratio that is the logarithm of the ratio of a compound's concentration within a two phase mixture of liquid octanol and gaseous air at equilibrium. More simply, it is a comparison of the solubilities of the compound solute in these two immiscible substances."^^rdf:HTML ; +. + + + rdfs:label "Logarithm of Octanol Water Partition Coefficient"@en ; + schema:description "A dimensionless ratio that is the logarithm of the ratio of a compound's concentration within a two phase mixture of octanol and water at equilibrium. More simply, it is a comparison of the solubilities of the compound solute in these two immiscible liquids. This property is used to measure the lipophilicity and the hydrophilicity of a substance."^^rdf:HTML ; +. + + + rdfs:label + "Interval měření frekvence ?"@cs , + "Frequenzmaßintervall"@de , + "logarithmic frequency interval"@en , + "فاصله فرکانس لگاریتمی"@fa , + "intervalle de fréquence logarithmique"@fr , + "intervallo logaritmico di frequenza"@it , + "Selang kekerapan logaritma"@ms , + "intervalo logarítmico de frequência"@pt , + "частотный интервал"@ru , + "logaritmik frekans aralığı"@tr , + "对数频率间隔"@zh ; +. + + + rdfs:label "London Penetration Depth"@en ; + schema:description ""London Penetration Depth" characterizes the distance to which a magnetic field penetrates into a superconductor and becomes equal to 1/e times that of the magnetic field at the surface of the superconductor."^^rdf:HTML ; +. + + + rdfs:label "Long-Range Order Parameter"@en ; + schema:description ""Long-Range Order Parameter" is the fraction of atoms in an Ising ferromagnet having magnetic moments in one direction, minus the fraction having magnetic moments in the opposite direction."^^rdf:HTML ; +. + + + rdfs:label "Lorenz Coefficient"@en ; + schema:description ""Lorenz Coefficient" is part mof the Lorenz curve."^^rdf:HTML ; +. + + + rdfs:label "Loss Angle"@en ; +. + + + rdfs:label "Loss Factor"@en ; + rdfs:seeAlso + , + , + ; + schema:description ""Loss Factor} is the inverse of \\textit{Quality Factor} and is the ratio of the \\textit{resistance} and modulus of \\textit{reactance"."^^rdf:HTML ; +. + + + rdfs:label "Lower Critical Magnetic Flux Density"@en ; + schema:description ""Lower Critical Magnetic Flux Density" for type II superconductors, is the threshold magnetic flux density for magnetic flux entering the superconductor."^^rdf:HTML ; +. + + + rdfs:label "Luminance"@en ; + schema:description "Luminance is a photometric measure of the luminous intensity per unit area of light travelling in a given direction. It describes the amount of light that passes through or is emitted from a particular area, and falls within a given solid angle."^^rdf:HTML ; +. + + + rdfs:label "Luminous Efficacy"@en ; + schema:description "Luminous Efficacy is the ratio of luminous flux (in lumens) to power (usually measured in watts). Depending on context, the power can be either the radiant flux of the source's output, or it can be the total electric power consumed by the source."^^rdf:HTML ; +. + + + rdfs:label "Luminous Emmitance"@en ; + schema:description ""Luminous Emittance" is the luminous flux per unit area emitted from a surface."^^rdf:HTML ; +. + + + rdfs:label "Luminous Energy"@en ; + schema:description "Luminous Energy is the perceived energy of light. This is sometimes also called the quantity of light."^^rdf:HTML ; +. + + + rdfs:label "Luminous Exposure"@en ; + schema:description "Luminous Exposure is the time-integrated illuminance."^^rdf:HTML ; +. + + + rdfs:label + "التدفق الضوئي"@ar , + "Светлинен поток"@bg , + "Světelný tok"@cs , + "Lichtstrom"@de , + "luminous flux"@en , + "flujo luminoso"@es , + "شار نوری"@fa , + "flux lumineux"@fr , + "שטף הארה"@he , + "प्रकाशीय बहाव"@hi , + "fényáram"@hu , + "flusso luminoso"@it , + "光束"@ja , + "fluctús lucis"@la , + "Fluks berluminositi"@ms , + "strumień świetlny"@pl , + "fluxo luminoso"@pt , + "flux luminos"@ro , + "Световой поток"@ru , + "svetlobni tok"@sl , + "işık akısı"@tr , + "光通量"@zh ; + schema:description "Luminous Flux or Luminous Power is the measure of the perceived power of light. It differs from radiant flux, the measure of the total power of light emitted, in that luminous flux is adjusted to reflect the varying sensitivity of the human eye to different wavelengths of light."^^rdf:HTML ; +. + + + rdfs:label "Luminous Flux per Area"@en ; + schema:description "In photometry, illuminance is the total luminous flux incident on a surface, per unit area. It is a measure of how much the incident light illuminates the surface, wavelength-weighted by the luminosity function to correlate with human brightness perception. Similarly, luminous emittance is the luminous flux per unit area emitted from a surface. In SI derived units these are measured in \\(lux (lx)\\) or \\(lumens per square metre\\) (\\(cd \\cdot m^{-2}\\)). In the CGS system, the unit of illuminance is the \\(phot\\), which is equal to \\(10,000 lux\\). The \\(foot-candle\\) is a non-metric unit of illuminance that is used in photography."^^ ; +. + + + rdfs:label "Luminous Flux Ratio"@en ; + schema:description "Luminous Flux Ratio (or Relative Luminous Flux or Relative Luminous Power) is the measure of the perceived power of light. It differs from radiant flux, the measure of the total power of light emitted, in that luminous flux is adjusted to reflect the varying sensitivity of the human eye to different wavelengths of light. It is expressed as a percentage or fraction of full power."^^rdf:HTML ; +. + + + rdfs:label + "شدة الإضاءة"@ar , + "Интензитет на светлината"@bg , + "Svítivost"@cs , + "Lichtstärke"@de , + "Ένταση Φωτεινότητας"@el , + "luminous intensity"@en , + "intensidad luminosa"@es , + "شدت نور"@fa , + "intensité lumineuse"@fr , + "עוצמת הארה"@he , + "प्रकाशीय तीव्रता"@hi , + "fényerősség"@hu , + "intensità luminosa"@it , + "光度"@ja , + "intensitas luminosa"@la , + "Keamatan berluminositi"@ms , + "światłość"@pl , + "intensidade luminosa"@pt , + "intensitate luminoasă"@ro , + "Сила света"@ru , + "svetilnost"@sl , + "ışık şiddeti"@tr , + "发光强度"@zh ; + schema:description "Luminous Intensity is a measure of the wavelength-weighted power emitted by a light source in a particular direction per unit solid angle. The weighting is determined by the luminosity function, a standardized model of the sensitivity of the human eye to different wavelengths."^^rdf:HTML ; +. + + + rdfs:label "Ion Concentration"@en ; + schema:description ""Luminous Intensity Distribution" is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. Usually measured in Candela/Lumen (cd/lm) or (cd/klm)."^^rdf:HTML ; +. + + + rdfs:label "Mass Delivered"@en ; + schema:description "The minimum mass a propulsive system can deliver to a specified target or location. Most mass- delivered requirements have associated Delta-V requirements, effectively specifying the path between the two points."^^rdf:HTML ; +. + + + rdfs:label "Mass Growth Allowance"@en ; + schema:description "A factor applied to basic mass at the lowest level of design detail available based on type and maturity of hardware according to an approved MGA depletion schedule."^^rdf:HTML ; +. + + + rdfs:label "Mass Margin"@en ; + schema:description "Requirement minus predicted value. Margin is used as a metric in risk management. Positive margin mitigates the risk of mass increases from requirements maturation and implementation, underestimated predicted system, or subsystem mass."^^rdf:HTML ; +. + + + rdfs:label "Mass Property Uncertainty"@en ; + schema:description "Variation in predicted MP due to lack of definition, manufacturing variations, environment effects, or accuracy limitation of measuring devices."^^rdf:HTML ; +. + + + rdfs:label "Moment of Inertia in the Y axis"@en ; + schema:description "The rotational inertia or resistance to change in direction or speed of rotation about a defined axis."^^rdf:HTML ; +. + + + rdfs:label "Moment of Inertia in the Z axis"@en ; + schema:description "The rotational inertia or resistance to change in direction or speed of rotation about a defined axis."^^rdf:HTML ; +. + + + rdfs:label + "عدد ماخ"@ar , + "Machovo číslo"@cs , + "Mach-Zahl"@de , + "Mach number"@en , + "número de Mach"@es , + "عدد ماخ"@fa , + "nombre de Mach"@fr , + "मैक संख्या"@hi , + "numero di Mach"@it , + "マッハ数n"@ja , + "Nombor Mach"@ms , + "liczba Macha"@pl , + "número de Mach"@pt , + "număr Mach"@ro , + "число Маха"@ru , + "Machovo število"@sl , + "Mach sayısı"@tr , + "马赫"@zh ; + schema:description ""Mach Number" is a dimensionless quantity representing the speed of an object moving through air or other fluid divided by the local speed of sound. It is commonly used to represent the speed of an object when it is traveling close to or above the speed of sound. The Mach number is commonly used both with objects traveling at high speed in a fluid, and with high-speed fluid flows inside channels such as nozzles, diffusers or wind tunnels. As it is defined as a ratio of two speeds, it is a dimensionless number."^^rdf:HTML ; +. + + + rdfs:label "Macroscopic Cross-section"@en ; + schema:description ""Macroscopic Cross-section" is the sum of the cross-sections for a reaction or process of a specified type over all atoms or other entities in a given 3D domain, divided by the volume of that domain."^^rdf:HTML ; +. + + + rdfs:label "Macroscopic Total Cross-section"@en ; + schema:description ""Macroscopic Total Cross-section" is the total cross-sections for all atoms or other entities in a given 3D domain, divided by the volume of that domain."^^rdf:HTML ; +. + + + rdfs:label + "ثابت مادلونك"@ar , + "Madelung-Konstante"@de , + "Madelung constant"@en , + "Constante de Madelung"@es , + "ثابت مادلونگ"@fa , + "Constante de Madelung"@fr , + "Costante di Madelung"@it , + "マーデルングエネルギー"@ja , + "Stała Madelunga"@pl , + "constante de Madelung"@pt , + "постоянная Маделунга"@ru , + "馬德隆常數"@zh ; + schema:description ""Madelung Constant" is used in determining the electrostatic potential of a single ion in a crystal by approximating the ions by point charges. It is named after Erwin Madelung, a German physicist."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Area Moment"@en ; + schema:description ""Magnetic Area Moment", for a magnetic dipole, is a vector quantity equal to the product of the current, the loop area, and the unit vector normal to the loop plane, the direction of which corresponds to the loop orientation. "Magnetic Area Moment" is also referred to as "Magnetic Moment"."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Dipole Moment"@en ; + schema:description "\"Magnetic Dipole Moment\" is the magnetic moment of a system is a measure of the magnitude and the direction of its magnetism. Magnetic moment usually refers to its Magnetic Dipole Moment, and quantifies the contribution of the system's internal magnetism to the external dipolar magnetic field produced by the system (that is, the component of the external magnetic field that is inversely proportional to the cube of the distance to the observer). The Magnetic Dipole Moment is a vector-valued quantity. For a particle or nucleus, vector quantity causing an increment \\(\\Delta W = -\\mu \\cdot B\\) to its energy \\(W\\) in an external magnetic field with magnetic flux density \\(B\\)."^^ ; +. + + + rdfs:label "Magnetic flux per unit length"@en ; + schema:description ""Magnetic Flux per Unit Length" is a quantity in the SI and C.G.S. Systems of Quantities."^^rdf:HTML ; +. + + + rdfs:label + "عزم مغناطيسي"@ar , + "Magnetický dipól"@cs , + "magnetisches Dipolmoment"@de , + "magnetic moment"@en , + "momento de dipolo magnético"@es , + "دوقطبی مغناطیسی"@fa , + "moment magnétique"@fr , + "चुम्बकीय द्विध्रुव"@hi , + "momento di dipolo magnetico"@it , + "磁気双極子"@ja , + "Momen magnetik"@ms , + "dipol magnetyczny"@pl , + "momento de dipolo magnético"@pt , + "Магнитный момент"@ru , + "Manyetik moment"@tr , + "磁偶极"@zh ; + schema:description ""Magnetic Moment", for a magnetic dipole, is a vector quantity equal to the product of the current, the loop area, and the unit vector normal to the loop plane, the direction of which corresponds to the loop orientation. "Magnetic Moment" is also referred to as "Magnetic Area Moment", and is not to be confused with Magnetic Dipole Moment."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Polarization"@en ; + rdfs:seeAlso + , + , + ; + schema:description "\\(\\textbf{Magnetic Polarization}\\) is a vector quantity equal to the product of the magnetization \\(M\\) and the magnetic constant \\(\\mu_0\\)."^^ ; +. + + + rdfs:label "Magnetic Quantum Number"@en ; + schema:description "The "Magnetic Quantum Number" describes the specific orbital (or "cloud") within that subshell, and yields the projection of the orbital angular momentum along a specified axis."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Reluctivity"@en ; + rdfs:seeAlso ; + schema:description ""Length Per Unit Magnetic Flux} is the the resistance of a material to the establishment of a magnetic field in it. It is the reciprocal of \\textit{Magnetic Permeability", the inverse of the measure of the ability of a material to support the formation of a magnetic field within itself."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Susceptability"@en ; + rdfs:seeAlso + , + , + ; + schema:description "\"Magnetic Susceptability\" is a scalar or tensor quantity the product of which by the magnetic constant \\(\\mu_0\\) and by the magnetic field strength \\(H\\) is equal to the magnetic polarization \\(J\\). The definition given applies to an isotropic medium. For an anisotropic medium permeability is a second order tensor."^^ ; +. + + + rdfs:label + "magnetický potenciál"@cs , + "magnetisches Potenzial"@de , + "magnetic vector potential"@en , + "potencial magnético"@es , + "پتانسیل برداری مغناطیسی"@fa , + "potentiel magnétique"@fr , + "potenziale vettore magnetico"@it , + "Keupayaan vektor magnetik"@ms , + "potencjał magnetyczny"@pl , + "potencial magnético"@pt , + "potențial magnetic"@ro , + "Магнитний потенциал"@ru , + "manyetik potansiyeli"@tr , + "磁向量势"@zh ; + rdfs:seeAlso ; + schema:description ""Magnetic Vector Potential" is the vector potential of the magnetic flux density. The magnetic vector potential is not unique since any irrotational vector field quantity can be added to a given magnetic vector potential without changing its rotation. Under static conditions the magnetic vector potential is often chosen so that its divergence is zero."^^rdf:HTML ; +. + + + rdfs:label "Magnetization Field"@en ; + schema:description "The Magnetization Field is defined as the ratio of magnetic moment per unit volume. It is a vector-valued quantity."^^rdf:HTML ; +. + + + rdfs:label "Magnetomotive Force"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textbf{Magnetomotive Force}\\) (\\(mmf\\)) is the ability of an electric circuit to produce magnetic flux. Just as the ability of a battery to produce electric current is called its electromotive force or emf, mmf is taken as the work required to move a unit magnet pole from any point through any path which links the electric circuit back the same point in the presence of the magnetic force produced by the electric current in the circuit. \\(\\textbf{Magnetomotive Force}\\) is the scalar line integral of the magnetic field strength along a closed path."^^ ; +. + + + rdfs:label "Mass Absorption Coefficient"@en ; + schema:description "The mass absorption coefficient is the linear absorption coefficient divided by the density of the absorber."^^rdf:HTML ; +. + + + rdfs:label "Mass Amount of Substance"@en ; +. + + + rdfs:label "Mass Amount of Substance Temperature"@en ; +. + + + rdfs:label "Mass Attenuation Coefficient"@en ; + schema:description ""Mass Attenuation Coefficient" is a measurement of how strongly a chemical species or substance absorbs or scatters light at a given wavelength, per unit mass."^^rdf:HTML ; +. + + + rdfs:label "Mass Concentration"@en ; + schema:description "The "Mass Concentration" of substance B is defined as the mass of a constituent divided by the volume of the mixture ."^^rdf:HTML ; +. + + + rdfs:label "Mass Concentration of Water"@en ; + schema:description ""Mass Concentration of Water Valour} is one of a number of \\textit{Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Mass Concentration of Water Vapour"@en ; + schema:description ""Mass Concentration of Water} is one of a number of \\textit{Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label + "الكثافة"@ar , + "hustota"@cs , + "Massendichte"@de , + "mass density"@en , + "densidad"@es , + "چگالی"@fa , + "densité"@fr , + "घनत्व"@hi , + "densità"@it , + "密度"@ja , + "Ketumpatan jisim"@ms , + "gęstość"@pl , + "densidade"@pt , + "densitate"@ro , + "плотность"@ru , + "Gostôta"@sl , + "yoğunluk"@tr , + "密度"@zh ; + schema:description "The mass density or density of a material is its mass per unit volume."^^rdf:HTML ; +. + + + rdfs:label "Mass Energy Transfer Coefficient"@en ; + schema:description ""Mass Energy Transfer Coefficient" is that fraction of the mass attenuation coefficient which contributes to the production of kinetic energy in charged particles."^^rdf:HTML ; +. + + + rdfs:label "Mass Excess"@en ; + schema:description "The "Mass Excess" of a nuclide is the difference between its actual mass and its mass number in atomic mass units. It is one of the predominant methods for tabulating nuclear mass."^^rdf:HTML ; +. + + + rdfs:label "Mass Fraction"@en ; + schema:description "The "Mass Fraction" is the fraction of one substance with mass to the mass of the total mixture ."^^rdf:HTML ; +. + + + rdfs:label "Mass Number"@en ; + schema:description "The \"Mass Number\" (A), also called atomic mass number or nucleon number, is the total number of protons and neutrons (together known as nucleons) in an atomic nucleus. Nuclides with the same value of \\(A\\) are called isobars."^^ ; +. + + + rdfs:label "Mass Of Electrical Power Supply"@en ; +. + + + rdfs:label "Mass Of Solid Booster"@en ; +. + + + rdfs:label "Mass Of The Earth"@en ; + schema:description "Earth mass is the unit of mass equal to that of the Earth. Earth mass is often used to describe masses of rocky terrestrial planets."^^rdf:HTML ; +. + + + rdfs:label "Mass per Area"@en ; + schema:description "The area density (also known as areal density, surface density, or superficial density) of a two-dimensional object is calculated as the mass per unit area. The SI derived unit is: kilogram per square metre (\\(kg \\cdot m^{-2}\\))."^^ ; +. + + + rdfs:label "Mass per Area Time"@en ; + schema:description "In Physics and Engineering, mass flux is the rate of mass flow per unit area. The common symbols are \\(j\\), \\(J\\), \\(\\phi\\), or \\(\\Phi\\) (Greek lower or capital Phi), sometimes with subscript \\(m\\) to indicate mass is the flowing quantity. Its SI units are \\( kg s^{-1} m^{-2}\\)."^^ ; +. + + + rdfs:label "Mass per Electric Charge"@en ; + schema:description "The mass-to-charge ratio ratio (\\(m/Q\\)) is a physical quantity that is widely used in the electrodynamics of charged particles, for example, in electron optics and ion optics. The importance of the mass-to-charge ratio, according to classical electrodynamics, is that two particles with the same mass-to-charge ratio move in the same path in a vacuum when subjected to the same electric and magnetic fields. Its SI units are \\(kg/C\\), but it can also be measured in Thomson (\\(Th\\))."^^ ; +. + + + rdfs:label "Mass per Energy"@en ; + schema:description "Mass per Energy (\\(m/E\\)) is a physical quantity that bridges mass and energy. The SI unit is \\(kg/J\\) or equivalently \\(s^2/m^2\\)."^^ ; +. + + + rdfs:label "Mass per Length"@en ; + schema:description "Linear density, linear mass density or linear mass is a measure of mass per unit of length, and it is a characteristic of strings or other one-dimensional objects. The SI unit of linear density is the kilogram per metre (\\(kg/m\\))."^^ ; +. + + + rdfs:label "Mass per Time"@en ; +. + + + rdfs:label "Mass Ratio"@en ; + schema:description "In aerospace engineering, mass ratio is a measure of the efficiency of a rocket. It describes how much more massive the vehicle is with propellant than without; that is, it is the ratio of the rocket's wet mass (vehicle plus contents plus propellant) to its dry mass (vehicle plus contents)"^^rdf:HTML ; +. + + + rdfs:label "Mass Concentration of Water To Dry Matter"@en ; + schema:description ""Mass Ratio of Water to Dry Matter} is one of a number of \\textit{Concentration Ratio" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Mass Ratio of Water Vapour to Dry Gas"@en ; + schema:description ""Mass Ratio of Water Vapour to Dry Gas} is one of a number of \\textit{Concentration Ratio" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Mass Temperature"@en ; +. + + + rdfs:label "Massic Activity"@en ; + schema:description ""Massic Activity" is the activity divided by the total mass of the sample."^^rdf:HTML ; +. + + + rdfs:label "Maximum Expected Operating Thrust"@en ; +. + + + rdfs:label "Max Operating Thrust"@en ; +. + + + rdfs:label "Max Sea Level Thrust"@en ; + schema:description "Max Sea Level thrust (Mlbf) " ; +. + + + rdfs:label "Maximum Beta-Particle Energy"@en ; + schema:description ""Maximum Beta-Particle Energy" is the maximum energy of the energy spectrum in a beta-particle disintegration process."^^rdf:HTML ; +. + + + rdfs:label "Maximum Expected Operating Pressure"@en ; +. + + + rdfs:label "Maximum Operating Pressure"@en ; +. + + + rdfs:label "Mean Energy Imparted"@en ; + schema:description "The "Mean Energy Imparted", is the average energy imparted to irradiated matter."^^rdf:HTML ; +. + + + rdfs:label "Mean Free Path"@en ; + schema:description ""Mean Free Path" is the average distance travelled by a moving particle (such as an atom, a molecule, a photon) between successive impacts (collisions) which modify its direction or energy or other particle properties."^^rdf:HTML ; +. + + + rdfs:label "Mean Lifetime"@en ; + schema:description "The \"Mean Lifetime\" is the average length of time that an element remains in the set of discrete elements in a decaying quantity, \\(N(t)\\)."^^ ; +. + + + rdfs:label "Mean Linear Range"@en ; + schema:description ""Mean Linear Range" is, in a given material, for specified charged particles of a specified energy, the average displacement of the particles before they stop. That is, the mean totl rectified path length travelled by a particle in the course of slowing down to rest (or to some suitable cut-off energy) in a given substance under specified conditions averaged over a group of particles having the same initial energy."^^rdf:HTML ; +. + + + rdfs:label "Mean Mass Range"@en ; + schema:description ""Mean Mass Range" is the mean linear range multiplied by the mass density of the material."^^rdf:HTML ; +. + + + rdfs:label "Mechanical Energy"@en ; + schema:description "Mechanical Energy is the sum of potential energy and kinetic energy. It is the energy associated with the motion and position of an object."^^rdf:HTML ; +. + + + rdfs:label "Mechanical Impedance"@en ; +. + + + rdfs:label "Mechanical Mobility"@en ; +. + + + rdfs:label "Mechanical surface impedance"@en ; + schema:description + "Mechanical surface impedance at a surface, is the complex quotient of the total force on the surface by the component of the average sound particle velocity at the surface in the direction of the force"^^rdf:HTML , + "There are various interpretations of MechanicalSurfaceImpedance: Pressure/Velocity - https://apps.dtic.mil/sti/pdfs/ADA315595.pdf, Force / Speed - https://www.wikidata.org/wiki/Q6421317, and (Pressure / Velocity)**0.5 - https://www.sciencedirect.com/topics/engineering/mechanical-impedance. We are seeking a resolution to these differences." ; +. + + + rdfs:label "Melting Point Temperature"@en ; + schema:description "A temperature that is the one at which a substance will change its physical state from a solid to a liquid. It is also the temperature where the solid and liquid forms of a pure substance can exist in equilibrium."^^rdf:HTML ; +. + + + rdfs:label "Micro Canonical Partition Function"@en ; + schema:description "A "Micro Canonical Partition Function" applies to a micro canonical ensemble, in which the system is allowed to exchange heat with the environment at fixed temperature, volume, and a fixed number of particles."^^rdf:HTML ; +. + + + rdfs:label "Microbial Formation"@en ; +. + + + rdfs:label "Migration Area"@en ; + schema:description ""Migration Area" is the sum of the slowing-down area from fission energy to thermal energy and the diffusion area for thermal neutrons."^^rdf:HTML ; +. + + + rdfs:label "Migration Length"@en ; + schema:description ""Migration Length" is the square root of the migration area."^^rdf:HTML ; +. + + + rdfs:label + "قابلية التحرك"@ar , + "Beweglichkeit"@de , + "mobility"@en , + "movilidad"@es , + "mobilité"@fr , + "mobilità"@it , + "移動度"@ja , + "mobilność"@pl , + "mobilidade"@pt , + "迁移率"@zh ; + schema:description ""Mobility" characterizes how quickly a particle can move through a metal or semiconductor, when pulled by an electric field. The average drift speed imparted to a charged particle in a medium by an electric field, divided by the electric field strength."^^rdf:HTML ; +. + + + rdfs:label "Mobility Ratio"@en ; + schema:description ""MobilityRatio" describes permeability of a porous material to a given phase divided by the viscosity of that phase."^^rdf:HTML ; +. + + + rdfs:label "Modulus Of Admittance"@en ; + rdfs:seeAlso ; + schema:description ""Modulus Of Admittance" is the absolute value of the quantity "admittance"."^^rdf:HTML ; +. + + + rdfs:label "Modulus of Elasticity"@en ; + schema:description "The Modulus of Elasticity is the mathematical description of an object or substance's tendency to be deformed elastically (that is, non-permanently) when a force is applied to it."^^rdf:HTML ; +. + + + rdfs:label "Modulus Of Impedance"@en ; + rdfs:seeAlso ; + schema:description """"Modulus Of Impedance} is the absolute value of the quantity \\textit{impedance". Apparent impedance is defined more generally as + +the quotient of rms voltage and rms electric current; it is often denoted by \\(Z\\)."""^^ ; +. + + + rdfs:label "Modulus of Linear Subgrade Reaction"@en ; + schema:description "Modulus of Linear Subgrade Reaction is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2"^^rdf:HTML ; +. + + + rdfs:label "Modulus of Rotational Subgrade Reaction"@en ; + schema:description "Modulus of Rotational Subgrade Reaction is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad)."^^rdf:HTML ; +. + + + rdfs:label "Modulus of Subgrade Reaction"@en ; + schema:description "Modulus of Subgrade Reaction is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. Usually measured in N/m3."^^rdf:HTML ; +. + + + rdfs:label "Moisture Diffusivity"@en ; +. + + + rdfs:label "Molality of Solute"@en ; + schema:description "The "Molality of Solute" of a solution is defined as the amount of substance of solute divided by the mass in kg of the solvent."^^rdf:HTML ; +. + + + rdfs:label "Molar Absorption Coefficient"@en ; + schema:description ""Molar Absorption Coefficient" is a spectrophotometric unit indicating the light a substance absorbs with respect to length, usually centimeters, and concentration, usually moles per liter."^^rdf:HTML ; +. + + + rdfs:label "Molar Angular Momentum"@en ; +. + + + rdfs:label "Molar Attenuation Coefficient"@en ; + schema:description ""Molar Attenuation Coefficient" is a measurement of how strongly a chemical species or substance absorbs or scatters light at a given wavelength, per amount of substance."^^rdf:HTML ; +. + + + rdfs:label "Molar Conductivity"@en ; + schema:description ""Molar Conductivity" is the conductivity of an electrolyte solution divided by the molar concentration of the electrolyte, and so measures the efficiency with which a given electrolyte conducts electricity in solution."^^rdf:HTML ; +. + + + rdfs:label "Molar Energy"@en ; + schema:description "\"Molar Energy\" is the total energy contained by a thermodynamic system. The unit is \\(J/mol\\), also expressed as \\(joule/mole\\), or \\(joules per mole\\). This unit is commonly used in the SI unit system. The quantity has the dimension of \\(M \\cdot L^2 \\cdot T^{-2} \\cdot N^{-1}\\) where \\(M\\) is mass, \\(L\\) is length, \\(T\\) is time, and \\(N\\) is amount of substance."^^ ; +. + + + rdfs:label "Molar Entropy"@en ; + schema:description "The "Standard Molar Entropy" is the entropy content of one mole of substance, under standard conditions (not standard temperature and pressure STP)."^^rdf:HTML ; +. + + + rdfs:label "Molar Flow Rate"@en ; + schema:description "Molar Flow Rate is a measure of the amount of substance (the number of molecules) that passes through a given area perpendicular to the flow in a given time. Typically this area is constrained, for example a section through a pipe, but it could also apply to an open flow."^^rdf:HTML ; +. + + + rdfs:label "Molar Heat Capacity"@en ; + schema:description ""Molar Heat Capacity" is the amount of heat energy required to raise the temperature of 1 mole of a substance. In SI units, molar heat capacity (symbol: cn) is the amount of heat in joules required to raise 1 mole of a substance 1 Kelvin."^^rdf:HTML ; +. + + + rdfs:label + "كتلة مولية"@ar , + "Molární hmotnost"@cs , + "Molmasse"@de , + "molar mass"@en , + "masa molar"@es , + "جرم مولی"@fa , + "masse molaire"@fr , + "मोलर द्रव्यमान"@hi , + "massa molare"@it , + "モル質量"@ja , + "Jisim molar"@ms , + "Masa molowa"@pl , + "massa molar"@pt , + "Masă molară"@ro , + "Молярная масса"@ru , + "molska masa"@sl , + "molar kütle"@tr , + "摩尔质量"@zh ; + schema:description "In chemistry, the molar mass M is defined as the mass of a given substance (chemical element or chemical compound) divided by its amount of substance. It is a physical property of a given substance. The base SI unit for molar mass is \\(kg/mol\\)."^^ ; +. + + + rdfs:label "Molar Optical Rotatory Power"@en ; + schema:description "The "Molar Optical Rotatory Power" Angle of optical rotation divided by the optical path length through the medium and by the amount concentration giving the molar optical rotatory power."^^rdf:HTML ; +. + + + rdfs:label "Molar Refractivity"@en ; + schema:description "A quantity kind that is a measure of the total polarizability of a mole of substance that depends on the temperature, the index of refraction and the pressure."^^rdf:HTML ; +. + + + rdfs:label + "حجم مولي"@ar , + "molární objem"@cs , + "Molvolumen"@de , + "molar volume"@en , + "volumen molar"@es , + "حجم مولی"@fa , + "volume molaire"@fr , + "volume molare"@it , + "モル体積"@ja , + "Isipadu molar"@ms , + "volume molar"@pl , + "volume molar"@pt , + "volum molar"@ro , + "Молярный объём"@ru , + "molski volumen"@sl , + "molar hacim"@tr , + "摩尔体积"@zh ; + schema:description "The molar volume, symbol \\(V_m\\), is the volume occupied by one mole of a substance (chemical element or chemical compound) at a given temperature and pressure. It is equal to the molar mass (\\(M\\)) divided by the mass density (\\(\\rho\\)). It has the SI unit cubic metres per mole (\\(m^{1}/mol\\)). For ideal gases, the molar volume is given by the ideal gas equation: this is a good approximation for many common gases at standard temperature and pressure. For crystalline solids, the molar volume can be measured by X-ray crystallography."^^ ; +. + + + rdfs:label "Mole Fraction"@en ; + schema:description "In chemistry, the mole fraction of a component in a mixture is the relative proportion of molecules belonging to the component to those in the mixture, by number of molecules. It is one way of measuring concentration."^^rdf:HTML ; +. + + + rdfs:label "Molecular Concentration"@en ; + schema:description "The "Molecular Concentration" of substance B is defined as the number of molecules of B divided by the volume of the mixture "^^rdf:HTML ; +. + + + rdfs:label "Molecular Mass"@en ; + schema:description "The molecular mass, or molecular weight of a chemical compound is the mass of one molecule of that compound, relative to the unified atomic mass unit, u. Molecular mass should not be confused with molar mass, which is the mass of one mole of a substance."^^rdf:HTML ; +. + + + rdfs:label "Moment of Force"@en ; + schema:description "Moment of force (often just moment) is the tendency of a force to twist or rotate an object."^^rdf:HTML ; +. + + + rdfs:label + "عزم القصور الذاتي"@ar , + "Moment setrvačnosti"@cs , + "Massenträgheitsmoment"@de , + "moment of inertia"@en , + "momento de inercia"@es , + "گشتاور لختی"@fa , + "moment d'inertie"@fr , + "जड़त्वाघूर्ण"@hi , + "momento di inerzia"@it , + "慣性モーメント"@ja , + "Momen inersia"@ms , + "Moment bezwładności"@pl , + "momento de inércia"@pt , + "Moment de inerție"@ro , + "Момент инерции"@ru , + "Eylemsizlik momenti"@tr , + "轉動慣量"@zh ; + schema:description "The rotational inertia or resistance to change in direction or speed of rotation about a defined axis."^^rdf:HTML ; +. + + + rdfs:label + "زخم الحركة"@ar , + "hybnost"@cs , + "Impuls"@de , + "momentum"@en , + "cantidad de movimiento"@es , + "تکانه"@fa , + "quantité de mouvement"@fr , + "quantità di moto"@it , + "運動量"@ja , + "Momentum"@ms , + "pęd"@pl , + "momento linear"@pt , + "impuls"@ro , + "импульс"@ru , + "gibalna količina"@sl , + "Momentum"@tr , + "动量"@zh ; + schema:description "The momentum of a system of particles is given by the sum of the momentums of the individual particles which make up the system or by the product of the total mass of the system and the velocity of the center of gravity of the system. The momentum of a continuous medium is given by the integral of the velocity over the mass of the medium or by the product of the total mass of the medium and the velocity of the center of gravity of the medium."^^rdf:HTML ; +. + + + rdfs:label "Momentum per Angle"@en ; +. + + + rdfs:label "Morbidity Rate"@en ; + schema:description "Morbidity rate is a measure of the incidence of a disease in a particular population, scaled to the size of that population, per unit of time."^^rdf:HTML ; +. + + + rdfs:label "Mortality Rate"@en ; + schema:description "Mortality rate, or death rate, is a measure of the number of deaths (in general, or due to a specific cause) in a particular population, scaled to the size of that population, per unit of time."^^rdf:HTML ; +. + + + rdfs:label "Multiplication Factor"@en ; + schema:description "The "Multiplication Factor" is the ratio of the total number of fission or fission-dependent neutrons produced in a time interval to the total number of neutrons lost by absorption and leakage during the same interval."^^rdf:HTML ; +. + + + rdfs:label "Nominal Ascent Propellant Mass"@en ; + schema:description "The amount of propellant mass within a stage that is available for impulse for use in nominal payload performance prediction. This mass excludes loaded propellant that has been set aside for off- nominal performance behavior (FPR and fuel bias)."^^rdf:HTML ; +. + + + rdfs:label "Napierian Absorbance"@en ; + schema:description "Napierian Absorbance is the natural (Napierian) logarithm of the reciprocal of the spectral internal transmittance."^^rdf:HTML ; +. + + + rdfs:label "Neel Temperature"@en ; + schema:description ""Neel Temperature" is the critical thermodynamic temperature of an antiferromagnet."^^rdf:HTML ; +. + + + rdfs:label + "Diffusionskoeffizient"@de , + "diffusion coefficient"@en , + "coeficiente de difusión"@es , + "coefficient de diffusion"@fr , + "coefficiente di diffusione"@it , + "coeficiente de difusão"@pt , + "difuzijski koeficient"@sl ; + schema:description "The "Diffusion Coefficient" is "^^rdf:HTML ; +. + + + rdfs:label "Neutron Diffusion Length"@en ; + schema:description "The neutron diffusion length is equivalent to the relaxation length, that is, to the distance, in which the neutron flux decreases by a factor e"^^rdf:HTML ; +. + + + rdfs:label + "عدد النيوترونات"@ar , + "Neutronové číslo"@cs , + "Neutronenzahl"@de , + "neutron number"@en , + "número neutrónico"@es , + "عدد نوترون"@fa , + "Nombre de neutrons"@fr , + "numero neutronico"@it , + "Nombor neutron"@ms , + "liczba neutronowa"@pl , + "número de neutrons"@pt , + "число нейтронов"@ru , + "nötron snumarası"@tr , + "中子數"@zh ; + schema:description "\"Neutron Number\", symbol \\(N\\), is the number of neutrons in a nuclide. Nuclides with the same value of \\(N\\) but different values of \\(Z\\) are called isotones. \\(N - Z\\) is called the neutron excess number."^^ ; +. + + + rdfs:label "Neutron Yield per Absorption"@en ; + schema:description "The "Neutron Yield per Absorption" is the average number of fission neutrons, both prompt and delayed, emitted per neutron absorbed in a fissionable nuclide or in a nuclear fuel, as specified."^^rdf:HTML ; +. + + + rdfs:label "Neutron Yield per Fission"@en ; + schema:description "The "Neutron Yield per Fission" is the average number of fission neutrons, both prompt and delayed, emitted per fission event."^^rdf:HTML ; +. + + + rdfs:label "Non-Leakage Probability"@en ; + schema:description "The "Non-Leakage Probability" is the probability that a neutron will not escape from the reactor during the slowing-down process or while it diffuses as a thermal neutron"^^rdf:HTML ; +. + + + rdfs:label "Non-active Power"@en ; + rdfs:seeAlso + , + ; + schema:description ""Non-active Power", for a two-terminal element or a two-terminal circuit under periodic conditions, is the quantity equal to the square root of the difference of the squares of the apparent power and the active power."^^rdf:HTML ; +. + + + rdfs:label "Positive Length"@en ; + schema:description ""NonNegativeLength" is a measure of length greater than or equal to zero."^^rdf:HTML ; +. + + + rdfs:label "Normal Stress"@en ; + schema:description "Normal stress is defined as the stress resulting from a force acting normal to a body surface. Normal stress can be caused by several loading methods, the most common being axial tension and compression, bending, and hoop stress."^^rdf:HTML ; +. + + + rdfs:label "Positive Dimensionless Ratio"@en ; + schema:description "A "Normalized Dimensionless Ratio" is a dimensionless ratio ranging from 0.0 to 1.0"^^rdf:HTML ; +. + + + rdfs:label "Nozzle Throat Cross-sectional Area"@en ; + schema:description "Cross-sectional area of the nozzle at the throat."^^rdf:HTML ; +. + + + rdfs:label "Nozzle Throat Diameter"@en ; +. + + + rdfs:label "Nozzle Throat Pressure"@en ; +. + + + rdfs:label "Nozzle Walls Thrust Reaction"@en ; +. + + + rdfs:label "Nuclear Quadrupole Moment"@en ; + schema:description ""Nuclear Quadrupole Moment" is a quantity that characterizes the deviation from spherical symmetry of the electrical charge distribution in an atomic nucleus."^^rdf:HTML ; +. + + + rdfs:label "Nuclear Radius"@en ; + schema:description ""Nuclear Radius" is the conventional radius of sphere in which the nuclear matter is included"^^rdf:HTML ; +. + + + rdfs:label "Spin Quantum Number"@en ; + schema:description "The "Spin Quantum Number" describes the spin (intrinsic angular momentum) of the electron within that orbital, and gives the projection of the spin angular momentum S along the specified axis"^^rdf:HTML ; +. + + + rdfs:label + "عدد كتلي"@ar , + "Nukleové číslo"@cs , + "Nukleonenzahl"@de , + "nucleon number"@en , + "número másico"@es , + "عدد جرمی"@fa , + "nombre de masse"@fr , + "numero di massa"@it , + "質量数"@ja , + "Nombor nukleon"@ms , + "liczba masowa"@pl , + "número de massa"@pt , + "nükleon numarası"@tr , + "质量数"@zh ; + schema:description "Number of nucleons in an atomic nucleus.A = Z+N. Nuclides with the same value of A are called isobars."^^rdf:HTML ; +. + + + rdfs:label "Number Density"@en ; + schema:description "In physics, astronomy, and chemistry, number density (symbol: n) is a kind of quantity used to describe the degree of concentration of countable objects (atoms, molecules, dust particles, galaxies, etc.) in the three-dimensional physical space."^^rdf:HTML ; +. + + + rdfs:label "Number of Particles"@en ; + schema:description ""Number of Particles", also known as the particle number, of a thermodynamic system, conventionally indicated with the letter N, is the number of constituent particles in that system."^^rdf:HTML ; +. + + + rdfs:label "Olfactory Threshold"@en ; + schema:description ""Olfactory Threshold" are thresholds for the concentrations of various classes of smell that can be detected."^^rdf:HTML ; +. + + + rdfs:label "Orbital Angular Momentum per Unit Mass"@en ; + schema:description "Angular momentum of the orbit per unit mass of the vehicle"^^rdf:HTML ; +. + + + rdfs:label "Orbital Angular Momentum Quantum Number"@en ; + schema:description "The \"Principal Quantum Number\" describes the electron shell, or energy level, of an atom. The value of \\(n\\) ranges from 1 to the shell containing the outermost electron of that atom."^^ ; +. + + + rdfs:label "Orbital Radial Distance"@en ; +. + + + rdfs:label "Order of Reflection"@en ; + schema:description "\"Order of Reflection\" is \\(n\\) in the Bragg's Law equation."^^ ; +. + + + rdfs:label "Osmotic Coefficient"@en ; + schema:description "The "Osmotic Coefficient" is a quantity which characterises the deviation of a solvent from ideal behavior."^^rdf:HTML ; +. + + + rdfs:label + "Osmotický tlak"@cs , + "osmotischer Druck"@de , + "osmotic pressure"@en , + "presión osmótica"@es , + "فشار اسمزی"@fa , + "pression osmotique"@fr , + "pressione osmotica"@it , + "Tekanan osmotik"@ms , + "pressão osmótica"@pt , + "ozmotik basıç"@tr , + "渗透压"@zh ; + schema:description "The "Osmotic Pressure" is the pressure which needs to be applied to a solution to prevent the inward flow of water across a semipermeable membrane."^^rdf:HTML ; +. + + + rdfs:label "Over-range distance"@en ; + schema:description "Additional distance traveled by a rocket because Of excessive initial velocity."^^rdf:HTML ; +. + + + rdfs:label "PH"@en ; + schema:description "Chemicals or substances having a pH less than 7 are said to be acidic; more than 7 means basic."^^rdf:HTML ; +. + + + rdfs:label "Predicted Mass"@en ; + schema:description "Sum of the basic mass and the MGA. Current prediction of the final mass based on the current requirements and design."^^rdf:HTML ; +. + + + rdfs:label "Product of Inertia"@en ; + schema:description "A measure of a body's dynamic (or coupled) imbalance resulting in a precession when rotating about an axis other than the body?s principal axis."^^rdf:HTML ; +. + + + rdfs:label "Product of Inertia in the X axis"@en ; + schema:description "A measure of a body's dynamic (or coupled) imbalance resulting in a precession when rotating about an axis other than the body?s principal axis."^^rdf:HTML ; +. + + + rdfs:label "Product of Inertia in the Y axis"@en ; + schema:description "A measure of a body?s dynamic (or coupled) imbalance resulting in a precession when rotating about an axis other than the body's principal axis."^^rdf:HTML ; +. + + + rdfs:label "Product of Inertia in the Z axis"@en ; + schema:description "A measure of a body's dynamic (or coupled) imbalance resulting in a precession when rotating about an axis other than the body's principal axis."^^rdf:HTML ; +. + + + rdfs:label "Packing Fraction"@en ; + schema:description "The "Packing Fraction" is the fraction of volume in a crystal structure that is occupied by atoms."^^rdf:HTML ; +. + + + rdfs:label "Partial Pressure"@en ; + schema:description ""Partial Pressure" is the pressure that the gas would have if it alone occupied the volume of the mixture at the same temperature."^^rdf:HTML ; +. + + + rdfs:label "Particle Current"@en ; + schema:description ""Particle Current" can be used to describe the net number of particles passing through a surface in an infinitesimal time interval."^^rdf:HTML ; +. + + + rdfs:label "Particle Fluence"@en ; + schema:description ""Particle Fluence" is the total number of particles that intersect a unit area in a specific time interval of interest, and has units of m–2 (number of particles per meter squared)."^^rdf:HTML ; +. + + + rdfs:label "Particle Fluence Rate"@en ; + schema:description ""Particle Fluence Rate" can be defined as the total number of particles (typically Gamma Ray Photons ) crossing over a sphere of unit cross section which surrounds a Point Source of Ionising Radiation."^^rdf:HTML ; +. + + + rdfs:label "Particle Number Density"@en ; + schema:description "The "Particle Number Density" is obtained by dividing the particle number of a system by its volume."^^rdf:HTML ; +. + + + rdfs:label "Particle Position Vector"@en ; + schema:description ""Particle Position Vector" is the position vector of a particle."^^rdf:HTML ; +. + + + rdfs:label "Particle Source Density"@en ; + schema:description ""Particle Source Density" is the rate of production of particles in a 3D domain divided by the volume of that element."^^rdf:HTML ; +. + + + rdfs:label "Path Length"@en ; + schema:description ""PathLength" is "^^rdf:HTML ; +. + + + rdfs:label "Payload Mass"@en ; + schema:description "Payload mass is the mass of the payload carried by the craft. In a multistage spacecraft the payload mass of the last stage is the mass of the payload and the payload masses of the other stages are considered to be the gross masses of the next stages."^^rdf:HTML ; +. + + + rdfs:label "Payload Ratio"@en ; + schema:description "The payload ratio is defined as the mass of the payload divided by the empty mass of the structure. Because of the extra cost involved in staging rockets, given the choice, it's often more economic to use few stages with a small payload ratio rather than more stages each with a high payload ratio."^^rdf:HTML ; +. + + + rdfs:label "Peltier Coefficient"@en ; + schema:description ""Peltier Coefficient" represents how much heat current is carried per unit charge through a given material. It is the heat power developed at a junction, divided by the electric current flowing from substance a to substance b."^^rdf:HTML ; +. + + + rdfs:label "Period"@en ; + schema:description "Duration of one cycle of a periodic phenomenon."^^rdf:HTML ; +. + + + rdfs:label "Permeability"@en ; +. + + + rdfs:label "Permeability Ratio"@en ; + schema:description "The ratio of the effective permeability of a porous phase to the absolute permeability."^^rdf:HTML ; +. + + + rdfs:label "Permeance"@en ; + rdfs:seeAlso ; + schema:description ""Permeance" is the inverse of reluctance. Permeance is a measure of the quantity of flux for a number of current-turns in magnetic circuit. A magnetic circuit almost acts as though the flux is "conducted", therefore permeance is larger for large cross sections of a material and smaller for longer lengths. This concept is analogous to electrical conductance in the electric circuit."^^rdf:HTML ; +. + + + rdfs:label "Permittivity Ratio"@en ; + rdfs:seeAlso ; + schema:description ""Permittivity Ratio" is the ratio of permittivity to the permittivity of a vacuum."^^rdf:HTML ; +. + + + rdfs:label "Phase coefficient"@en ; + schema:description "The phase coefficient is the amount of phase shift that occurs as the wave travels one meter. Increasing the loss of the material, via the manipulation of the material's conductivity, will decrease the wavelength (increase \\(\\beta\\)) and increase the attenuation coefficient (increase \\(\\alpha\\))."^^ ; +. + + + rdfs:label + "اختلاف طور"@ar , + "Phasenverschiebungswinkel"@de , + "phase difference"@en , + "diferencia de fase"@es , + "différence de phase"@fr , + "sfasamento angolare"@it , + "位相差"@ja , + "przesunięcie fazowe"@pl , + "diferença de fase"@pt ; + schema:description "\"Phase Difference} is the difference, expressed in electrical degrees or time, between two waves having the same frequency and referenced to the same point in time. Two oscillators that have the same frequency and different phases have a phase difference, and the oscillators are said to be out of phase with each other. The amount by which such oscillators are out of step with each other can be expressed in degrees from \\(0^\\circ\\) to \\(360^\\circ\\), or in radians from 0 to \\({2\\pi}\\). If the phase difference is \\(180^\\circ\\) (\\(\\pi\\) radians), then the two oscillators are said to be in antiphase."^^ ; +. + + + rdfs:label "Phase speed of sound"@en ; + schema:description "In a dispersive medium sound speed is a function of sound frequency, through the dispersion relation. The spatial and temporal distribution of a propagating disturbance will continually change. Each frequency component propagates at its own Phase Velocity of Sound."^^rdf:HTML ; +. + + + rdfs:label "Phonon Mean Free Path"@en ; + schema:description ""Phonon Mean Free Path" is the mean free path of phonons."^^rdf:HTML ; +. + + + rdfs:label "Photo Threshold of Awareness Function"@en ; + schema:description "\"Photo Threshold of Awareness Function\" is the ability of the human eye to detect a light that results in a \\(1^o\\) radial angle at the eye with a given duration (temporal summation)."^^ ; +. + + + rdfs:label "Photon Intensity"@en ; + schema:description "A measure of flux of photons per solid angle"^^ ; +. + + + rdfs:label "Photon Radiance"@en ; + schema:description "A measure of flux of photons per surface area per solid angle"^^ ; +. + + + rdfs:label "Photosynthetic Photon Flux"@en ; + schema:description "Photosynthetic Photon Flux (PPF) is a measurement of the total number of photons emitted by a light source each second within the PAR wavelength range and is measured in μmol/s. Lighting manufacturers may specify their grow light products in terms of PPF. It can be considered as analogous to measuring the luminous flux (lumens) of visible light which would typically require the use of an integrating sphere or a goniometer system with spectroradiometer sensor."^^rdf:HTML ; +. + + + rdfs:label "Photosynthetic Photon Flux Density"@en ; + schema:description "Photosynthetically Active Radiation are the wavelengths of light within the visible range of 400 to 700 nanometers (nm) that are critical for photosynthesis. PPFD measures the amount of PAR light (photons) that arrive at the plant’s surface each second. The PPFD is measured at various distances with a Full-spectrum Quantum Sensor, also known as a PAR meter. Natural sunlight has a PAR value of 900-1500μMol/m2/s when the sun is directly overhead. For a grow light to be effective, it should have PAR values of 500-1500 μMol/m2/s."^^rdf:HTML ; +. + + + rdfs:label + "Flächenlast"@de , + "Planar Force"@en ; + schema:description "Another name for Force Per Area, used by the Industry Foundation Classes (IFC) standard."^^rdf:HTML ; +. + + + rdfs:label + "الزاوية النصف قطرية"@ar , + "Равнинен ъгъл"@bg , + "Rovinný úhel"@cs , + "ebener Winkel"@de , + "Επίπεδη γωνία"@el , + "plane angle"@en , + "ángulo plano"@es , + "زاویه مستوی"@fa , + "angle plan"@fr , + "זווית"@he , + "क्षेत्र"@hi , + "szög"@hu , + "angolo piano"@it , + "弧度"@ja , + "angulus planus"@la , + "Sudut satah"@ms , + "kąt płaski"@pl , + "medida angular"@pt , + "unghi plan"@ro , + "Плоский угол"@ru , + "ravninski kot"@sl , + "düzlemsel açı"@tr , + "角度"@zh ; + schema:description "The inclination to each other of two intersecting lines, measured by the arc of a circle intercepted between the two lines forming the angle, the center of the circle being the point of intersection. An acute angle is less than \\(90^\\circ\\), a right angle \\(90^\\circ\\); an obtuse angle, more than \\(90^\\circ\\) but less than \\(180^\\circ\\); a straight angle, \\(180^\\circ\\); a reflex angle, more than \\(180^\\circ\\) but less than \\(360^\\circ\\); a perigon, \\(360^\\circ\\). Any angle not a multiple of \\(90^\\circ\\) is an oblique angle. If the sum of two angles is \\(90^\\circ\\), they are complementary angles; if \\(180^\\circ\\), supplementary angles; if \\(360^\\circ\\), explementary angles."^^ ; +. + + + rdfs:label "Poisson Ratio"@en ; + schema:description "The Poisson Ratio is the negative ratio of transverse to axial strain. In fact, when a sample object is stretched (or squeezed), to an extension (or contraction) in the direction of the applied load, it corresponds a contraction (or extension) in a direction perpendicular to the applied load. The ratio between these two quantities is the Poisson's ratio."^^rdf:HTML ; +. + + + rdfs:label "Polar moment of inertia"@en ; + schema:description "The polar moment of inertia is a quantity used to predict an object's ability to resist torsion, in objects (or segments of objects) with an invariant circular cross-section and no significant warping or out-of-plane deformation. It is used to calculate the angular displacement of an object subjected to a torque. It is analogous to the area moment of inertia, which characterizes an object's ability to resist bending. "^^rdf:HTML ; +. + + + rdfs:label "Polarizability"@en ; + schema:description "\"Polarizability\" is the relative tendency of a charge distribution, like the electron cloud of an atom or molecule, to be distorted from its normal shape by an external electric field, which may be caused by the presence of a nearby ion or dipole. The electronic polarizability \\(\\alpha\\) is defined as the ratio of the induced dipole moment of an atom to the electric field that produces this dipole moment. Polarizability is often a scalar valued quantity, however in the general case it is tensor-valued."^^ ; +. + + + rdfs:label "Polarization Field"@en ; + schema:description "The Polarization Field is the vector field that expresses the density of permanent or induced electric dipole moments in a dielectric material. The polarization vector P is defined as the ratio of electric dipole moment per unit volume."^^rdf:HTML ; +. + + + rdfs:label "Population"@en ; + schema:description "Population typically refers to the number of people in a single area, whether it be a city or town, region, country, continent, or the world, but can also represent the number of any kind of entity."^^rdf:HTML ; +. + + + rdfs:label "Position Vector"@en ; + schema:description "A "Position Vector", also known as location vector or radius vector, is a Euclidean vector which represents the position of a point P in space in relation to an arbitrary reference origin O."^^rdf:HTML ; +. + + + rdfs:label "Positive Dimensionless Ratio"@en ; + schema:description "A "Positive Dimensionless Ratio" is a dimensionless ratio that is greater than zero"^^rdf:HTML ; +. + + + rdfs:label "Positive Length"@en ; + schema:description ""PositiveLength" is a measure of length strictly greater than zero."^^rdf:HTML ; +. + + + rdfs:label "Positive Plane Angle"@en ; + schema:description "A "PositivePlaneAngle" is a plane angle strictly greater than zero."^^rdf:HTML ; +. + + + rdfs:label + "طاقة وضع"@ar , + "potenciální energie"@cs , + "potentielle Energie"@de , + "potential energy"@en , + "energía potencial"@es , + "انرژی پتانسیل"@fa , + "énergie potentielle"@fr , + "स्थितिज ऊर्जा"@hi , + "energia potenziale"@it , + "位置エネルギー"@ja , + "Tenaga keupayaan"@ms , + "Energia potencjalna"@pl , + "energia potencial"@pt , + "Energie potențială"@ro , + "потенциальная энергия"@ru , + "Potansiyel enerji"@tr , + "势能"@zh ; + schema:description "Energy possessed by a body by virtue of its position in a gravity field in contrast with kinetic energy, that possessed by virtue of its motion."^^rdf:HTML ; +. + + + rdfs:label + "القدرة"@ar , + "Мощност"@bg , + "Výkon"@cs , + "Leistung"@de , + "Ισχύς"@el , + "power"@en , + "potencia"@es , + "توان، نرخ جریان گرما"@fa , + "puissance"@fr , + "הספק"@he , + "शक्ति"@hi , + "teljesítmény , hőáramlás"@hu , + "potenza"@it , + "電力・仕事率"@ja , + "potentia"@la , + "Kuasa"@ms , + "moc"@pl , + "potência"@pt , + "putere"@ro , + "Мощность"@ru , + "moč"@sl , + "güç"@tr , + "功率、热流"@zh ; + schema:description "Power is the rate at which work is performed or energy is transmitted, or the amount of energy required or expended for a given unit of time. As a rate of change of work done or the energy of a subsystem, power is: \\(P = W/t\\), where \\(P\\) is power, \\(W\\) is work and {t} is time."^^ ; +. + + + rdfs:label "Power Area"@en ; +. + + + rdfs:label "Power Area per Solid Angle"@en ; +. + + + rdfs:label + "معامل القدرة"@ar , + "Účiník"@cs , + "Leistungsfaktor"@de , + "power factor"@en , + "factor de potencia"@es , + "ضریب توان"@fa , + "facteur de puissance"@fr , + "शक्ति गुणांक"@hi , + "fattore di potenza"@it , + "力率"@ja , + "faktor kuasa"@ms , + "Współczynnik mocy"@pl , + "fator de potência"@pt , + "factor de putere"@ro , + "Коэффициент_мощности"@ru , + "güç faktörü"@tr , + "功率因数"@zh ; + rdfs:seeAlso + , + ; + schema:description "\"Power Factor\", under periodic conditions, is the ratio of the absolute value of the active power \\(P\\) to the apparent power \\(S\\)."^^ ; +. + + + rdfs:label "Power Per Area"@en ; +. + + + rdfs:label "Power per Area Angle"@en ; +. + + + rdfs:label "Power per area quartic temperature"@en ; +. + + + rdfs:label "Power Per Electric Charge"@en ; + schema:description ""Power Per Electric Charge" is the amount of energy generated by a unit of electric charge."^^rdf:HTML ; +. + + + rdfs:label + "متجَه بوينتنج"@ar , + "Poynting-Vektor"@de , + "Poynting vector"@en , + "vector de Poynting"@es , + "vecteur de Poynting"@fr , + "vettore di Poynting"@it , + "ポインティングベクトル"@ja , + "wektor Poyntinga"@pl , + "vector de Poynting"@pt , + "вектор Пойнтинга"@ru ; + schema:description ""Poynting Vector} is the vector product of the electric field strength \\mathbf{E} and the magnetic field strength \\mathbf{H" of the electromagnetic field at a given point. The flux of the Poynting vector through a closed surface is equal to the electromagnetic power passing through this surface. For a periodic electromagnetic field, the time average of the Poynting vector is a vector of which, with certain reservations, the direction may be considered as being the direction of propagation of electromagnetic energy and the magnitude considered as being the average electromagnetic power flux density."^^rdf:HTML ; +. + + + rdfs:label + "الضغط أو الإجهاد"@ar , + "Налягане"@bg , + "Tlak"@cs , + "Druck"@de , + "Πίεση - τάση"@el , + "pressure"@en , + "presión"@es , + "فشار، تنش"@fa , + "pression"@fr , + "לחץ"@he , + "दबाव"@hi , + "nyomás"@hu , + "pressione"@it , + "圧力"@ja , + "pressio"@la , + "Tekanan"@ms , + "ciśnienie"@pl , + "pressão"@pt , + "presiune"@ro , + "Давление"@ru , + "tlak"@sl , + "basınç"@tr , + "压强、压力"@zh ; + schema:description "Pressure is an effect which occurs when a force is applied on a surface. Pressure is the amount of force acting on a unit area. Pressure is distinct from stress, as the former is the ratio of the component of force normal to a surface to the surface area. Stress is a tensor that relates the vector force to the vector area."^^rdf:HTML ; +. + + + rdfs:label "Pressure Burning Rate Constant"@en ; +. + + + rdfs:label "Pressure Burning Rate Index"@en ; +. + + + rdfs:label "Pressure Coefficient"@en ; +. + + + rdfs:label "Pressure Loss per Length"@en ; + schema:description ""Pressure Loss per Length" refers to the power lost in overcoming the friction between two moving surfaces. Also referred to as "Friction Loss"."^^rdf:HTML ; +. + + + rdfs:label "Pressure Percentage"@en ; +. + + + rdfs:label "Pressure Ratio"@en ; +. + + + rdfs:label "Prevalence"@en ; + schema:description "In epidemiology, prevalence is the proportion of a particular population found to be affected by a medical condition (typically a disease or a risk factor such as smoking or seatbelt use) at a specific time. (Wikipedia)"^^rdf:HTML ; +. + + + rdfs:label "Principal Quantum Number"@en ; + schema:description "The \"Principal Quantum Number\" describes the electron shell, or energy level, of an atom. The value of \\(n\\) ranges from 1 to the shell containing the outermost electron of that atom."^^ ; +. + + + rdfs:label "Propagation coefficient"@en ; + schema:description "The propagation constant, symbol \\(\\gamma\\), for a given system is defined by the ratio of the amplitude at the source of the wave to the amplitude at some distance x."^^ ; +. + + + rdfs:label "Propellant Burn Rate"@en ; +. + + + rdfs:label "Propellant Mass"@en ; +. + + + rdfs:label "Propellant Mean Bulk Temperature"@en ; +. + + + rdfs:label "Propellant Temperature"@en ; +. + + + rdfs:label "Quantum Number"@en ; + schema:description "The "Quantum Number" describes values of conserved quantities in the dynamics of the quantum system. Perhaps the most peculiar aspect of quantum mechanics is the quantization of observable quantities, since quantum numbers are discrete sets of integers or half-integers."^^rdf:HTML ; +. + + + rdfs:label "Quartic Electric Dipole Moment per Cubic Energy"@en ; +. + + + rdfs:label "Reserve Mass"@en ; + schema:description "A quantity of mass held by Program/project management to mitigate the risk of over-predicted performance estimates, under predicted mass estimates, and future operational and mission specific requirements (program mass reserve, manager's mass reserve, launch window reserve, performance reserve, etc.)."^^rdf:HTML ; +. + + + rdfs:label "RF-Power Level"@en ; + schema:description "Radio-Frequency Power. Power level of electromagnetic waves alternating at the frequency of radio waves (up to 10^10 Hz)."^^rdf:HTML ; +. + + + rdfs:label "Radial Distance"@en ; + schema:description "In classical geometry, the \"Radial Distance\" is a coordinate in polar coordinate systems (r, \\(\\theta\\)). Basically the radial distance is the scalar Euclidean distance between a point and the origin of the system of coordinates."^^ ; +. + + + rdfs:label "Radiance"@en ; + schema:description ""Radiance" is a radiometric measure that describes the amount of light that passes through or is emitted from a particular area, and falls within a given solid angle in a specified direction."^^rdf:HTML ; +. + + + rdfs:label "Radiance Factor"@en ; + schema:description "Radiance Factor is the ratio of the radiance of the surface element in the given direction to that of a perfect reflecting or transmitting diffuser identically irradiated unit."^^rdf:HTML ; +. + + + rdfs:label "Radiant Emmitance"@en ; + schema:description "Irradiance and Radiant Emittance are radiometry terms for the power per unit area of electromagnetic radiation at a surface. "Irradiance" is used when the electromagnetic radiation is incident on the surface. "Radiant emmitance" (or "radiant exitance") is used when the radiation is emerging from the surface."^^rdf:HTML ; +. + + + rdfs:label + "طاقة إشعاعية"@ar , + "energie záření"@cs , + "Strahlungsenergie"@de , + "radiant energy"@en , + "energía radiante"@es , + "انرژی تابشی"@fa , + "énergie rayonnante"@fr , + "विकिरण ऊर्जा"@hi , + "energia radiante"@it , + "放射エネルギー"@ja , + "Tenaga sinaran"@ms , + "energia promienista"@pl , + "energia radiante"@pt , + "энергия излучения"@ru , + "Işınım erkesi"@tr , + "辐射能"@zh ; + schema:description "In radiometry,"Radiant Energy} is the energy of electromagnetic waves. The quantity of radiant energy may be calculated by integrating radiant flux (or power) with respect to time. In nuclear physics, \\textit{Radiant Energy" is energy, excluding rest energy, of the particles that are emitted, transferred, or received."^^rdf:HTML ; +. + + + rdfs:label "Radiant Energy Density"@en ; + schema:description ""Radiant Energy Density", or radiant power, is the radiant energy per unit volume."^^rdf:HTML ; +. + + + rdfs:label "Radiant Exposure"@en ; + schema:description "Radiant exposure is a measure of the total radiant energy incident on a surface per unit area; equal to the integral over time of the radiant flux density. Also known as exposure."^^rdf:HTML ; +. + + + rdfs:label "Radiant Fluence"@en ; + schema:description "Radiant fluence rate, or spherical irradiance, is equal to the total radiant flux incident on a small sphere divided by the area of the diametrical cross-section of the sphere."^^rdf:HTML ; +. + + + rdfs:label "Radiant Fluence Rate"@en ; + schema:description "Radiant fluence rate, or spherical irradiance, is equal to the total radiant flux incident on a small sphere divided by the area of the diametrical cross-section of the sphere."^^rdf:HTML ; +. + + + rdfs:label + "قدرة إشعاعية"@ar , + "Strahlungsfluss"@de , + "radiant flux"@en , + "potencia radiante"@es , + "flux énergétique"@fr , + "flusso radiante"@it , + "放射パワー"@ja , + "moc promieniowania"@pl , + "potência radiante"@pt ; + schema:description "Radiant Flux, or radiant power, is the measure of the total power of electromagnetic radiation (including infrared, ultraviolet, and visible light). The power may be the total emitted from a source, or the total landing on a particular surface."^^rdf:HTML ; +. + + + rdfs:label "Radiant Intensity"@en ; + schema:description "Radiant Intensity is a measure of the intensity of electromagnetic radiation. It is defined as power per unit solid angle."^^rdf:HTML ; +. + + + rdfs:label "Radiative Heat Transfer"@en ; + schema:description "\"Radiative Heat Transfer\" is proportional to \\((T_1^4 - T_2^4)\\) and area of the surface, where \\(T_1\\) and \\(T_2\\) are thermodynamic temperatures of two black surfaces, for non totally black surfaces an additional factor less than 1 is needed."^^ ; +. + + + rdfs:label "Radiosity"@en ; + schema:description "Radiosity is the total emitted and reflected radiation leaving a surface."^^rdf:HTML ; +. + + + rdfs:label "Radius"@en ; + schema:description "In classical geometry, the "Radius" of a circle or sphere is any line segment from its center to its perimeter the radius of a circle or sphere is the length of any such segment."^^rdf:HTML ; +. + + + rdfs:label "Radius of Curvature"@en ; + schema:description "In geometry, the "Radius of Curvature", R, of a curve at a point is a measure of the radius of the circular arc which best approximates the curve at that point."^^rdf:HTML ; +. + + + rdfs:label "Ratio of Specific Heat Capacities"@en ; + rdfs:seeAlso ; + schema:description "The specific heat ratio of a gas is the ratio of the specific heat at constant pressure, \\(c_p\\), to the specific heat at constant volume, \\(c_V\\). It is sometimes referred to as the \"adiabatic index} or the \\textit{heat capacity ratio} or the \\textit{isentropic expansion factor} or the \\textit{adiabatic exponent} or the \\textit{isentropic exponent\"."^^ ; +. + + + rdfs:label "Reaction Energy"@en ; + schema:description ""Reaction Energy" in a nuclear reaction, is the sum of the kinetic energies and photon energies of the reaction products minus the sum of the kinetic and photon energies of the reactants."^^rdf:HTML ; +. + + + rdfs:label + "القدرة الكهربائية الردفعلية;الردية"@ar , + "Jalový výkon"@cs , + "Blindleistung"@de , + "reactive power"@en , + "potencia reactiva"@es , + "توان راکتیو"@fa , + "puissance réactive"@fr , + "potenza reattiva"@it , + "無効電力"@ja , + "Kuasa reaktif"@ms , + "moc bierna"@pl , + "potência reativa"@pt , + "reaktif güç"@tr , + "无功功率"@zh ; + rdfs:seeAlso ; + schema:description "\"Reactive Power}, for a linear two-terminal element or two-terminal circuit, under sinusoidal conditions, is the quantity equal to the product of the apparent power \\(S\\) and the sine of the displacement angle \\(\\psi\\). The absolute value of the reactive power is equal to the non-active power. The ISO (and SI) unit for reactive power is the voltampere. The special name \\(\\textit{var}\\) and symbol \\(\\textit{var}\\) are given in IEC 60027 1."^^ ; +. + + + rdfs:label "Reactivity"@en ; + schema:description ""Reactivity" characterizes the deflection of reactor from the critical state."^^rdf:HTML ; +. + + + rdfs:label "Reactor Time Constant"@en ; + schema:description "The "Reactor Time Constant", also called the reactor period, is the time during which the neutron flux density in a reactor changes by the factor e = 2.718 (e: basis of natural logarithms), when the neutron flux density increases or decreases exponentially."^^rdf:HTML ; +. + + + rdfs:label "Recombination Coefficient"@en ; + schema:description "The "Recombination Coefficient" is the rate of recombination of positive ions with electrons or negative ions in a gas, per unit volume, divided by the product of the number of positive ions per unit volume and the number of electrons or negative ions per unit volume."^^rdf:HTML ; +. + + + rdfs:label "Reflectance"@en ; + schema:description "Reflectance generally refers to the fraction of incident power that is reflected at an interface, while the term "reflection coefficient" is used for the fraction of electric field reflected. Reflectance is always a real number between zero and 1.0."^^rdf:HTML ; +. + + + rdfs:label "Reflectance Factor"@en ; + schema:description "Reflectance Factor is the measure of the ability of a surface to reflect light or other electromagnetic radiation, equal to the ratio of the reflected flux to the incident flux."^^rdf:HTML ; +. + + + rdfs:label "Reflectivity"@en ; + schema:description """

For homogeneous and semi-infinite materials, reflectivity is the same as reflectance. Reflectivity is the square of the magnitude of the Fresnel reflection coefficient, which is the ratio of the reflected to incident electric field; as such the reflection coefficient can be expressed as a complex number as determined by the Fresnel equations for a single layer, whereas the reflectance is always a positive real number.

+ +

For layered and finite media, according to the CIE, reflectivity is distinguished from reflectance by the fact that reflectivity is a value that applies to thick reflecting objects. When reflection occurs from thin layers of material, internal reflection effects can cause the reflectance to vary with surface thickness. Reflectivity is the limit value of reflectance as the sample becomes thick; it is the intrinsic reflectance of the surface, hence irrespective of other parameters such as the reflectance of the rear surface. Another way to interpret this is that the reflectance is the fraction of electromagnetic power reflected from a specific sample, while reflectivity is a property of the material itself, which would be measured on a perfect machine if the material filled half of all space.

"""^^rdf:HTML ; +. + + + rdfs:label + "معامل الانكسار"@ar , + "Index lomu"@cs , + "Brechzahl"@de , + "refractive index"@en , + "índice de refracción"@es , + "ضریب شکست"@fa , + "indice de réfraction"@fr , + "अपवर्तनांक"@hi , + "indice di rifrazione"@it , + "屈折率"@ja , + "Indeks biasan"@ms , + "Współczynnik załamania"@pl , + "índice refrativo"@pt , + "Indice de refracție"@ro , + "Показатель преломления"@ru , + "kırılma indeksi"@tr , + "折射率"@zh ; + schema:description ""refractive index" or index of refraction n of a substance (optical medium) is a dimensionless number that describes how light, or any other radiation, propagates through that medium."^^rdf:HTML ; +. + + + rdfs:label "Relative Atomic Mass"@en ; + schema:description ""Relative Atomic Mass " is a dimensionless physical quantity, the ratio of the average mass of atoms of an element (from a given source) to 1/12 of the mass of an atom of carbon-12 (known as the unified atomic mass unit)"^^rdf:HTML ; +. + + + rdfs:label "Relative Luminous Flux"@en ; + schema:description "Relative Luminous Flux or Relative Luminous Power is the measure of the perceived power of light. It differs from radiant flux, the measure of the total power of light emitted, in that luminous flux is adjusted to reflect the varying sensitivity of the human eye to different wavelengths of light. It is expressed as a percentage or fraction of full power."^^rdf:HTML ; +. + + + rdfs:label "Relative Mass Concentration of Vapour"@en ; + rdfs:seeAlso ; + schema:description ""Relative Mass Concentration of Vapour" is one of a number of "Relative Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Relative Mass Defect"@en ; + rdfs:seeAlso ; + schema:description "The "Relative Mass Defect" is the mass defect between the monoisotopic mass of an element and the mass of its A + 1 or its A + 2 isotopic cluster."^^rdf:HTML ; +. + + + rdfs:label "Relative Mass Density"@en ; + schema:description "Relative density, or specific gravity, is the ratio of the density (mass of a unit volume) of a substance to the density of a given reference material."^^rdf:HTML ; +. + + + rdfs:label "Relative Mass Excess"@en ; + schema:description "The "Relative Mass Excess" is the mass excess between the monoisotopic mass of an element and the mass of its A + 1 or its A + 2 isotopic cluster (extrapolated from relative mass defect)."^^rdf:HTML ; +. + + + rdfs:label "Relative Mass Ratio of Vapour"@en ; + schema:description ""Relative Mass Ratio of Vapour" is one of a number of "Relative Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Relative Molecular Mass"@en ; + schema:description ""Relative Molecular Mass " is equivalent to the numerical value of the molecular mass expressed in unified atomic mass units. The molecular mass (m) is the mass of a molecule."^^rdf:HTML ; +. + + + rdfs:label "Relative Pressure Coefficient"@en ; +. + + + rdfs:label "Relaxation TIme"@en ; + schema:description ""Relaxation TIme" is a time constant for exponential decay towards equilibrium."^^rdf:HTML ; +. + + + rdfs:label "Residual Resistivity"@en ; + schema:description ""Residual Resistivity" for metals, is the resistivity extrapolated to zero thermodynamic temperature."^^rdf:HTML ; +. + + + rdfs:label "Resistance Percentage"@en ; +. + + + rdfs:label "Resistance Ratio"@en ; +. + + + rdfs:label "Resistivity"@en ; + rdfs:seeAlso ; + schema:description ""Resistivity" is the inverse of the conductivity when this inverse exists."^^rdf:HTML ; +. + + + rdfs:label "Resonance Energy"@en ; + schema:description ""Resonance Energy" in a nuclear reaction, is the kinetic energy of an incident particle, in the reference frame of the target, corresponding to a resonance in a nuclear reaction."^^rdf:HTML ; +. + + + rdfs:label "Resonance Escape Probability"@en ; + schema:description "The "Resonance Escape Probability" is the fraction of fission neutrons that manage to slow down from fission to thermal energies without being absorbed. In an infinite medium, the probability that a neutron slowing down will traverse all or some specified portion of the range of resonance energies without being absorbed."^^rdf:HTML ; +. + + + rdfs:label "Resonance Escape Probability For Fission"@en ; + schema:description "Fraction of fission neutrons that manage to slow down from fission to thermal energies without being absorbed."^^rdf:HTML ; +. + + + rdfs:label "Respiratory Rate"@en ; + schema:description "Respiratory rate (Vf, Rf or RR) is also known by respiration rate, pulmonary ventilation rate, ventilation rate, or breathing frequency is the number of breaths taken within a set amount of time, typically 60 seconds. A normal respiratory rate is termed eupnea, an increased respiratory rate is termed tachypnea and a lower than normal respiratory rate is termed bradypnea."^^rdf:HTML ; +. + + + rdfs:label "Rest Energy"@en ; + schema:description ""Rest Energy" is the energy equivalent of the rest mass of a body, equal to the rest mass multiplied by the speed of light squared."^^rdf:HTML ; +. + + + rdfs:label + "كتلة ساكنة"@ar , + "Klidová hmotnost"@cs , + "Ruhemasse"@de , + "rest mass"@en , + "masa invariante"@es , + "جرم سکون"@fa , + "masse au repos"@fr , + "निश्चर द्रव्यमान"@hi , + "massa a riposo"@it , + "不変質量"@ja , + "Jisim rehat"@ms , + "masa spoczynkowa"@pl , + "massa de repouso"@pt , + "masa invariantă"@ro , + "инвариантная масса"@ru , + "Mirovna masa"@sl , + "dinlenme kütlesi"@tr , + "静止质量"@zh ; + schema:description "The \\(\\textit{Rest Mass}\\), the invariant mass, intrinsic mass, proper mass, or (in the case of bound systems or objects observed in their center of momentum frame) simply mass, is a characteristic of the total energy and momentum of an object or a system of objects that is the same in all frames of reference related by Lorentz transformations. The mass of a particle type X (electron, proton or neutron) when that particle is at rest. For an electron: \\(m_e = 9,109 382 15(45) 10^{-31} kg\\), for a proton: \\(m_p = 1,672 621 637(83) 10^{-27} kg\\), for a neutron: \\(m_n = 1,674 927 211(84) 10^{-27} kg\\). Rest mass is often denoted \\(m_0\\)."^^ ; +. + + + rdfs:label "Reverberation Time"@en ; + schema:description "Reverberation Time is the time required for reflections of a direct sound to decay by 60 dB below the level of the direct sound."^^rdf:HTML ; +. + + + rdfs:label "Reynolds Number"@en ; + schema:description "The "Reynolds Number" (Re) is a dimensionless number that gives a measure of the ratio of inertial forces to viscous forces and consequently quantifies the relative importance of these two types of forces for given flow conditions."^^rdf:HTML ; +. + + + rdfs:label "Richardson Constant"@en ; + schema:description ""Richardson Constant" is a constant used in developing thermionic emission current density for a metal."^^rdf:HTML ; +. + + + rdfs:label "Rocket Atmospheric Transverse Force"@en ; + schema:description "Transverse force on rocket due to an atmosphere"^^rdf:HTML ; +. + + + rdfs:label "Rotational Mass"@en ; + schema:description ""Rotational Mass" denotes the inertia of a body with respect to angular acceleration. It is usually measured in kg*m^2."^^rdf:HTML ; +. + + + rdfs:label "Rotational Stiffness"@en ; + schema:description "Rotational Stiffness is the extent to which an object resists deformation in response to an applied torque."^^rdf:HTML ; +. + + + rdfs:label "Scalar Magnetic Potential"@en ; + rdfs:seeAlso ; + schema:description ""Scalar Magnetic Potential" is the scalar potential of an irrotational magnetic field strength. The negative of the gradient of the scalar magnetic potential is the irrotational magnetic field strength. The magnetic scalar potential is not unique since any constant scalar field can be added to it without changing its gradient."^^rdf:HTML ; +. + + + rdfs:label "Second Axial Moment of Area"@en ; + schema:description "The moment of inertia, also called mass moment of inertia, rotational inertia, polar moment of inertia of mass, or the angular mass is a property of a distribution of mass in space that measures its resistance to rotational acceleration about an axis."^^rdf:HTML ; +. + + + rdfs:label + "Flächenträgheitsmoment"@de , + "second moment of area"@en , + "segundo momento de érea"@es , + "گشتاور دوم سطح"@fa , + "moment quadratique"@fr , + "क्षेत्रफल का द्वितीय आघूर्ण"@hi , + "secondo momento di area"@it , + "断面二次モーメント"@ja , + "Geometryczny moment bezwładności"@pl , + "Segundo momento de área"@pt , + "截面二次轴矩"@zh ; + schema:description "The second moment of area is a property of a physical object that can be used to predict its resistance to bending and deflection. The deflection of an object under load depends not only on the load, but also on the geometry of the object's cross-section."^^rdf:HTML ; +. + + + rdfs:label "Reaction Rate Constant"@en ; + schema:description "A quantity kind that is a proportionality constant that quantifies the relationship between the molar concentrations of the reactants and the rate of a second order chemical reaction."^^rdf:HTML ; +. + + + rdfs:label "Second Polar Moment of Area"@en ; + schema:description "The moment of inertia, also called mass moment of inertia, rotational inertia, polar moment of inertia of mass, or the angular mass is a property of a distribution of mass in space that measures its resistance to rotational acceleration about an axis."^^rdf:HTML ; +. + + + rdfs:label "Second Stage Mass Ratio"@en ; + schema:description "Mass ratio for the second stage of a multistage launcher."^^rdf:HTML ; +. + + + rdfs:label "Section Area Integral"@en ; + schema:description "The sectional area integral measure is typically used in torsional analysis. It is usually measured in M⁵."^^rdf:HTML ; +. + + + rdfs:label "Section Modulus"@en ; + schema:description "The Section Modulus is a geometric property for a given cross-section used in the design of beams or flexural members."^^rdf:HTML ; +. + + + rdfs:label "Seebeck Coefficient"@en ; + schema:description ""Seebeck Coefficient", or thermopower, or thermoelectric power of a material is a measure of the magnitude of an induced thermoelectric voltage in response to a temperature difference across that material."^^rdf:HTML ; +. + + + rdfs:label "Serum or Plasma Level"@en ; +. + + + rdfs:label "Shannon Diversity Index"@en ; + schema:description "Information entropy applied to a collection of indiviual organisms [of selected species] in a sample area. A measure of biodiversity."^^rdf:HTML ; +. + + + rdfs:label "Shear Modulus"@en ; + schema:description "The Shear Modulus or modulus of rigidity, denoted by \\(G\\), or sometimes \\(S\\) or \\(\\mu\\), is defined as the ratio of shear stress to the shear strain."^^ ; +. + + + rdfs:label "Shear Strain"@en ; + schema:description "Shear Strain is the amount of deformation perpendicular to a given line rather than parallel to it. "^^rdf:HTML ; +. + + + rdfs:label "Shear Stress"@en ; + schema:description "Shear stress occurs when the force occurs in shear, or perpendicular to the normal."^^rdf:HTML ; +. + + + rdfs:label "Short-Range Order Parameter"@en ; + schema:description ""Short-Range Order Parameter" is the fraction of the nearest-neighbor atom pairs in an Ising ferromagnet having magnetic moments in one direction, minus the fraction having magnetic moments in the opposite direction."^^rdf:HTML ; +. + + + rdfs:label "Signal Detection Threshold"@en ; +. + + + rdfs:label "Signal Strength"@en ; + schema:description "In telecommunications, particularly in radio, signal strength refers to the magnitude of the electric field at a reference point that is a significant distance from the transmitting antenna. It may also be referred to as received signal level or field strength. Typically, it is expressed in voltage per length or signal power received by a reference antenna. High-powered transmissions, such as those used in broadcasting, are expressed in dB-millivolts per metre (dBmV/m)."^^rdf:HTML ; +. + + + rdfs:label "Single Stage Launcher Mass Ratio"@en ; +. + + + rdfs:label "Slowing-Down Area"@en ; + schema:description ""Slowing-Down Area" in an infinite homogenous medium, is one-sixth of the mean square distance between the neutron source and the point where a neutron reaches a given energy."^^rdf:HTML ; +. + + + rdfs:label "Slowing-Down Density"@en ; + schema:description ""Slowing-Down Density" is a measure of the rate at which neutrons lose energy in a nuclear reactor through collisions; equal to the number of neutrons that fall below a given energy per unit volume per unit time."^^rdf:HTML ; +. + + + rdfs:label "Slowing-Down Length"@en ; + schema:description ""Slowing-Down Length" is the average straight-line distance that a fast neutron will travel between its introduction into the slowing-downmedium (moderator) and thermalization."^^rdf:HTML ; +. + + + rdfs:label "Soil Adsorption Coefficient"@en ; + schema:description "A specific volume that is the ratio of the amount of substance adsorbed per unit weight of organic carbon in the soil or sediment to the concentration of the chemical in aqueous solution at equilibrium."^^rdf:HTML ; +. + + + rdfs:label + "الزاوية الصلبة"@ar , + "Пространствен ъгъл"@bg , + "Prostorový úhel"@cs , + "Raumwinkel"@de , + "Στερεά γωνία"@el , + "solid angle"@en , + "ángulo sólido"@es , + "زاویه فضایی"@fa , + "angle solide"@fr , + "זווית מרחבית"@he , + "आयतन"@hi , + "térszög"@hu , + "angolo solido"@it , + "立体角"@ja , + "angulus solidus"@la , + "Sudut padu"@ms , + "kąt bryłowy"@pl , + "ângulo sólido"@pt , + "unghi solid"@ro , + "Телесный угол"@ru , + "prostorski kot"@sl , + "katı cisimdeki açı"@tr , + "立体角度"@zh ; + schema:description "The solid angle subtended by a surface S is defined as the surface area of a unit sphere covered by the surface S's projection onto the sphere. A solid angle is related to the surface of a sphere in the same way an ordinary angle is related to the circumference of a circle. Since the total surface area of the unit sphere is 4*pi, the measure of solid angle will always be between 0 and 4*pi."^^rdf:HTML ; +. + + + rdfs:label "Diffusion Length (Solid State Physics)"@en ; + schema:description ""Solid State Diffusion Length" is the average distance traveled by a particle, such as a minority carrier in a semiconductor "^^rdf:HTML ; +. + + + rdfs:label "Water Solubility"@en ; + schema:description "An amount of substance per unit volume that is the concentration of a saturated solution expressed as the ratio of the solute concentration over the volume of water. A substance's solubility fundamentally depends on several physical and chemical properties of the solution as well as the environment it is in."^^rdf:HTML ; +. + + + rdfs:label "Sound energy density"@en ; + schema:description "Sound energy density is the time-averaged sound energy in a given volume divided by that volume. The sound energy density or sound density (symbol \\(E\\) or \\(w\\)) is an adequate measure to describe the sound field at a given point as a sound energy value."^^ ; +. + + + rdfs:label "Sound exposure"@en ; + schema:description "Sound Exposure is the energy of the A-weighted sound calculated over the measurement time(s). For a given period of time, an increase of 10 dB(A) in sound pressure level corresponds to a tenfold increase in E."^^rdf:HTML ; +. + + + rdfs:label "Sound exposure level"@en ; + schema:description "Sound Exposure Level abbreviated as \\(SEL\\) and \\(LAE\\), is the total noise energy produced from a single noise event, expressed as a logarithmic ratio from a reference level."^^ ; +. + + + rdfs:label "Sound intensity"@en ; + schema:description "Sound intensity or acoustic intensity (\\(I\\)) is defined as the sound power \\(P_a\\) per unit area \\(A\\). The usual context is the noise measurement of sound intensity in the air at a listener's location as a sound energy quantity."^^rdf:HTML ; +. + + + rdfs:label "Sound particle acceleration"@en ; + schema:description "In a compressible sound transmission medium - mainly air - air particles get an accelerated motion: the particle acceleration or sound acceleration with the symbol a in \\(m/s2\\). In acoustics or physics, acceleration (symbol: \\(a\\)) is defined as the rate of change (or time derivative) of velocity."^^ ; +. + + + rdfs:label "Sound Particle Displacement"@en ; + schema:description "Sound Particle Displacement is the nstantaneous displacement of a particle in a medium from what would be its position in the absence of sound waves."^^rdf:HTML ; +. + + + rdfs:label + "سرعة جسيم"@ar , + "Schallschnelle"@de , + "sound particle velocity"@en , + "velocidad acústica de una partícula"@es , + "vitesse acoustique d‘une particule"@fr , + "velocità di spostamento"@it , + "粒子速度"@ja , + "prędkość akustyczna"@pl , + "velocidade acústica de uma partícula"@pt ; + schema:description "Sound Particle velocity is the velocity v of a particle (real or imagined) in a medium as it transmits a wave. In many cases this is a longitudinal wave of pressure as with sound, but it can also be a transverse wave as with the vibration of a taut string. When applied to a sound wave through a medium of a fluid like air, particle velocity would be the physical speed of a parcel of fluid as it moves back and forth in the direction the sound wave is travelling as it passes."^^rdf:HTML ; +. + + + rdfs:label + "القدرة الصوتية"@ar , + "Schallleistung"@de , + "sound power"@en , + "potencie acústica"@es , + "puissance acoustique"@fr , + "potenza sonora"@it , + "音源の音響出力"@ja , + "moc akustyczna"@pl , + "potência acústica"@pt , + "звуковая мощность"@ru ; + schema:description "Sound power or acoustic power \\(P_a\\) is a measure of sonic energy \\(E\\) per time \\(t\\) unit. It is measured in watts and can be computed as sound intensity (\\(I\\)) times area (\\(A\\))."^^ ; +. + + + rdfs:label "Sound power level"@en ; + schema:description "Sound Power Level abbreviated as \\(SWL\\) expresses sound power more practically as a relation to the threshold of hearing - 1 picoW - in a logarithmic scale."^^ ; +. + + + rdfs:label "Sound pressure"@en ; + schema:description "Sound Pressure is the difference between instantaneous total pressure and static pressure."^^rdf:HTML ; +. + + + rdfs:label + "كمية جذر الطاقة"@ar , + "Hladina akustického tlaku"@cs , + "Schalldruckpegel"@de , + "sound pressure level"@en , + "nivel de presión sonora"@es , + "سطح یک کمیت توان-ریشه"@fa , + "niveau de pression acoustique"@fr , + "livello di pressione sonora"@it , + "利得"@ja , + "Tahap medan"@ms , + "miary wielkości ilorazowych"@pl , + "nível de pressão acústica"@pt , + "уровень звукового давления"@ru , + "gerilim veya akım oranı"@tr , + "声压级"@zh ; + schema:description "Sound pressure level (\\(SPL\\)) or sound level is a logarithmic measure of the effective sound pressure of a sound relative to a reference value. It is measured in decibels (dB) above a standard reference level."^^ ; +. + + + rdfs:label "Sound reduction index"@en ; + schema:description "The Sound Reduction Index is used to measure the level of sound insulation provided by a structure such as a wall, window, door, or ventilator."^^rdf:HTML ; +. + + + rdfs:label "Sound volume velocity"@en ; + schema:description "Sound Volume Velocity is the product of particle velocity \\(v\\) and the surface area \\(S\\) through which an acoustic wave of frequency \\(f\\) propagates. Also, the surface integral of the normal component of the sound particle velocity over the cross-section (through which the sound propagates). It is used to calculate acoustic impedance."^^ ; +. + + + rdfs:label "Source Voltage"@en ; + schema:description """"Source Voltage}, also referred to as \\textit{Source Tension" is the voltage between the two terminals of a voltage source when there is no + +electric current through the source. The name "electromotive force} with the abbreviation \\textit{EMF" and the symbol \\(E\\) is deprecated."""^^ ; +. + + + rdfs:label "Source Voltage Between Substances"@en ; + schema:description ""Source Voltage Between Substances" is the source voltage between substance a and b."^^rdf:HTML ; +. + + + rdfs:label "Spatial Summation Function"@en ; + schema:description ""Spatial Summation Function" is he ability to produce a composite signal from the signals coming into the eyes from different directions."^^rdf:HTML ; +. + + + rdfs:label "Specific Acoustic Impedance"@en ; +. + + + rdfs:label "Specific Activity"@en ; + schema:description "The "Specific Activity" is the number of decays per unit time of a radioactive sample. The SI unit of radioactive activity is the becquerel (Bq), in honor of the scientist Henri Becquerel."^^rdf:HTML ; +. + + + rdfs:label "Specific Electric Charge"@en ; + schema:description "Electric charge (often capacity in the context of electrochemical cells) relativ to the mass (often only active components). capacity "^^rdf:HTML ; +. + + + rdfs:label "Specific Electrical Current"@en ; + schema:description "\"Specific Electric Current\" is a measure to specify the applied current relative to a corresponding mass. This measure is often used for standardization within electrochemistry."^^ ; +. + + + rdfs:label "Specific Energy Imparted"@en ; + schema:description "The "Specific Energy Imparted", is the energy imparted to an element of irradiated matter divided by the mass, dm, of that element."^^rdf:HTML ; +. + + + rdfs:label "Specific Entropy"@en ; + rdfs:seeAlso ; + schema:description ""Specific Entropy" is entropy per unit of mass."^^rdf:HTML ; +. + + + rdfs:label "Specific Heat Pressure"@en ; + schema:description "Specific heat at a constant pressure."^^rdf:HTML ; +. + + + rdfs:label "Specific Heat Volume"@en ; + schema:description "Specific heat per constant volume."^^rdf:HTML ; +. + + + rdfs:label "Specific Heats Ratio"@en ; + schema:description "The ratio of specific heats, for the exhaust gases adiabatic gas constant, is the relative amount of compression/expansion energy that goes into temperature \\(T\\) versus pressure \\(P\\) can be characterized by the heat capacity ratio: \\(\\gamma\\frac{C_P}{C_V}\\), where \\(C_P\\) is the specific heat (also called heat capacity) at constant pressure, while \\(C_V\\) is the specific heat at constant volume. "^^ ; +. + + + rdfs:label "Specific Impulse by Mass"@en ; +. + + + rdfs:label "Specific Impulse by Weight"@en ; +. + + + rdfs:label "Specific Optical Rotatory Power"@en ; + schema:description "The "Specific Optical Rotatory Power" Angle of optical rotation divided by the optical path length through the medium and by the mass concentration of the substance giving the specific optical rotatory power."^^rdf:HTML ; +. + + + rdfs:label "Specific Power"@en ; + schema:description "Specific power, also known as power-to-weight ratio, is the amount of power output per unit mass of the power source. It is generally used to measure the performance of that power source. The higher the ratio, the more power a system produces relative to its weight. It's commonly used in the automotive and aerospace industries to compare the performance of different engines. It's generally measured in watts per kilogram (W/kg) or horsepower per pound (hp/lb)."^^rdf:HTML ; +. + + + rdfs:label "Specific Surface Area"@en ; + schema:description "Specific surface area (SSA) is a property of solids defined as the total surface area (SA) of a material per unit mass, (with units of m2/kg or m2/g). It is a physical value that can be used to determine the type and properties of a material (e.g. soil or snow). It has a particular importance for adsorption, heterogeneous catalysis, and reactions on surfaces."^^rdf:HTML ; +. + + + rdfs:label "Specific thrust"@en ; + rdfs:seeAlso ; + schema:description "Specific impulse (usually abbreviated Isp) is a way to describe the efficiency of rocket and jet engines. It represents the force with respect to the amount of propellant used per unit time.[1] If the "amount" of propellant is given in terms of mass (such as kilograms), then specific impulse has units of velocity. If it is given in terms of Earth-weight (such as kiloponds), then specific impulse has units of time. The conversion constant between the two versions of specific impulse is g. The higher the specific impulse, the lower the propellant flow rate required for a given thrust, and in the case of a rocket the less propellant is needed for a given delta-v per the Tsiolkovsky rocket equation."^^rdf:HTML ; +. + + + rdfs:label "Specific Volume"@en ; + rdfs:seeAlso ; + schema:description "\"Specific Volume\" (\\(\\nu\\)) is the volume occupied by a unit of mass of a material. It is equal to the inverse of density."^^ ; +. + + + rdfs:label "Spectral Angular Cross-section"@en ; + schema:description "\"Spectral Angular Cross-section\" is the cross-section for ejecting or scattering a particle into an elementary cone with energy \\(E\\) in an energy interval, divided by the solid angle \\(d\\Omega\\) of that cone and the range \\(dE\\) of that interval."^^ ; +. + + + rdfs:label "Spectral Cross-section"@en ; + schema:description "\"Spectral Cross-section\" is the cross-section for a process in which the energy of the ejected or scattered particle is in an interval of energy, divided by the range \\(dE\\) of this interval."^^ ; +. + + + rdfs:label "Spectral Luminous Efficiency"@en ; + schema:description "The Spectral Luminous Efficiency is a measure of how well a light source produces visible light. It is the ratio of luminous flux to power. A common choice is to choose units such that the maximum possible efficacy, 683 lm/W, corresponds to an efficiency of 100%."^^rdf:HTML ; +. + + + rdfs:label "Spectral Radiant Energy Density"@en ; + schema:description ""Spectral Radiant Energy Density" is the spectral concentration of radiant energy density (in terms of wavelength), or the spectral radiant energy density (in terms of wave length)."^^rdf:HTML ; +. + + + rdfs:label "Speed"@en ; + schema:description "Speed is the magnitude of velocity."^^rdf:HTML ; +. + + + rdfs:label + "سرعة الضوء"@ar , + "Rychlost světla"@cs , + "Lichtgeschwindigkeit"@de , + "speed of light"@en , + "velocidad de la luz"@es , + "سرعت نور"@fa , + "vitesse de la lumière"@fr , + "प्रकाश का वेग"@hi , + "velocità della luce"@it , + "光速"@ja , + "Kelajuan cahaya"@ms , + "Prędkość światła"@pl , + "Velocidade da luz"@pt , + "Viteza luminii"@ro , + "Скорость света"@ru , + "Hitrost svetlobe"@sl , + "Işık hızı"@tr , + "光速"@zh ; + rdfs:seeAlso + , + , + ; + schema:description "The quantity kind \\(\\textbf{Speed of Light}\\) is the speed of electomagnetic waves in a given medium."^^ ; +. + + + rdfs:label + "سرعة الصوت"@ar , + "rychlost zvuku"@cs , + "Schallgeschwindigkeit"@de , + "speed of sound"@en , + "velocidad del sonido"@es , + "سرعت صوت"@fa , + "vitesse du son"@fr , + "ध्वनि का वेग"@hi , + "velocità del suono"@it , + "音速"@ja , + "Kelajuan bunyi"@ms , + "prędkość dźwięku"@pl , + "velocidade do som"@pt , + "viteza sunetului"@ro , + "скорость звука"@ru , + "Hitrost zvoka"@sl , + "Ses hızı"@tr , + "音速"@zh ; + schema:description "The speed of sound is the distance travelled during a unit of time by a sound wave propagating through an elastic medium."^^rdf:HTML ; +. + + + rdfs:label "Illuminance"@en ; + schema:description "Spherical illuminance is equal to quotient of the total luminous flux \\(\\Phi_v\\) incident on a small sphere by the cross section area of that sphere."^^ ; +. + + + rdfs:label + "لف مغزلي"@ar , + "spin"@cs , + "Spin"@de , + "spin"@en , + "espín"@es , + "اسپین/چرخش"@fa , + "spin"@fr , + "spin"@it , + "スピン角運動量"@ja , + "Spin"@ms , + "spin"@pl , + "spin"@pt , + "Spin"@ro , + "Спин"@ru , + "spin"@sl , + "Spin"@tr , + "自旋"@zh ; + schema:description "In quantum mechanics and particle physics "Spin" is an intrinsic form of angular momentum carried by elementary particles, composite particles (hadrons), and atomic nuclei."^^rdf:HTML ; +. + + + rdfs:label "Spin Quantum Number"@en ; + schema:description "The "Spin Quantum Number" describes the spin (intrinsic angular momentum) of the electron within that orbital, and gives the projection of the spin angular momentum S along the specified axis"^^rdf:HTML ; +. + + + rdfs:label "Square Energy"@en ; +. + + + rdfs:label "Stage Propellant Mass"@en ; +. + + + rdfs:label "Stage Structure Mass"@en ; +. + + + rdfs:label "Standard Absolute Activity"@en ; + schema:description "The \"Standard Absolute Activity\" is proportional to the absoulte activity of the pure substance \\(B\\) at the same temperature and pressure multiplied by the standard pressure."^^ ; +. + + + rdfs:label "Standard Chemical Potential"@en ; + schema:description ""Standard Chemical Potential" is the value of the chemical potential at standard conditions"^^rdf:HTML ; +. + + + rdfs:label "Standard Gravitational Parameter"@en ; + schema:description "In celestial mechanics the standard gravitational parameter of a celestial body is the product of the gravitational constant G and the mass M of the body. Expressed as \\(\\mu = G \\cdot M\\). The SI units of the standard gravitational parameter are \\(m^{3}s^{-2}\\)."^^ ; +. + + + rdfs:label "Static Friction"@en ; + schema:description "Static friction is friction between two or more solid objects that are not moving relative to each other. For example, static friction can prevent an object from sliding down a sloped surface. "^^rdf:HTML ; +. + + + rdfs:label "Static Friction Coefficient"@en ; + schema:description "Static friction is friction between two or more solid objects that are not moving relative to each other. For example, static friction can prevent an object from sliding down a sloped surface. "^^rdf:HTML ; +. + + + rdfs:label "Static pressure"@en ; + schema:description "\"Static Pressure\" is the pressure at a nominated point in a fluid. Every point in a steadily flowing fluid, regardless of the fluid speed at that point, has its own static pressure \\(P\\), dynamic pressure \\(q\\), and total pressure \\(P_0\\). The total pressure is the sum of the dynamic and static pressures, that is \\(P_0 = P + q\\)."^^ ; +. + + + rdfs:label "Statistical Weight"@en ; + schema:description "A "Statistical Weight" is the relative probability (possibly unnormalized) of a particular feature of a state."^^rdf:HTML ; +. + + + rdfs:label "Stochastic Process"@en ; + schema:description "In probability theory, a stochastic process, or sometimes random process is a collection of random variables; this is often used to represent the evolution of some random value, or system, over time. This is the probabilistic counterpart to a deterministic process (or deterministic system)."^^rdf:HTML ; +. + + + rdfs:label "Stoichiometric Number"@en ; + schema:description "Chemical reactions, as macroscopic unit operations, consist of simply a very large number of elementary reactions, where a single molecule reacts with another molecule. As the reacting molecules (or moieties) consist of a definite set of atoms in an integer ratio, the ratio between reactants in a complete reaction is also in integer ratio. A reaction may consume more than one molecule, and the "Stoichiometric Number" counts this number, defined as positive for products (added) and negative for reactants (removed)."^^rdf:HTML ; +. + + + rdfs:label "Strain"@en ; + schema:description "In any branch of science dealing with materials and their behaviour, strain is the geometrical expression of deformation caused by the action of stress on a physical body. Strain is calculated by first assuming a change between two body states: the beginning state and the final state. Then the difference in placement of two points in this body in those two states expresses the numerical value of strain. Strain therefore expresses itself as a change in size and/or shape. [Wikipedia]"^^rdf:HTML ; +. + + + rdfs:label "Strain Energy Density"@en ; + schema:description "Defined as the 'work done' for a given strain, that is the area under the stress-strain curve after a specified eation. Source(s): http://www.prepol.com/product-range/product-subpages/terminology"^^rdf:HTML ; +. + + + rdfs:label "Stress"@en ; + schema:description "Stress is a measure of the average amount of force exerted per unit area of a surface within a deformable body on which internal forces act. In other words, it is a measure of the intensity or internal distribution of the total internal forces acting within a deformable body across imaginary surfaces. These internal forces are produced between the particles in the body as a reaction to external forces applied on the body. Stress is defined as \\({\\rm{Stress}} = \\frac{F}{A}\\)."^^ ; +. + + + rdfs:label "Stress Intensity Factor"@en ; + schema:description "In fracture mechanics, the stress intensity factor (K) is used to predict the stress state ("stress intensity") near the tip of a crack or notch caused by a remote load or residual stresses. It is a theoretical construct usually applied to a homogeneous, linear elastic material and is useful for providing a failure criterion for brittle materials, and is a critical technique in the discipline of damage tolerance. The concept can also be applied to materials that exhibit small-scale yielding at a crack tip."^^rdf:HTML ; +. + + + rdfs:label "Stress-Optic Coefficient"@en ; + schema:description "When a ray of light passes through a photoelastic material, its electromagnetic wave components are resolved along the two principal stress directions and each component experiences a different refractive index due to the birefringence. The difference in the refractive indices leads to a relative phase retardation between the two components. Assuming a thin specimen made of isotropic materials, where two-dimensional photoelasticity is applicable, the magnitude of the relative retardation is given by the stress-optic law Δ=((2πt)/λ)C(σ₁-σ₂), where Δ is the induced retardation, C is the stress-optic coefficient, t is the specimen thickness, λ is the vacuum wavelength, and σ₁ and σ₂ are the first and second principal stresses, respectively."^^rdf:HTML ; +. + + + rdfs:label "Structural Efficiency"@en ; + schema:description "Structural efficiency is a function of the weight of structure to the afforded vehicle's strength."^^rdf:HTML ; +. + + + rdfs:label "Structure Factor"@en ; + schema:description ""Structure Factor" is a mathematical description of how a material scatters incident radiation."^^rdf:HTML ; +. + + + rdfs:label "Superconduction Transition Temperature"@en ; + schema:description ""Superconduction Transition Temperature" is the critical thermodynamic temperature of a superconductor."^^rdf:HTML ; +. + + + rdfs:label "Superconductor Energy Gap"@en ; + schema:description ""Superconductor Energy Gap" is the width of the forbidden energy band in a superconductor."^^rdf:HTML ; +. + + + rdfs:label "Surface Activity Density"@en ; + schema:description "The "Surface Activity Density" is undefined."^^rdf:HTML ; +. + + + rdfs:label "Surface Coefficient of Heat Transfer"@en ; +. + + + rdfs:label "Surface Density"@en ; + schema:description "The area density (also known as areal density, surface density, or superficial density) of a two-dimensional object is calculated as the mass per unit area."^^rdf:HTML ; +. + + + rdfs:label + "توتر سطحي"@ar , + "povrchové napětí"@cs , + "Oberflächenspannung"@de , + "surface tension"@en , + "tensión superficial"@es , + "کشش سطحی"@fa , + "tension superficielle"@fr , + "पृष्ठ तनाव"@hi , + "tensione superficiale"@it , + "表面張力"@ja , + "Tegangan permukaan"@ms , + "napięcie powierzchniowe"@pl , + "tensão superficial"@pt , + "Tensiune superficială"@ro , + "поверхностное натяжение"@ru , + "površinska napetost"@sl , + "Yüzey gerilimi"@tr , + "表面张力"@zh ; + schema:description ""Surface Tension" is a contractive tendency of the surface of a liquid that allows it to resist an external force."^^rdf:HTML ; +. + + + rdfs:label "Susceptance"@en ; + rdfs:seeAlso + , + ; + schema:description ""Susceptance" is the imaginary part of admittance. The inverse of admittance is impedance and the real part of admittance is conductance. "^^rdf:HTML ; +. + + + rdfs:label "Target Bogie Mass"@en ; + schema:description "An informal mass limit established by a Project Office (at the Element Integrated Product Team (IPT) level or below) to control mass."^^rdf:HTML ; +. + + + rdfs:label "Temperature Amount of Substance"@en ; +. + + + rdfs:label "Temperature Gradient"@en ; + schema:description "The temperature gradient measures the difference of a temperature per length, as for instance used in an external wall or its layers. It is usually measured in K/m."^^rdf:HTML ; +. + + + rdfs:label "Temperature per Magnetic Flux Density"@en ; +. + + + rdfs:label "Temperature per Time"@en ; +. + + + rdfs:label "Temperature per Time Squared"@en ; +. + + + rdfs:label "Temperature Rate of Change"@en ; + schema:description "The "Temperature Rate of Change" measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s."^^rdf:HTML ; +. + + + rdfs:label "Temperature Ratio"@en ; +. + + + rdfs:label "Temporal Summation Function"@en ; + schema:description ""Temporal Summation Function" is the ability of the human eye to produce a composite signal from the signals coming into an eye during a short time interval."^^rdf:HTML ; +. + + + rdfs:label "Tension"@en ; +. + + + rdfs:label "Thermal Admittance"@en ; + schema:description "The heat transfer coefficient is also known as thermal admittance in the sense that the material may be seen as admitting heat to flow."^^rdf:HTML ; +. + + + rdfs:label "Thermal Conductance"@en ; + rdfs:seeAlso ; + schema:description "This quantity is also called "Heat Transfer Coefficient"."^^rdf:HTML ; +. + + + rdfs:label "Thermal Conductivity"@en ; + schema:description "In physics, thermal conductivity, \\(k\\) (also denoted as \\(\\lambda\\)), is the property of a material's ability to conduct heat. It appears primarily in Fourier's Law for heat conduction and is the areic heat flow rate divided by temperature gradient."^^ ; +. + + + rdfs:label "Thermal Diffusion Factor"@en ; + schema:description "Thermal diffusion is a phenomenon in which a temperature gradient in a mixture of fluids gives rise to a flow of one constituent relative to the mixture as a whole. in the context of the equation that describes thermal diffusion, the "Thermal Diffusion Factor" is ."^^rdf:HTML ; +. + + + rdfs:label "Thermal Diffusion Ratio"@en ; + schema:description "The "Thermal Diffusion Ratio" is proportional to the product of the component concentrations."^^rdf:HTML ; +. + + + rdfs:label "Thermal Diffusion Coefficient"@en ; + schema:description "The "Thermal Diffusion Coefficient" is ."^^rdf:HTML ; +. + + + rdfs:label "Thermal Diffusivity"@en ; + schema:description "In heat transfer analysis, thermal diffusivity (usually denoted \\(\\alpha\\) but \\(a\\), \\(\\kappa\\),\\(k\\), and \\(D\\) are also used) is the thermal conductivity divided by density and specific heat capacity at constant pressure. The formula is: \\(\\alpha = {k \\over {\\rho c_p}}\\), where k is thermal conductivity (\\(W/(\\mu \\cdot K)\\)), \\(\\rho\\) is density (\\(kg/m^{3}\\)), and \\(c_p\\) is specific heat capacity (\\(\\frac{J}{(kg \\cdot K)}\\)) .The denominator \\(\\rho c_p\\), can be considered the volumetric heat capacity (\\(\\frac{J}{(m^{3} \\cdot K)}\\))."^^ ; +. + + + rdfs:label "Thermal Efficiency"@en ; + schema:description "Thermal efficiency is a dimensionless performance measure of a thermal device such as an internal combustion engine, a boiler, or a furnace. The input to the device is heat, or the heat-content of a fuel that is consumed. The desired output is mechanical work, or heat, or possibly both."^^rdf:HTML ; +. + + + rdfs:label "Thermal Energy"@en ; + schema:description "\"Thermal Energy} is the portion of the thermodynamic or internal energy of a system that is responsible for the temperature of the system. From a macroscopic thermodynamic description, the thermal energy of a system is given by its constant volume specific heat capacity C(T), a temperature coefficient also called thermal capacity, at any given absolute temperature (T): \\(U_{thermal} = C(T) \\cdot T\\)."^^ ; +. + + + rdfs:label "Thermal Energy Length"@en ; +. + + + rdfs:label "Thermal Expansion Coefficient"@en ; + schema:description "The "Thermal Expansion Coefficient" is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value."^^rdf:HTML ; +. + + + rdfs:label + "مقاومة حرارية"@ar , + "opór cieplny"@cs , + "thermischer Widerstand"@de , + "thermal resistance"@en , + "resistencia térmica"@es , + "résistance thermique"@fr , + "resistenza termica"@it , + "熱抵抗"@ja , + "resistência térmica"@pt , + "热阻"@zh ; + rdfs:seeAlso + , + , + ; + schema:description "\\(\\textit{Thermal Resistance}\\) is a heat property and a measure of a temperature difference by which an object or material resists a heat flow (heat per time unit or thermal resistance). Thermal resistance is the reciprocal thermal conductance. the thermodynamic temperature difference divided by heat flow rate. Thermal resistance \\(R\\) has the units \\(\\frac{m^2 \\cdot K}{W}\\)."^^ ; +. + + + rdfs:label "Thermal Resistivity"@en ; + schema:description "The reciprocal of thermal conductivity is thermal resistivity, measured in \\(kelvin-metres\\) per watt (\\(K \\cdot m/W\\))."^^ ; +. + + + rdfs:label "Thermal Transmittance"@en ; + schema:description "Thermal transmittance is the rate of transfer of heat through matter. The thermal transmittance of a material (such as insulation or concrete) or an assembly (such as a wall or window) is expressed as a U-value. The concept of thermal transmittance is closely related to that of thermal resistance. The thermal resistance of a structure is the reciprocal of its thermal transmittance."^^rdf:HTML ; +. + + + rdfs:label "Thermal Utilization Factor"@en ; + schema:description "The "Thermal Utilization Factor" in an infinite medium, is the ratio of the number of thermal absorbed in a fissionable nuclide or in a nuclear fuel, as specified, to the total number of thermal neutrons absorbed."^^rdf:HTML ; +. + + + rdfs:label "Thermal Utilization Factor For Fission"@en ; + schema:description "Probability that a neutron that gets absorbed does so in the fuel material."^^rdf:HTML ; +. + + + rdfs:label "Thermodynamic Critical Magnetic Flux Density"@en ; + schema:description ""Thermodynamic Critical Magnetic Flux Density" is the maximum magnetic field strength below which a material remains superconducting."^^rdf:HTML ; +. + + + rdfs:label "Thermodynamic Energy"@en ; +. + + + rdfs:label "Thermodynamic Entropy"@en ; + schema:description "Thermodynamic Entropy is a measure of the unavailability of a system’s energy to do work. It is a measure of the randomness of molecules in a system and is central to the second law of thermodynamics and the fundamental thermodynamic relation, which deal with physical processes and whether they occur spontaneously. The dimensions of entropy are energy divided by temperature, which is the same as the dimensions of Boltzmann's constant (\\(kB\\)) and heat capacity. The SI unit of entropy is \\(joule\\ per\\ kelvin\\). [Wikipedia]"^^ ; +. + + + rdfs:label "Thickness"@en ; + schema:description ""Thickness" is the the smallest of three dimensions: length, width, thickness."^^rdf:HTML ; +. + + + rdfs:label "Thomson Coefficient"@en ; + schema:description ""Thomson Coefficient" represents Thomson heat power developed, divided by the electric current and the temperature difference."^^rdf:HTML ; +. + + + rdfs:label "Thrust"@en ; + schema:description """Thrust is a reaction force described quantitatively by Newton's Second and Third Laws. When a system expels or accelerates mass in one direction the accelerated mass will cause a proportional but opposite force on that system. +The pushing or pulling force developed by an aircraft engine or a rocket engine. +The force exerted in any direction by a fluid jet or by a powered screw, as, the thrust of an antitorque rotor. +Specifically, in rocketry, \\( F\\,= m\\cdot v\\) where m is propellant mass flow and v is exhaust velocity relative to the vehicle. Also called momentum thrust."""^^ ; +. + + + rdfs:label "Thrust Coefficient"@en ; + schema:description "The thrust force of a jet-propulsion engine per unit of frontal area per unit of incompressible dynamic pressure "^^rdf:HTML ; +. + + + rdfs:label "Thrust To Mass Ratio"@en ; +. + + + rdfs:label "Thrust To Weight Ratio"@en ; + schema:description "Thrust-to-weight ratio is a ratio of thrust to weight of a rocket, jet engine, propeller engine, or a vehicle propelled by such an engine. It is a dimensionless quantity and is an indicator of the performance of the engine or vehicle."^^rdf:HTML ; +. + + + rdfs:label "Thruster Power To Thrust Efficiency"@en ; +. + + + rdfs:label + "زمن"@ar , + "Време"@bg , + "Čas"@cs , + "Zeit"@de , + "Χρόνος"@el , + "time"@en , + "tiempo"@es , + "زمان"@fa , + "temps"@fr , + "זמן"@he , + "समय"@hi , + "idő"@hu , + "tempo"@it , + "時間"@ja , + "tempus"@la , + "Masa"@ms , + "czas"@pl , + "tempo"@pt , + "timp"@ro , + "Время"@ru , + "čas"@sl , + "zaman"@tr , + "时间"@zh ; + schema:description "Time is a basic component of the measuring system used to sequence events, to compare the durations of events and the intervals between them, and to quantify the motions of objects."^^rdf:HTML ; +. + + + rdfs:label "Time averaged sound intensity"@en ; + schema:description "Sound intensity or acoustic intensity (\\(I\\)) is defined as the sound power \\(P_a\\) per unit area \\(A\\). The usual context is the noise measurement of sound intensity in the air at a listener's location as a sound energy quantity."^^rdf:HTML ; +. + + + rdfs:label "Time Percentage"@en ; +. + + + rdfs:label "Time Ratio"@en ; +. + + + rdfs:label "Time Squared"@en ; +. + + + rdfs:label "Time Temperature"@en ; +. + + + rdfs:label "Time Squared"@en ; +. + + + rdfs:label + "عزم محورى"@ar , + "Torsionmoment"@de , + "torque"@en , + "par"@es , + "couple"@fr , + "coppia"@it , + "トルク"@ja , + "moment obrotowy"@pl , + "momento de torção"@pt , + "转矩"@zh ; + schema:description """In physics, a torque (\\(\\tau\\)) is a vector that measures the tendency of a force to rotate an object about some axis. The magnitude of a torque is defined as force times its lever arm. Just as a force is a push or a pull, a torque can be thought of as a twist. The SI unit for torque is newton meters (\\(N m\\)). In U.S. customary units, it is measured in foot pounds (ft lbf) (also known as "pounds feet"). +Mathematically, the torque on a particle (which has the position r in some reference frame) can be defined as the cross product: \\(τ = r x F\\) +where, +r is the particle's position vector relative to the fulcrum +F is the force acting on the particles, +or, more generally, torque can be defined as the rate of change of angular momentum: \\(τ = dL/dt\\) +where, +L is the angular momentum vector +t stands for time."""^^ ; +. + + + rdfs:label "Torque per Angle"@en ; +. + + + rdfs:label "Torque per Length"@en ; +. + + + rdfs:label "Total Angular Momentum"@en ; + schema:description "\"Total Angular Momentum\" combines both the spin and orbital angular momentum of all particles and fields. In atomic and nuclear physics, orbital angular momentum is usually denoted by \\(l\\) or \\(L\\) instead of \\(\\Lambda\\). The magnitude of \\(J\\) is quantized so that \\(J^2 = \\hbar^2 j(j + 1)\\), where \\(j\\) is the total angular momentum quantum number."^^ ; +. + + + rdfs:label "Total Angular Momentum Quantum Number"@en ; + schema:description "The \"Total Angular Quantum Number\" describes the magnitude of total angular momentum \\(J\\), where \\(j\\) refers to a specific particle and \\(J\\) is used for the whole system."^^ ; +. + + + rdfs:label "Total Atomic Stopping Power"@en ; + schema:description "The "Total Atomic Stopping Power" for an ionizing particle passing through an element, is the particle's energy loss per atom within a unit area normal to the particle's path; equal to the linear energy transfer (energy loss per unit path length) divided by the number of atoms per unit volume."^^rdf:HTML ; +. + + + rdfs:label "Total Cross-section"@en ; + schema:description ""Total Cross-section" is related to the absorbance of the light intensity through Beer-Lambert's law. It is the sum of all cross-sections corresponding to the various reactions or processes between an incident particle of specified type and energy and a target particle."^^rdf:HTML ; +. + + + rdfs:label "Total Current"@en ; + rdfs:seeAlso + , + ; + schema:description ""Total Current" is the sum of the electric current that is flowing through a surface and the displacement current."^^rdf:HTML ; +. + + + rdfs:label "Total Current Density"@en ; + rdfs:seeAlso + , + ; + schema:description ""Total Current Density" is the sum of the electric current density and the displacement current density."^^rdf:HTML ; +. + + + rdfs:label "Total Ionization"@en ; + schema:description "\"Total Ionization\" by a particle, total mean charge, divided by the elementary charge, \\(e\\), of all positive ions produced by an ionizing charged particle along its entire path and along the paths of any secondary charged particles."^^ ; +. + + + rdfs:label "Total Linear Stopping Power"@en ; + schema:description "The "Total Linear Stopping Power" is defined as the average energy loss of the particle per unit path length."^^rdf:HTML ; +. + + + rdfs:label "Total Mass Stopping Power"@en ; + schema:description "If a substance is compared in gaseous and solid form, then the linear stopping powers of the two states are very different just because of the different density. One therefore often divides S(E) by the density of the material to obtain the "Mass Stopping Power". The mass stopping power then depends only very little on the density of the material."^^rdf:HTML ; +. + + + rdfs:label "Total Pressure"@en ; + schema:description " The total pressure is the sum of the dynamic and static pressures, that is \\(P_0 = P + q\\)."^^ ; +. + + + rdfs:label "Touch Thresholds"@en ; + schema:description ""Touch Thresholds" are thresholds for touch, vibration and other stimuli to the skin."^^rdf:HTML ; +. + + + rdfs:label "Transmittance"@en ; + schema:description "Transmittance is the fraction of incident light (electromagnetic radiation) at a specified wavelength that passes through a sample."^^rdf:HTML ; +. + + + rdfs:label "Transmittance Density"@en ; + schema:description "Transmittance is the fraction of incident light (electromagnetic radiation) at a specified wavelength that passes through a sample."^^rdf:HTML ; +. + + + rdfs:label "True Exhaust Velocity"@en ; +. + + + rdfs:label "Turbidity"@en ; + schema:description "Turbidity is the cloudiness or haziness of a fluid, or of air, caused by individual particles (suspended solids) that are generally invisible to the naked eye, similar to smoke in air. Turbidity in open water is often caused by phytoplankton and the measurement of turbidity is a key test of water quality. The higher the turbidity, the higher the risk of the drinkers developing gastrointestinal diseases, especially for immune-compromised people, because contaminants like virus or bacteria can become attached to the suspended solid. The suspended solids interfere with water disinfection with chlorine because the particles act as shields for the virus and bacteria. Similarly suspended solids can protect bacteria from UV sterilisation of water. Fluids can contain suspended solid matter consisting of particles of many different sizes. While some suspended material will be large enough and heavy enough to settle rapidly to the bottom container if a liquid sample is left to stand (the settleable solids), very small particles will settle only very slowly or not at all if the sample is regularly agitated or the particles are colloidal. These small solid particles cause the liquid to appear turbid."^^rdf:HTML ; +. + + + rdfs:label "Turns"@en ; + schema:description ""Turns" is the number of turns in a winding."^^rdf:HTML ; +. + + + rdfs:label "Unknown"@en ; + schema:description "Placeholder value used for reference from units where it is not clear what a given unit is a measure of." ; +. + + + rdfs:label "Upper Critical Magnetic Flux Density"@en ; + schema:description ""Upper Critical Magnetic Flux Density" for type II superconductors, is the threshold magnetic flux density for disappearance of bulk superconductivity."^^rdf:HTML ; +. + + + rdfs:label "Vacuum Thrust"@en ; +. + + + rdfs:label "Vapor Permeability"@en ; + schema:description "Vapour permeability, or "Breathability" in a building refers to the ease with which water vapour passes through building elements. Building elements where vapour permeability is poorly designed can result in condensation, leading to unhealthy living environments and degradation of fabric."^^rdf:HTML ; +. + + + rdfs:label "Vapor Pressure"@en ; + schema:description "A pressure that is the one exerted by a substance vapor in thermodynamic equilibrium with either its solid or liquid phase at a given temperature in a closed system."^^rdf:HTML ; +. + + + rdfs:label "Vehicle Velocity"@en ; +. + + + rdfs:label + "السرعة"@ar , + "Rychlost"@cs , + "Geschwindigkeit"@de , + "Επιφάνεια"@el , + "velocity"@en , + "velocidad"@es , + "سرعت/تندی"@fa , + "vitesse"@fr , + "מהירות"@he , + "गति"@hi , + "velocità"@it , + "速力"@ja , + "velocitas"@la , + "Halaju"@ms , + "prędkość"@pl , + "velocidade"@pt , + "viteză"@ro , + "Ско́рость"@ru , + "hitrost"@sl , + "hız"@tr , + "速度"@zh ; + schema:description "In kinematics, velocity is the speed of an object and a specification of its direction of motion. Speed describes only how fast an object is moving, whereas velocity gives both how fast and in what direction the object is moving. "^^rdf:HTML ; +. + + + rdfs:label "Ventilation Rate per Floor Area"@en ; + schema:description "Ventilation Rate is often expressed by the volumetric flowrate of outdoor air introduced to a building. However, ASHRAE now recommends ventilation rates dependent upon floor area."^^rdf:HTML ; +. + + + rdfs:label "Vertical Velocity"@en ; + schema:description "The rate at which a body moves upwards at an angle of 90 degrees to the ground. It is the component of a projectile's velocity which is concerned with lifting the projectile."^^rdf:HTML ; +. + + + rdfs:label "Video Frame Rate"@en ; + schema:description "Frame rate (also known as frame frequency) is the frequency (rate) at which an imaging device produces unique consecutive images called frames. The term applies equally well to computer graphics, video cameras, film cameras, and motion capture systems. Frame rate is most often expressed in frames per second (FPS) and is also expressed in progressive scan monitors as hertz (Hz)."^^rdf:HTML ; +. + + + rdfs:label "Viscosity"@en ; + schema:description "Viscosity is a measure of the resistance of a fluid which is being deformed by either shear stress or extensional stress. In general terms it is the resistance of a liquid to flow, or its "thickness". Viscosity describes a fluid's internal resistance to flow and may be thought of as a measure of fluid friction. [Wikipedia]. In general conversation or in non-scientific contexts, if someone refers to the viscosity of a fluid, they're likely talking about its dynamic (or absolute) viscosity. However, in engineering or scientific contexts, it's essential to clarify which type of viscosity is being discussed, as the interpretation and use of the data may differ depending on whether one is talking about dynamic or kinematic viscosity."^^rdf:HTML ; +. + + + rdfs:label "Visible Radiant Energy"@en ; + schema:description ""Visible Radiant Energy", also known as luminous energy, is the energy of electromagnetic waves. It is energy of the particles that are emitted, transferred, or received as radiation."^^rdf:HTML ; +. + + + rdfs:label "Vision Thresholds"@en ; + schema:description ""Vision Thresholds" is an abstract term to refer to a variety of measures for the thresholds of sensitivity of the eye."^^rdf:HTML ; +. + + + rdfs:label "Voltage Percentage"@en ; +. + + + rdfs:label "Voltage Ratio"@en ; +. + + + rdfs:label "Volume"@en ; + schema:description "The volume of a solid object is the three-dimensional concept of how much space it occupies, often quantified numerically. One-dimensional figures (such as lines) and two-dimensional shapes (such as squares) are assigned zero volume in the three-dimensional space."^^rdf:HTML ; +. + + + rdfs:label "Volume Flow Rate"@en ; + schema:description "Volumetric Flow Rate, (also known as volume flow rate, rate of fluid flow or volume velocity) is the volume of fluid which passes through a given surface per unit time."^^rdf:HTML ; +. + + + rdfs:label "Volume Fraction"@en ; + schema:description ""Volume Fraction" is the volume of a constituent divided by the volume of all constituents of the mixture prior to mixing. Volume fraction is also called volume concentration in ideal solutions where the volumes of the constituents are additive (the volume of the solution is equal to the sum of the volumes of its ingredients)."^^rdf:HTML ; +. + + + rdfs:label "Volume per Unit Area"@en ; +. + + + rdfs:label "Volume per Unit Time"@en ; +. + + + rdfs:label "Volume Strain"@en ; + schema:description "Volume, or volumetric, Strain, or dilatation (the relative variation of the volume) is the trace of the tensor \\(\\vartheta\\)."^^ ; +. + + + rdfs:label "Volume Thermal Expansion"@en ; + schema:description """When the temperature of a substance changes, the energy that is stored in the intermolecular bonds between atoms changes. When the stored energy increases, so does the length of the molecular bonds. As a result, solids typically expand in response to heating and contract on cooling; this dimensional response to temperature change is expressed by its coefficient of thermal expansion. + +Different coefficients of thermal expansion can be defined for a substance depending on whether the expansion is measured by: + + * linear thermal expansion + * area thermal expansion + * volumetric thermal expansion + +These characteristics are closely related. The volumetric thermal expansion coefficient can be defined for both liquids and solids. The linear thermal expansion can only be defined for solids, and is common in engineering applications. + +Some substances expand when cooled, such as freezing water, so they have negative thermal expansion coefficients. [Wikipedia]""" ; +. + + + rdfs:label "Volumetric Flux"@en ; + schema:description "In fluid dynamics, the volumetric flux is the rate of volume flow across a unit area (m3·s−1·m−2).[Wikipedia]"^^rdf:HTML ; +. + + + rdfs:label "Volumetric Heat Capacity"@en ; + schema:description "\\(\\textit{Volumetric Heat Capacity (VHC)}\\), also termed \\(\\textit{volume-specific heat capacity}\\), describes the ability of a given volume of a substance to store internal energy while undergoing a given temperature change, but without undergoing a phase transition. It is different from specific heat capacity in that the VHC is a \\(\\textit{per unit volume}\\) measure of the relationship between thermal energy and temperature of a material, while the specific heat is a \\(\\textit{per unit mass}\\) measure (or occasionally per molar quantity of the material)."^^ ; +. + + + rdfs:label "Volumic Electromagnetic Energy"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "\\(\\textit{Volumic Electromagnetic Energy}\\), also known as the \\(\\textit{Electromagnetic Energy Density}\\), is the energy associated with an electromagnetic field, per unit volume of the field."^^ ; +. + + + rdfs:label "Vorticity"@en ; + schema:description "In the simplest sense, vorticity is the tendency for elements of a fluid to "spin." More formally, vorticity can be related to the amount of "circulation" or "rotation" (or more strictly, the local angular rate of rotation) in a fluid. The average vorticity in a small region of fluid flow is equal to the circulation C around the boundary of the small region, divided by the area A of the small region. Mathematically, vorticity is a vector field and is defined as the curl of the velocity field."^^rdf:HTML ; +. + + + rdfs:label "Warm Receptor Threshold"@en ; + schema:description ""Warm Receptor Threshold" is the threshold of warm-sensitive free nerve-ending."^^rdf:HTML ; +. + + + rdfs:label "Warping Constant"@en ; + schema:description "The "Warping Constant" is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m⁶."^^rdf:HTML ; +. + + + rdfs:label "Warping Moment"@en ; + schema:description "The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kNm²."^^rdf:HTML ; +. + + + rdfs:label "Water Horsepower"@en ; + schema:description "No pump can convert all of its mechanical power into water power. Mechanical power is lost in the pumping process due to friction losses and other physical losses. It is because of these losses that the horsepower going into the pump has to be greater than the water horsepower leaving the pump. The efficiency of any given pump is defined as the ratio of the water horsepower out of the pump compared to the mechanical horsepower into the pump."^^ ; +. + + + rdfs:label + "Vlnové délka"@cs , + "Wellenlänge"@de , + "wavelength"@en , + "longitud de onda"@es , + "طول موج"@fa , + "longueur d'onde"@fr , + "lunghezza d'onda"@it , + "Jarak gelombang"@ms , + "comprimento de onda"@pt , + "длина волны"@ru , + "dalga boyu"@tr , + "波长"@zh ; + schema:description "For a monochromatic wave, \"wavelength\" is the distance between two successive points in a direction perpendicular to the wavefront where at a given instant the phase differs by \\(2\\pi\\). The wavelength of a sinusoidal wave is the spatial period of the wave—the distance over which the wave's shape repeats. The SI unit of wavelength is the meter."^^ ; +. + + + rdfs:label + "عدد الموجة"@ar , + "Vlnové číslo"@cs , + "Repetenz"@de , + "wavenumber"@en , + "número de ola"@es , + "عدد موج"@fa , + "nombre d'onde"@fr , + "numero d'onda"@it , + "波数"@ja , + "Bilangan gelombang"@ms , + "Liczba falowa"@pl , + "número de onda"@pt , + "Волновое число"@ru , + "valovno število"@sl , + "dalga sayısı"@tr , + "波数"@zh ; + rdfs:seeAlso ; + schema:description ""Wavenumber" is the spatial frequency of a wave - the number of waves that exist over a specified distance. More formally, it is the reciprocal of the wavelength. It is also the magnitude of the wave vector. Light passing through different media keeps its frequency, but not its wavelength or wavenumber. The unit for wavenumber commonly used in spectroscopy is centimetre to power minus one, PER-CM, rather than metre to power minus one, PER-M."^^rdf:HTML ; +. + + + rdfs:label "Web Time"@en ; + schema:description "Web Time" ; +. + + + rdfs:label "Web Time Average Pressure"@en ; +. + + + rdfs:label "Web Time Average Thrust"@en ; + schema:description "Web Time Avg Thrust (Mlbf)" ; +. + + + rdfs:label + "وزن"@ar , + "tíha"@cs , + "Gewicht"@de , + "weight"@en , + "peso"@es , + "وزن"@fa , + "poids"@fr , + "forza peso"@it , + "重さ"@ja , + "Berat"@ms , + "Siła ciężkości"@pl , + "peso"@pt , + "greutate"@ro , + "Вес"@ru , + "Ağırlık"@tr , + "重量"@zh ; + schema:description "The force with which a body is attracted toward an astronomical body. Or, the product of the mass of a body and the acceleration acting on a body. In a dynamic situation, the weight can be a multiple of that under resting conditions. Weight also varies on other planets in accordance with their gravity."^^rdf:HTML ; +. + + + rdfs:label "Width"@en ; + schema:description ""Width" is the middle of three dimensions: length, width, thickness."^^rdf:HTML ; +. + + + rdfs:label "Work Function"@en ; + schema:description ""Work Function" is the energy difference between an electron at rest at infinity and an electron at a certain energy level. The minimum energy (usually measured in electronvolts) needed to remove an electron from a solid to a point immediately outside the solid surface (or energy needed to move an electron from the Fermi level into vacuum)."^^rdf:HTML ; +. + + + rdfs:label "QUDT Quantity Kinds Vocabulary Catalog Entry v1.2" ; +. + + + rdfs:label + "QUDT Quantity Kind Vocabulary Metadata Version 2.1.33" , + "QUDT Quantity Kinds Version 2.1 Vocabulary" ; + schema:description "Provides the set of all quantity kinds."^^rdf:HTML ; +. + + + rdfs:label "Absolute Humidity"@en ; + rdfs:seeAlso ; + schema:description "\"Absolute Humidity\" is an amount of water vapor, usually discussed per unit volume. Absolute humidity in air ranges from zero to roughly 30 grams per cubic meter when the air is saturated at \\(30 ^\\circ C\\). The absolute humidity changes as air temperature or pressure changes. This is very inconvenient for chemical engineering calculations, e.g. for clothes dryers, where temperature can vary considerably. As a result, absolute humidity is generally defined in chemical engineering as mass of water vapor per unit mass of dry air, also known as the mass mixing ratio, which is much more rigorous for heat and mass balance calculations. Mass of water per unit volume as in the equation above would then be defined as volumetric humidity. Because of the potential confusion."^^ ; +. + + + rdfs:label + "عدد موجى زاوى"@ar , + "Kreisrepetenz"@de , + "angular wavenumber"@en , + "número de onda angular"@es , + "nombre d'onde angulaire"@fr , + "numero d'onda angolare"@it , + "角波数"@ja , + "liczba falowa kątowa"@pl , + "número de onda angular"@pt , + "角波数"@zh ; + schema:description ""wavenumber" is the spatial frequency of a wave - the number of waves that exist over a specified distance. More formally, it is the reciprocal of the wavelength. It is also the magnitude of the wave vector."^^rdf:HTML ; +. + + + rdfs:label "Blood Glucose Level"@en ; + rdfs:seeAlso ; + schema:description + "The blood sugar level, blood sugar concentration, or blood glucose level is the amount of glucose present in the blood of humans and other animals. Glucose is a simple sugar and approximately 4 grams of glucose are present in the blood of humans at all times. The body tightly regulates blood glucose levels as a part of metabolic homeostasis. Glucose is stored in skeletal muscle and liver cells in the form of glycogen;[2] in fasted individuals, blood glucose is maintained at a constant level at the expense of glycogen stores in the liver and skeletal muscle. [Wikipedia] \\(\\\\\\) There are two main methods of describing concentrations: by weight, and by molecular count. Weights are in grams, molecular counts in moles. A mole is \\(6.022\\times 10^{23}\\) molecules.) In both cases, the unit is usually modified by \\(milli-\\) or \\(micro-\\) or other prefix, and is always \\(per\\) some volume, often a liter. Conversion factors depend on the molecular weight of the substance in question. \\(\\\\\\) \\(mmol/L\\) is millimoles/liter, and is the world standard unit for measuring glucose in blood. Specifically, it is the designated SI (Systeme International) unit. 'World standard' is not universal; not only the US but a number of other countries use mg/dl. A mole is about \\(6\\times 10^{23}\\) molecules. \\(\\\\\\) \\(mg/dL\\) (milligrams/deciliter) is the traditional unit for measuring bG (blood glucose). There is a trend toward using \\(mmol/L\\) however mg/dL is much in practice. Some use is made of \\(mmol/L\\) as the primary unit with \\(mg/dL\\) quoted in parentheses. This acknowledges the large base of health care providers, researchers and patients who are already familiar with \\(mg/dL|)."^^ , + "citation: https://en.wikipedia.org/wiki/Blood_sugar_level" ; +. + + + rdfs:label "Blood Glucose Level by Mass"@en ; + rdfs:seeAlso ; + schema:description + "The blood sugar level, blood sugar concentration, or blood glucose level is the amount of glucose present in the blood of humans and other animals. Glucose is a simple sugar and approximately 4 grams of glucose are present in the blood of humans at all times. The body tightly regulates blood glucose levels as a part of metabolic homeostasis. Glucose is stored in skeletal muscle and liver cells in the form of glycogen;[2] in fasted individuals, blood glucose is maintained at a constant level at the expense of glycogen stores in the liver and skeletal muscle. [Wikipedia] \\(\\\\\\) There are two main methods of describing concentrations: by weight, and by molecular count. Weights are in grams, molecular counts in moles. A mole is \\(6.022\\times 10^{23}\\) molecules.) In both cases, the unit is usually modified by \\(milli-\\) or \\(micro-\\) or other prefix, and is always \\(per\\) some volume, often a liter. Conversion factors depend on the molecular weight of the substance in question. \\(\\\\\\) \\(mmol/L\\) is millimoles/liter, and is the world standard unit for measuring glucose in blood. Specifically, it is the designated SI (Systeme International) unit. 'World standard' is not universal; not only the US but a number of other countries use mg/dl. A mole is about \\(6\\times 10^{23}\\) molecules. \\(\\\\\\) \\(mg/dL\\) (milligrams/deciliter) is the traditional unit for measuring bG (blood glucose). There is a trend toward using \\(mmol/L\\) however mg/dL is much in practice. Some use is made of \\(mmol/L\\) as the primary unit with \\(mg/dL\\) quoted in parentheses. This acknowledges the large base of health care providers, researchers and patients who are already familiar with \\(mg/dL|)."^^ , + "citation: https://en.wikipedia.org/wiki/Blood_sugar_level" ; +. + + + rdfs:label "Conductance"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textit{Conductance}\\), for a resistive two-terminal element or two-terminal circuit with terminals A and B, quotient of the electric current i in the element or circuit by the voltage \\(u_{AB}\\) between the terminals: \\(G = \\frac{1}{R}\\), where the electric current is taken as positive if its direction is from A to B and negative in the opposite case. The conductance of an element or circuit is the inverse of its resistance."^^ ; +. + + + rdfs:label "Conductivity"@en ; + rdfs:seeAlso + , + ; + schema:description ""Conductivity" is a scalar or tensor quantity the product of which by the electric field strength in a medium is equal to the electric current density. For an isotropic medium the conductivity is a scalar quantity; for an anisotropic medium it is a tensor quantity."^^rdf:HTML ; +. + + + rdfs:label + "Correlated Colour Temperature"@en , + "Correlated Color Temperature"@en-us ; + rdfs:seeAlso ; + schema:description "Correlated color temperature (CCT) is a measure of light source color appearance defined by the proximity of the light source's chromaticity coordinates to the blackbody locus, as a single number rather than the two required to specify a chromaticity."^^rdf:HTML ; +. + + + rdfs:label "Density"@en ; + schema:description "The mass density or density of a material is defined as its mass per unit volume. The symbol most often used for density is \\(\\rho\\). Mathematically, density is defined as mass divided by volume: \\(\\rho = m/V\\), where \\(\\rho\\) is the density, \\(m\\) is the mass, and \\(V\\) is the volume. In some cases, density is also defined as its weight per unit volume, although this quantity is more properly called specific weight."^^ ; +. + + + rdfs:label "Diastolic Blood Pressure"@en ; + rdfs:seeAlso ; + schema:description "The pressure of blood in the arteries which rises to a maximum as blood is pumped out by the left ventricle (systole) and drops to a minimum in diastole. The systolic/diastolic pressure is normally ~120/80 mmHg in a young adult."^^rdf:HTML ; +. + + + rdfs:label "Displacement Current"@en ; + rdfs:seeAlso ; + schema:description ""Displacement Current" is a quantity appearing in Maxwell's equations that is defined in terms of the rate of change of electric displacement field. Displacement current has the units of electric current density, and it has an associated magnetic field just as actual currents do. However it is not an electric current of moving charges, but a time-varying electric field. In materials, there is also a contribution from the slight motion of charges bound in atoms, dielectric polarization."^^rdf:HTML ; +. + + + rdfs:label "Displacement Current Density"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textbf{Displacement Current Density}\\) is the time rate of change of the \\(\\textit{Electric Flux Density}\\). This is a measure of how quickly the electric field changes if we observe it as a function of time. This is different than if we look at how the electric field changes spatially, that is, over a region of space for a fixed amount of time."^^ ; +. + + + rdfs:label "Delta u,v"@en ; + rdfs:seeAlso ; + schema:description "Duv is a metric that is short for Delta u,v (not to be confused with Delta u',v') and describes the distance of a light color point from the black body curve."^^rdf:HTML ; +. + + + rdfs:label + "عزم ثنائي قطب"@ar , + "Dipólový moment"@cs , + "elektrisches Dipolmoment"@de , + "electric dipole moment"@en , + "momento de dipolo eléctrico"@es , + "گشتاور دوقطبی الکتریکی"@fa , + "moment dipolaire"@fr , + "विद्युत द्विध्रुव आघूर्ण"@hi , + "momento di dipolo elettrico"@it , + "電気双極子"@ja , + "Momen dwikutub elektrik"@ms , + "elektryczny moment dipolowy"@pl , + "momento do dipolo elétrico"@pt , + "moment electric dipolar"@ro , + "Электрический дипольный момент"@ru , + "elektrik dipol momenti"@tr , + "电偶极矩"@zh ; + schema:description ""Electric Dipole Moment" is a measure of the separation of positive and negative electrical charges in a system of (discrete or continuous) charges. It is a vector-valued quantity. If the system of charges is neutral, that is if the sum of all charges is zero, then the dipole moment of the system is independent of the choice of a reference frame; however in a non-neutral system, such as the dipole moment of a single proton, a dependence on the choice of reference point arises. In such cases it is conventional to choose the reference point to be the center of mass of the system or the center of charge, not some arbitrary origin. This convention ensures that the dipole moment is an intrinsic property of the system. The electric dipole moment of a substance within a domain is the vector sum of electric dipole moments of all electric dipoles included in the domain."^^rdf:HTML ; +. + + + rdfs:label + "إستقطاب كهربائي"@ar , + "elektrische Polarisation"@de , + "electric polarization"@en , + "polarización eléctrica"@es , + "polarisation électrique"@fr , + "polarizzazione elettrica"@it , + "電気分極"@ja , + "polaryzacja elektryczna"@pl , + "polarização eléctrica"@pt , + "электрическая поляризация"@ru ; + rdfs:seeAlso + , + ; + schema:description ""Electric Polarization" is the relative shift of positive and negative electric charge in opposite directions within an insulator, or dielectric, induced by an external electric field. Polarization occurs when an electric field distorts the negative cloud of electrons around positive atomic nuclei in a direction opposite the field. This slight separation of charge makes one side of the atom somewhat positive and the opposite side somewhat negative. In some materials whose molecules are permanently polarized by chemical forces, such as water molecules, some of the polarization is caused by molecules rotating into the same alignment under the influence of the electric field. One of the measures of polarization is electric dipole moment, which equals the distance between the slightly shifted centres of positive and negative charge multiplied by the amount of one of the charges. Polarization P in its quantitative meaning is the amount of dipole moment p per unit volume V of a polarized material, P = p/V."^^rdf:HTML ; +. + + + rdfs:label "Permeability"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description "\"Permeability} is the degree of magnetization of a material that responds linearly to an applied magnetic field. In general permeability is a tensor-valued quantity. The definition given applies to an isotropic medium. For an anisotropic medium permeability is a second order tensor. In electromagnetism, permeability is the measure of the ability of a material to support the formation of a magnetic field within itself. In other words, it is the degree of magnetization that a material obtains in response to an applied magnetic field. Magnetic permeability is typically represented by the Greek letter \\(\\mu\\). The term was coined in September, 1885 by Oliver Heaviside. The reciprocal of magnetic permeability is \\textit{Magnetic Reluctivity\"."^^ ; +. + + + rdfs:label "Equilibrium Constant on Concentration Basis"@en ; + schema:description + "The "Equlilbrium Constant", also known as the thermodynamic equilibrium constant, is an expression that gives us a ratio of the products and reactants of a reaction at equilibrium with respect to a specific unit."^^rdf:HTML , + "The unit is unit:MOL-PER-M3 raised to the N where N is the summation of stoichiometric numbers. I don't know what to do with this." ; +. + + + rdfs:label "Equilibrium Constant on Pressure Basis"@en ; + schema:description "The "Equlilbrium Constant", also known as the thermodynamic equilibrium constant, is an expression that gives us a ratio of the products and reactants of a reaction at equilibrium with respect to a specific unit."^^rdf:HTML ; +. + + + rdfs:label + "سعة حرارية"@ar , + "tepelná kapacita"@cs , + "Wärmekapazität"@de , + "heat capacity"@en , + "capacidad calorífica"@es , + "ظرفیت گرمایی"@fa , + "capacité thermique"@fr , + "ऊष्मा धारिता"@hi , + "capacità termica"@it , + "熱容量"@ja , + "muatan haba"@ms , + "pojemność cieplna"@pl , + "capacidade térmica"@pt , + "capacitate termică"@ro , + "теплоёмкость"@ru , + "toplotna kapaciteta"@sl , + "isı kapasitesi"@tr , + "热容"@zh ; + schema:description "\"Heat Capacity\" (usually denoted by a capital \\(C\\), often with subscripts), or thermal capacity, is the measurable physical quantity that characterizes the amount of heat required to change a substance's temperature by a given amount. In the International System of Units (SI), heat capacity is expressed in units of joule(s) (J) per kelvin (K)."^^ ; +. + + + rdfs:label "Heat Flow Rate"@en ; + schema:description "The rate of heat flow between two systems is measured in watts (joules per second). The formula for rate of heat flow is \\(\\bigtriangleup Q / \\bigtriangleup t = -K \\times A \\times \\bigtriangleup T/x\\), where \\(\\bigtriangleup Q / \\bigtriangleup t\\) is the rate of heat flow; \\(-K\\) is the thermal conductivity factor; A is the surface area; \\(\\bigtriangleup T\\) is the change in temperature and \\(x\\) is the thickness of the material. \\(\\bigtriangleup T/ x\\) is called the temperature gradient and is always negative because of the heat of flow always goes from more thermal energy to less)."^^ ; +. + + + rdfs:label "Incidence Proportion"@en ; + rdfs:seeAlso ; + schema:description "Incidence proportion (also known as cumulative incidence) is the number of new cases within a specified time period divided by the size of the population initially at risk. For example, if a population initially contains 1,000 non-diseased persons and 28 develop a condition over two years of observation, the incidence proportion is 28 cases per 1,000 persons per two years, i.e. 2.8% per two years."^^rdf:HTML ; +. + + + rdfs:label "Incidence Rate"@en ; + rdfs:seeAlso ; + schema:description "The incidence rate is a measure of the frequency with which a disease or other incident occurs over a specified time period. It is also known as the incidence density rate or person-time incidence rate, when the denominator is the combined person-time of the population at risk (the sum of the time duration of exposure across all persons exposed)"^^rdf:HTML ; +. + + + rdfs:label + "المحاثة (التحريض)"@ar , + "Индуктивност"@bg , + "Indukčnost"@cs , + "Induktivität"@de , + "inductance"@en , + "inductancia"@es , + "القاوری"@fa , + "Inductance électrique"@fr , + "השראות"@he , + "प्रेरकत्व"@hi , + "induktivitás"@hu , + "induttanza"@it , + "インダクタンス・誘導係数"@ja , + "inductantia"@la , + "Indukstans"@ms , + "indukcyjność"@pl , + "indutância"@pt , + "inductanță"@ro , + "Индуктивность"@ru , + "induktivnost"@sl , + "İndüktans"@tr , + "电感"@zh ; + rdfs:seeAlso ; + schema:description ""Inductance" is an electromagentic quantity that characterizes a circuit's resistance to any change of electric current; a change in the electric current through induces an opposing electromotive force (EMF). Quantitatively, inductance is proportional to the magnetic flux per unit of electric current."^^rdf:HTML ; +. + + + rdfs:label "Isentropic Compressibility"@en ; + schema:description "Isentropic compressibility is the extent to which a material reduces its volume when it is subjected to compressive stresses at a constant value of entropy."^^rdf:HTML ; +. + + + rdfs:label + "نسبة السعة الحرارية"@ar , + "Poissonova konstanta"@cs , + "Isentropenexponent"@de , + "isentropic exponent"@en , + "Coeficiente de dilatación adiabática"@es , + "exposant isoentropique"@fr , + "Coefficiente di dilatazione adiabatica"@it , + "比熱比"@ja , + "Wykładnik adiabaty"@pl , + "Coeficiente de expansão adiabática"@pt , + "Coeficient de transformare adiabatică"@ro , + "Показатель адиабаты"@ru , + "adiabatni eksponent"@sl , + "ısı sığası oranı; adyabatik indeks"@tr , + "绝热指数"@zh ; + rdfs:seeAlso ; + schema:description "Isentropic exponent is a variant of \"Specific Heat Ratio Capacities}. For an ideal gas \\textit{Isentropic Exponent\"\\(, \\varkappa\\). is equal to \\(\\gamma\\), the ratio of its specific heat capacities \\(c_p\\) and \\(c_v\\) under steady pressure and volume."^^ ; +. + + + rdfs:label + "لزوجة"@ar , + "viskozita"@cs , + "kinematische Viskosität"@de , + "kinematic viscosity"@en , + "viscosidad cinemática"@es , + "گرانروی جنبشی/ویسکوزیته جنبشی"@fa , + "viscosité cinématique"@fr , + "श्यानता"@hi , + "viscosità cinematica"@it , + "粘度"@ja , + "Kelikatan kinematik"@ms , + "lepkość kinematyczna"@pl , + "viscosidade cinemática"@pt , + "Viscozitate cinematică"@ro , + "кинематическую вязкость"@ru , + "kinematična viskoznost"@sl , + "Kinematik akmazlık"@tr , + "运动粘度"@zh ; + rdfs:seeAlso + , + ; + schema:description "The ratio of the viscosity of a liquid to its density. Viscosity is a measure of the resistance of a fluid which is being deformed by either shear stress or tensile stress. In many situations, we are concerned with the ratio of the inertial force to the viscous force (that is the Reynolds number), the former characterized by the fluid density \\(\\rho\\). This ratio is characterized by the kinematic viscosity (Greek letter \\(\\nu\\)), defined as follows: \\(\\nu = \\mu / \\rho\\). The SI unit of \\(\\nu\\) is \\(m^{2}/s\\). The SI unit of \\(\\nu\\) is \\(kg/m^{1}\\)."^^ ; +. + + + rdfs:label "Magnetic Field"@en ; + schema:description "The Magnetic Field, denoted \\(B\\), is a fundamental field in electrodynamics which characterizes the magnetic force exerted by electric currents. It is closely related to the auxillary magnetic field H (see quantitykind:AuxillaryMagneticField)."^^ ; +. + + + rdfs:label + "التدفق المغناطيسي"@ar , + "Магнитен поток"@bg , + "Magnetický tok"@cs , + "magnetischer Flux"@de , + "magnetic flux"@en , + "flujo magnético"@es , + "شار مغناطیسی"@fa , + "Flux d'induction magnétique"@fr , + "שטף מגנטי"@he , + "चुम्बकीय बहाव"@hi , + "mágneses fluxus"@hu , + "flusso magnetico"@it , + "磁束"@ja , + "fluxus magneticus"@la , + "Fluks magnet"@ms , + "strumień magnetyczny"@pl , + "fluxo magnético"@pt , + "flux de inducție magnetică"@ro , + "Магнитный поток"@ru , + "magnetni pretok"@sl , + "manyetik akı"@tr , + "磁通量"@zh ; + schema:description ""Magnetic Flux" is the product of the average magnetic field times the perpendicular area that it penetrates."^^rdf:HTML ; +. + + + rdfs:label "Magnetic Tension"@en ; + rdfs:seeAlso ; + schema:description ""Magnetic Tension} is a scalar quantity equal to the line integral of the magnetic field strength \\mathbf{H" along a specified path linking two points a and b."^^rdf:HTML ; +. + + + rdfs:label + "كتلة"@ar , + "Маса"@bg , + "Hmotnost"@cs , + "Masse"@de , + "Μάζα"@el , + "mass"@en , + "masa"@es , + "جرم"@fa , + "masse"@fr , + "מסה"@he , + "भार"@hi , + "tömeg"@hu , + "massa"@it , + "質量"@ja , + "massa"@la , + "Jisim"@ms , + "masa"@pl , + "massa"@pt , + "masă"@ro , + "Масса"@ru , + "masa"@sl , + "kütle"@tr , + "质量"@zh ; + schema:description "In physics, mass, more specifically inertial mass, can be defined as a quantitative measure of an object's resistance to acceleration. The SI unit of mass is the kilogram (\\(kg\\))"^^ ; +. + + + rdfs:label "Mass Defect"@en ; + schema:description "The "Mass Defect", also termed mass deficit, or mass packing fraction, describes mass change (decrease) in bound systems, particularly atomic nuclei."^^rdf:HTML ; +. + + + rdfs:label "Mass Flow Rate"@en ; + rdfs:seeAlso ; + schema:description "\"Mass Flow Rate\" is a measure of Mass flux. The common symbol is \\(\\dot{m}\\) (pronounced \"m-dot\"), although sometimes \\(\\mu\\) is used. The SI units are \\(kg s-1\\)."^^ ; +. + + + rdfs:label "Mass Fraction of Dry Matter"@en ; + rdfs:seeAlso ; + schema:description ""Mass Fraction of Dry Matter} is one of a number of \\textit{Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Mass Fraction of Water"@en ; + rdfs:seeAlso ; + schema:description ""Mass Fraction of Water} is one of a number of \\textit{Concentration" quantities defined by ISO 8000."^^rdf:HTML ; +. + + + rdfs:label "Molecular Viscosity"@en ; + rdfs:seeAlso + , + ; + schema:description "Molecules in a fluid close to a solid boundary sometime strike the boundary and transfer momentum to it. Molecules further from the boundary collide with molecules that have struck the boundary, further transferring the change in momentum into the interior of the fluid. This transfer of momentum is molecular viscosity. Molecules, however, travel only micrometers between collisions, and the process is very inefficient for transferring momentum even a few centimeters. Molecular viscosity is important only within a few millimeters of a boundary. The coefficient of molecular viscosity has the same value as the dynamic viscosity."^^rdf:HTML ; +. + + + rdfs:label "Mutual Inductance"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textit{Mutual Inductance}\\) is the non-diagonal term of the inductance matrix. For two loops, the symbol \\(M\\) is used for \\(L_{12}\\)."^^ ; +. + + + rdfs:label "Permittivity"@en ; + schema:description ""Permittivity" is a physical quantity that describes how an electric field affects, and is affected by a dielectric medium, and is determined by the ability of a material to polarize in response to the field, and thereby reduce the total electric field inside the material. Permittivity is often a scalar valued quantity, however in the general case it is tensor-valued."^^rdf:HTML ; +. + + + rdfs:label "Quality Factor"@en ; + rdfs:seeAlso + , + ; + schema:description "\"Quality Factor\", of a resonant circuit, is a measure of the \"goodness\" or quality of a resonant circuit. A higher value for this figure of merit correspondes to a more narrow bandwith, which is desirable in many applications. More formally, \\(Q\\) is the ratio of power stored to power dissipated in the circuit reactance and resistance, respectively"^^ ; +. + + + rdfs:label "Reactance"@en ; + rdfs:seeAlso ; + schema:description ""Reactance" is the opposition of a circuit element to a change of electric current or voltage, due to that element's inductance or capacitance. A built-up electric field resists the change of voltage on the element, while a magnetic field resists the change of current. The notion of reactance is similar to electrical resistance, but they differ in several respects. Capacitance and inductance are inherent properties of an element, just like resistance."^^rdf:HTML ; +. + + + rdfs:label "Relative Humidity"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textit{Relative Humidity}\\) is the ratio of the partial pressure of water vapor in an air-water mixture to the saturated vapor pressure of water at a prescribed temperature. The relative humidity of air depends not only on temperature but also on the pressure of the system of interest. \\(\\textit{Relative Humidity}\\) is also referred to as \\(\\textit{Relative Partial Pressure}\\). Relative partial pressure is often referred to as \\(RH\\) and expressed in percent."^^ ; +. + + + rdfs:label "Relative Partial Pressure"@en ; +. + + + rdfs:label "Reluctance"@en ; + rdfs:seeAlso + , + ; + schema:description ""Reluctance" or magnetic resistance, is a concept used in the analysis of magnetic circuits. It is analogous to resistance in an electrical circuit, but rather than dissipating electric energy it stores magnetic energy. In likeness to the way an electric field causes an electric current to follow the path of least resistance, a magnetic field causes magnetic flux to follow the path of least magnetic reluctance. It is a scalar, extensive quantity, akin to electrical resistance."^^rdf:HTML ; +. + + + rdfs:label "Systolic Blood Pressure"@en ; + rdfs:seeAlso ; + schema:description "The pressure of blood in the arteries which rises to a maximum as blood is pumped out by the left ventricle (systole) and drops to a minimum in diastole. The systolic/diastolic pressure is normally ~120/80 mmHg in a young adult."^^rdf:HTML ; +. + + + rdfs:label "Temperature"@en ; + rdfs:seeAlso ; + schema:description "Temperature is a physical property of matter that quantitatively expresses the common notions of hot and cold. Objects of low temperature are cold, while various degrees of higher temperatures are referred to as warm or hot. Heat spontaneously flows from bodies of a higher temperature to bodies of lower temperature, at a rate that increases with the temperature difference and the thermal conductivity."^^rdf:HTML ; +. + + + rdfs:label "Thermal Insulance"@en ; + rdfs:seeAlso ; + schema:description "\\(\\textit{Thermal Insulance}\\) is the reduction of heat transfer (the transfer of thermal energy between objects of differing temperature) between objects in thermal contact or in range of radiative influence. In building technology, this quantity is often called \\(\\textit{Thermal Resistance}\\), with the symbol \\(R\\)."^^ ; +. + + + rdfs:label "Voltage"@en ; + schema:description """\\(\\textit{Voltage}\\), also referred to as \\(\\textit{Electric Tension}\\), is the difference between electrical potentials of two points. For an electric field within a medium, \\(U_{ab} = - \\int_{r_a}^{r_b} E . {dr}\\), where \\(E\\) is electric field strength. +For an irrotational electric field, the voltage is independent of the path between the two points \\(a\\) and \\(b\\)."""^^ ; +. + + + rdfs:label + "práce"@cs , + "Arbeit"@de , + "work"@en , + "trabajo"@es , + "کار"@fa , + "travail"@fr , + "कार्य"@hi , + "lavoro"@it , + "仕事量"@ja , + "kerja"@ms , + "praca"@pl , + "trabalho"@pt , + "lucru mecanic"@ro , + "delo"@sl , + "iş"@tr , + "功"@zh ; + schema:description "The net work is equal to the change in kinetic energy. This relationship is called the work-energy theorem: \\(Wnet = K. E._f − K. E._o \\), where \\(K. E._f\\) is the final kinetic energy and \\(K. E._o\\) is the original kinetic energy. Potential energy, also referred to as stored energy, is the ability of a system to do work due to its position or internal structure. Change in potential energy is equal to work. The potential energy equations can also be derived from the integral form of work, \\(\\Delta P. E. = W = \\int F \\cdot dx\\)."^^ ; +. + + + rdfs:label "Active Power"@en ; + rdfs:seeAlso + , + ; + schema:description "\\(Active Power\\) is, under periodic conditions, the mean value, taken over one period \\(T\\), of the instantaneous power \\(p\\). In complex notation, \\(P = \\mathbf{Re} \\; \\underline{S}\\), where \\(\\underline{S}\\) is \\(\\textit{complex power}\\)\"."^^ ; +. + + + rdfs:label "Admittance"@en ; + rdfs:seeAlso ; + schema:description "\"Admittance\" is a measure of how easily a circuit or device will allow a current to flow. It is defined as the inverse of the impedance (\\(Z\\)). "^^ ; +. + + + rdfs:label + "القدرة الظاهرية"@ar , + "Scheinleistung"@de , + "apparent power"@en , + "potencia aparente"@es , + "puissance apparente"@fr , + "potenza apparente"@it , + "皮相電力"@ja , + "moc pozorna"@pl , + "potência aparente"@pt , + "视在功率"@zh ; + rdfs:seeAlso + , + ; + schema:description "\"Apparent Power\" is the product of the rms voltage \\(U\\) between the terminals of a two-terminal element or two-terminal circuit and the rms electric current I in the element or circuit. Under sinusoidal conditions, the apparent power is the modulus of the complex power."^^ ; +. + + + rdfs:label "Coefficient of heat transfer"@en ; + schema:description ""Coefficient of Heat Transfer", in thermodynamics and in mechanical and chemical engineering, is used in calculating the heat transfer, typically by convection or phase transition between a fluid and a solid. The heat transfer coefficient is the proportionality coefficient between the heat flux, that is heat flow per unit area, q/A, and the thermodynamic driving force for the flow of heat (that is, the temperature difference, (Delta T). Areic heat flow rate divided by thermodynamic temperature difference. In building technology, the "Coefficient of Heat Transfer", is often called "thermal transmittance}" with the symbol "U". It has SI units in watts per squared meter kelvin."^^rdf:HTML ; +. + + + rdfs:label "Complex Power"@en ; + rdfs:seeAlso + , + ; + schema:description "\"Complex Power\", under sinusoidal conditions, is the product of the phasor \\(U\\) representing the voltage between the terminals of a linear two-terminal element or two-terminal circuit and the complex conjugate of the phasor \\(I\\) representing the electric current in the element or circuit."^^ ; +. + + + rdfs:label + "لزوجة"@ar , + "viskozita"@cs , + "dynamische Viskosität"@de , + "dynamic viscosity"@en , + "viscosidad dinámica"@es , + "گرانروی دینامیکی/ویسکوزیته دینامیکی"@fa , + "viscosité dynamique"@fr , + "श्यानता"@hi , + "viscosità dinamica"@it , + "粘度"@ja , + "Kelikatan dinamik"@ms , + "lepkość dynamiczna"@pl , + "viscosidade dinâmica"@pt , + "Viscozitate dinamică"@ro , + "динамическую вязкость"@ru , + "dinamična viskoznost"@sl , + "dinamik akmazlık"@tr , + "动力粘度"@zh ; + schema:description "A measure of the molecular frictional resistance of a fluid as calculated using Newton's law."^^rdf:HTML ; +. + + + rdfs:label "Electric Charge Surface Density"@en ; + rdfs:seeAlso ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively."^^rdf:HTML ; +. + + + rdfs:label "Electric Current Phasor"@en ; + schema:description ""Electric Current Phasor" is a representation of current as a sinusoidal integral quantity using a complex quantity whose argument is equal to the initial phase and whose modulus is equal to the root-mean-square value. A phasor is a constant complex number, usually expressed in exponential form, representing the complex amplitude (magnitude and phase) of a sinusoidal function of time. Phasors are used by electrical engineers to simplify computations involving sinusoids, where they can often reduce a differential equation problem to an algebraic one."^^rdf:HTML ; +. + + + rdfs:label + "إنتروبيا"@ar , + "entropie"@cs , + "Entropie"@de , + "entropy"@en , + "entropía"@es , + "آنتروپی"@fa , + "entropie"@fr , + "एन्ट्रॉपी"@hi , + "entropia"@it , + "エントロピー"@ja , + "Entropi"@ms , + "entropia"@pl , + "entropia"@pt , + "entropie"@ro , + "Энтропия"@ru , + "entropija"@sl , + "entropi"@tr , + "熵"@zh ; + schema:description "When a small amount of heat \\(dQ\\) is received by a system whose thermodynamic temperature is \\(T\\), the entropy of the system increases by \\(dQ/T\\), provided that no irreversible change takes place in the system."^^ ; +. + + + rdfs:label + "مغنطة"@ar , + "Magnetisierung"@de , + "magnetization"@en , + "magnetización"@es , + "aimantation"@fr , + "magnetizzazione"@it , + "磁化"@ja , + "magnetyzacia"@pl , + "magnetização"@pt , + "намагниченность"@ru ; + schema:description ""Magnetization" is defined as the ratio of magnetic moment per unit volume. It is a vector-valued quantity."^^rdf:HTML ; +. + + + rdfs:label "Resistance"@en ; + rdfs:seeAlso + , + , + ; + schema:description "The electrical resistance of an object is a measure of its opposition to the passage of a steady electric current."^^rdf:HTML ; +. + + + rdfs:label "Specific Impulse"@en ; + rdfs:seeAlso ; + schema:description "The impulse produced by a rocket divided by the mass \\(mp\\) of propellant consumed. Specific impulse \\({I_{sp}}\\) is a widely used measure of performance for chemical, nuclear, and electric rockets. It is usually given in seconds for both U.S. Customary and International System (SI) units. The impulse produced by a rocket is the thrust force \\(F\\) times its duration \\(t\\) in seconds. \\(I_{sp}\\) is the thrust per unit mass flowrate, but with \\(g_o\\), is the thrust per weight flowrate. The specific impulse is given by the equation: \\(I_{sp} = \\frac{F}{\\dot{m}g_o}\\)."^^ ; +. + + + rdfs:label + "درجة الحرارة المطلقة"@ar , + "Термодинамична температура"@bg , + "Termodynamická teplota"@cs , + "thermodynamische Temperatur"@de , + "Απόλυτη"@el , + "thermodynamic temperature"@en , + "temperatura"@es , + "دمای ترمودینامیکی"@fa , + "température thermodynamique"@fr , + "טמפרטורה מוחלטת"@he , + "ऊष्मगतिकीय तापमान"@hi , + "abszolút hőmérséklet"@hu , + "temperatura termodinamica"@it , + "熱力学温度"@ja , + "temperatura thermodynamica absoluta"@la , + "Suhu termodinamik"@ms , + "temperatura"@pl , + "temperatura"@pt , + "temperatură termodinamică"@ro , + "Термодинамическая температура"@ru , + "temperatura"@sl , + "termodinamik sıcaklık"@tr , + "热力学温度"@zh ; + rdfs:seeAlso ; + schema:description """Thermodynamic temperature is the absolute measure of temperature and is one of the principal parameters of thermodynamics. +Temperature is a physical property of matter that quantitatively expresses the common notions of hot and cold. +In thermodynamics, in a system of which the entropy is considered as an independent externally controlled variable, absolute, or thermodynamic temperature is defined as the derivative of the internal energy with respect to the entropy. This is a base quantity in the International System of Quantities, ISQ, on which the International System of Units, SI, is based.""" ; +. + + + rdfs:label "Voltage Phasor"@en ; + schema:description ""Voltage Phasor" is a representation of voltage as a sinusoidal integral quantity using a complex quantity whose argument is equal to the initial phase and whose modulus is equal to the root-mean-square value. A phasor is a constant complex number, usually expressed in exponential form, representing the complex amplitude (magnitude and phase) of a sinusoidal function of time. Phasors are used by electrical engineers to simplify computations involving sinusoids, where they can often reduce a differential equation problem to an algebraic one."^^rdf:HTML ; +. + + + rdfs:label "Electric Charge Density"@en ; + rdfs:seeAlso ; + schema:description "In electromagnetism, charge density is a measure of electric charge per unit volume of space, in one, two or three dimensions. More specifically: the linear, surface, or volume charge density is the amount of electric charge per unit length, surface area, or volume, respectively."^^rdf:HTML ; +. + + + rdfs:label + "كثافة التيار"@ar , + "Hustota elektrického proudu"@cs , + "elektrische Stromdichte"@de , + "electric current density"@en , + "densidad de corriente"@es , + "چگالی جریان الکتریکی"@fa , + "densité de courant"@fr , + "धारा घनत्व"@hi , + "densità di corrente elettrica"@it , + "電流密度"@ja , + "Ketumpatan arus elektrik"@ms , + "Gęstość prądu elektrycznego"@pl , + "densidade de corrente elétrica"@pt , + "Densitate de curent"@ro , + "плотность тока"@ru , + "gostota električnega toka"@sl , + "Akım yoğunluğu"@tr , + "电流密度"@zh ; + schema:description "\"Electric Current Density\" is a measure of the density of flow of electric charge; it is the electric current per unit area of cross section. Electric current density is a vector-valued quantity. Electric current, \\(I\\), through a surface \\(S\\) is defined as \\(I = \\int_S J \\cdot e_n dA\\), where \\(e_ndA\\) is the vector surface element."^^ ; +. + + + rdfs:label + "الطاقة"@ar , + "Енергия"@bg , + "Energie"@cs , + "Energie"@de , + "Έργο - Ενέργεια"@el , + "energy"@en , + "energia"@es , + "انرژی"@fa , + "énergie"@fr , + "אנרגיה ועבודה"@he , + "ऊर्जा"@hi , + "energia , munka , hő"@hu , + "energia"@it , + "エネルギー"@ja , + "energia"@la , + "Tenaga"@ms , + "energia"@pl , + "energia"@pt , + "energie"@ro , + "Энергия"@ru , + "energija"@sl , + "enerji"@tr , + "能量"@zh ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "Energy is the quantity characterizing the ability of a system to do work."^^rdf:HTML ; +. + + + rdfs:label + "طاقة غيبس الحرة"@ar , + "Gibbsova volná energie"@cs , + "freie Enthalpie"@de , + "Gibbs energy"@en , + "Energía de Gibbs"@es , + "انرژی آزاد گیبس"@fa , + "enthalpie libre"@fr , + "energia libera di Gibbs"@it , + "ギブズエネルギー"@ja , + "Tenaga Gibbs"@ms , + "entalpia swobodna"@pl , + "energia livre de Gibbs"@pt , + "Entalpie liberă"@ro , + "энергия Гиббса"@ru , + "Prosta entalpija"@sl , + "Gibbs Serbest Enerjisi"@tr , + "吉布斯自由能"@zh ; + rdfs:seeAlso + , + , + , + ; + schema:description ""Gibbs Energy} is one of the potentials are used to measure energy changes in systems as they evolve from an initial state to a final state. The potential used depends on the constraints of the system, such as constant temperature or pressure. \\textit{Internal Energy} is the internal energy of the system, \\textit{Enthalpy} is the internal energy of the system plus the energy related to pressure-volume work, and Helmholtz and Gibbs free energy are the energies available in a system to do useful work when the temperature and volume or the pressure and temperature are fixed, respectively. The name \\textit{Gibbs Free Energy" is also used."^^rdf:HTML ; +. + + + rdfs:label + "طاقة هلمهولتز الحرة"@ar , + "Helmholtzova volná energie"@cs , + "freie Energie"@de , + "Helmholtz energy"@en , + "Energía de Helmholtz"@es , + "انرژی آزاد هلمولتز"@fa , + "énergie libre"@fr , + "energia libera di Helmholz"@it , + "ヘルムホルツの自由エネルギー"@ja , + "Tenaga Helmholtz"@ms , + "energia swobodna"@pl , + "energia livre de Helmholtz"@pt , + "свободная энергия Гельмгольца"@ru , + "Prosta energija"@sl , + "Helmholtz enerjisi"@tr , + "亥姆霍兹自由能"@zh ; + rdfs:seeAlso + , + , + , + ; + schema:description "\\(\\textit{Helmholtz Energy}\\) is one of the potentials are used to measure energy changes in systems as they evolve from an initial state to a final state. The potential used depends on the constraints of the system, such as constant temperature or pressure. \\(\\textit{Internal Energy}\\) is the internal energy of the system, \\(\\textit{Enthalpy}\\) is the internal energy of the system plus the energy related to pressure-volume work, and Helmholtz and Gibbs free energy are the energies available in a system to do useful work when the temperature and volume or the pressure and temperature are fixed, respectively. The name \\(\\textit{Helmholz Free Energy}\\) is also used."^^ ; +. + + + rdfs:label "Instantaneous Power"@en ; + schema:description "\"Instantaneous Power}, for a two-terminal element or a two-terminal circuit with terminals A and B, is the product of the voltage \\(u_{AB}\\) between the terminals and the electric current i in the element or circuit: \\(p = \\)u_{AB} \\cdot i\\(, where \\)u_{AB\" is the line integral of the electric field strength from A to B, and where the electric current in the element or circuit is taken positive if its direction is from A to B and negative in the opposite case. For an n-terminal circuit, it is the sum of the instantaneous powers relative to the n - 1 pairs of terminals when one of the terminals is chosen as a common terminal for the pairs. For a polyphase element, it is the sum of the instantaneous powers in all phase elements of a polyphase element. For a polyphase line consisting of m line conductors and one neutral conductor, it is the sum of the m instantaneous powers expressed for each line conductor by the product of the polyphase line-to-neutral voltage and the corresponding line current."^^ ; +. + + + rdfs:label "Specific Heat Capacity"@en ; + rdfs:seeAlso + , + , + , + , + ; + schema:description ""Specific Heat Capacity} of a solid or liquid is defined as the heat required to raise unit mass of substance by one degree of temperature. This is \\textit{Heat Capacity} divied by \\textit{Mass". Note that there are corresponding molar quantities."^^rdf:HTML ; +. + + + rdfs:label "Specific heat capacity at constant pressure"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Specific heat at a constant pressure."^^rdf:HTML ; +. + + + rdfs:label "Specific heat capacity at constant volume"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Specific heat per constant volume."^^rdf:HTML ; +. + + + rdfs:label "Specific Heat Capacity at Saturation"@en ; + rdfs:seeAlso + , + , + ; + schema:description "Specific heat per constant volume."^^rdf:HTML ; +. + + + rdfs:label + "تيار كهربائي"@ar , + "Електрически ток"@bg , + "Elektrický proud"@cs , + "elektrische Stromstärke"@de , + "Ένταση ηλεκτρικού ρεύματος"@el , + "electric current"@en , + "corriente eléctrica"@es , + "جریان الکتریکی"@fa , + "intensité de courant électrique"@fr , + "זרם חשמלי"@he , + "विद्युत धारा"@hi , + "elektromos áramerősség"@hu , + "corrente elettrica"@it , + "電流"@ja , + "fluxio electrica"@la , + "Arus elektrik"@ms , + "prąd elektryczny"@pl , + "corrente elétrica"@pt , + "curent electric"@ro , + "Сила электрического тока"@ru , + "električni tok"@sl , + "elektrik akımı"@tr , + "电流"@zh ; + schema:description ""Electric Current" is the flow (movement) of electric charge. The amount of electric current through some surface, for example, a section through a copper conductor, is defined as the amount of electric charge flowing through that surface over time. Current is a scalar-valued quantity. Electric current is one of the base quantities in the International System of Quantities, ISQ, on which the International System of Units, SI, is based. "^^rdf:HTML ; +. + + + rdfs:label + "عدد الموجة"@ar , + "Електрично поле"@bg , + "elektrické pole"@cs , + "elektrische Feldstärke"@de , + "Ηλεκτρικό πεδίο"@el , + "electric field strength"@en , + "intensidad de campo eléctrico"@es , + "شدت میدان الکتریکی"@fa , + "intensité de champ électrique"@fr , + "שדה חשמלי"@he , + "विद्युत्-क्षेत्र"@hi , + "Elektromos mező"@hu , + "intensità di campo elettrico"@it , + "電界強度"@ja , + "Kekuatan medan elektrik"@ms , + "natężenie pola elektrycznego"@pl , + "intensidade de campo elétrico"@pt , + "câmp electric"@ro , + "Напряженность электрического поля"@ru , + "jakost električnega polja"@sl , + "elektriksel alan kuvveti"@tr , + "電場"@zh ; + schema:description "\\(\\textbf{Electric Field Strength}\\) is the magnitude and direction of an electric field, expressed by the value of \\(E\\), also referred to as \\(\\color{indigo} {\\textit{electric field intensity}}\\) or simply the electric field."^^ ; +. + + + rdfs:label + "المجال المغناطيسي"@ar , + "Магнитна индукция"@bg , + "Magnetická indukce"@cs , + "magnetische Flussdichte"@de , + "magnetic flux density"@en , + "Densidad de flujo magnético"@es , + "چگالی شار مغناطیسی"@fa , + "Densité de flux magnétique"@fr , + "צפיפות שטף מגנטי"@he , + "चुम्बकीय क्षेत्र"@hi , + "mágneses indukció"@hu , + "densità di flusso magnetico"@it , + "磁束密度"@ja , + "densitas fluxus magnetici"@la , + "Ketumpatan fluks magnet"@ms , + "indukcja magnetyczna"@pl , + "densidade de fluxo magnético"@pt , + "inducție magnetică"@ro , + "Магнитная индукция"@ru , + "gostota magnetnega pretoka"@sl , + "manyetik akı yoğunluğu"@tr , + "磁通量密度"@zh ; + rdfs:seeAlso ; + schema:description "\"Magnetic Flux Density\" is a vector quantity and is the magnetic flux per unit area of a magnetic field at right angles to the magnetic force. It can be defined in terms of the effects the field has, for example by \\(B = F/q v \\sin \\theta\\), where \\(F\\) is the force a moving charge \\(q\\) would experience if it was travelling at a velocity \\(v\\) in a direction making an angle θ with that of the field. The magnetic field strength is also a vector quantity and is related to \\(B\\) by: \\(H = B/\\mu\\), where \\(\\mu\\) is the permeability of the medium."^^ ; +. + + + rdfs:label + "إزاحة كهربائية"@ar , + "Elektrická indukce"@cs , + "elektrische Flussdichte"@de , + "electric flux density"@en , + "Densidad de flujo eléctrico"@es , + "چگالی شار الکتریکی"@fa , + "Induction électrique"@fr , + "spostamento elettrico"@it , + "電束密度"@ja , + "Ketumpatan fluks elektrik"@ms , + "Indukcja elektryczna"@pl , + "campo de deslocamento elétrico"@pt , + "Inducție electrică"@ro , + "Электрическая индукция"@ru , + "elektrik akı yoğunluğu"@tr , + "電位移"@zh ; + schema:description "\\(\\textbf{Electric Flux Density}\\), also referred to as \\(\\textit{Electric Displacement}\\), is related to electric charge density by the following equation: \\(\\text{div} \\; D = \\rho\\), where \\(\\text{div}\\) denotes the divergence."^^ ; +. + + + rdfs:label "Internal Energy"@en ; + rdfs:seeAlso + , + , + , + ; + schema:description ""Internal Energy" is simply its energy. "internal" refers to the fact that some energy contributions are not considered. For instance, when the total system is in uniform motion, it has kinetic energy. This overall kinetic energy is never seen as part of the internal energy; one could call it external energy. Or, if the system is at constant non-zero height above the surface the Earth, it has constant potential energy in the gravitational field of the Earth. Gravitational energy is only taken into account when it plays a role in the phenomenon of interest, for instance in a colloidal suspension, where the gravitation influences the up- downward motion of the small particles comprising the colloid. In all other cases, gravitational energy is assumed not to contribute to the internal energy; one may call it again external energy."^^rdf:HTML ; +. + + + rdfs:label + "محتوى حراري"@ar , + "entalpie"@cs , + "Enthalpie"@de , + "enthalpy"@en , + "entalpía"@es , + "آنتالپی"@fa , + "enthalpie"@fr , + "पूर्ण ऊष्मा"@hi , + "entalpia"@it , + "エンタルピー"@ja , + "Entalpi"@ms , + "entalpia"@pl , + "entalpia"@pt , + "Entalpie"@ro , + "энтальпия"@ru , + "entalpija"@sl , + "Entalpi"@tr , + "焓"@zh ; + rdfs:seeAlso ; + schema:description "In thermodynamics, \\(\\textit{enthalpy}\\) is the sum of the internal energy \\(U\\) and the product of pressure \\(p\\) and volume \\(V\\) of a system. The characteristic function (also known as thermodynamic potential) \\(\\textit{enthalpy}\\) used to be called \\(\\textit{heat content}\\), which is why it is conventionally indicated by \\(H\\). The specific enthalpy of a working mass is a property of that mass used in thermodynamics, defined as \\(h=u+p \\cdot v\\), where \\(u\\) is the specific internal energy, \\(p\\) is the pressure, and \\(v\\) is specific volume. In other words, \\(h = H / m\\) where \\(m\\) is the mass of the system. The SI unit for \\(\\textit{Specific Enthalpy}\\) is \\(\\textit{joules per kilogram}\\)"^^ ; +. + + + rdfs:label "Impedance"@en ; + rdfs:seeAlso + , + ; + schema:description ""Impedance" is the measure of the opposition that a circuit presents to the passage of a current when a voltage is applied. In quantitative terms, it is the complex ratio of the voltage to the current in an alternating current (AC) circuit. Impedance extends the concept of resistance to AC circuits, and possesses both magnitude and phase, unlike resistance, which has only magnitude. When a circuit is driven with direct current (DC), there is no distinction between impedance and resistance; the latter can be thought of as impedance with zero phase angle."^^rdf:HTML ; +. + + + rdfs:label "Massieu Function"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "The Massieu function, \\(\\Psi\\), is defined as: \\(\\Psi = \\Psi (X_1, \\dots , X_i, Y_{i+1}, \\dots , Y_r )\\), where for every system with degree of freedom \\(r\\) one may choose \\(r\\) variables, e.g. , to define a coordinate system, where \\(X\\) and \\(Y\\) are extensive and intensive variables, respectively, and where at least one extensive variable must be within this set in order to define the size of the system. The \\((r + 1)^{th}\\) variable,\\(\\Psi\\) , is then called the Massieu function."^^ ; +. + + + rdfs:label "Planck Function"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "The \\(\\textit{Planck function}\\) is used to compute the radiance emitted from objects that radiate like a perfect \"Black Body\". The inverse of the \\(\\textit{Planck Function}\\) is used to find the \\(\\textit{Brightness Temperature}\\) of an object. The precise formula for the Planck Function depends on whether the radiance is determined on a \\(\\textit{per unit wavelength}\\) or a \\(\\textit{per unit frequency}\\). In the ISO System of Quantities, \\(\\textit{Planck Function}\\) is defined by the formula: \\(Y = -G/T\\), where \\(G\\) is Gibbs Energy and \\(T\\) is thermodynamic temperature."^^ ; +. + + + rdfs:label "Specific Energy"@en ; + rdfs:seeAlso + , + , + , + , + , + , + , + , + ; + schema:description "\\(\\textbf{Specific Energy}\\) is defined as the energy per unit mass. Common metric units are \\(J/kg\\). It is an intensive property. Contrast this with energy, which is an extensive property. There are two main types of specific energy: potential energy and specific kinetic energy. Others are the \\(\\textbf{gray}\\) and \\(\\textbf{sievert}\\), which are measures for the absorption of radiation. The concept of specific energy applies to a particular or theoretical way of extracting useful energy from the material considered that is usually implied by context. These intensive properties are each symbolized by using the lower case letter of the symbol for the corresponding extensive property, which is symbolized by a capital letter. For example, the extensive thermodynamic property enthalpy is symbolized by \\(H\\); specific enthalpy is symbolized by \\(h\\)."^^ ; +. + + + rdfs:label "Specific Enthalpy"@en ; + rdfs:seeAlso + , + , + , + , + , + , + ; + schema:description "\\(\\textit{Specific Enthalpy}\\) is enthalpy per mass of substance involved. Specific enthalpy is denoted by a lower case h, with dimension of energy per mass (SI unit: joule/kg). In thermodynamics, \\(\\textit{enthalpy}\\) is the sum of the internal energy U and the product of pressure p and volume V of a system: \\(H = U + pV\\). The internal energy U and the work term pV have dimension of energy, in SI units this is joule; the extensive (linear in size) quantity H has the same dimension."^^ ; +. + + + rdfs:label "Specific Gibbs Energy"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "Energy has corresponding intensive (size-independent) properties for pure materials. A corresponding intensive property is "Specific Gibbs Energy}, which is \\textit{Gibbs Energy} per mass of substance involved. \\textit{Specific Gibbs Energy" is denoted by a lower case g, with dimension of energy per mass (SI unit: joule/kg)."^^rdf:HTML ; +. + + + rdfs:label "Specific Helmholtz Energy"@en ; + rdfs:seeAlso + , + , + , + , + , + ; + schema:description "Energy has corresponding intensive (size-independent) properties for pure materials. A corresponding intensive property is \\(\\textit{Specific Helmholtz Energy}\\), which is \\(\\textit{Helmholz Energy}\\) per mass of substance involved.\\( \\textit{Specific Helmholz Energy}\\) is denoted by a lower case u, with dimension of energy per mass (SI unit: joule/kg)."^^ ; +. + + + rdfs:label "Specific Internal Energy"@en ; + rdfs:seeAlso + , + , + , + , + , + , + ; + schema:description "Energy has corresponding intensive (size-independent) properties for pure materials. A corresponding intensive property is specific internal energy, which is energy per mass of substance involved. Specific internal energy is denoted by a lower case u, with dimension of energy per mass (SI unit: joule/kg)."^^rdf:HTML ; +. + + + rdfs:label + "حقل مغناطيسي"@ar , + "Magnetické pole"@cs , + "magnetische Feldstärke"@de , + "magnetic field strength"@en , + "intensidad de campo magnético"@es , + "شدت میدان مغناطیسی"@fa , + "intensité de champ magnétique"@fr , + "intensità di campo magnetico"@it , + "磁場"@ja , + "Kekuatan medan magnetik"@ms , + "pole magnetyczne"@pl , + "intensidade de campo magnético"@pt , + "Câmp magnetic"@ro , + "Магнитное поле"@ru , + "jakost magnetnega polja"@sl , + "Manyetik alan"@tr , + "磁場"@zh ; + schema:description "\\(\\textbf{Magnetic Field Strength}\\) is a vector quantity obtained at a given point by subtracting the magnetization \\(M\\) from the magnetic flux density \\(B\\) divided by the magnetic constant \\(\\mu_0\\). The magnetic field strength is related to the total current density \\(J_{tot}\\) via: \\(\\text{rot} H = J_{tot}\\)."^^ ; +. + diff --git a/prez/reference_data/annotations/qudt-annotations.ttl b/prez/reference_data/annotations/qudt-annotations.ttl new file mode 100644 index 00000000..dcefe5f9 --- /dev/null +++ b/prez/reference_data/annotations/qudt-annotations.ttl @@ -0,0 +1,1366 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX schema: +PREFIX xsd: + + + rdfs:label "QUDT Schema - Version 2.1.27" ; +. + + + rdfs:label "Quantity Kind (abstract)" ; +. + + + rdfs:label "Angle unit" ; + schema:description "All units relating to specification of angles. " ; +. + + + rdfs:label "QUDT Aspect" ; + schema:description "An aspect is an abstract type class that defines properties that can be reused."^^rdf:HTML ; +. + + + rdfs:label "Aspect Class" ; +. + + + rdfs:label "Base Dimension Magnitude" ; + schema:description """

A Dimension expresses a magnitude for a base quantiy kind such as mass, length and time.

+

DEPRECATED - each exponent is expressed as a property. Keep until a validaiton of this has been done.

"""^^rdf:HTML ; +. + + + rdfs:label "Big Endian" ; +. + + + rdfs:label "Binary Prefix" ; + schema:description "A Binary Prefix is a prefix for multiples of units in data processing, data transmission, and digital information, notably the bit and the byte, to indicate multiplication by a power of 2." ; +. + + + rdfs:label "Bit Encoding" ; +. + + + rdfs:label "Bit Encoding" ; + schema:description "A bit encoding is a correspondence between the two possible values of a bit, 0 or 1, and some interpretation. For example, in a boolean encoding, a bit denotes a truth value, where 0 corresponds to False and 1 corresponds to True." ; +. + + + rdfs:label "Boolean Encoding" ; +. + + + rdfs:label "Boolean encoding type" ; +. + + + rdfs:label "Byte Encoding" ; + schema:description "This class contains the various ways that information may be encoded into bytes." ; +. + + + rdfs:label "Countably Infinite Cardinality Type" ; + schema:description "A set of numbers is called countably infinite if there is a way to enumerate them. Formally this is done with a bijection function that associates each number in the set with exactly one of the positive integers. The set of all fractions is also countably infinite. In other words, any set \\(X\\) that has the same cardinality as the set of the natural numbers, or \\(| X | \\; = \\; | \\mathbb N | \\; = \\; \\aleph0\\), is said to be a countably infinite set."^^ ; +. + + + rdfs:label "Finite Cardinality Type" ; + schema:description "Any set \\(X\\) with cardinality less than that of the natural numbers, or \\(| X | \\\\; < \\; | \\\\mathbb N | \\), is said to be a finite set."^^ ; +. + + + rdfs:label "Uncountable Cardinality Type" ; + schema:description "Any set with cardinality greater than that of the natural numbers, or \\(| X | \\; > \\; | \\mathbb N | \\), for example \\(| R| \\; = \\; c \\; > |\\mathbb N |\\), is said to be uncountable."^^ ; +. + + + rdfs:label "Cardinality Type" ; + schema:description "In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set \\(A = {2, 4, 6}\\) contains 3 elements, and therefore \\(A\\) has a cardinality of 3. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers."^^ ; +. + + + rdfs:label "Char Encoding" ; + schema:description "7 bits of 1 octet" ; +. + + + rdfs:label "Char Encoding Type" ; + schema:description "The class of all character encoding schemes, each of which defines a rule or algorithm for encoding character data as a sequence of bits or bytes." ; +. + + + rdfs:label "Citation" ; + schema:description "Provides a simple way of making citations."^^rdf:HTML ; +. + + + rdfs:label "Comment" ; +. + + + rdfs:label "QUDT Concept" ; + schema:description "The root class for all QUDT concepts."^^rdf:HTML ; +. + + + rdfs:label "Constant value" ; + schema:description "Used to specify the values of a constant."^^rdf:HTML ; +. + + + rdfs:label "Counting Unit" ; + schema:description "Used for all units that express counts. Examples are Atomic Number, Number, Number per Year, Percent and Sample per Second."^^rdf:HTML ; +. + + + rdfs:label "Currency Unit" ; + schema:description + "Currency Units have their own subclass of unit because: (a) they have additonal properites such as 'country' and (b) their URIs do not conform to the same rules as other units."^^rdf:HTML , + "Used for all units that express currency."^^rdf:HTML ; +. + + + rdfs:label "Data Encoding" ; + schema:description "

Data Encoding expresses the properties that specify how data is represented at the bit and byte level. These properties are applicable to describing raw data.

"^^rdf:HTML ; +. + + + rdfs:label "QUDT Datatype" ; + schema:description "A data type is a definition of a set of values (for example, \"all integers between 0 and 10\"), and the allowable operations on those values; the meaning of the data; and the way values of that type can be stored. Some types are primitive - built-in to the language, with no visible internal structure - e.g. Boolean; others are composite - constructed from one or more other types (of either kind) - e.g. lists, arrays, structures, unions. Object-oriented programming extends this with classes which encapsulate both the structure of a type and the operations that can be performed on it. Some languages provide strong typing, others allow implicit type conversion and/or explicit type conversion." ; +. + + + rdfs:label "Date Time String Encoding Type" ; + schema:description "Date Time encodings are logical encodings for expressing date/time quantities as strings by applying unambiguous formatting and parsing rules." ; +. + + + rdfs:label "Decimal Prefix" ; + schema:description "A Decimal Prefix is a prefix for multiples of units that are powers of 10." ; +. + + + rdfs:label "Derived Unit" ; + schema:description "A DerivedUnit is a type specification for units that are derived from other units."^^rdf:HTML ; +. + + + rdfs:label "Dimensionless Unit" ; + schema:description "A Dimensionless Unit is a quantity for which all the exponents of the factors corresponding to the base quantities in its quantity dimension are zero."^^rdf:HTML ; +. + + + rdfs:label "Discipline" ; +. + + + rdfs:label "Single Precision Real Encoding" ; +. + + + rdfs:label "Encoding" ; + schema:description "An encoding is a rule or algorithm that is used to convert data from a native, or unspecified form into a specific form that satisfies the encoding rules. Examples of encodings include character encodings, such as UTF-8." ; +. + + + rdfs:label "Endian Type" ; +. + + + rdfs:label "Enumerated Quantity" ; +. + + + rdfs:label "Enumerated Value" ; + schema:description """

This class is for all enumerated and/or coded values. For example, it contains the dimension objects that are the basis elements in some abstract vector space associated with a quantity kind system. Another use is for the base dimensions for quantity systems. Each quantity kind system that defines a base set has a corresponding ordered enumeration whose elements are the dimension objects for the base quantity kinds. The order of the dimensions in the enumeration determines the canonical order of the basis elements in the corresponding abstract vector space.

+ +

An enumeration is a set of literals from which a single value is selected. Each literal can have a tag as an integer within a standard encoding appropriate to the range of integer values. Consistency of enumeration types will allow them, and the enumerated values, to be referred to unambiguously either through symbolic name or encoding. Enumerated values are also controlled vocabularies and as such need to be standardized. Without this consistency enumeration literals can be stated differently and result in data conflicts and misinterpretations.

+ +

The tags are a set of positive whole numbers, not necessarily contiguous and having no numerical significance, each corresponding to the associated literal identifier. An order attribute can also be given on the enumeration elements. An enumeration can itself be a member of an enumeration. This allows enumerations to be enumerated in a selection. Enumerations are also subclasses of Scalar Datatype. This allows them to be used as the reference of a datatype specification.

"""^^rdf:HTML ; +. + + + rdfs:label "Enumeration" ; + schema:description """

An enumeration is a set of literals from which a single value is selected. Each literal can have a tag as an integer within a standard encoding appropriate to the range of integer values. Consistency of enumeration types will allow them, and the enumerated values, to be referred to unambiguously either through symbolic name or encoding. Enumerated values are also controlled vocabularies and as such need to be standardized. Without this consistency enumeration literals can be stated differently and result in data conflicts and misinterpretations.

+ +

The tags are a set of positive whole numbers, not necessarily contiguous and having no numerical significance, each corresponding to the associated literal identifier. An order attribute can also be given on the enumeration elements. An enumeration can itself be a member of an enumeration. This allows enumerations to be enumerated in a selection. Enumerations are also subclasses of Scalar Datatype. This allows them to be used as the reference of a datatype specification.

"""^^rdf:HTML ; +. + + + rdfs:label "Enumeration scale" ; +. + + + rdfs:label "Figure" ; +. + + + rdfs:label "Floating Point Encoding" ; + schema:description "A \"Encoding\" with the following instance(s): \"Double Precision Encoding\", \"Single Precision Real Encoding\"." ; +. + + + rdfs:label "IEEE 754 1985 Real Encoding" ; +. + + + rdfs:label "ISO 8601 UTC Date Time - Basic Format" ; +. + + + rdfs:label "Integer Encoding" ; + schema:description "The encoding scheme for integer types" ; +. + + + rdfs:label "Latex String" ; + schema:description "A type of string in which some characters may be wrapped with '\\(' and '\\) characters for LaTeX rendering." ; +. + + + rdfs:label "Little Endian" ; +. + + + rdfs:label "Logarithmic Unit" ; + schema:description "Logarithmic units are abstract mathematical units that can be used to express any quantities (physical or mathematical) that are defined on a logarithmic scale, that is, as being proportional to the value of a logarithm function. Examples of logarithmic units include common units of information and entropy, such as the bit, and the byte, as well as units of relative signal strength magnitude such as the decibel."^^rdf:HTML ; +. + + + rdfs:label "Long Unsigned Integer Encoding" ; +. + + + rdfs:label "Maths Function Type" ; +. + + + rdfs:label "NIST SP~811 Comment" ; + schema:description "National Institute of Standards and Technology (NIST) Special Publication 811 Comments on some quantities and their units" ; +. + + + rdfs:label "Numeric union" ; +. + + + rdfs:label "OCTET Encoding" ; +. + + + rdfs:label "Ordered type" ; + schema:description "Describes how a data or information structure is ordered." ; +. + + + rdfs:label "Organization" ; +. + + + rdfs:label "Partially Ordered" ; +. + + + rdfs:label "Physical Constant" ; + schema:description "A physical constant is a physical quantity that is generally believed to be both universal in nature and constant in time. It can be contrasted with a mathematical constant, which is a fixed numerical value but does not directly involve any physical measurement. There are many physical constants in science, some of the most widely recognized being the speed of light in vacuum c, Newton's gravitational constant G, Planck's constant h, the electric permittivity of free space ε0, and the elementary charge e. Physical constants can take many dimensional forms, or may be dimensionless depending on the system of quantities and units used."^^rdf:HTML ; +. + + + rdfs:label "Plane Angle Unit" ; +. + + + rdfs:label "Prefix" ; +. + + + rdfs:label "Quantifiable" ; + schema:description "

Quantifiable ascribes to some thing the capability of being measured, observed, or counted.

"^^rdf:HTML ; +. + + + rdfs:label "Quantity" ; + schema:description """

A quantity is the measurement of an observable property of a particular object, event, or physical system. A quantity is always associated with the context of measurement (i.e. the thing measured, the measured value, the accuracy of measurement, etc.) whereas the underlying quantity kind is independent of any particular measurement. Thus, length is a quantity kind while the height of a rocket is a specific quantity of length; its magnitude that may be expressed in meters, feet, inches, etc. Examples of physical quantities include physical constants, such as the speed of light in a vacuum, Planck's constant, the electric permittivity of free space, and the fine structure constant.

+ +

In other words, quantities are quantifiable aspects of the world, such as the duration of a movie, the distance between two points, velocity of a car, the pressure of the atmosphere, and a person's weight; and units are used to describe their numerical measure. + +

Many quantity kinds are related to each other by various physical laws, and as a result, the associated units of some quantity kinds can be expressed as products (or ratios) of powers of other quantity kinds (e.g., momentum is mass times velocity and velocity is defined as distance divided by time). In this way, some quantities can be calculated from other measured quantities using their associations to the quantity kinds in these expressions. These quantity kind relationships are also discussed in dimensional analysis. Those that cannot be so expressed can be regarded as "fundamental" in this sense.

+

A quantity is distinguished from a "quantity kind" in that the former carries a value and the latter is a type specifier.

"""^^rdf:HTML ; +. + + + rdfs:label "Quantity Kind" ; + schema:description "A Quantity Kind is any observable property that can be measured and quantified numerically. Familiar examples include physical properties such as length, mass, time, force, energy, power, electric charge, etc. Less familiar examples include currency, interest rate, price to earning ratio, and information capacity."^^rdf:HTML ; +. + + + rdfs:label "Quantity Kind Dimension Vector" ; + schema:description """

A Quantity Kind Dimension Vector describes the dimensionality of a quantity kind in the context of a system of units. In the SI system of units, the dimensions of a quantity kind are expressed as a product of the basic physical dimensions mass (\\(M\\)), length (\\(L\\)), time (\\(T\\)) current (\\(I\\)), amount of substance (\\(N\\)), luminous intensity (\\(J\\)) and absolute temperature (\\(\\theta\\)) as \\(dim \\, Q = L^{\\alpha} \\, M^{\\beta} \\, T^{\\gamma} \\, I ^{\\delta} \\, \\theta ^{\\epsilon} \\, N^{\\eta} \\, J ^{\\nu}\\).

+ +

The rational powers of the dimensional exponents, \\(\\alpha, \\, \\beta, \\, \\gamma, \\, \\delta, \\, \\epsilon, \\, \\eta, \\, \\nu\\), are positive, negative, or zero.

+ +

For example, the dimension of the physical quantity kind \\(\\it{speed}\\) is \\(\\boxed{length/time}\\), \\(L/T\\) or \\(LT^{-1}\\), and the dimension of the physical quantity kind force is \\(\\boxed{mass \\times acceleration}\\) or \\(\\boxed{mass \\times (length/time)/time}\\), \\(ML/T^2\\) or \\(MLT^{-2}\\) respectively.

"""^^rdf:HTML ; +. + + + rdfs:label "CGS Dimension vector" ; + schema:description "A CGS Dimension Vector is used to specify the dimensions for a C.G.S. quantity kind."^^rdf:HTML ; +. + + + rdfs:label "CGS EMU Dimension vector" ; + schema:description "A CGS EMU Dimension Vector is used to specify the dimensions for EMU C.G.S. quantity kind."^^rdf:HTML ; +. + + + rdfs:label "CGS ESU Dimension vector" ; + schema:description "A CGS ESU Dimension Vector is used to specify the dimensions for ESU C.G.S. quantity kind."^^rdf:HTML ; +. + + + rdfs:label "CGS GAUSS Dimension vector" ; + schema:description "A CGS GAUSS Dimension Vector is used to specify the dimensions for Gaussioan C.G.S. quantity kind."^^rdf:HTML ; +. + + + rdfs:label "CGS LH Dimension vector" ; + schema:description "A CGS LH Dimension Vector is used to specify the dimensions for Lorentz-Heaviside C.G.S. quantity kind."^^rdf:HTML ; +. + + + rdfs:label "ISO Dimension vector" ; +. + + + rdfs:label "Imperial dimension vector" ; +. + + + rdfs:label "Quantity Kind Dimension vector (SI)" ; +. + + + rdfs:label "Quantity type" ; + schema:description "\\(\\textit{Quantity Type}\\) is an enumeration of quanity kinds. It specializes \\(\\boxed{dtype:EnumeratedValue}\\) by constrinaing \\(\\boxed{dtype:value}\\) to instances of \\(\\boxed{qudt:QuantityKind}\\)."^^ ; +. + + + rdfs:label "Quantity value" ; + schema:description "A Quantity Value expresses the magnitude and kind of a quantity and is given by the product of a numerical value n and a unit of measure U. The number multiplying the unit is referred to as the numerical value of the quantity expressed in that unit. Refer to NIST SP 811 section 7 for more on quantity values."^^rdf:HTML ; +. + + + rdfs:label "Rule" ; +. + + + rdfs:label "Rule Type" ; +. + + + rdfs:label "Signed" ; +. + + + rdfs:label "Scalar Datatype" ; + schema:description "Scalar data types are those that have a single value. The permissible values are defined over a domain that may be integers, float, character or boolean. Often a scalar data type is referred to as a primitive data type." ; +. + + + rdfs:label "Scale" ; + schema:description "Scales (also called "scales of measurement" or "levels of measurement") are expressions that typically refer to the theory of scale types."^^rdf:HTML ; +. + + + rdfs:label "Scale type" ; +. + + + rdfs:label "Short Signed Integer Encoding" ; +. + + + rdfs:label "Short Unsigned Integer Encoding" ; +. + + + rdfs:label "Signed Integer Encoding" ; +. + + + rdfs:label "Signedness type" ; + schema:description "Specifics whether a value should be signed or unsigned." ; +. + + + rdfs:label "Single Precision Real Encoding" ; +. + + + rdfs:label "Solid Angle Unit" ; + schema:description "The solid angle subtended by a surface S is defined as the surface area of a unit sphere covered by the surface S's projection onto the sphere. A solid angle is related to the surface of a sphere in the same way an ordinary angle is related to the circumference of a circle. Since the total surface area of the unit sphere is 4*pi, the measure of solid angle will always be between 0 and 4*pi." ; +. + + + rdfs:label "Statement" ; +. + + + rdfs:label "String Encoding Type" ; + schema:description "A \"Encoding\" with the following instance(s): \"UTF-16 String\", \"UTF-8 Encoding\"." ; +. + + + rdfs:label "Structured Data Type" ; + schema:description "A \"Structured Datatype\", in contrast to scalar data types, is used to characterize classes of more complex data structures, such as linked or indexed lists, trees, ordered trees, and multi-dimensional file formats." ; +. + + + rdfs:label "Symbol" ; +. + + + rdfs:label "System of Quantity Kinds" ; + schema:description "A system of quantity kinds is a set of one or more quantity kinds together with a set of zero or more algebraic equations that define relationships between quantity kinds in the set. In the physical sciences, the equations relating quantity kinds are typically physical laws and definitional relations, and constants of proportionality. Examples include Newton’s First Law of Motion, Coulomb’s Law, and the definition of velocity as the instantaneous change in position. In almost all cases, the system identifies a subset of base quantity kinds. The base set is chosen so that all other quantity kinds of interest can be derived from the base quantity kinds and the algebraic equations. If the unit system is explicitly associated with a quantity kind system, then the unit system must define at least one unit for each quantity kind. From a scientific point of view, the division of quantities into base quantities and derived quantities is a matter of convention."^^rdf:HTML ; +. + + + rdfs:label "System of Units" ; + schema:description "A system of units is a set of units which are chosen as the reference scales for some set of quantity kinds together with the definitions of each unit. Units may be defined by experimental observation or by proportion to another unit not included in the system. If the unit system is explicitly associated with a quantity kind system, then the unit system must define at least one unit for each quantity kind."^^rdf:HTML ; +. + + + rdfs:label "Totally Ordered" ; +. + + + rdfs:label "Transform type" ; +. + + + rdfs:label "case-insensitive UCUM code" ; + schema:description "Lexical pattern for the case-insensitive version of UCUM code" ; +. + + + rdfs:label "case-insensitive UCUM term" ; + schema:description "Lexical pattern for the terminal symbols in the case-insensitive version of UCUM code" ; +. + + + rdfs:label "case-sensitive UCUM code" ; + rdfs:seeAlso ; + schema:description "Lexical pattern for the case-sensitive version of UCUM code" ; +. + + + rdfs:label "case-sensitive UCUM terminal" ; + rdfs:seeAlso ; + schema:description "Lexical pattern for the terminal symbols in the case-sensitive version of UCUM code" ; +. + + + rdfs:label "Unsigned" ; +. + + + rdfs:label "UTF-16 String" ; +. + + + rdfs:label "UTF-8 Encoding" ; +. + + + rdfs:label "Unit" ; + schema:description "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension). For example, the meter is a quantity of length that has been rigorously defined and standardized by the BIPM (International Board of Weights and Measures). Any measurement of the length can be expressed as a number multiplied by the unit meter. More formally, the value of a physical quantity Q with respect to a unit (U) is expressed as the scalar multiple of a real number (n) and U, as \\(Q = nU\\)."^^ ; +. + + + rdfs:label "Unordered" ; +. + + + rdfs:label "Unsigned Integer Encoding" ; +. + + + rdfs:label "User Quantity Kind" ; +. + + + rdfs:label "Verifiable" ; + schema:description "An aspect class that holds properties that provide external knowledge and specifications of a given resource." ; +. + + + rdfs:label "Wikipedia" ; +. + + + rdfs:label "abbreviation" ; + schema:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of abase unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols. For example, sq ft means square foot, and cu ft means cubic foot."^^rdf:HTML ; +. + + + rdfs:label "acronym" ; +. + + + rdfs:label "allowed pattern" ; +. + + + rdfs:label "allowed unit of system" ; + schema:description "This property relates a unit of measure with a unit system that does not define the unit, but allows its use within the system. An allowed unit must be convertible to some dimensionally eqiuvalent unit that is defined by the system."^^rdf:HTML ; +. + + + rdfs:label "ANSI SQL Name" ; +. + + + rdfs:label "applicable CGS unit" ; +. + + + rdfs:label "applicable ISO unit" ; +. + + + rdfs:label "applicable Imperial unit" ; +. + + + rdfs:label "applicable physical constant" ; +. + + + rdfs:label "applicable Planck unit" ; +. + + + rdfs:label "applicable SI unit" ; +. + + + rdfs:label "applicable system" ; + schema:description "This property relates a unit of measure with a unit system that may or may not define the unit, but within which the unit is compatible."^^rdf:HTML ; +. + + + rdfs:label "applicable US Customary unit" ; +. + + + rdfs:label "applicable unit" ; +. + + + rdfs:label "base dimension enumeration" ; + schema:description "This property associates a system of quantities with an enumeration that enumerates the base dimensions of the system in canonical order."^^rdf:HTML ; +. + + + rdfs:label "is base unit of system" ; + schema:description "This property relates a unit of measure to the system of units in which it is defined as a base unit for the system. The base units of a system are used to define the derived units of the system by expressing the derived units as products of the base units raised to a rational power."^^rdf:HTML ; +. + + + rdfs:label "basis" ; +. + + + rdfs:label "belongs to system of quantities" ; +. + + + rdfs:label "bit order" ; +. + + + rdfs:label "bits" ; +. + + + rdfs:label "bounded" ; +. + + + rdfs:label "byte order" ; + schema:description "Byte order is an enumeration of two values: 'Big Endian' and 'Little Endian' and is used to denote whether the most signiticant byte is either first or last, respectively." ; +. + + + rdfs:label "bytes" ; +. + + + rdfs:label "C Language name" ; + schema:description "Datatype name in the C programming language" ; +. + + + rdfs:label "cardinality" ; +. + + + rdfs:label "categorized as" ; +. + + + rdfs:label "citation" ; +. + + + rdfs:label "code" ; + schema:description "A code is a string that uniquely identifies a QUDT concept. The use of this property has been deprecated."^^rdf:HTML ; +. + + + rdfs:label "is coherent unit of system" ; + schema:description "A coherent unit of measurement for a unit system is a defined unit that may be expressed as a product of powers of the system's base units with the proportionality factor of one. A system of units is coherent with respect to a system of quantities and equations if the system of units is chosen in such a way that the equations between numerical values have exactly the same form (including the numerical factors) as the corresponding equations between the quantities. For example, the 'newton' and the 'joule'. These two are, respectively, the force that causes one kilogram to be accelerated at 1 metre per second per second, and the work done by 1 newton acting over 1 metre. Being coherent refers to this consistent use of 1. In the old c.g.s. system , with its base units the centimetre and the gram, the corresponding coherent units were the dyne and the erg, respectively the force that causes 1 gram to be accelerated at 1 centimetre per second per second, and the work done by 1 dyne acting over 1 centimetre. So \\(1 newton = 10^5\\,dyne\\), \\(1 joule = 10^7\\,erg\\), making each of the four compatible in a decimal sense within its respective other system, but not coherent therein."^^ ; +. + + + rdfs:label "coherent unit system" ; + schema:description "

A system of units is coherent with respect to a system of quantities and equations if the system of units is chosen in such a way that the equations between numerical values have exactly the same form (including the numerical factors) as the corresponding equations between the quantities. In such a coherent system, no numerical factor other than the number 1 ever occurs in the expressions for the derived units in terms of the base units. For example, the \\(newton\\) and the \\(joule\\). These two are, respectively, the force that causes one kilogram to be accelerated at 1 metre per (1) second per (1) second, and the work done by 1 newton acting over 1 metre. Being coherent refers to this consistent use of 1. In the old c.g.s. system , with its base units the centimetre and the gram, the corresponding coherent units were the dyne and the erg, respectively the force that causes 1 gram to be accelerated at 1 centimetre per (1) second per (1) second, and the work done by 1 dyne acting over 1 centimetre. So \\(1\\,newton = 10^5 dyne\\), \\(1 joule = 10^7 erg\\), making each of the four compatible in a decimal sense within its respective other system, but not coherent therein.

"^^ ; +. + + + rdfs:label "conversion coefficient" ; +. + + + rdfs:label "conversion multiplier" ; +. + + + rdfs:label "conversion offset" ; +. + + + rdfs:label "currency code" ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI ; + schema:description "Alphabetic Currency Code as defined by ISO 4217. For example, US Dollar has the code 'USD'."^^rdf:HTML ; +. + + + rdfs:label "currency exponent" ; + schema:description "The currency exponent indicates the number of decimal places between a major currency unit and its minor currency unit. For example, the US dollar is the major currency unit of the United States, and the US cent is the minor currency unit. Since one cent is 1/100 of a dollar, the US dollar has a currency exponent of 2. However, the Japanese Yen has no minor currency units, so the yen has a currency exponent of 0."^^rdf:HTML ; +. + + + rdfs:label "currency number" ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI ; + schema:description "Numeric currency Code as defined by ISO 4217. For example, US Dollar has the number 840."^^rdf:HTML ; +. + + + rdfs:label "data encoding" ; +. + + + rdfs:label "data structure" ; +. + + + rdfs:label "datatype" ; +. + + + rdfs:label "dbpedia match" ; +. + + + rdfs:label "default" ; + schema:description "The default element in an enumeration"^^rdf:HTML ; +. + + + rdfs:label "defined unit of system" ; + schema:description "This property relates a unit of measure with the unit system that defines the unit."^^rdf:HTML ; +. + + + rdfs:label "denominator dimension vector" ; +. + + + rdfs:label "deprecated" ; +. + + + rdfs:label "is coherent derived unit of system" ; + schema:description "This property relates a unit of measure to the unit system in which the unit is derived from the system's base units with a proportionality constant of one."^^rdf:HTML ; +. + + + rdfs:label "is non-coherent derived unit of system" ; + schema:description "This property relates a unit of measure to the unit system in which the unit is derived from the system's base units without proportionality constant of one."^^rdf:HTML ; +. + + + rdfs:label "derived quantity kind of system" ; +. + + + rdfs:label "is derived unit of system" ; + schema:description "This property relates a unit of measure to the system of units in which it is defined as a derived unit. That is, the derived unit is defined as a product of the base units for the system raised to some rational power."^^rdf:HTML ; +. + + + rdfs:label "dimension exponent" ; +. + + + rdfs:label "dimension exponent for amount of substance" ; +. + + + rdfs:label "dimension exponent for electric current" ; +. + + + rdfs:label "dimension exponent for length" ; +. + + + rdfs:label "dimension exponent for luminous intensity" ; +. + + + rdfs:label "dimension exponent for mass" ; +. + + + rdfs:label "dimension exponent for thermodynamic temperature" ; +. + + + rdfs:label "dimension exponent for time" ; +. + + + rdfs:label "dimension inverse" ; +. + + + rdfs:label "dimension vector for SI" ; +. + + + rdfs:label "dimensionless exponent" ; +. + + + rdfs:label "element" ; + schema:description "An element of an enumeration"^^rdf:HTML ; +. + + + rdfs:label "element kind" ; +. + + + rdfs:label "element type" ; +. + + + rdfs:label "encoding" ; +. + + + rdfs:label "enumerated value" ; +. + + + rdfs:label "enumeration" ; +. + + + rdfs:label "exact constant" ; +. + + + rdfs:label "exact match" ; +. + + + rdfs:label "example" ; + schema:description "The 'qudt:example' property is used to annotate an instance of a class with a reference to a concept that is an example. The type of this property is 'rdf:Property'. This allows both scalar and object ranges."^^rdf:HTML ; +. + + + rdfs:label "expression" ; + schema:description "An 'expression' is a finite combination of symbols that are well-formed according to rules that apply to units of measure, quantity kinds and their dimensions."^^rdf:HTML ; +. + + + rdfs:label "field code" ; +. + + + rdfs:label "figure" ; + schema:description "Provides a link to an image."^^rdf:HTML ; +. + + + rdfs:label "figure caption" ; +. + + + rdfs:label "figure label" ; +. + + + rdfs:label "float percentage" ; +. + + + rdfs:label "generalization" ; + schema:description """This property relates a quantity kind to its generalization. A quantity kind, PARENT, is a generalization of the quantity kind CHILD only if: + +1. PARENT and CHILD have the same dimensions in every system of quantities; +2. Every unit that is a measure of quantities of kind CHILD is also a valid measure of quantities of kind PARENT."""^^rdf:HTML ; +. + + + rdfs:label "guidance" ; +. + + + rdfs:label "allowed unit" ; + schema:description "This property relates a unit system with a unit of measure that is not defined by or part of the system, but is allowed for use within the system. An allowed unit must be convertible to some dimensionally eqiuvalent unit that is defined by the system."^^rdf:HTML ; +. + + + rdfs:label "has base quantity kind" ; +. + + + rdfs:label "base unit" ; + schema:description "This property relates a system of units to a base unit defined within the system. The base units of a system are used to define the derived units of the system by expressing the derived units as products of the base units raised to a rational power."^^rdf:HTML ; +. + + + rdfs:label "coherent unit" ; + schema:description "A coherent unit of measurement for a unit system is a defined unit that may be expressed as a product of powers of the system's base units with the proportionality factor of one."^^rdf:HTML ; +. + + + rdfs:label "defined unit" ; + schema:description "This property relates a unit system with a unit of measure that is defined by the system."^^rdf:HTML ; +. + + + rdfs:label "has quantity kind dimension vector denominator part" ; +. + + + rdfs:label "derived coherent unit" ; +. + + + rdfs:label "has coherent derived unit" ; +. + + + rdfs:label "derived unit" ; + schema:description "This property relates a system of units to a unit of measure that is defined within the system in terms of the base units for the system. That is, the derived unit is defined as a product of the base units for the system raised to some rational power."^^rdf:HTML ; +. + + + rdfs:label "has dimension" ; +. + + + rdfs:label "dimension expression" ; +. + + + rdfs:label "has dimension vector" ; +. + + + rdfs:label "has non-coherent unit" ; + schema:description "A coherent unit of measurement for a unit system is a defined unit that may be expressed as a product of powers of the system's base units with the proportionality factor of one."^^rdf:HTML ; +. + + + rdfs:label "has quantity kind dimension vector numerator part" ; +. + + + rdfs:label "prefix unit" ; +. + + + rdfs:label "has quantity" ; +. + + + rdfs:label "has quantity kind" ; +. + + + rdfs:label "has reference quantity kind" ; +. + + + rdfs:label "has rule" ; +. + + + rdfs:label "has unit" ; + schema:description "This property relates a system of units with a unit of measure that is either a) defined by the system, or b) accepted for use by the system and is convertible to a unit of equivalent dimension that is defined by the system. Systems of units may distinguish between base and derived units. Base units are the units which measure the base quantities for the corresponding system of quantities. The base units are used to define units for all other quantities as products of powers of the base units. Such units are called derived units for the system."^^rdf:HTML ; +. + + + rdfs:label "has unit system" ; +. + + + rdfs:label "has vocabulary" ; +. + + + rdfs:label "height" ; +. + + + rdfs:label "qudt id" ; + schema:description "The "qudt:id" is an identifier string that uniquely identifies a QUDT concept. The identifier is constructed using a prefix. For example, units are coded using the pattern: "UCCCENNNN", where "CCC" is a numeric code or a category and "NNNN" is a digit string for a member element of that category. For scaled units there may be an addition field that has the format "QNN" where "NN" is a digit string representing an exponent power, and "Q" is a qualifier that indicates with the code "P" that the power is a positive decimal exponent, or the code "N" for a negative decimal exponent, or the code "B" for binary positive exponents."^^rdf:HTML ; +. + + + rdfs:label "iec-61360 code" ; +. + + + rdfs:label "image" ; +. + + + rdfs:label "image location" ; +. + + + rdfs:label "informative reference" ; + schema:description "Provides a way to reference a source that provided useful but non-normative information."^^rdf:HTML ; +. + + + rdfs:label "integer percentage" ; +. + + + rdfs:label "is base quantity kind of system" ; +. + + + rdfs:label "is Delta Quantity" ; + schema:description "This property is used to identify a Quantity instance that is a measure of a change, or interval, of some property, rather than a measure of its absolute value. This is important for measurements such as temperature differences where the conversion among units would be calculated differently because of offsets." ; +. + + + rdfs:label "is dimension in system" ; +. + + + rdfs:label "is metric unit" ; +. + + + rdfs:label "is quantity kind of" ; +. + + + rdfs:label "is unit of system" ; + schema:description "This property relates a unit of measure with a system of units that either a) defines the unit or b) allows the unit to be used within the system."^^rdf:HTML ; +. + + + rdfs:label "normative reference (ISO)" ; + schema:description "Provides a way to reference the ISO unit definition."^^rdf:HTML ; +. + + + rdfs:label "java name" ; +. + + + rdfs:label "Javascript name" ; +. + + + rdfs:label "landscape" ; +. + + + rdfs:label "latex definition" ; +. + + + rdfs:label "latex symbol" ; + schema:description "The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. For example, the symbol for an Ohm is \\(ohm\\). This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm."^^ ; +. + + + rdfs:label "length" ; +. + + + rdfs:label "literal" ; +. + + + rdfs:label "lower bound" ; +. + + + rdfs:label "math definition" ; +. + + + rdfs:label "mathML definition" ; +. + + + rdfs:label "matlab name" ; +. + + + rdfs:label "max exclusive" ; + schema:description "maxExclusive is the exclusive upper bound of the value space for a datatype with the ordered property. The value of maxExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; +. + + + rdfs:label "max inclusive" ; + schema:description "maxInclusive is the inclusive upper bound of the value space for a datatype with the ordered property. The value of maxInclusive must be in the value space of the base type." ; +. + + + rdfs:label "Microsoft SQL Server name" ; +. + + + rdfs:label "min exclusive" ; + schema:description "minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; +. + + + rdfs:label "min inclusive" ; + schema:description "minInclusive is the inclusive lower bound of the value space for a datatype with the ordered property. The value of minInclusive must be in the value space of the base type." ; +. + + + rdfs:label "MySQL name" ; +. + + + rdfs:label "negative delta limit" ; + schema:description "A negative change limit between consecutive sample values for a parameter. The Negative Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined."^^rdf:HTML ; +. + + + rdfs:label "normative reference" ; + schema:description "Provides a way to reference information that is an authorative source providing a standard definition"^^rdf:HTML ; +. + + + rdfs:label "numerator dimension vector" ; +. + + + rdfs:label "numeric value" ; +. + + + rdfs:label "ODBC name" ; +. + + + rdfs:label "OLE DB name" ; + schema:description "OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using the Component Object Model (COM); it is otherwise unrelated to OLE. " ; +. + + + rdfs:label "om unit" ; +. + + + rdfs:label "online reference" ; +. + + + rdfs:label "ORACLE SQL name" ; +. + + + rdfs:label "order" ; +. + + + rdfs:label "ordered type" ; +. + + + rdfs:label "out of scope" ; +. + + + rdfs:label "permissible maths" ; +. + + + rdfs:label "permissible transformation" ; +. + + + rdfs:label "description (plain text)" ; + schema:description "A plain text description is used to provide a description with only simple ASCII characters for cases where LaTeX , HTML or other markup would not be appropriate."^^rdf:HTML ; +. + + + rdfs:label "Positive delta limit" ; + schema:description "A positive change limit between consecutive sample values for a parameter. The Positive Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined."^^rdf:HTML ; +. + + + rdfs:label "prefix" ; + schema:description "Associates a unit with the appropriate prefix, if any." ; +. + + + rdfs:label "prefix multiplier" ; +. + + + rdfs:label "protocol buffers name" ; +. + + + rdfs:label "python name" ; +. + + + rdfs:label "denominator dimension vector" ; +. + + + rdfs:label "numerator dimension vector" ; +. + + + rdfs:label "quantity" ; + schema:description "a property to relate an observable thing with a quantity (qud:Quantity)"^^rdf:HTML ; +. + + + rdfs:label "quantity value" ; +. + + + rdfs:label "rationale" ; +. + + + rdfs:label "rdfs datatype" ; +. + + + rdfs:label "reference" ; +. + + + rdfs:label "reference unit" ; +. + + + rdfs:label "relative standard uncertainty" ; + schema:description "The relative standard uncertainty of a measurement is the (absolute) standard uncertainty divided by the magnitude of the exact value."^^rdf:HTML ; +. + + + rdfs:label "relevant quantity kind" ; +. + + + rdfs:label "Relevant Unit" ; + schema:description "This property is used for qudt:Discipline instances to identify the Unit instances that are used within a given discipline." ; +. + + + rdfs:label "rule type" ; +. + + + rdfs:label "scale type" ; +. + + + rdfs:label "si units expression" ; +. + + + rdfs:label "specialization" ; + schema:description "This property relates a quantity kind to its specialization(s). For example, linear velocity and angular velocity are both specializations of velocity."^^rdf:HTML ; +. + + + rdfs:label "standard uncertainty" ; + schema:description "The standard uncertainty of a quantity is the estimated standard deviation of the mean taken from a series of measurements."^^rdf:HTML ; +. + + + rdfs:label "symbol" ; + schema:description "The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. For example, the symbol for an Ohm is \\(ohm\\). This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm."^^ ; +. + + + rdfs:label "system definition" ; +. + + + rdfs:label "system derived quantity kind" ; +. + + + rdfs:label "system dimension" ; +. + + + rdfs:label "ucum case-insensitive code" ; + schema:description "ucumCode associates a QUDT unit with a UCUM case-insensitive code."^^rdf:HTML ; +. + + + rdfs:label "ucum case-sensitive code" ; + schema:description "ucumCode associates a QUDT unit with with a UCUM case-sensitive code."^^rdf:HTML ; +. + + + rdfs:label "ucum code" ; + rdfs:seeAlso ; + schema:description "

ucumCode associates a QUDT unit with its UCUM code (case-sensitive).

In SHACL the values are derived from specific ucum properties using 'sh:values'.

"^^rdf:HTML ; +. + + + rdfs:label "udunits code" ; + schema:description "The UDUNITS package supports units of physical quantities. Its C library provides for arithmetic manipulation of units and for conversion of numeric values between compatible units. The package contains an extensive unit database, which is in XML format and user-extendable. The package also contains a command-line utility for investigating units and converting values."^^rdf:HTML ; +. + + + rdfs:label "unece common code" ; + schema:description "The UN/CEFACT Recommendation 20 provides three character alphabetic and alphanumeric codes for representing units of measurement for length, area, volume/capacity, mass (weight), time, and other quantities used in international trade. The codes are intended for use in manual and/or automated systems for the exchange of information between participants in international trade."^^rdf:HTML ; +. + + + rdfs:label "unit" ; + schema:description "A reference to the unit of measure of a quantity (variable or constant) of interest."^^rdf:HTML ; +. + + + rdfs:label "unit for" ; +. + + + rdfs:label "upper bound" ; +. + + + rdfs:label "url" ; +. + + + rdfs:label "value" ; + schema:description "A property to relate an observable thing with a value of any kind"^^rdf:HTML ; +. + + + rdfs:label "value for quantity" ; +. + + + rdfs:label "value union" ; + schema:description "A datatype that is the union of numeric xsd data types. \"numericUnion\" is equivalent to the xsd specification that uses an xsd:union of memberTypes=\"xsd:decimal xsd:double xsd:float xsd:integer\"." ; +. + + + rdfs:label "Vusal Basic name" ; +. + + + rdfs:label "vector magnitude" ; +. + + + rdfs:label "width" ; +. + + + rdfs:label "QUDT Schema Catalog Entry" ; +. + + + rdfs:label "superseded by" ; +. + + + rdfs:label "QUDT Schema - Version 2.1.27" ; + schema:description """

The QUDT, or "Quantity, Unit, Dimension and Type" schema defines the base classes properties, and restrictions used for modeling physical quantities, units of measure, and their dimensions in various measurement systems. The goal of the QUDT ontology is to provide a unified model of, measurable quantities, units for measuring different kinds of quantities, the numerical values of quantities in different units of measure and the data structures and data types used to store and manipulate these objects in software.

+ +

Except for unit prefixes, all units are specified in separate vocabularies. Descriptions are provided in both HTML and LaTeX formats. A quantity is a measure of an observable phenomenon, that, when associated with something, becomes a property of that thing; a particular object, event, or physical system.

+ +

A quantity has meaning in the context of a measurement (i.e. the thing measured, the measured value, the accuracy of measurement, etc.) whereas the underlying quantity kind is independent of any particular measurement. Thus, length is a quantity kind while the height of a rocket is a specific quantity of length; its magnitude that may be expressed in meters, feet, inches, etc. Or, as stated at Wikipedia, in the language of measurement, quantities are quantifiable aspects of the world, such as time, distance, velocity, mass, momentum, energy, and weight, and units are used to describe their measure. Many of these quantities are related to each other by various physical laws, and as a result the units of some of the quantities can be expressed as products (or ratios) of powers of other units (e.g., momentum is mass times velocity and velocity is measured in distance divided by time).

"""^^rdf:HTML ; +. + + + rdfs:label "QUDT" ; + schema:description "QUDT is a non-profit organization that governs the QUDT ontologies."^^rdf:HTML ; +. + + + rdfs:label "Interval scale" ; + rdfs:seeAlso + , + , + ; + schema:description + """

The interval type allows for the degree of difference between items, but not the ratio between them. Examples include temperature with the Celsius scale, which has two defined points (the freezing and boiling point of water at specific conditions) and then separated into 100 intervals, date when measured from an arbitrary epoch (such as AD), percentage such as a percentage return on a stock,[16] location in Cartesian coordinates, and direction measured in degrees from true or magnetic north. Ratios are not meaningful since 20 °C cannot be said to be "twice as hot" as 10 °C, nor can multiplication/division be carried out between any two dates directly. However, ratios of differences can be expressed; for example, one difference can be twice another. Interval type variables are sometimes also called "scaled variables", but the formal mathematical term is an affine space (in this case an affine line).

+

Characteristics: median, percentile & Monotonic increasing (order (<) & totally ordered set

"""^^rdf:HTML , + "median, percentile & Monotonic increasing (order (<)) & totally ordered set"^^rdf:HTML ; +. + + + rdfs:label "Nominal scale" ; + rdfs:seeAlso + , + , + ; + schema:description "A nominal scale differentiates between items or subjects based only on their names or (meta-)categories and other qualitative classifications they belong to; thus dichotomous data involves the construction of classifications as well as the classification of items. Discovery of an exception to a classification can be viewed as progress. Numbers may be used to represent the variables but the numbers do not have numerical value or relationship: For example, a Globally unique identifier. Examples of these classifications include gender, nationality, ethnicity, language, genre, style, biological species, and form. In a university one could also use hall of affiliation as an example."^^rdf:HTML ; +. + + + rdfs:label "Ordinal scale" ; + rdfs:seeAlso + , + , + ; + schema:description "The ordinal type allows for rank order (1st, 2nd, 3rd, etc.) by which data can be sorted, but still does not allow for relative degree of difference between them. Examples include, on one hand, dichotomous data with dichotomous (or dichotomized) values such as 'sick' vs. 'healthy' when measuring health, 'guilty' vs. 'innocent' when making judgments in courts, 'wrong/false' vs. 'right/true' when measuring truth value, and, on the other hand, non-dichotomous data consisting of a spectrum of values, such as 'completely agree', 'mostly agree', 'mostly disagree', 'completely disagree' when measuring opinion."^^rdf:HTML ; +. + + + rdfs:label "Ratio scale" ; + rdfs:seeAlso + , + , + ; + schema:description "The ratio type takes its name from the fact that measurement is the estimation of the ratio between a magnitude of a continuous quantity and a unit magnitude of the same kind (Michell, 1997, 1999). A ratio scale possesses a meaningful (unique and non-arbitrary) zero value. Most measurement in the physical sciences and engineering is done on ratio scales. Examples include mass, length, duration, plane angle, energy and electric charge. In contrast to interval scales, ratios are now meaningful because having a non-arbitrary zero point makes it meaningful to say, for example, that one object has "twice the length" of another (= is "twice as long"). Very informally, many ratio scales can be described as specifying "how much" of something (i.e. an amount or magnitude) or "how many" (a count). The Kelvin temperature scale is a ratio scale because it has a unique, non-arbitrary zero point called absolute zero."^^rdf:HTML ; +. + diff --git a/prez/reference_data/annotations/rdf-annotations.ttl b/prez/reference_data/annotations/rdf-annotations.ttl new file mode 100644 index 00000000..33e024ec --- /dev/null +++ b/prez/reference_data/annotations/rdf-annotations.ttl @@ -0,0 +1,125 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX schema: + +rdf: + schema:description "This is the RDF Schema for the RDF vocabulary terms in the RDF Namespace, defined in RDF 1.1 Concepts." ; +. + +rdf:Alt + rdfs:label "Alternatives" ; + schema:description "The class of containers of alternatives." ; +. + +rdf:Bag + rdfs:label "Bag" ; + schema:description "The class of unordered containers." ; +. + +rdf:CompoundLiteral + rdfs:label "Compound Literal" ; + rdfs:seeAlso ; + schema:description "A class representing a compound literal." ; +. + +rdf:HTML + rdfs:label "HTML" ; + rdfs:seeAlso ; + schema:description "The datatype of RDF literals storing fragments of HTML content" ; +. + +rdf:JSON + rdfs:label "JSON" ; + rdfs:seeAlso ; + schema:description "The datatype of RDF literals storing JSON content." ; +. + +rdf:List + rdfs:label "List" ; + schema:description "The class of RDF Lists." ; +. + +rdf:PlainLiteral + rdfs:label "Plain Literal" ; + rdfs:seeAlso ; + schema:description "The class of plain (i.e. untyped) literal values, as used in RIF and OWL 2" ; +. + +rdf:Property + rdfs:label "Property" ; + schema:description "The class of RDF properties." ; +. + +rdf:Seq + rdfs:label "Sequence" ; + schema:description "The class of ordered containers." ; +. + +rdf:Statement + rdfs:label "Statement" ; + schema:description "The class of RDF statements." ; +. + +rdf:XMLLiteral + rdfs:label "XML Literal" ; + schema:description "The datatype of XML literal values." ; +. + +rdf:direction + rdfs:label "direction" ; + rdfs:seeAlso ; + schema:description "The base direction component of a CompoundLiteral." ; +. + +rdf:first + rdfs:label "first" ; + schema:description "The first item in the subject RDF list." ; +. + +rdf:langString + rdfs:label "Lang String" ; + rdfs:seeAlso ; + schema:description "The datatype of language-tagged string values" ; +. + +rdf:language + rdfs:label "language" ; + rdfs:seeAlso ; + schema:description "The language component of a CompoundLiteral." ; +. + +() + rdfs:label "nil" ; + schema:description "The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it." ; +. + +rdf:object + rdfs:label "object" ; + schema:description "The object of the subject RDF statement." ; +. + +rdf:predicate + rdfs:label "predicate" ; + schema:description "The predicate of the subject RDF statement." ; +. + +rdf:rest + rdfs:label "rest" ; + schema:description "The rest of the subject RDF list after the first item." ; +. + +rdf:subject + rdfs:label "subject" ; + schema:description "The subject of the subject RDF statement." ; +. + +rdf:type + rdfs:label "type" ; + schema:description "The subject is an instance of a class." ; +. + +rdf:value + rdfs:label "value" ; + schema:description "Idiomatic property used for structured values." ; +. + diff --git a/prez/reference_data/annotations/rdflicenses-annotations.ttl b/prez/reference_data/annotations/rdflicenses-annotations.ttl new file mode 100644 index 00000000..381a9440 --- /dev/null +++ b/prez/reference_data/annotations/rdflicenses-annotations.ttl @@ -0,0 +1,926 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Apache License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Apache License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Artistic License" ; +. + + + rdfs:label "BOOST Software License" ; +. + + + rdfs:label "BSD 2-clause License" ; +. + + + rdfs:label "BSD License 3-clause" ; +. + + + rdfs:label "BSD License 4-clause" ; +. + + + rdfs:label "Common Development and Distribution License" ; +. + + + rdfs:label "ColorIURIS Copyright" ; +. + + + rdfs:label "Common Public License" ; +. + + + rdfs:label "Cryptix General License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Eclipse Public License" ; +. + + + rdfs:label "European Commission Copyright" ; +. + + + rdfs:label "European Union Public License" ; +. + + + rdfs:label "Free BSD Documentation License" ; +. + + + rdfs:label "Govtrack License" ; +. + + + rdfs:label "IBM Public License" ; +. + + + rdfs:label "Microsoft Reference Source License" ; +. + + + rdfs:label "MIT License" ; +. + + + rdfs:label + "MPL" , + "Mozilla Public License" ; +. + + + rdfs:label "Web NDL Authority License" ; +. + + + rdfs:label "Open Geospatial Consortium Document" ; +. + + + rdfs:label "Open Geospatial Consortium Software" ; +. + + + rdfs:label "UK NonCommercial Government License" ; +. + + + rdfs:label + "OL" , + "License Ouverte"@fr ; + rdfs:seeAlso ; +. + + + rdfs:label "Oracle Berkely DB License" ; +. + + + rdfs:label "OS Open Data License" ; +. + + + rdfs:label "Public Domain Mark" ; +. + + + rdfs:label "W3C Software Notice and License" ; +. + + + rdfs:label + "Academic Free License 3.0" , + "Academic Free License"@en ; +. + + + rdfs:label "Against DRM" ; +. + + + rdfs:label + "GNU Affero General Public License 3.0" , + "GNU Affero General Public License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "All rights reserved"@en ; + schema:description "This license does not disclose any of the IPR and database rights.."@en ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Austria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Australia" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Brazil" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Switzerland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Chile" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND China" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Germany" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Ecuador" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Spain" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND France" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Greece" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Ireland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Italy" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Netherlands" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Portugal" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Romania" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-ND Venezuela" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY-NC-ND" , + "Creative Commons - Attribution-NonCommercial-NoDerivatives 4.0 International - CC BY-NC-ND 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-SA" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC-SA" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY-NC-SA" , + "Creative Commons - Attribution-NonCommercial-ShareAlike 4.0 International - CC BY-NC-SA 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-NC" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY-NC" , + "Creative Commons - Attribution-NonCommercial 4.0 International - CC BY-NC 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Belgium" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Denmark" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Austria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Australia" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Brazil" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Switzerland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Chile" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND China" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Germany" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Ecuador" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Spain" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 France" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Greece" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND Ireland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Italy" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Netherlands" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Portugal" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Romania" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-ND 3.0 Venezuela" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY-ND" , + "Creative Commons - Attribution-NoDerivatives 4.0 International - CC BY-ND 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Austria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Australia" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Brazil" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Switzerland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Chile" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 China" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Germany" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Ecuador" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Spain" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 France" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Greece" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA Ireland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA 3.0 Italy" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA Netherlands" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA Portugal" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA Romania" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY-SA Venezuela" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY-SA" , + "Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.0 Austria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.0 Australia" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Belgium" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.0 Brazil" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Canada" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Chile" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Germany" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Spain" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY France" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Italy" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Japan" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Korea" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Netherlands" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY England & Wales" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY South Africa" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Argentina" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Bulgaria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Switzerland" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY Czech Republic" , + "Uveďte původ Česká republika"@cz ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Denmark" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Hungary" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Israel" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY India" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Mexico" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.5 Peru" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.5 Portugal" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Scotland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 2.5 Sweden" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Austria" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Australia" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Brazil" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Switzerland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Chile" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 China" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Germany" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Ecuador" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Egypt" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Spain" ; + rdfs:seeAlso ; +. + + + rdfs:label + "CC-BY 3.0 France" , + "Creative Commons CC-BY 3.0 France" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Greece" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Ireland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Italy" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Luxemburg" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Netherlands" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY New Zealand" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Poland" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Portugal" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY 3.0 Romania" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Thailand" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY United States" ; + rdfs:seeAlso ; +. + + + rdfs:label "Creative Commons CC-BY Venezuela" ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC-BY" , + "Creative Commons - Attribution 4.0 International - CC BY 4.0"@en ; + rdfs:seeAlso ; +. + + + rdfs:label + "Creative Commons CC0" , + "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "CLARIN ACAdemic BY" ; +. + + + rdfs:label "Language Resources End-User Agreement"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "LANGUAGE RESOURCES VALUE-ADDED-RESELLER AGREEMENT" ; + rdfs:seeAlso ; +. + + + rdfs:label + "GFDL" , + "Free Art License"@en ; +. + + + rdfs:label + "GFDL" , + "GNU Free Documentation License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label + "GFDL" , + "GNU Free Documentation License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "GNU General Public License" ; + rdfs:seeAlso ; +. + + + rdfs:label "GNU General Public License" ; + rdfs:seeAlso ; +. + + + rdfs:label "GNU General Public License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Italian Open Data License v1.0" ; + rdfs:seeAlso ; +. + + + rdfs:label + "LGPL" , + "GNU Library General Public License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label + "LGPL" , + "GNU Lesser General Public License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label + "LGPL" , + "GNU Lesser General Public License"@en ; + rdfs:seeAlso ; +. + + + rdfs:label "META-SHARE Commercial NoRedistribution" ; + rdfs:seeAlso ; +. + + + rdfs:label "META-SHARE Commercial NoRedistribution For-A-Fee" ; + rdfs:seeAlso ; +. + + + rdfs:label "META-SHARE Commons BYNCND" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Data Commons Attribution License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Data Commons Public Domain Dedication and License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Data Commons Open Database License" ; + rdfs:seeAlso ; +. + + + rdfs:label "UK NonCommercial Government License" ; +. + + + rdfs:label "Public domain" ; + schema:description "This statement can be applied to material truly in the public domain (because rights have expired, forfeited or are innaplicable). This text cannot be deemed as a license -namely, public domain works do not need to be licensed." ; +. + + + rdfs:label "Simple Public License" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Government Licence Non-Commercial" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Government Licence" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Government Licence" ; + rdfs:seeAlso ; +. + + + rdfs:label "Open Government Licence" ; + rdfs:seeAlso ; +. + diff --git a/prez/reference_data/annotations/rdfs-annotations.ttl b/prez/reference_data/annotations/rdfs-annotations.ttl new file mode 100644 index 00000000..40a958e7 --- /dev/null +++ b/prez/reference_data/annotations/rdfs-annotations.ttl @@ -0,0 +1,83 @@ +PREFIX rdfs: +PREFIX schema: + +rdfs: + rdfs:seeAlso ; +. + +rdfs:Class + rdfs:label "Class" ; + schema:description "The class of classes." ; +. + +rdfs:Container + rdfs:label "Container" ; + schema:description "The class of RDF containers." ; +. + +rdfs:ContainerMembershipProperty + rdfs:label "Container Membership Property" ; + schema:description """The class of container membership properties, rdf:_1, rdf:_2, ..., + all of which are sub-properties of 'member'.""" ; +. + +rdfs:Datatype + rdfs:label "Datatype" ; + schema:description "The class of RDF datatypes." ; +. + +rdfs:Literal + rdfs:label "Literal" ; + schema:description "The class of literal values, eg. textual strings and integers." ; +. + +rdfs:Resource + rdfs:label "Resource" ; + schema:description "The class resource, everything." ; +. + +rdfs:comment + rdfs:label "comment" ; + schema:description "A description of the subject resource." ; +. + +rdfs:domain + rdfs:label "domain" ; + schema:description "A domain of the subject property." ; +. + +rdfs:isDefinedBy + rdfs:label "is defined by" ; + schema:description "The defininition of the subject resource." ; +. + +rdfs:label + rdfs:label "label" ; + schema:description "A human-readable name for the subject." ; +. + +rdfs:member + rdfs:label "member" ; + schema:description "A member of the subject resource." ; +. + +rdfs:range + rdfs:label "range" ; + schema:description "A range of the subject property." ; +. + +rdfs:seeAlso + rdfs:label "see also" ; + schema:description "Further information about the subject resource." ; +. + +rdfs:subClassOf + rdfs:label "subclass of" ; + schema:description "The subject is a subclass of a class." ; +. + +rdfs:subPropertyOf + rdfs:label "subproperty of" ; + schema:description "The subject is a subproperty of a property." ; +. + diff --git a/prez/reference_data/annotations/rdwg-taxon-name-annotations.ttl b/prez/reference_data/annotations/rdwg-taxon-name-annotations.ttl new file mode 100644 index 00000000..a0016327 --- /dev/null +++ b/prez/reference_data/annotations/rdwg-taxon-name-annotations.ttl @@ -0,0 +1,421 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX schema: + + + schema:description + """ This vocabulary closely follows the structure of the ScientificName complex type that is part of the TDWG standard Taxon Concept Schema. The TCS structure was based + on the name structures suggested by the LinneanCore and those found in schemas such as ABCD. + It reflects the contributions of many authors over a number of years."""^^rdf:XMLLiteral , + "Ontology describing the metadata returned for LSIDs that are used for Taxon Names. " , + "Version 0.3 removed subclass declarations to classes outside of this ontology in accordance with Recommendation 2.9 of the VoMaG Report http://www.gbif.org/resource/80862" ; +. + + + rdfs:label "Allolectotype" ; +. + + + rdfs:label "Alloneotype" ; +. + + + rdfs:label "Allotype" ; +. + + + rdfs:label "Bacteriological" ; +. + + + rdfs:label "based on" ; +. + + + rdfs:label "conserved against" ; +. + + + rdfs:label "Cotype" ; +. + + + rdfs:label "Epitype" ; +. + + + rdfs:label "Ex-Epitype" ; +. + + + rdfs:label "Ex-Holotype" ; +. + + + rdfs:label "Ex-Isotype" ; +. + + + rdfs:label "Ex-Lectotype" ; +. + + + rdfs:label "Ex-Neotype" ; +. + + + rdfs:label "Ex-Paratype" ; +. + + + rdfs:label "Ex-Syntype" ; +. + + + rdfs:label "Ex-Type" ; +. + + + rdfs:label "Hapantotype" ; +. + + + rdfs:label "Holotype" ; +. + + + rdfs:label "ICBN" ; +. + + + rdfs:label "ICNCP" ; +. + + + rdfs:label "ICZN" ; +. + + + rdfs:label "Iconotype" ; +. + + + rdfs:label "Isolectotype" ; +. + + + rdfs:label "Isoneotype" ; +. + + + rdfs:label "Isosyntype" ; +. + + + rdfs:label "Isotype" ; +. + + + rdfs:label "later homonym of" ; +. + + + rdfs:label "Lectotype" ; +. + + + rdfs:label "Neotype" ; +. + + + rdfs:label "Nomenclatural Code Term" ; + schema:description " A class for which instances can be defined to create a controlled vocabulary for the nomenclatural codes. Equivalent to TCS NomenclaturalCodesEnum " ; +. + + + rdfs:label "Nomenclatural Note" ; + schema:description " A note on a Taxon Name. An object representing a comment or addition to a Taxon Name beyond it's original publication. Equivalent to TCS NomenclaturalNoteType " ; +. + + + rdfs:label "Nomenclatural Note Type Term" ; + schema:description """ The different types of Nomenclatural Note. An object used to represent the different types of Nomenclatural Note. No direct equivalent in TCS but used to represents different + elements of type NomenclaturalNoteType. """ ; +. + + + rdfs:label "Nomenclatural Type" ; + schema:description """A type name or specimen. Typification can be complex to represent. On the one hand a type is a property of a TaxonName that is created at the time the name is published. But it + needs to exist as a structure so that the type of type can be indicated. On the other hand a type can be the result of a later typification event - almost like a nomenclatural note. This + object can therefore be used in two ways. It can be the target of the 'type' property in a TaxonName object (in which case the typeOf property may be ommitted) or it can be used as a free + standing object with its own ID and the typeOf property used to indicate which TaxonName this is a type of - this is more likely scenario in a the case of a leptotypification event. + Equivalent to TCS ScientificName/Typification """ ; +. + + + rdfs:label "Nomenclatural Type Type" ; + schema:description """ A kind of nomenclatural type. Nomenclatural types can be of different kinds (or types) to indicate whether they are duplicates, replacements, related specimens etc. Instances of + this class describe kinds of nomenclatural types. Equivalent to TCS NomenclaturalTypeStatusOfUnitsEnum """ ; +. + + + rdfs:label "NotAType" ; +. + + + rdfs:label "Paralectotype" ; +. + + + rdfs:label "Paraneotype" ; +. + + + rdfs:label "Paratype" ; +. + + + rdfs:label "Plastoholotype" ; +. + + + rdfs:label "Plastoisotype" ; +. + + + rdfs:label "Plastolectotype" ; +. + + + rdfs:label "Plastoneotype" ; +. + + + rdfs:label "Plastoparatype" ; +. + + + rdfs:label "Plastosyntype" ; +. + + + rdfs:label "Plastotype" ; +. + + + rdfs:label "publication status" ; +. + + + rdfs:label "replacement name for" ; +. + + + rdfs:label "sanctioned" ; +. + + + rdfs:label "Secondary Type" ; +. + + + rdfs:label "spelling correction" ; +. + + + rdfs:label "Supplementary Type" ; +. + + + rdfs:label "Syntype" ; +. + + + rdfs:label "Taxon Name" ; + schema:description """ A scientific biological name. An object that represents a single scientific biological name that either is governed by or appears to be governed by one of the biological codes of + nomenclature. These are not taxa. Taxa, whether accepted or not, are represented by TaxonConcept objects. """ ; +. + + + rdfs:label "Topotype" ; +. + + + rdfs:label "Type" ; +. + + + rdfs:label "Viral" ; +. + + + rdfs:label "Author Team" ; + schema:description "A breakdown of the authors who published this name including both basionym and combination authors (if any)." ; +. + + + rdfs:label "Authorship" ; + schema:description """ The full author string used for this name. The full code-appropriate author team string for this name at this rank. Use this property for all names including both original + combinations and new combinations of bi and trinomial names (where some of the authors may be in brackets). If the TaxonName instance contains any details about authorship a representation of + them should be included in this property.""" ; +. + + + rdfs:label "Basionym Authorship" ; + schema:description """ A string representing the authors of the basionym of this name. This represents the authors of the basionym. It is the part of authorship that is typically included in brackets. + The brackets should be omitted. A year may be included as is common in citing names governed by the ICZN. This property is only used for names that are new combinations.""" ; +. + + + rdfs:label "Basionym For" ; + schema:description " Relationship between a basionym and a new combination of the name. " ; +. + + + rdfs:label "Code" ; + schema:description " The nomenclatural code under which this note should be interpreted." ; +. + + + rdfs:label "Combination Authorship" ; + schema:description """ A string representing the authors of this combination of the name. This represents the authors of the new combination of this name. The authors who come after the brackets in the + traditional way of citing botanical names. These authors are not usually cited in zoology though the ICZN recommends that they should be included (Art.51G). A year may be included. See also + note under year property. This property is only used for names that are new combinations.""" ; +. + + + rdfs:label "Cultivar Name or Cultivar Group Name" ; + schema:description """ The cultivar or related name governed by ICNCP. The name of the Cultivar, Cultivar Group, grex, convar or graft chimera under the International Code for the Nomenclature of + Cultivated Plants. Only include here the string of the name. i.e. omit the single quotes around cultivar names, the word Group that denotes cultivar group and the + sign used in chimeras. + These symbols can be added in later on the basis of the rank of the name. For example the use of the word 'Group' is language dependent.""" ; +. + + + rdfs:label "Genus Part" ; + schema:description """ The genus part of a bi or trinomial name. The name of the genus for names below the rank of genus. This property should not be used for names at and above the rank of genus. For + names at and above genus rank the uninomial property should be used.""" ; +. + + + rdfs:label "Has Annotation" ; + schema:description " Association between a name and the notes that it may have. Often notes relate to other names such as replacement names." ; +. + + + rdfs:label "Has Basionym" ; + schema:description """ The basionym of this name if it is a new combination. The current name is a recombination (comb. nov.) of the name pointed to and the name pointed to is not, itself, a + recombination.""" ; +. + + + rdfs:label "Infrageneric Epithet" ; + schema:description """ The infrageneric part of a binomial name at ranks above species but below genus. Names at ranks between species and genus are composed of two words; the genus and this + infrageneric epithet. This property should therefore always be accompanied by the genusPart property. If the infragenericEpithet property is present the uninomial, infraspecificEpithet, + specificEpithet and subspecificEpithet properties should be absent.""" ; +. + + + rdfs:label "Infraspecific Epithet" ; + schema:description """ The infraspecific epithet part of a trinomial name below the rank of species. Names at ranks below species are composed of three words; the genus epithet, the specific epithet and + an infraspecific epithet. This property should therefore always be accompanied by the genusPart property and a specificEpithet property. If the specificEpithet property is present the + uninomial and infragenusPart properties should be absent. """ ; +. + + + rdfs:label "Name Complete" ; + schema:description """ The complete uninomial, binomial or trinomial name without any authority or year components. Every TaxonName should have a DublinCore:title property that contains the complete + name string including authors and year (where appropriate).""" ; +. + + + rdfs:label "Nomenclatural Code" ; + schema:description " The nomenclatural code that governs this name. By definition all taxon names are governed by one of the codes of nomenclature. These include ICBN, ICZN, ICNCP and others." ; +. + + + rdfs:label "Note" ; + schema:description " The text of the nomenclatural note. Text describing the nomenclatural event/fact that is represented by this Nomenclatural Note. " ; +. + + + rdfs:label "Object Taxon Name" ; + schema:description " The Taxon Name that is the target for this note. The TO side of the note relationship. The Taxon Name that this note refers to." ; +. + + + rdfs:label "Rank" ; + schema:description "The taxonomic rank of this name. This is a link to an instance of TaxonomicRank. Compare with the rankString property." ; +. + + + rdfs:label "Rank String" ; + schema:description """The taxonomic rank of this name as a string. A string representation of the rank of this name. It is highly recommended that the rank property be used along with this one unless + the correct rank is not available in the rank vocabulary.""" ; +. + + + rdfs:label "Rule Considered" ; + schema:description " The nomenclatural code rule considered. The article/note/recommendation in the code in question that is commented on in the note property." ; +. + + + rdfs:label "Specific Epithet" ; + schema:description """ The specific epithet part of a binomial or trinomial name at or below the rank of species. Names at ranks of species and below are composed of two or three words; the genus + epithet, the specific epithet and possibly an infraspecific epithet. This property should therefore always be accompanied by the genusPart property. If the specificEpithet property is present + the uninomial and infragenericEpithet properties should be absent.""" ; +. + + + rdfs:label "Subject Taxon Name" ; + schema:description " The Taxon Name that is the subject of this note. The FROM side of the note relationship. The Taxon Name that this note is qualifying." ; +. + + + rdfs:label "Type" ; + schema:description " The kind of nomenclatural note this is, e.g. sanctioning of name. " ; +. + + + rdfs:label "Type Name" ; + schema:description """The name that is the type. TaxonNames at ranks above species level are typified by the NAME of a lower taxon. Ultimately, by following the chain of type names, all names resolve to + a type species and so a type specimen. This property is mutually exclusive with typeSpecimen. A name can't have both. Equivalent to TCS ScientificName/Typification/TypeName. """ ; +. + + + rdfs:label "Type of Type" ; + schema:description """The kind of type this specimen is e.g. paratype, isotype, holotype etc. Types can be of different kinds. Equivalent to TCS + ScientificName/Typification/TypeVouchers/TypeVoucher@typeOfType """ ; +. + + + rdfs:label "Type Specimen" ; + schema:description """The specimen that is the type. TaxonNames at ranks of family and below are typified by a specimen. This property is mutually exclusive with typeName. Equivalent to TCS + ScientificName/Typification/TypeVouchers/TypeVoucher """ ; +. + + + rdfs:label "Typified String" ; + schema:description "A string representing the typification of this name. See also the typifiedBy property." ; +. + + + rdfs:label "Typified By" ; + schema:description """A NomenclaturalType that typifies this name. An instance of NomenclaturalType that contains a type specimen or name for this name. See also note with NomenclaturalType class. See + also the typificationString property.""" ; +. + + + rdfs:label "Uninomial" ; + schema:description """ Family, genus, infrafamilial, suprafamilial or other uninomial name. This property should be used for any 'single word' names. These include Family, genus, infrafamilial, and + suprafamilial names. Note that this property should be used for Genus names. The genus field should only be used for names below rank of genus. """ ; +. + + + rdfs:label "Publication Year" ; + schema:description """ The year of publication of this name. This is the year this name was published. If it is a new combination of the name then it is the year of publication of the combination not + the basionym. It should be the same as the year given in the publishedIn property. In zoology the place of first publication of a new combination is rarely given as it is not considered a + nomenclatural act unless it leads to homonymy. For new combinations of names in zoology it may therefore be inappropriate to supply this property or the publishedIn, combintationAuthorship or + combintationAuthorTeam properties. The main role of this property is to aid disambiguation where author strings may be confusing. This property is not restricted to a date type as feedback + from TCS suggested that this restriction was inappropriate.""" ; +. + diff --git a/prez/reference_data/annotations/reg-annotations.ttl b/prez/reference_data/annotations/reg-annotations.ttl new file mode 100644 index 00000000..c6218674 --- /dev/null +++ b/prez/reference_data/annotations/reg-annotations.ttl @@ -0,0 +1,345 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Language" ; + schema:description "A language that is supported by a multilingual registry." ; +. + + + rdfs:label "Language code" ; + schema:description "The two-character ISO 639-1 language code." ; +. + + + rdfs:label "Registry ontology"@en ; + schema:description + , + "Core ontology for linked data registry services. Based on ISO19135 but heavily modified to suit Linked Data representations and applications."@en ; +. + + + rdfs:label "Delegated"@en ; + schema:description "A registerable entity which represents some form of delegation"@en ; +. + + + rdfs:label "Delegated Register"@en ; + schema:description "A register whose member contents are determined through delegation to a SPARQL endpoint"@en ; +. + + + rdfs:label "Entity Reference"@en ; + schema:description "A reference to some internal or external Linked Data resource. The reg:entity gives the URI of the resource being referenced. If a reg:sourceGraph value is present then it is the URI for a named graph within the Registry containing the properties of the referenced entity. If reg:entityVersion is present it gives URI for the particular version:Version of the entity being referenced. Normally only one of reg:sourceGraph and reg:entityVersion is needed since versioned entities are normally stored in the default graph."@en ; +. + + + rdfs:label "Federated Register"@en ; + schema:description "A registerable entity which forwards all requests to a remote register. Queries which traverse the register hierarchy such as entity search will also be forwarded"@en ; +. + + + rdfs:label "Monitor Spec"@en ; + schema:description "A specification for a register to be monitored."@en ; +. + + + rdfs:label "Namespace Forward"@en ; + schema:description "A registerable entity which simply forwards all requests to the delegation target."@en ; +. + + + rdfs:label "Register"@en ; + schema:description "Represents a collection of registered items, together with some associated governance regime. If one or more licenses is stated then each license applies to all the entries in the register. "@en ; +. + + + rdfs:label "RegisterItem"@en ; + schema:description "A metadata record for an entry in a register. Note that cardinality constraints can be met by sub-properties, for example an item with a skos:prefLabel implies an rdfs:label and so meets the cardinality constraint on rdfs:label."@en ; +. + + + rdfs:label "SPARQL ASK query"@en ; + schema:description "Represents a SPARQL ASK query as might be used for validation."@en ; +. + + + rdfs:label "SPARQL CONSTRUCT query"@en ; + schema:description "Represents a SPARQL CONSTRUCT query."@en ; +. + + + rdfs:label "SPARQL query"@en ; + schema:description "Represents a SPARQL query as a reusable resource."@en ; +. + + + rdfs:label "SPARQL SELECT query"@en ; + schema:description "Represents a SPARQL SELECT query."@en ; +. + + + rdfs:label "Status"@en ; + schema:description "Open set of status code for entries in a register"@en ; +. + + + rdfs:label "Status Scheme"@en ; + schema:description "Concept scheme containing registry status codes"@en ; +. + + + rdfs:label "Topic"@en ; + schema:description "A messaging topic that can be notified of changes in the registry." ; +. + + + rdfs:label "alias"@en ; + schema:description "An alternative URI for the entity, the alias resource is regarded by this register as owl:sameAs the definition entity"@en ; +. + + + rdfs:label "annotation"@en ; + schema:description "The URI of a graph of annotation statements associate with this item"@en ; +. + + + rdfs:label "category"@en ; + schema:description "Optional classification for a registered item within one or more SKOS classification schemes to support navigation and discovery. Orthogonal to the structure provided by the register hierarchy which is about governance."@en ; +. + + + rdfs:label "contained item class"@en ; + schema:description "A class of entities that can occur in this register"@en ; +. + + + rdfs:label "definition"@en ; + schema:description "The entity which has been registered."@en ; +. + + + rdfs:label "delegation target"@en ; + schema:description "A resource to which the delegated register delegates, may be a register in another registry service, a SPARQL endpoint or some other web resource"@en ; +. + + + rdfs:label "entity"@en ; + schema:description "The RDF resource identified by an entity reference"@en ; +. + + + rdfs:label "entity version"@en ; + schema:description "Indicates the particular version:Version of the entity being referenced."@en ; +. + + + rdfs:label "enumeration object"@en ; + schema:description "Specifies the object part of a triple pattern used to enumerate the members of a delegated register"@en ; +. + + + rdfs:label "enumeration predicate"@en ; + schema:description "Specifies the predicate part of a triple pattern used to enumerate the members of a delegated register"@en ; +. + + + rdfs:label "enumeration subject"@en ; + schema:description "Specifies the subject part of a triple pattern used to enumerate the members of a delegated register"@en ; +. + + + rdfs:label "forwarding code"@en ; + schema:description "The HTTP status code to return the requester in order to forward the request."@en ; +. + + + rdfs:label "governance policy"@en ; + schema:description "A resource, such as a web accessible-document, which describes the governance policy applicable to this register."@en ; +. + + + rdfs:label "ignores"@en ; + schema:description "A sub-register to exclude from monitoring."@en ; +. + + + rdfs:label "inverse membership predicate"@en ; + schema:description "Indicates a property which links a member of a collection back to the collection itself, this is the reverse direction to the normal ldp:membershipPredicate"@en ; +. + + + rdfs:label "item class"@en ; + schema:description "The type of the entity that this record is about. Note that it may be possible to register a non-RDF resource in which case this property provides a way to state the intended class of the entity even though no direct RDF assertion of type is available."@en ; +. + + + rdfs:label "manager"@en ; + schema:description "The manager of the register, may be a person (foaf:Person) or an organization (org:Organization). Operates the register on behalf of the owner, makes day to day decisions on acceptance of entries based on agreed principles but it may be possible to appeal to the owner to override a decision by the manager."@en ; +. + + + rdfs:label "monitors"@en ; + schema:description "A register to be monitored."@en ; +. + + + rdfs:label "next state"@en ; + schema:description "Gives the label of a state which can follow from this state"@en ; +. + + + rdfs:label "notation"@en ; + schema:description "A short text string which can be used to denote the register item. Must be unique within the register. If available it should be used as the path segment, relative to the parent register, for the RegisterItem (and for the item itself, if managed). Restricted to be a syntactically legal URI segment (i.e. *pchar)."@en ; +. + + + rdfs:label "notifies"@en ; + schema:description "A topic or channel to be notified when the monitored register changes."@en ; +. + + + rdfs:label "operating language"@en ; + schema:description "Indicates a language supported by the register and the items within it. The language should be indicated by a resource within a well-maintained URI set such as the Library of Congress language URIs e.g. http://id.loc.gov/vocabulary/iso639-1/en"@en ; +. + + + rdfs:label "owner"@en ; + schema:description "The owner of the register, may be a person (foaf:Person) or an organization (org:Organization). The owner has final authority over the contents of the regster."@en ; +. + + + rdfs:label "predecessor"@en ; + schema:description "An item which has been replaced this one within the register. Should be asserted between hub resources (VersionedThing)."@en ; +. + + + rdfs:label "presentation"@en ; + schema:description "Presentational hint for showing items with this status"@en ; +. + + + rdfs:label "next state"@en ; + schema:description "Gives the label of a state which can precede this state"@en ; +. + + + rdfs:label "query"@en ; + schema:description "The source of a SPARQL query"@en ; +. + + + rdfs:label "register"@en ; + schema:description "The register in which this item has been registered."@en ; +. + + + rdfs:label "release"@en ; + schema:description "A tagged snapshot of a register"@en ; +. + + + rdfs:label "representation of"@en ; + schema:description "A resource, typically a real-world object, which the registered entity is a representation for."@en ; +. + + + rdfs:label "source dataset"@en ; + schema:description "Gives the source dataset in a Linkset, the other link target is assumed to be the destination"@en ; +. + + + rdfs:label "source graph"@en ; + schema:description "A resource representing an RDF graph (within the Registry's SPARQL dataset) containing the properties of the reference entity. If not present then assume default graph."@en ; +. + + + rdfs:label "status"@en ; + schema:description "The status of this register entry"@en ; +. + + + rdfs:label "accepted"@en ; + schema:description "An entry that has been accepted for use and is visible in the default register listing. Includes entries that have seen been retired or superseded."@en ; +. + + + rdfs:label "any"@en ; + schema:description "Placeholder denoting any registry status."@en ; +. + + + rdfs:label "deprecated"@en ; + schema:description "An entry that has been retired or replaced and is no longer to be used."@en ; +. + + + rdfs:label "experimental"@en ; + schema:description "An entry that has been accepted into the register temporarily and may be subject to change or withdrawal."@en ; +. + + + rdfs:label "invalid"@en ; + schema:description "An entry which has been invalidated due to serious flaws, distinct from retrirement. Corresponds to ISO 19135(redraft) 'invalid'"@en ; +. + + + rdfs:label "notAccepted"@en ; + schema:description "An entry that should not be visible in the default register listing. Corresponds to ISO 19135:2005 'notValid'"@en ; +. + + + rdfs:label "reserved"@en ; + schema:description "A reserved entry allocated for some as yet undetermined future use."@en ; +. + + + rdfs:label "retired"@en ; + schema:description "An entry that has been withdrawn from use. Corresponds to ISO 19135:2005 'retired'"@en ; +. + + + rdfs:label "stable"@en ; + schema:description "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; +. + + + rdfs:label "submitted"@en ; + schema:description "A proposed entry which is not yet approved for use for use. Corresponds to ISO 19135:(redraft) 'submitted'"@en ; +. + + + rdfs:label "superseded"@en ; + schema:description "An entry that has been replaced by a new alternative which should be used instead. Corresponds to ISO 19135:2005 'superseded'."@en ; +. + + + rdfs:label "valid"@en ; + schema:description "An entry that has been accepted into the register and is deemed fit for use. Corresponds to ISO 19135:2005 'valid'."@en ; +. + + + rdfs:label "submitter"@en ; + schema:description "The person or organization who originally submitted this register entry. Subsequent chages to the entry may have been made by other agents."@en ; +. + + + rdfs:label "subregister"@en ; + schema:description "Indicates a register that is itself an entry in this principle register."@en ; +. + + + rdfs:label "successor"@en ; + schema:description "Indicates the replacement for a superseded item."@en ; +. + + + rdfs:label "tag"@en ; + schema:description "The tag used to label a collection which snapshots the state of a register"@en ; +. + + + rdfs:label "validation query"@en ; + schema:description "A SPARQL ASK query which can be used to validate a proposed entry in this register. Returns true of an error is found."@en ; +. + diff --git a/prez/reference_data/annotations/reg-statuses-annotations.ttl b/prez/reference_data/annotations/reg-statuses-annotations.ttl new file mode 100644 index 00000000..29c4ab2c --- /dev/null +++ b/prez/reference_data/annotations/reg-statuses-annotations.ttl @@ -0,0 +1,102 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "Status"@en ; + schema:description "Open set of status code for entries in a register"@en ; +. + + + rdfs:label "Australian Government Linked Data Working Group" ; +. + + + rdfs:label "Registry Status Vocabulary"@en ; + rdfs:seeAlso ; + schema:description """This vocabulary is a re-published and only marginally changed version of the Registry Ontology's (http://epimorphics.com/public/vocabulary/Registry.html) *Status* vocabulary (online in RDF: http://purl.org/linked-data/registry). The only real change to content has been the addition of the term `unstable`. This re-publication has been performed to allow the IRIs of each vocab term (skos:Concept) to resolve to both human-readable and machine-readable forms of content (HTML and RDF), using HTTP content negotiation. + +Note that just like the original form of this vocabulary, while it is a SKOS vocabulary implemented as a single skos:ConceptScheme, it is also an OWL Ontology and that each *Status* is both a skos:Concept and a reg:Status individual."""@en ; +. + + + rdfs:label "accepted"@en ; + schema:description "An entry that has been accepted for use and is visible in the default register listing. Includes entries that have seen been retired or superseded."@en ; +. + + + rdfs:label "addition"@en ; + schema:description "The item's status is stable and was supplied to the registry after initial creation"@en ; +. + + + rdfs:label "deprecated"@en ; + schema:description "An entry that has been Retired or Superseded or has become Unstable and is no longer to be used."@en ; +. + + + rdfs:label "experimental"@en ; + schema:description "An entry that has been accepted into the register temporarily and may be subject to change or withdrawal."@en ; +. + + + rdfs:label "invalid"@en ; + schema:description "An entry which has been invalidated due to serious flaws, distinct from retrirement."@en ; +. + + + rdfs:label "notAccepted"@en ; + schema:description "An entry that should not be visible in the default register listing."@en ; +. + + + rdfs:label "stable"@en ; + schema:description "The item's status is stable and was supplied to the registry after initial creation."@en ; +. + + + rdfs:label "reserved"@en ; + schema:description "A reserved entry allocated for some as yet undetermined future use."@en ; +. + + + rdfs:label "retired"@en ; + schema:description "An entry that has been withdrawn from use."@en ; +. + + + rdfs:label "stable"@en ; + schema:description "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; +. + + + rdfs:label "submitted"@en ; + schema:description "A proposed entry which is not yet approved for use for use."@en ; +. + + + rdfs:label "superseded"@en ; + schema:description "An entry that has been replaced by a new alternative which should be used instead."@en ; +. + + + rdfs:label "stable"@en ; + schema:description "An entry that is not seen as having a reasonable measure of stability. This status is expected to be allocated to entries that were once Stable but have become Unstable, due to a management or technical mishap, rather than being allocated to resources before they become Stable. Those resources should be allocated Experimental."@en ; +. + + + rdfs:label "valid"@en ; + schema:description "An entry that has been accepted into the register and is deemed fit for use."@en ; +. + + + rdfs:label "SURROUND Australia Pty Ltd" ; +. + + + rdfs:label "Nicholas J. Car" ; +. + + + rdfs:label "Epimorphics" ; +. + diff --git a/prez/reference_data/annotations/sdo-annotations.ttl b/prez/reference_data/annotations/sdo-annotations.ttl new file mode 100644 index 00000000..11e55ea8 --- /dev/null +++ b/prez/reference_data/annotations/sdo-annotations.ttl @@ -0,0 +1,14234 @@ +PREFIX rdfs: +PREFIX schema: + +schema:3DModel + rdfs:label "3DModel" ; + schema:description """A 3D model represents some kind of 3D content, which may have [[encoding]]s in one or more [[MediaObject]]s. Many 3D formats are available (e.g. see [Wikipedia](https://en.wikipedia.org/wiki/Category:3D_graphics_file_formats)); specific encoding formats can be represented using the [[encodingFormat]] property applied to the relevant [[MediaObject]]. For the +case of a single file published after Zip compression, the convention of appending '+zip' to the [[encodingFormat]] can be used. Geospatial, AR/VR, artistic/animation, gaming, engineering and scientific content can all be represented using [[3DModel]].""" ; +. + +schema:AMRadioChannel + rdfs:label "AMRadio channel" ; + schema:description "A radio channel that uses AM." ; +. + +schema:APIReference + rdfs:label "APIReference" ; + schema:description "Reference documentation for application programming interfaces (APIs)." ; +. + +schema:Abdomen + rdfs:label "Abdomen" ; + schema:description "Abdomen clinical examination." ; +. + +schema:AboutPage + rdfs:label "About page" ; + schema:description "Web page type: About page." ; +. + +schema:AcceptAction + rdfs:label "Accept action" ; + schema:description "The act of committing to/adopting an object.\\n\\nRelated actions:\\n\\n* [[RejectAction]]: The antonym of AcceptAction." ; +. + +schema:Accommodation + rdfs:label "Accommodation" ; + schema:description """An accommodation is a place that can accommodate human beings, e.g. a hotel room, a camping pitch, or a meeting room. Many accommodations are for overnight stays, but this is not a mandatory requirement. +For more specific types of accommodations not defined in schema.org, one can use additionalType with external vocabularies. +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:AccountingService + rdfs:label "Accounting service" ; + schema:description """Accountancy business.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s). + """ ; +. + +schema:AchieveAction + rdfs:label "Achieve action" ; + schema:description "The act of accomplishing something via previous efforts. It is an instantaneous action rather than an ongoing process." ; +. + +schema:Action + rdfs:label "Action" ; + schema:description "An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\\n\\nSee also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](https://schema.org/docs/actions.html)." ; +. + +schema:ActionAccessSpecification + rdfs:label "Action access specification" ; + schema:description "A set of requirements that a must be fulfilled in order to perform an Action." ; +. + +schema:ActionStatusType + rdfs:label "Action status type" ; + schema:description "The status of an Action." ; +. + +schema:ActivateAction + rdfs:label "Activate action" ; + schema:description "The act of starting or activating a device or application (e.g. starting a timer or turning on a flashlight)." ; +. + +schema:ActivationFee + rdfs:label "Activation fee" ; + schema:description "Represents the activation fee part of the total price for an offered product, for example a cellphone contract." ; +. + +schema:ActiveActionStatus + rdfs:label "Active action status" ; + schema:description "An in-progress action (e.g, while watching the movie, or driving to a location)." ; +. + +schema:ActiveNotRecruiting + rdfs:label "Active not recruiting" ; + schema:description "Active, but not recruiting new participants." ; +. + +schema:AddAction + rdfs:label "Add action" ; + schema:description "The act of editing by adding an object to a collection." ; +. + +schema:AdministrativeArea + rdfs:label "Administrative area" ; + schema:description "A geographical region, typically under the jurisdiction of a particular government." ; +. + +schema:AdultEntertainment + rdfs:label "Adult entertainment" ; + schema:description "An adult entertainment establishment." ; +. + +schema:AdvertiserContentArticle + rdfs:label "Advertiser content article" ; + schema:description "An [[Article]] that an external entity has paid to place or to produce to its specifications. Includes [advertorials](https://en.wikipedia.org/wiki/Advertorial), sponsored content, native advertising and other paid content." ; +. + +schema:AerobicActivity + rdfs:label "Aerobic activity" ; + schema:description "Physical activity of relatively low intensity that depends primarily on the aerobic energy-generating process; during activity, the aerobic metabolism uses oxygen to adequately meet energy demands during exercise." ; +. + +schema:AggregateOffer + rdfs:label "Aggregate offer" ; + schema:description "When a single product is associated with multiple offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used.\\n\\nNote: AggregateOffers are normally expected to associate multiple offers that all share the same defined [[businessFunction]] value, or default to http://purl.org/goodrelations/v1#Sell if businessFunction is not explicitly defined." ; +. + +schema:AggregateRating + rdfs:label "Aggregate rating" ; + schema:description "The average rating based on multiple ratings or reviews." ; +. + +schema:AgreeAction + rdfs:label "Agree action" ; + schema:description "The act of expressing a consistency of opinion with the object. An agent agrees to/about an object (a proposition, topic or theme) with participants." ; +. + +schema:Airline + rdfs:label "Airline" ; + schema:description "An organization that provides flights for passengers." ; +. + +schema:Airport + rdfs:label "Airport" ; + schema:description "An airport." ; +. + +schema:AlbumRelease + rdfs:label "Album release" ; + schema:description "AlbumRelease." ; +. + +schema:AlignmentObject + rdfs:label "Alignment object" ; + schema:description """An intangible item that describes an alignment between a learning resource and a node in an educational framework. + +Should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency.""" ; +. + +schema:AllWheelDriveConfiguration + rdfs:label "AllWheel drive configuration" ; + schema:description "All-wheel Drive is a transmission layout where the engine drives all four wheels." ; +. + +schema:AllergiesHealthAspect + rdfs:label "Allergies health aspect" ; + schema:description "Content about the allergy-related aspects of a health topic." ; +. + +schema:AllocateAction + rdfs:label "Allocate action" ; + schema:description "The act of organizing tasks/objects/events by associating resources to it." ; +. + +schema:AmpStory + rdfs:label "Amp story" ; + schema:description "A creative work with a visual storytelling format intended to be viewed online, particularly on mobile devices." ; +. + +schema:AmusementPark + rdfs:label "Amusement park" ; + schema:description "An amusement park." ; +. + +schema:AnaerobicActivity + rdfs:label "Anaerobic activity" ; + schema:description "Physical activity that is of high-intensity which utilizes the anaerobic metabolism of the body." ; +. + +schema:AnalysisNewsArticle + rdfs:label "Analysis news article" ; + schema:description "An AnalysisNewsArticle is a [[NewsArticle]] that, while based on factual reporting, incorporates the expertise of the author/producer, offering interpretations and conclusions." ; +. + +schema:AnatomicalStructure + rdfs:label "Anatomical structure" ; + schema:description "Any part of the human body, typically a component of an anatomical system. Organs, tissues, and cells are all anatomical structures." ; +. + +schema:AnatomicalSystem + rdfs:label "Anatomical system" ; + schema:description "An anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can includes circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems." ; +. + +schema:Anesthesia + rdfs:label "Anesthesia" ; + schema:description "A specific branch of medical science that pertains to study of anesthetics and their application." ; +. + +schema:AnimalShelter + rdfs:label "Animal shelter" ; + schema:description "Animal shelter." ; +. + +schema:Answer + rdfs:label "Answer" ; + schema:description "An answer offered to a question; perhaps correct, perhaps opinionated or wrong." ; +. + +schema:Apartment + rdfs:label "Apartment" ; + schema:description "An apartment (in American English) or flat (in British English) is a self-contained housing unit (a type of residential real estate) that occupies only part of a building (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Apartment)." ; +. + +schema:ApartmentComplex + rdfs:label "Apartment complex" ; + schema:description "Residence type: Apartment complex." ; +. + +schema:Appearance + rdfs:label "Appearance" ; + schema:description "Appearance assessment with clinical examination." ; +. + +schema:AppendAction + rdfs:label "Append action" ; + schema:description "The act of inserting at the end if an ordered collection." ; +. + +schema:ApplyAction + rdfs:label "Apply action" ; + schema:description "The act of registering to an organization/service without the guarantee to receive it.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: Unlike RegisterAction, ApplyAction has no guarantees that the application will be accepted." ; +. + +schema:ApprovedIndication + rdfs:label "Approved indication" ; + schema:description "An indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US." ; +. + +schema:Aquarium + rdfs:label "Aquarium" ; + schema:description "Aquarium." ; +. + +schema:ArchiveComponent + rdfs:label "Archive component"@en ; + schema:description "An intangible type to be applied to any archive content, carrying with it a set of properties required to describe archival items and collections."@en ; +. + +schema:ArchiveOrganization + rdfs:label "Archive organization"@en ; + schema:description "An organization with archival holdings. An organization which keeps and preserves archival material and typically makes it accessible to the public."@en ; +. + +schema:ArriveAction + rdfs:label "Arrive action" ; + schema:description "The act of arriving at a place. An agent arrives at a destination from a fromLocation, optionally with participants." ; +. + +schema:ArtGallery + rdfs:label "Art gallery" ; + schema:description "An art gallery." ; +. + +schema:Artery + rdfs:label "Artery" ; + schema:description "A type of blood vessel that specifically carries blood away from the heart." ; +. + +schema:Article + rdfs:label "Article" ; + schema:description "An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)." ; +. + +schema:AskAction + rdfs:label "Ask action" ; + schema:description "The act of posing a question / favor to someone.\\n\\nRelated actions:\\n\\n* [[ReplyAction]]: Appears generally as a response to AskAction." ; +. + +schema:AskPublicNewsArticle + rdfs:label "AskPublic news article" ; + schema:description "A [[NewsArticle]] expressing an open call by a [[NewsMediaOrganization]] asking the public for input, insights, clarifications, anecdotes, documentation, etc., on an issue, for reporting purposes." ; +. + +schema:AssessAction + rdfs:label "Assess action" ; + schema:description "The act of forming one's opinion, reaction or sentiment." ; +. + +schema:AssignAction + rdfs:label "Assign action" ; + schema:description "The act of allocating an action/event/task to some destination (someone or something)." ; +. + +schema:Atlas + rdfs:label "Atlas" ; + schema:description "A collection or bound volume of maps, charts, plates or tables, physical or in media form illustrating any subject." ; +. + +schema:Attorney + rdfs:label "Attorney" ; + schema:description "Professional service: Attorney. \\n\\nThis type is deprecated - [[LegalService]] is more inclusive and less ambiguous." ; +. + +schema:Audience + rdfs:label "Audience" ; + schema:description "Intended audience for an item, i.e. the group for whom the item was created." ; +. + +schema:AudioObject + rdfs:label "Audio object" ; + schema:description "An audio file." ; +. + +schema:AudioObjectSnapshot + rdfs:label "Audio object snapshot" ; + schema:description "A specific and exact (byte-for-byte) version of an [[AudioObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity." ; +. + +schema:Audiobook + rdfs:label "Audiobook" ; + schema:description "An audiobook." ; +. + +schema:AudiobookFormat + rdfs:label "Audiobook format" ; + schema:description "Book format: Audiobook. This is an enumerated value for use with the bookFormat property. There is also a type 'Audiobook' in the bib extension which includes Audiobook specific properties." ; +. + +schema:AuthoritativeLegalValue + rdfs:label "Authoritative legal value" ; + schema:description "Indicates that the publisher gives some special status to the publication of the document. (\"The Queens Printer\" version of a UK Act of Parliament, or the PDF version of a Directive published by the EU Office of Publications). Something \"Authoritative\" is considered to be also [[OfficialLegalValue]]\"." ; +. + +schema:AuthorizeAction + rdfs:label "Authorize action" ; + schema:description "The act of granting permission to an object." ; +. + +schema:AutoBodyShop + rdfs:label "Auto body shop" ; + schema:description "Auto body shop." ; +. + +schema:AutoDealer + rdfs:label "Auto dealer" ; + schema:description "An car dealership." ; +. + +schema:AutoPartsStore + rdfs:label "Auto parts store" ; + schema:description "An auto parts store." ; +. + +schema:AutoRental + rdfs:label "Auto rental" ; + schema:description "A car rental business." ; +. + +schema:AutoRepair + rdfs:label "Auto repair" ; + schema:description "Car repair business." ; +. + +schema:AutoWash + rdfs:label "Auto wash" ; + schema:description "A car wash business." ; +. + +schema:AutomatedTeller + rdfs:label "Automated teller" ; + schema:description "ATM/cash machine." ; +. + +schema:AutomotiveBusiness + rdfs:label "Automotive business" ; + schema:description "Car repair, sales, or parts." ; +. + +schema:Ayurvedic + rdfs:label "Ayurvedic" ; + schema:description "A system of medicine that originated in India over thousands of years and that focuses on integrating and balancing the body, mind, and spirit." ; +. + +schema:BackOrder + rdfs:label "Back order" ; + schema:description "Indicates that the item is available on back order." ; +. + +schema:BackgroundNewsArticle + rdfs:label "Background news article" ; + schema:description "A [[NewsArticle]] providing historical context, definition and detail on a specific topic (aka \"explainer\" or \"backgrounder\"). For example, an in-depth article or frequently-asked-questions ([FAQ](https://en.wikipedia.org/wiki/FAQ)) document on topics such as Climate Change or the European Union. Other kinds of background material from a non-news setting are often described using [[Book]] or [[Article]], in particular [[ScholarlyArticle]]. See also [[NewsArticle]] for related vocabulary from a learning/education perspective." ; +. + +schema:Bacteria + rdfs:label "Bacteria" ; + schema:description "Pathogenic bacteria that cause bacterial infection." ; +. + +schema:Bakery + rdfs:label "Bakery" ; + schema:description "A bakery." ; +. + +schema:Balance + rdfs:label "Balance" ; + schema:description "Physical activity that is engaged to help maintain posture and balance." ; +. + +schema:BankAccount + rdfs:label "Bank account" ; + schema:description "A product or service offered by a bank whereby one may deposit, withdraw or transfer money and in some cases be paid interest." ; +. + +schema:BankOrCreditUnion + rdfs:label "BankOr credit union" ; + schema:description "Bank or credit union." ; +. + +schema:BarOrPub + rdfs:label "Bar or pub" ; + schema:description "A bar or pub." ; +. + +schema:Barcode + rdfs:label "Barcode" ; + schema:description "An image of a visual machine-readable code such as a barcode or QR code." ; +. + +schema:BasicIncome + rdfs:label "Basic income" ; + schema:description "BasicIncome: this is a benefit for basic income." ; +. + +schema:Beach + rdfs:label "Beach" ; + schema:description "Beach." ; +. + +schema:BeautySalon + rdfs:label "Beauty salon" ; + schema:description "Beauty salon." ; +. + +schema:BedAndBreakfast + rdfs:label "Bed and breakfast" ; + schema:description """Bed and breakfast. +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:BedDetails + rdfs:label "Bed details" ; + schema:description "An entity holding detailed information about the available bed types, e.g. the quantity of twin beds for a hotel room. For the single case of just one bed of a certain type, you can use bed directly with a text. See also [[BedType]] (under development)." ; +. + +schema:BedType + rdfs:label "Bed type" ; + schema:description "A type of bed. This is used for indicating the bed or beds available in an accommodation." ; +. + +schema:BefriendAction + rdfs:label "Befriend action" ; + schema:description "The act of forming a personal connection with someone (object) mutually/bidirectionally/symmetrically.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, BefriendAction implies that the connection is reciprocal." ; +. + +schema:BenefitsHealthAspect + rdfs:label "Benefits health aspect" ; + schema:description "Content about the benefits and advantages of usage or utilization of topic." ; +. + +schema:BikeStore + rdfs:label "Bike store" ; + schema:description "A bike store." ; +. + +schema:BioChemEntity + rdfs:label "Bio chem entity" ; + schema:description "Any biological, chemical, or biochemical thing. For example: a protein; a gene; a chemical; a synthetic chemical." ; +. + +schema:Blog + rdfs:label "Blog" ; + schema:description "A [blog](https://en.wikipedia.org/wiki/Blog), sometimes known as a \"weblog\". Note that the individual posts ([[BlogPosting]]s) in a [[Blog]] are often colloqually referred to by the same term." ; +. + +schema:BlogPosting + rdfs:label "Blog posting" ; + schema:description "A blog post." ; +. + +schema:BloodTest + rdfs:label "Blood test" ; + schema:description "A medical test performed on a sample of a patient's blood." ; +. + +schema:BoardingPolicyType + rdfs:label "Boarding policy type" ; + schema:description "A type of boarding policy used by an airline." ; +. + +schema:BoatReservation + rdfs:label "Boat reservation" ; + schema:description """A reservation for boat travel. + +Note: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]].""" ; +. + +schema:BoatTerminal + rdfs:label "Boat terminal" ; + schema:description "A terminal for boats, ships, and other water vessels." ; +. + +schema:BoatTrip + rdfs:label "Boat trip" ; + schema:description "A trip on a commercial ferry line." ; +. + +schema:BodyMeasurementArm + rdfs:label "Body measurement arm" ; + schema:description "Arm length (measured between arms/shoulder line intersection and the prominent wrist bone). Used, for example, to fit shirts." ; +. + +schema:BodyMeasurementBust + rdfs:label "Body measurement bust" ; + schema:description "Maximum girth of bust. Used, for example, to fit women's suits." ; +. + +schema:BodyMeasurementChest + rdfs:label "Body measurement chest" ; + schema:description "Maximum girth of chest. Used, for example, to fit men's suits." ; +. + +schema:BodyMeasurementFoot + rdfs:label "Body measurement foot" ; + schema:description "Foot length (measured between end of the most prominent toe and the most prominent part of the heel). Used, for example, to measure socks." ; +. + +schema:BodyMeasurementHand + rdfs:label "Body measurement hand" ; + schema:description "Maximum hand girth (measured over the knuckles of the open right hand excluding thumb, fingers together). Used, for example, to fit gloves." ; +. + +schema:BodyMeasurementHead + rdfs:label "Body measurement head" ; + schema:description "Maximum girth of head above the ears. Used, for example, to fit hats." ; +. + +schema:BodyMeasurementHeight + rdfs:label "Body measurement height" ; + schema:description "Body height (measured between crown of head and soles of feet). Used, for example, to fit jackets." ; +. + +schema:BodyMeasurementHips + rdfs:label "Body measurement hips" ; + schema:description "Girth of hips (measured around the buttocks). Used, for example, to fit skirts." ; +. + +schema:BodyMeasurementInsideLeg + rdfs:label "BodyMeasurement inside leg" ; + schema:description "Inside leg (measured between crotch and soles of feet). Used, for example, to fit pants." ; +. + +schema:BodyMeasurementNeck + rdfs:label "Body measurement neck" ; + schema:description "Girth of neck. Used, for example, to fit shirts." ; +. + +schema:BodyMeasurementTypeEnumeration + rdfs:label "BodyMeasurement type enumeration" ; + schema:description "Enumerates types (or dimensions) of a person's body measurements, for example for fitting of clothes." ; +. + +schema:BodyMeasurementUnderbust + rdfs:label "Body measurement underbust" ; + schema:description "Girth of body just below the bust. Used, for example, to fit women's swimwear." ; +. + +schema:BodyMeasurementWaist + rdfs:label "Body measurement waist" ; + schema:description "Girth of natural waistline (between hip bones and lower ribs). Used, for example, to fit pants." ; +. + +schema:BodyMeasurementWeight + rdfs:label "Body measurement weight" ; + schema:description "Body weight. Used, for example, to measure pantyhose." ; +. + +schema:BodyOfWater + rdfs:label "Body of water" ; + schema:description "A body of water, such as a sea, ocean, or lake." ; +. + +schema:Bone + rdfs:label "Bone" ; + schema:description "Rigid connective tissue that comprises up the skeletal structure of the human body." ; +. + +schema:Book + rdfs:label "Book" ; + schema:description "A book." ; +. + +schema:BookFormatType + rdfs:label "Book format type" ; + schema:description "The publication format of the book." ; +. + +schema:BookSeries + rdfs:label "Book series" ; + schema:description "A series of books. Included books can be indicated with the hasPart property." ; +. + +schema:BookStore + rdfs:label "Book store" ; + schema:description "A bookstore." ; +. + +schema:BookmarkAction + rdfs:label "Bookmark action" ; + schema:description "An agent bookmarks/flags/labels/tags/marks an object." ; +. + +schema:Boolean + rdfs:label "Boolean" ; + schema:description "Boolean: True or False." ; +. + +schema:BorrowAction + rdfs:label "Borrow action" ; + schema:description "The act of obtaining an object under an agreement to return it at a later date. Reciprocal of LendAction.\\n\\nRelated actions:\\n\\n* [[LendAction]]: Reciprocal of BorrowAction." ; +. + +schema:BowlingAlley + rdfs:label "Bowling alley" ; + schema:description "A bowling alley." ; +. + +schema:BrainStructure + rdfs:label "Brain structure" ; + schema:description "Any anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity." ; +. + +schema:Brand + rdfs:label "Brand" ; + schema:description "A brand is a name used by an organization or business person for labeling a product, product group, or similar." ; +. + +schema:BreadcrumbList + rdfs:label "Breadcrumb list" ; + schema:description """A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.\\n\\nThe [[position]] property is used to reconstruct the order of the items in a BreadcrumbList The convention is that a breadcrumb list has an [[itemListOrder]] of [[ItemListOrderAscending]] (lower values listed first), and that the first items in this list correspond to the "top" or beginning of the breadcrumb trail, e.g. with a site or section homepage. The specific values of 'position' are not assigned meaning for a BreadcrumbList, but they should be integers, e.g. beginning with '1' for the first item in the list. + """ ; +. + +schema:Brewery + rdfs:label "Brewery" ; + schema:description "Brewery." ; +. + +schema:Bridge + rdfs:label "Bridge" ; + schema:description "A bridge." ; +. + +schema:BroadcastChannel + rdfs:label "Broadcast channel" ; + schema:description "A unique instance of a BroadcastService on a CableOrSatelliteService lineup." ; +. + +schema:BroadcastEvent + rdfs:label "Broadcast event" ; + schema:description "An over the air or online broadcast event." ; +. + +schema:BroadcastFrequencySpecification + rdfs:label "Broadcast frequency specification" ; + schema:description "The frequency in MHz and the modulation used for a particular BroadcastService." ; +. + +schema:BroadcastRelease + rdfs:label "Broadcast release" ; + schema:description "BroadcastRelease." ; +. + +schema:BroadcastService + rdfs:label "Broadcast service" ; + schema:description "A delivery service through which content is provided via broadcast over the air or online." ; +. + +schema:BrokerageAccount + rdfs:label "Brokerage account" ; + schema:description "An account that allows an investor to deposit funds and place investment orders with a licensed broker or brokerage firm." ; +. + +schema:BuddhistTemple + rdfs:label "Buddhist temple" ; + schema:description "A Buddhist temple." ; +. + +schema:BusOrCoach + rdfs:label "Bus or coach" ; + schema:description "A bus (also omnibus or autobus) is a road vehicle designed to carry passengers. Coaches are luxury busses, usually in service for long distance travel." ; +. + +schema:BusReservation + rdfs:label "Bus reservation" ; + schema:description "A reservation for bus travel. \\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]." ; +. + +schema:BusStation + rdfs:label "Bus station" ; + schema:description "A bus station." ; +. + +schema:BusStop + rdfs:label "Bus stop" ; + schema:description "A bus stop." ; +. + +schema:BusTrip + rdfs:label "Bus trip" ; + schema:description "A trip on a commercial bus line." ; +. + +schema:BusinessAudience + rdfs:label "Business audience" ; + schema:description "A set of characteristics belonging to businesses, e.g. who compose an item's target audience." ; +. + +schema:BusinessEntityType + rdfs:label "Business entity type" ; + schema:description """A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#Business\\n* http://purl.org/goodrelations/v1#Enduser\\n* http://purl.org/goodrelations/v1#PublicInstitution\\n* http://purl.org/goodrelations/v1#Reseller + """ ; +. + +schema:BusinessEvent + rdfs:label "Business event" ; + schema:description "Event type: Business event." ; +. + +schema:BusinessFunction + rdfs:label "Business function" ; + schema:description """The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#ConstructionInstallation\\n* http://purl.org/goodrelations/v1#Dispose\\n* http://purl.org/goodrelations/v1#LeaseOut\\n* http://purl.org/goodrelations/v1#Maintain\\n* http://purl.org/goodrelations/v1#ProvideService\\n* http://purl.org/goodrelations/v1#Repair\\n* http://purl.org/goodrelations/v1#Sell\\n* http://purl.org/goodrelations/v1#Buy + """ ; +. + +schema:BusinessSupport + rdfs:label "Business support" ; + schema:description "BusinessSupport: this is a benefit for supporting businesses." ; +. + +schema:BuyAction + rdfs:label "Buy action" ; + schema:description "The act of giving money to a seller in exchange for goods or services rendered. An agent buys an object, product, or service from a seller for a price. Reciprocal of SellAction." ; +. + +schema:CDCPMDRecord + rdfs:label "CDCPMDRecord" ; + schema:description """A CDCPMDRecord is a data structure representing a record in a CDC tabular data format + used for hospital data reporting. See [documentation](/docs/cdc-covid.html) for details, and the linked CDC materials for authoritative + definitions used as the source here. + """ ; +. + +schema:CDFormat + rdfs:label "CDFormat" ; + schema:description "CDFormat." ; +. + +schema:CT + rdfs:label "CT" ; + schema:description "X-ray computed tomography imaging." ; +. + +schema:CableOrSatelliteService + rdfs:label "CableOr satellite service" ; + schema:description "A service which provides access to media programming like TV or radio. Access may be via cable or satellite." ; +. + +schema:CafeOrCoffeeShop + rdfs:label "CafeOr coffee shop" ; + schema:description "A cafe or coffee shop." ; +. + +schema:Campground + rdfs:label "Campground" ; + schema:description """A camping site, campsite, or [[Campground]] is a place used for overnight stay in the outdoors, typically containing individual [[CampingPitch]] locations. \\n\\n +In British English a campsite is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites (Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\\n\\n + +See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). +""" ; +. + +schema:CampingPitch + rdfs:label "Camping pitch" ; + schema:description """A [[CampingPitch]] is an individual place for overnight stay in the outdoors, typically being part of a larger camping site, or [[Campground]].\\n\\n +In British English a campsite, or campground, is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites. +(Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\\n\\n +See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). +""" ; +. + +schema:Canal + rdfs:label "Canal" ; + schema:description "A canal, like the Panama Canal." ; +. + +schema:CancelAction + rdfs:label "Cancel action" ; + schema:description "The act of asserting that a future event/action is no longer going to happen.\\n\\nRelated actions:\\n\\n* [[ConfirmAction]]: The antonym of CancelAction." ; +. + +schema:Car + rdfs:label "Car" ; + schema:description "A car is a wheeled, self-powered motor vehicle used for transportation." ; +. + +schema:CarUsageType + rdfs:label "Car usage type" ; + schema:description "A value indicating a special usage of a car, e.g. commercial rental, driving school, or as a taxi." ; +. + +schema:Cardiovascular + rdfs:label "Cardiovascular" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of heart and vasculature." ; +. + +schema:CardiovascularExam + rdfs:label "Cardiovascular exam" ; + schema:description "Cardiovascular system assessment withclinical examination." ; +. + +schema:CaseSeries + rdfs:label "Case series" ; + schema:description "A case series (also known as a clinical series) is a medical research study that tracks patients with a known exposure given similar treatment or examines their medical records for exposure and outcome. A case series can be retrospective or prospective and usually involves a smaller number of patients than the more powerful case-control studies or randomized controlled trials. Case series may be consecutive or non-consecutive, depending on whether all cases presenting to the reporting authors over a period of time were included, or only a selection." ; +. + +schema:Casino + rdfs:label "Casino" ; + schema:description "A casino." ; +. + +schema:CassetteFormat + rdfs:label "Cassette format" ; + schema:description "CassetteFormat." ; +. + +schema:CategoryCode + rdfs:label "Category code" ; + schema:description "A Category Code." ; +. + +schema:CategoryCodeSet + rdfs:label "Category code set" ; + schema:description "A set of Category Code values." ; +. + +schema:CatholicChurch + rdfs:label "Catholic church" ; + schema:description "A Catholic church." ; +. + +schema:CausesHealthAspect + rdfs:label "Causes health aspect" ; + schema:description "Information about the causes and main actions that gave rise to the topic." ; +. + +schema:Cemetery + rdfs:label "Cemetery" ; + schema:description "A graveyard." ; +. + +schema:Chapter + rdfs:label "Chapter" ; + schema:description "One of the sections into which a book is divided. A chapter usually has a section number or a name." ; +. + +schema:CharitableIncorporatedOrganization + rdfs:label "Charitable incorporated organization" ; + schema:description "CharitableIncorporatedOrganization: Non-profit type referring to a Charitable Incorporated Organization (UK)." ; +. + +schema:CheckAction + rdfs:label "Check action" ; + schema:description "An agent inspects, determines, investigates, inquires, or examines an object's accuracy, quality, condition, or state." ; +. + +schema:CheckInAction + rdfs:label "Check in action" ; + schema:description "The act of an agent communicating (service provider, social media, etc) their arrival by registering/confirming for a previously reserved service (e.g. flight check in) or at a place (e.g. hotel), possibly resulting in a result (boarding pass, etc).\\n\\nRelated actions:\\n\\n* [[CheckOutAction]]: The antonym of CheckInAction.\\n* [[ArriveAction]]: Unlike ArriveAction, CheckInAction implies that the agent is informing/confirming the start of a previously reserved service.\\n* [[ConfirmAction]]: Unlike ConfirmAction, CheckInAction implies that the agent is informing/confirming the *start* of a previously reserved service rather than its validity/existence." ; +. + +schema:CheckOutAction + rdfs:label "Check out action" ; + schema:description "The act of an agent communicating (service provider, social media, etc) their departure of a previously reserved service (e.g. flight check in) or place (e.g. hotel).\\n\\nRelated actions:\\n\\n* [[CheckInAction]]: The antonym of CheckOutAction.\\n* [[DepartAction]]: Unlike DepartAction, CheckOutAction implies that the agent is informing/confirming the end of a previously reserved service.\\n* [[CancelAction]]: Unlike CancelAction, CheckOutAction implies that the agent is informing/confirming the end of a previously reserved service." ; +. + +schema:CheckoutPage + rdfs:label "Checkout page" ; + schema:description "Web page type: Checkout page." ; +. + +schema:ChemicalSubstance + rdfs:label "Chemical substance" ; + schema:description "A chemical substance is 'a portion of matter of constant composition, composed of molecular entities of the same type or of different types' (source: [ChEBI:59999](https://www.ebi.ac.uk/chebi/searchId.do?chebiId=59999))." ; +. + +schema:ChildCare + rdfs:label "Child care" ; + schema:description "A Childcare center." ; +. + +schema:ChildrensEvent + rdfs:label "Childrens event" ; + schema:description "Event type: Children's event." ; +. + +schema:Chiropractic + rdfs:label "Chiropractic" ; + schema:description "A system of medicine focused on the relationship between the body's structure, mainly the spine, and its functioning." ; +. + +schema:ChooseAction + rdfs:label "Choose action" ; + schema:description "The act of expressing a preference from a set of options or a large or unbounded set of choices/options." ; +. + +schema:Church + rdfs:label "Church" ; + schema:description "A church." ; +. + +schema:City + rdfs:label "City" ; + schema:description "A city or town." ; +. + +schema:CityHall + rdfs:label "City hall" ; + schema:description "A city hall." ; +. + +schema:CivicStructure + rdfs:label "Civic structure" ; + schema:description "A public structure, such as a town hall or concert hall." ; +. + +schema:Claim + rdfs:label "Claim" ; + schema:description """A [[Claim]] in Schema.org represents a specific, factually-oriented claim that could be the [[itemReviewed]] in a [[ClaimReview]]. The content of a claim can be summarized with the [[text]] property. Variations on well known claims can have their common identity indicated via [[sameAs]] links, and summarized with a [[name]]. Ideally, a [[Claim]] description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews. + + Beyond [[ClaimReview]], the Claim type can be associated with related creative works - for example a [[ScholarlyArticle]] or [[Question]] might be [[about]] some [[Claim]]. + + At this time, Schema.org does not define any types of relationship between claims. This is a natural area for future exploration. + """ ; +. + +schema:ClaimReview + rdfs:label "Claim review" ; + schema:description "A fact-checking review of claims made (or reported) in some creative work (referenced via itemReviewed)." ; +. + +schema:Class + rdfs:label "Class" ; + schema:description "A class, also often called a 'Type'; equivalent to rdfs:Class." ; +. + +schema:CleaningFee + rdfs:label "Cleaning fee" ; + schema:description "Represents the cleaning fee part of the total price for an offered product, for example a vacation rental." ; +. + +schema:Clinician + rdfs:label "Clinician" ; + schema:description "Medical clinicians, including practicing physicians and other medical professionals involved in clinical practice." ; +. + +schema:Clip + rdfs:label "Clip" ; + schema:description "A short TV or radio program or a segment/part of a program." ; +. + +schema:ClothingStore + rdfs:label "Clothing store" ; + schema:description "A clothing store." ; +. + +schema:CoOp + rdfs:label "Co op" ; + schema:description "Play mode: CoOp. Co-operative games, where you play on the same team with friends." ; +. + +schema:Code + rdfs:label "Code" ; + schema:description "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates." ; +. + +schema:CohortStudy + rdfs:label "Cohort study" ; + schema:description "Also known as a panel study. A cohort study is a form of longitudinal study used in medicine and social science. It is one type of study design and should be compared with a cross-sectional study. A cohort is a group of people who share a common characteristic or experience within a defined period (e.g., are born, leave school, lose their job, are exposed to a drug or a vaccine, etc.). The comparison group may be the general population from which the cohort is drawn, or it may be another cohort of persons thought to have had little or no exposure to the substance under investigation, but otherwise similar. Alternatively, subgroups within the cohort may be compared with each other." ; +. + +schema:Collection + rdfs:label "Collection" ; + schema:description "A collection of items e.g. creative works or products." ; +. + +schema:CollectionPage + rdfs:label "Collection page" ; + schema:description "Web page type: Collection page." ; +. + +schema:CollegeOrUniversity + rdfs:label "College or university" ; + schema:description "A college, university, or other third-level educational institution." ; +. + +schema:ComedyClub + rdfs:label "Comedy club" ; + schema:description "A comedy club." ; +. + +schema:ComedyEvent + rdfs:label "Comedy event" ; + schema:description "Event type: Comedy event." ; +. + +schema:ComicCoverArt + rdfs:label "Comic cover art" ; + schema:description "The artwork on the cover of a comic." ; +. + +schema:ComicIssue + rdfs:label "Comic issue" ; + schema:description """Individual comic issues are serially published as + part of a larger series. For the sake of consistency, even one-shot issues + belong to a series comprised of a single issue. All comic issues can be + uniquely identified by: the combination of the name and volume number of the + series to which the issue belongs; the issue number; and the variant + description of the issue (if any).""" ; +. + +schema:ComicSeries + rdfs:label "Comic series" ; + schema:description """A sequential publication of comic stories under a + unifying title, for example "The Amazing Spider-Man" or "Groo the + Wanderer".""" ; +. + +schema:ComicStory + rdfs:label "Comic story" ; + schema:description """The term "story" is any indivisible, re-printable + unit of a comic, including the interior stories, covers, and backmatter. Most + comics have at least two stories: a cover (ComicCoverArt) and an interior story.""" ; +. + +schema:Comment + rdfs:label "Comment" ; + schema:description "A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the [[text]] property, and its topic via [[about]], properties shared with all CreativeWorks." ; +. + +schema:CommentAction + rdfs:label "Comment action" ; + schema:description "The act of generating a comment about a subject." ; +. + +schema:CommentPermission + rdfs:label "Comment permission" ; + schema:description "Permission to add comments to the document." ; +. + +schema:CommunicateAction + rdfs:label "Communicate action" ; + schema:description "The act of conveying information to another person via a communication medium (instrument) such as speech, email, or telephone conversation." ; +. + +schema:CommunityHealth + rdfs:label "Community health" ; + schema:description "A field of public health focusing on improving health characteristics of a defined population in relation with their geographical or environment areas." ; +. + +schema:CompilationAlbum + rdfs:label "Compilation album" ; + schema:description "CompilationAlbum." ; +. + +schema:CompleteDataFeed + rdfs:label "Complete data feed" ; + schema:description """A [[CompleteDataFeed]] is a [[DataFeed]] whose standard representation includes content for every item currently in the feed. + +This is the equivalent of Atom's element as defined in Feed Paging and Archiving [RFC 5005](https://tools.ietf.org/html/rfc5005), For example (and as defined for Atom), when using data from a feed that represents a collection of items that varies over time (e.g. "Top Twenty Records") there is no need to have newer entries mixed in alongside older, obsolete entries. By marking this feed as a CompleteDataFeed, old entries can be safely discarded when the feed is refreshed, since we can assume the feed has provided descriptions for all current items.""" ; +. + +schema:Completed + rdfs:label "Completed" ; + schema:description "Completed." ; +. + +schema:CompletedActionStatus + rdfs:label "Completed action status" ; + schema:description "An action that has already taken place." ; +. + +schema:CompoundPriceSpecification + rdfs:label "Compound price specification" ; + schema:description "A compound price specification is one that bundles multiple prices that all apply in combination for different dimensions of consumption. Use the name property of the attached unit price specification for indicating the dimension of a price component (e.g. \"electricity\" or \"final cleaning\")." ; +. + +schema:ComputerLanguage + rdfs:label "Computer language" ; + schema:description "This type covers computer programming languages such as Scheme and Lisp, as well as other language-like computer representations. Natural languages are best represented with the [[Language]] type." ; +. + +schema:ComputerStore + rdfs:label "Computer store" ; + schema:description "A computer store." ; +. + +schema:ConfirmAction + rdfs:label "Confirm action" ; + schema:description "The act of notifying someone that a future event/action is going to happen as expected.\\n\\nRelated actions:\\n\\n* [[CancelAction]]: The antonym of ConfirmAction." ; +. + +schema:Consortium + rdfs:label "Consortium" ; + schema:description "A Consortium is a membership [[Organization]] whose members are typically Organizations." ; +. + +schema:ConsumeAction + rdfs:label "Consume action" ; + schema:description "The act of ingesting information/resources/food." ; +. + +schema:ContactPage + rdfs:label "Contact page" ; + schema:description "Web page type: Contact page." ; +. + +schema:ContactPoint + rdfs:label "Contact point" ; + schema:description "A contact point—for example, a Customer Complaints department." ; +. + +schema:ContactPointOption + rdfs:label "Contact point option" ; + schema:description "Enumerated options related to a ContactPoint." ; +. + +schema:ContagiousnessHealthAspect + rdfs:label "Contagiousness health aspect" ; + schema:description "Content about contagion mechanisms and contagiousness information over the topic." ; +. + +schema:Continent + rdfs:label "Continent" ; + schema:description "One of the continents (for example, Europe or Africa)." ; +. + +schema:ControlAction + rdfs:label "Control action" ; + schema:description "An agent controls a device or application." ; +. + +schema:ConvenienceStore + rdfs:label "Convenience store" ; + schema:description "A convenience store." ; +. + +schema:Conversation + rdfs:label "Conversation" ; + schema:description "One or more messages between organizations or people on a particular topic. Individual messages can be linked to the conversation with isPartOf or hasPart properties." ; +. + +schema:CookAction + rdfs:label "Cook action" ; + schema:description "The act of producing/preparing food." ; +. + +schema:Corporation + rdfs:label "Corporation" ; + schema:description "Organization: A business corporation." ; +. + +schema:CorrectionComment + rdfs:label "Correction comment" ; + schema:description "A [[comment]] that corrects [[CreativeWork]]." ; +. + +schema:Country + rdfs:label "Country" ; + schema:description "A country." ; +. + +schema:Course + rdfs:label "Course" ; + schema:description "A description of an educational course which may be offered as distinct instances at which take place at different times or take place at different locations, or be offered through different media or modes of study. An educational course is a sequence of one or more educational events and/or creative works which aims to build knowledge, competence or ability of learners." ; +. + +schema:CourseInstance + rdfs:label "Course instance" ; + schema:description "An instance of a [[Course]] which is distinct from other instances because it is offered at a different time or location or through different media or modes of study or to a specific section of students." ; +. + +schema:Courthouse + rdfs:label "Courthouse" ; + schema:description "A courthouse." ; +. + +schema:CoverArt + rdfs:label "Cover art" ; + schema:description "The artwork on the outer surface of a CreativeWork." ; +. + +schema:CovidTestingFacility + rdfs:label "Covid testing facility" ; + schema:description """A CovidTestingFacility is a [[MedicalClinic]] where testing for the COVID-19 Coronavirus + disease is available. If the facility is being made available from an established [[Pharmacy]], [[Hotel]], or other + non-medical organization, multiple types can be listed. This makes it easier to re-use existing schema.org information + about that place e.g. contact info, address, opening hours. Note that in an emergency, such information may not always be reliable. + """ ; +. + +schema:CreateAction + rdfs:label "Create action" ; + schema:description "The act of deliberately creating/producing/generating/building a result out of the agent." ; +. + +schema:CreativeWork + rdfs:label "Creative work" ; + schema:description "The most generic kind of creative work, including books, movies, photographs, software programs, etc." ; +. + +schema:CreativeWorkSeason + rdfs:label "Creative work season" ; + schema:description "A media season e.g. tv, radio, video game etc." ; +. + +schema:CreativeWorkSeries + rdfs:label "Creative work series" ; + schema:description """A CreativeWorkSeries in schema.org is a group of related items, typically but not necessarily of the same kind. CreativeWorkSeries are usually organized into some order, often chronological. Unlike [[ItemList]] which is a general purpose data structure for lists of things, the emphasis with CreativeWorkSeries is on published materials (written e.g. books and periodicals, or media such as tv, radio and games).\\n\\nSpecific subtypes are available for describing [[TVSeries]], [[RadioSeries]], [[MovieSeries]], [[BookSeries]], [[Periodical]] and [[VideoGameSeries]]. In each case, the [[hasPart]] / [[isPartOf]] properties can be used to relate the CreativeWorkSeries to its parts. The general CreativeWorkSeries type serves largely just to organize these more specific and practical subtypes.\\n\\nIt is common for properties applicable to an item from the series to be usefully applied to the containing group. Schema.org attempts to anticipate some of these cases, but publishers should be free to apply properties of the series parts to the series as a whole wherever they seem appropriate. + """ ; +. + +schema:CreditCard + rdfs:label "Credit card" ; + schema:description """A card payment method of a particular brand or name. Used to mark up a particular payment method and/or the financial product/service that supplies the card account.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#AmericanExpress\\n* http://purl.org/goodrelations/v1#DinersClub\\n* http://purl.org/goodrelations/v1#Discover\\n* http://purl.org/goodrelations/v1#JCB\\n* http://purl.org/goodrelations/v1#MasterCard\\n* http://purl.org/goodrelations/v1#VISA + """ ; +. + +schema:Crematorium + rdfs:label "Crematorium" ; + schema:description "A crematorium." ; +. + +schema:CriticReview + rdfs:label "Critic review" ; + schema:description "A [[CriticReview]] is a more specialized form of Review written or published by a source that is recognized for its reviewing activities. These can include online columns, travel and food guides, TV and radio shows, blogs and other independent Web sites. [[CriticReview]]s are typically more in-depth and professionally written. For simpler, casually written user/visitor/viewer/customer reviews, it is more appropriate to use the [[UserReview]] type. Review aggregator sites such as Metacritic already separate out the site's user reviews from selected critic reviews that originate from third-party sources." ; +. + +schema:CrossSectional + rdfs:label "Cross sectional" ; + schema:description "Studies carried out on pre-existing data (usually from 'snapshot' surveys), such as that collected by the Census Bureau. Sometimes called Prevalence Studies." ; +. + +schema:CssSelectorType + rdfs:label "Css selector type" ; + schema:description "Text representing a CSS selector." ; +. + +schema:CurrencyConversionService + rdfs:label "Currency conversion service" ; + schema:description "A service to convert funds from one currency to another currency." ; +. + +schema:DDxElement + rdfs:label "DDx element" ; + schema:description "An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it." ; +. + +schema:DJMixAlbum + rdfs:label "DJMix album" ; + schema:description "DJMixAlbum." ; +. + +schema:DVDFormat + rdfs:label "DVDFormat" ; + schema:description "DVDFormat." ; +. + +schema:DamagedCondition + rdfs:label "Damaged condition" ; + schema:description "Indicates that the item is damaged." ; +. + +schema:DanceEvent + rdfs:label "Dance event" ; + schema:description "Event type: A social dance." ; +. + +schema:DanceGroup + rdfs:label "Dance group" ; + schema:description "A dance group—for example, the Alvin Ailey Dance Theater or Riverdance." ; +. + +schema:DataCatalog + rdfs:label "Data catalog" ; + schema:description "A collection of datasets." ; +. + +schema:DataDownload + rdfs:label "Data download" ; + schema:description "A dataset in downloadable form." ; +. + +schema:DataFeed + rdfs:label "Data feed" ; + schema:description "A single feed providing structured information about one or more entities or topics." ; +. + +schema:DataFeedItem + rdfs:label "Data feed item" ; + schema:description "A single item within a larger data feed." ; +. + +schema:DataType + rdfs:label "Data type" ; + schema:description "The basic data types such as Integers, Strings, etc." ; +. + +schema:Dataset + rdfs:label "Dataset" ; + schema:description "A body of structured information describing some topic(s) of interest." ; +. + +schema:Date + rdfs:label "Date" ; + schema:description "A date value in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:DateTime + rdfs:label "Date time" ; + schema:description "A combination of date and time of day in the form [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm] (see Chapter 5.4 of ISO 8601)." ; +. + +schema:DatedMoneySpecification + rdfs:label "Dated money specification" ; + schema:description "A DatedMoneySpecification represents monetary values with optional start and end dates. For example, this could represent an employee's salary over a specific period of time. __Note:__ This type has been superseded by [[MonetaryAmount]] use of that type is recommended" ; +. + +schema:DayOfWeek + rdfs:label "Day of week" ; + schema:description """The day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer. + +Originally, URLs from [GoodRelations](http://purl.org/goodrelations/v1) were used (for [[Monday]], [[Tuesday]], [[Wednesday]], [[Thursday]], [[Friday]], [[Saturday]], [[Sunday]] plus a special entry for [[PublicHolidays]]); these have now been integrated directly into schema.org. + """ ; +. + +schema:DaySpa + rdfs:label "Day spa" ; + schema:description "A day spa." ; +. + +schema:DeactivateAction + rdfs:label "Deactivate action" ; + schema:description "The act of stopping or deactivating a device or application (e.g. stopping a timer or turning off a flashlight)." ; +. + +schema:DecontextualizedContent + rdfs:label "Decontextualized content" ; + schema:description """Content coded 'missing context' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'missing context': Presenting unaltered video in an inaccurate manner that misrepresents the footage. For example, using incorrect dates or locations, altering the transcript or sharing brief clips from a longer video to mislead viewers. (A video rated 'original' can also be missing context.) + +For an [[ImageObject]] to be 'missing context': Presenting unaltered images in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An image rated 'original' can also be missing context.) + +For an [[ImageObject]] with embedded text to be 'missing context': An unaltered image presented in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An 'original' image with inaccurate text would generally fall in this category.) + +For an [[AudioObject]] to be 'missing context': Unaltered audio presented in an inaccurate manner that misrepresents it. For example, using incorrect dates or locations, or sharing brief clips from a longer recording to mislead viewers. (Audio rated “original” can also be missing context.) +""" ; +. + +schema:DefenceEstablishment + rdfs:label "Defence establishment" ; + schema:description "A defence establishment, such as an army or navy base." ; +. + +schema:DefinedRegion + rdfs:label "Defined region" ; + schema:description """A DefinedRegion is a geographic area defined by potentially arbitrary (rather than political, administrative or natural geographical) criteria. Properties are provided for defining a region by reference to sets of postal codes. + +Examples: a delivery destination when shopping. Region where regional pricing is configured. + +Requirement 1: +Country: US +States: "NY", "CA" + +Requirement 2: +Country: US +PostalCode Set: { [94000-94585], [97000, 97999], [13000, 13599]} +{ [12345, 12345], [78945, 78945], } +Region = state, canton, prefecture, autonomous community... +""" ; +. + +schema:DefinedTerm + rdfs:label "Defined term" ; + schema:description "A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term." ; +. + +schema:DefinedTermSet + rdfs:label "Defined term set" ; + schema:description "A set of defined terms for example a set of categories or a classification scheme, a glossary, dictionary or enumeration." ; +. + +schema:DefinitiveLegalValue + rdfs:label "Definitive legal value" ; + schema:description """Indicates a document for which the text is conclusively what the law says and is legally binding. (e.g. The digitally signed version of an Official Journal.) + Something "Definitive" is considered to be also [[AuthoritativeLegalValue]].""" ; +. + +schema:DeleteAction + rdfs:label "Delete action" ; + schema:description "The act of editing a recipient by removing one of its objects." ; +. + +schema:DeliveryChargeSpecification + rdfs:label "Delivery charge specification" ; + schema:description "The price for the delivery of an offer using a particular delivery method." ; +. + +schema:DeliveryEvent + rdfs:label "Delivery event" ; + schema:description "An event involving the delivery of an item." ; +. + +schema:DeliveryMethod + rdfs:label "Delivery method" ; + schema:description """A delivery method is a standardized procedure for transferring the product or service to the destination of fulfillment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending organization or person.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#DeliveryModeDirectDownload\\n* http://purl.org/goodrelations/v1#DeliveryModeFreight\\n* http://purl.org/goodrelations/v1#DeliveryModeMail\\n* http://purl.org/goodrelations/v1#DeliveryModeOwnFleet\\n* http://purl.org/goodrelations/v1#DeliveryModePickUp\\n* http://purl.org/goodrelations/v1#DHL\\n* http://purl.org/goodrelations/v1#FederalExpress\\n* http://purl.org/goodrelations/v1#UPS + """ ; +. + +schema:DeliveryTimeSettings + rdfs:label "Delivery time settings" ; + schema:description "A DeliveryTimeSettings represents re-usable pieces of shipping information, relating to timing. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of a [[OfferShippingDetails]]. Several occurrences can be published, distinguished (and identified/referenced) by their different values for [[transitTimeLabel]]." ; +. + +schema:Demand + rdfs:label "Demand" ; + schema:description "A demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply." ; +. + +schema:DemoAlbum + rdfs:label "Demo album" ; + schema:description "DemoAlbum." ; +. + +schema:Dentist + rdfs:label "Dentist" ; + schema:description "A dentist." ; +. + +schema:Dentistry + rdfs:label "Dentistry" ; + schema:description "A branch of medicine that is involved in the dental care." ; +. + +schema:DepartAction + rdfs:label "Depart action" ; + schema:description "The act of departing from a place. An agent departs from an fromLocation for a destination, optionally with participants." ; +. + +schema:DepartmentStore + rdfs:label "Department store" ; + schema:description "A department store." ; +. + +schema:DepositAccount + rdfs:label "Deposit account" ; + schema:description "A type of Bank Account with a main purpose of depositing funds to gain interest or other benefits." ; +. + +schema:Dermatologic + rdfs:label "Dermatologic" ; + schema:description "Something relating to or practicing dermatology." ; +. + +schema:Dermatology + rdfs:label "Dermatology" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of skin." ; +. + +schema:DiabeticDiet + rdfs:label "Diabetic diet" ; + schema:description "A diet appropriate for people with diabetes." ; +. + +schema:Diagnostic + rdfs:label "Diagnostic" ; + schema:description "A medical device used for diagnostic purposes." ; +. + +schema:DiagnosticLab + rdfs:label "Diagnostic lab" ; + schema:description "A medical laboratory that offers on-site or off-site diagnostic services." ; +. + +schema:DiagnosticProcedure + rdfs:label "Diagnostic procedure" ; + schema:description "A medical procedure intended primarily for diagnostic, as opposed to therapeutic, purposes." ; +. + +schema:Diet + rdfs:label "Diet" ; + schema:description "A strategy of regulating the intake of food to achieve or maintain a specific health-related goal." ; +. + +schema:DietNutrition + rdfs:label "Diet nutrition" ; + schema:description "Dietetic and nutrition as a medical specialty." ; +. + +schema:DietarySupplement + rdfs:label "Dietary supplement" ; + schema:description "A product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites." ; +. + +schema:DigitalAudioTapeFormat + rdfs:label "DigitalAudio tape format" ; + schema:description "DigitalAudioTapeFormat." ; +. + +schema:DigitalDocument + rdfs:label "Digital document" ; + schema:description "An electronic file or document." ; +. + +schema:DigitalDocumentPermission + rdfs:label "Digital document permission" ; + schema:description "A permission for a particular person or group to access a particular file." ; +. + +schema:DigitalDocumentPermissionType + rdfs:label "DigitalDocument permission type" ; + schema:description "A type of permission which can be granted for accessing a digital document." ; +. + +schema:DigitalFormat + rdfs:label "Digital format" ; + schema:description "DigitalFormat." ; +. + +schema:DisabilitySupport + rdfs:label "Disability support" ; + schema:description "DisabilitySupport: this is a benefit for disability support." ; +. + +schema:DisagreeAction + rdfs:label "Disagree action" ; + schema:description "The act of expressing a difference of opinion with the object. An agent disagrees to/about an object (a proposition, topic or theme) with participants." ; +. + +schema:Discontinued + rdfs:label "Discontinued" ; + schema:description "Indicates that the item has been discontinued." ; +. + +schema:DiscoverAction + rdfs:label "Discover action" ; + schema:description "The act of discovering/finding an object." ; +. + +schema:DiscussionForumPosting + rdfs:label "Discussion forum posting" ; + schema:description "A posting to a discussion forum." ; +. + +schema:DislikeAction + rdfs:label "Dislike action" ; + schema:description "The act of expressing a negative sentiment about the object. An agent dislikes an object (a proposition, topic or theme) with participants." ; +. + +schema:Distance + rdfs:label "Distance" ; + schema:description "Properties that take Distances as values are of the form '<Number> <Length unit of measure>'. E.g., '7 ft'." ; +. + +schema:DistanceFee + rdfs:label "Distance fee" ; + schema:description "Represents the distance fee (e.g., price per km or mile) part of the total price for an offered product, for example a car rental." ; +. + +schema:Distillery + rdfs:label "Distillery" ; + schema:description "A distillery." ; +. + +schema:DonateAction + rdfs:label "Donate action" ; + schema:description "The act of providing goods, services, or money without compensation, often for philanthropic reasons." ; +. + +schema:DoseSchedule + rdfs:label "Dose schedule" ; + schema:description "A specific dosing schedule for a drug or supplement." ; +. + +schema:DoubleBlindedTrial + rdfs:label "Double blinded trial" ; + schema:description "A trial design in which neither the researcher nor the patient knows the details of the treatment the patient was randomly assigned to." ; +. + +schema:DownloadAction + rdfs:label "Download action" ; + schema:description "The act of downloading an object." ; +. + +schema:Downpayment + rdfs:label "Downpayment" ; + schema:description "Represents the downpayment (up-front payment) price component of the total price for an offered product that has additional installment payments." ; +. + +schema:DrawAction + rdfs:label "Draw action" ; + schema:description "The act of producing a visual/graphical representation of an object, typically with a pen/pencil and paper as instruments." ; +. + +schema:Drawing + rdfs:label "Drawing" ; + schema:description "A picture or diagram made with a pencil, pen, or crayon rather than paint." ; +. + +schema:DrinkAction + rdfs:label "Drink action" ; + schema:description "The act of swallowing liquids." ; +. + +schema:DriveWheelConfigurationValue + rdfs:label "DriveWheel configuration value" ; + schema:description "A value indicating which roadwheels will receive torque." ; +. + +schema:DrivingSchoolVehicleUsage + rdfs:label "DrivingSchool vehicle usage" ; + schema:description "Indicates the usage of the vehicle for driving school." ; +. + +schema:Drug + rdfs:label "Drug" ; + schema:description "A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism. Here the term drug is used interchangeably with the term medicine although clinical knowledge make a clear difference between them." ; +. + +schema:DrugClass + rdfs:label "Drug class" ; + schema:description "A class of medical drugs, e.g., statins. Classes can represent general pharmacological class, common mechanisms of action, common physiological effects, etc." ; +. + +schema:DrugCost + rdfs:label "Drug cost" ; + schema:description "The cost per unit of a medical drug. Note that this type is not meant to represent the price in an offer of a drug for sale; see the Offer type for that. This type will typically be used to tag wholesale or average retail cost of a drug, or maximum reimbursable cost. Costs of medical drugs vary widely depending on how and where they are paid for, so while this type captures some of the variables, costs should be used with caution by consumers of this schema's markup." ; +. + +schema:DrugCostCategory + rdfs:label "Drug cost category" ; + schema:description "Enumerated categories of medical drug costs." ; +. + +schema:DrugLegalStatus + rdfs:label "Drug legal status" ; + schema:description "The legal availability status of a medical drug." ; +. + +schema:DrugPregnancyCategory + rdfs:label "Drug pregnancy category" ; + schema:description "Categories that represent an assessment of the risk of fetal injury due to a drug or pharmaceutical used as directed by the mother during pregnancy." ; +. + +schema:DrugPrescriptionStatus + rdfs:label "Drug prescription status" ; + schema:description "Indicates whether this drug is available by prescription or over-the-counter." ; +. + +schema:DrugStrength + rdfs:label "Drug strength" ; + schema:description "A specific strength in which a medical drug is available in a specific country." ; +. + +schema:DryCleaningOrLaundry + rdfs:label "DryCleaning or laundry" ; + schema:description "A dry-cleaning business." ; +. + +schema:Duration + rdfs:label "Duration" ; + schema:description "Quantity: Duration (use [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601))." ; +. + +schema:EBook + rdfs:label "EBook" ; + schema:description "Book format: Ebook." ; +. + +schema:EPRelease + rdfs:label "EPRelease" ; + schema:description "EPRelease." ; +. + +schema:EUEnergyEfficiencyCategoryA + rdfs:label "EUEnergy efficiency categorya" ; + schema:description "Represents EU Energy Efficiency Class A as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryA1Plus + rdfs:label "EUEnergyEfficiency category a1plus" ; + schema:description "Represents EU Energy Efficiency Class A+ as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryA2Plus + rdfs:label "EUEnergyEfficiency category a2plus" ; + schema:description "Represents EU Energy Efficiency Class A++ as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryA3Plus + rdfs:label "EUEnergyEfficiency category a3plus" ; + schema:description "Represents EU Energy Efficiency Class A+++ as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryB + rdfs:label "EUEnergy efficiency categoryb" ; + schema:description "Represents EU Energy Efficiency Class B as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryC + rdfs:label "EUEnergy efficiency categoryc" ; + schema:description "Represents EU Energy Efficiency Class C as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryD + rdfs:label "EUEnergy efficiency categoryd" ; + schema:description "Represents EU Energy Efficiency Class D as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryE + rdfs:label "EUEnergy efficiency categorye" ; + schema:description "Represents EU Energy Efficiency Class E as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryF + rdfs:label "EUEnergy efficiency categoryf" ; + schema:description "Represents EU Energy Efficiency Class F as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyCategoryG + rdfs:label "EUEnergy efficiency categoryg" ; + schema:description "Represents EU Energy Efficiency Class G as defined in EU energy labeling regulations." ; +. + +schema:EUEnergyEfficiencyEnumeration + rdfs:label "EUEnergy efficiency enumeration" ; + schema:description "Enumerates the EU energy efficiency classes A-G as well as A+, A++, and A+++ as defined in EU directive 2017/1369." ; +. + +schema:Ear + rdfs:label "Ear" ; + schema:description "Ear function assessment with clinical examination." ; +. + +schema:EatAction + rdfs:label "Eat action" ; + schema:description "The act of swallowing solid objects." ; +. + +schema:EditedOrCroppedContent + rdfs:label "EditedOr cropped content" ; + schema:description """Content coded 'edited or cropped content' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'edited or cropped content': The video has been edited or rearranged. This category applies to time edits, including editing multiple videos together to alter the story being told or editing out large portions from a video. + +For an [[ImageObject]] to be 'edited or cropped content': Presenting a part of an image from a larger whole to mislead the viewer. + +For an [[ImageObject]] with embedded text to be 'edited or cropped content': Presenting a part of an image from a larger whole to mislead the viewer. + +For an [[AudioObject]] to be 'edited or cropped content': The audio has been edited or rearranged. This category applies to time edits, including editing multiple audio clips together to alter the story being told or editing out large portions from the recording. +""" ; +. + +schema:EducationEvent + rdfs:label "Education event" ; + schema:description "Event type: Education event." ; +. + +schema:EducationalAudience + rdfs:label "Educational audience" ; + schema:description "An EducationalAudience." ; +. + +schema:EducationalOccupationalCredential + rdfs:label "Educational occupational credential" ; + schema:description "An educational or occupational credential. A diploma, academic degree, certification, qualification, badge, etc., that may be awarded to a person or other entity that meets the requirements defined by the credentialer." ; +. + +schema:EducationalOccupationalProgram + rdfs:label "Educational occupational program" ; + schema:description "A program offered by an institution which determines the learning progress to achieve an outcome, usually a credential like a degree or certificate. This would define a discrete set of opportunities (e.g., job, courses) that together constitute a program with a clear start, end, set of requirements, and transition to a new occupational opportunity (e.g., a job), or sometimes a higher educational opportunity (e.g., an advanced degree)." ; +. + +schema:EducationalOrganization + rdfs:label "Educational organization" ; + schema:description "An educational organization." ; +. + +schema:EffectivenessHealthAspect + rdfs:label "Effectiveness health aspect" ; + schema:description "Content about the effectiveness-related aspects of a health topic." ; +. + +schema:Electrician + rdfs:label "Electrician" ; + schema:description "An electrician." ; +. + +schema:ElectronicsStore + rdfs:label "Electronics store" ; + schema:description "An electronics store." ; +. + +schema:ElementarySchool + rdfs:label "Elementary school" ; + schema:description "An elementary school." ; +. + +schema:EmailMessage + rdfs:label "Email message" ; + schema:description "An email message." ; +. + +schema:Embassy + rdfs:label "Embassy" ; + schema:description "An embassy." ; +. + +schema:Emergency + rdfs:label "Emergency" ; + schema:description "A specific branch of medical science that deals with the evaluation and initial treatment of medical conditions caused by trauma or sudden illness." ; +. + +schema:EmergencyService + rdfs:label "Emergency service" ; + schema:description "An emergency service, such as a fire station or ER." ; +. + +schema:EmployeeRole + rdfs:label "Employee role" ; + schema:description "A subclass of OrganizationRole used to describe employee relationships." ; +. + +schema:EmployerAggregateRating + rdfs:label "Employer aggregate rating" ; + schema:description "An aggregate rating of an Organization related to its role as an employer." ; +. + +schema:EmployerReview + rdfs:label "Employer review" ; + schema:description "An [[EmployerReview]] is a review of an [[Organization]] regarding its role as an employer, written by a current or former employee of that organization." ; +. + +schema:EmploymentAgency + rdfs:label "Employment agency" ; + schema:description "An employment agency." ; +. + +schema:Endocrine + rdfs:label "Endocrine" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of endocrine glands and their secretions." ; +. + +schema:EndorseAction + rdfs:label "Endorse action" ; + schema:description "An agent approves/certifies/likes/supports/sanction an object." ; +. + +schema:EndorsementRating + rdfs:label "Endorsement rating" ; + schema:description """An EndorsementRating is a rating that expresses some level of endorsement, for example inclusion in a "critic's pick" blog, a +"Like" or "+1" on a social network. It can be considered the [[result]] of an [[EndorseAction]] in which the [[object]] of the action is rated positively by +some [[agent]]. As is common elsewhere in schema.org, it is sometimes more useful to describe the results of such an action without explicitly describing the [[Action]]. + +An [[EndorsementRating]] may be part of a numeric scale or organized system, but this is not required: having an explicit type for indicating a positive, +endorsement rating is particularly useful in the absence of numeric scales as it helps consumers understand that the rating is broadly positive. +""" ; +. + +schema:Energy + rdfs:label "Energy" ; + schema:description "Properties that take Energy as values are of the form '<Number> <Energy unit of measure>'." ; +. + +schema:EnergyConsumptionDetails + rdfs:label "Energy consumption details" ; + schema:description "EnergyConsumptionDetails represents information related to the energy efficiency of a product that consumes energy. The information that can be provided is based on international regulations such as for example [EU directive 2017/1369](https://eur-lex.europa.eu/eli/reg/2017/1369/oj) for energy labeling and the [Energy labeling rule](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/energy-water-use-labeling-consumer) under the Energy Policy and Conservation Act (EPCA) in the US." ; +. + +schema:EnergyEfficiencyEnumeration + rdfs:label "Energy efficiency enumeration" ; + schema:description "Enumerates energy efficiency levels (also known as \"classes\" or \"ratings\") and certifications that are part of several international energy efficiency standards." ; +. + +schema:EnergyStarCertified + rdfs:label "Energy star certified" ; + schema:description "Represents EnergyStar certification." ; +. + +schema:EnergyStarEnergyEfficiencyEnumeration + rdfs:label "EnergyStarEnergy efficiency enumeration" ; + schema:description "Used to indicate whether a product is EnergyStar certified." ; +. + +schema:EngineSpecification + rdfs:label "Engine specification" ; + schema:description "Information about the engine of the vehicle. A vehicle can have multiple engines represented by multiple engine specification entities." ; +. + +schema:EnrollingByInvitation + rdfs:label "Enrolling by invitation" ; + schema:description "Enrolling participants by invitation only." ; +. + +schema:EntertainmentBusiness + rdfs:label "Entertainment business" ; + schema:description "A business providing entertainment." ; +. + +schema:EntryPoint + rdfs:label "Entry point" ; + schema:description "An entry point, within some Web-based protocol." ; +. + +schema:Enumeration + rdfs:label "Enumeration" ; + schema:description "Lists or enumerations—for example, a list of cuisines or music genres, etc." ; +. + +schema:Episode + rdfs:label "Episode" ; + schema:description "A media episode (e.g. TV, radio, video game) which can be part of a series or season." ; +. + +schema:Event + rdfs:label "Event" ; + schema:description "An event happening at a certain time and location, such as a concert, lecture, or festival. Ticketing information may be added via the [[offers]] property. Repeated events may be structured as separate Event objects." ; +. + +schema:EventAttendanceModeEnumeration + rdfs:label "EventAttendance mode enumeration" ; + schema:description "An EventAttendanceModeEnumeration value is one of potentially several modes of organising an event, relating to whether it is online or offline." ; +. + +schema:EventCancelled + rdfs:label "Event cancelled" ; + schema:description "The event has been cancelled. If the event has multiple startDate values, all are assumed to be cancelled. Either startDate or previousStartDate may be used to specify the event's cancelled date(s)." ; +. + +schema:EventMovedOnline + rdfs:label "Event moved online" ; + schema:description "Indicates that the event was changed to allow online participation. See [[eventAttendanceMode]] for specifics of whether it is now fully or partially online." ; +. + +schema:EventPostponed + rdfs:label "Event postponed" ; + schema:description "The event has been postponed and no new date has been set. The event's previousStartDate should be set." ; +. + +schema:EventRescheduled + rdfs:label "Event rescheduled" ; + schema:description "The event has been rescheduled. The event's previousStartDate should be set to the old date and the startDate should be set to the event's new date. (If the event has been rescheduled multiple times, the previousStartDate property may be repeated)." ; +. + +schema:EventReservation + rdfs:label "Event reservation" ; + schema:description "A reservation for an event like a concert, sporting event, or lecture.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]." ; +. + +schema:EventScheduled + rdfs:label "Event scheduled" ; + schema:description "The event is taking place or has taken place on the startDate as scheduled. Use of this value is optional, as it is assumed by default." ; +. + +schema:EventSeries + rdfs:label "Event series" ; + schema:description """A series of [[Event]]s. Included events can relate with the series using the [[superEvent]] property. + +An EventSeries is a collection of events that share some unifying characteristic. For example, "The Olympic Games" is a series, which +is repeated regularly. The "2012 London Olympics" can be presented both as an [[Event]] in the series "Olympic Games", and as an +[[EventSeries]] that included a number of sporting competitions as Events. + +The nature of the association between the events in an [[EventSeries]] can vary, but typical examples could +include a thematic event series (e.g. topical meetups or classes), or a series of regular events that share a location, attendee group and/or organizers. + +EventSeries has been defined as a kind of Event to make it easy for publishers to use it in an Event context without +worrying about which kinds of series are really event-like enough to call an Event. In general an EventSeries +may seem more Event-like when the period of time is compact and when aspects such as location are fixed, but +it may also sometimes prove useful to describe a longer-term series as an Event. + """ ; +. + +schema:EventStatusType + rdfs:label "Event status type" ; + schema:description "EventStatusType is an enumeration type whose instances represent several states that an Event may be in." ; +. + +schema:EventVenue + rdfs:label "Event venue" ; + schema:description "An event venue." ; +. + +schema:EvidenceLevelA + rdfs:label "Evidence levela" ; + schema:description "Data derived from multiple randomized clinical trials or meta-analyses." ; +. + +schema:EvidenceLevelB + rdfs:label "Evidence levelb" ; + schema:description "Data derived from a single randomized trial, or nonrandomized studies." ; +. + +schema:EvidenceLevelC + rdfs:label "Evidence levelc" ; + schema:description "Only consensus opinion of experts, case studies, or standard-of-care." ; +. + +schema:ExchangeRateSpecification + rdfs:label "Exchange rate specification" ; + schema:description "A structured value representing exchange rate." ; +. + +schema:ExchangeRefund + rdfs:label "Exchange refund" ; + schema:description "Specifies that a refund can be done as an exchange for the same product." ; +. + +schema:ExerciseAction + rdfs:label "Exercise action" ; + schema:description "The act of participating in exertive activity for the purposes of improving health and fitness." ; +. + +schema:ExerciseGym + rdfs:label "Exercise gym" ; + schema:description "A gym." ; +. + +schema:ExercisePlan + rdfs:label "Exercise plan" ; + schema:description "Fitness-related activity designed for a specific health-related purpose, including defined exercise routines as well as activity prescribed by a clinician." ; +. + +schema:ExhibitionEvent + rdfs:label "Exhibition event" ; + schema:description "Event type: Exhibition event, e.g. at a museum, library, archive, tradeshow, ..." ; +. + +schema:Eye + rdfs:label "Eye" ; + schema:description "Eye or ophtalmological function assessment with clinical examination." ; +. + +schema:FAQPage + rdfs:label "FAQPage" ; + schema:description "A [[FAQPage]] is a [[WebPage]] presenting one or more \"[Frequently asked questions](https://en.wikipedia.org/wiki/FAQ)\" (see also [[QAPage]])." ; +. + +schema:FDAcategoryA + rdfs:label "FDAcategoryA" ; + schema:description "A designation by the US FDA signifying that adequate and well-controlled studies have failed to demonstrate a risk to the fetus in the first trimester of pregnancy (and there is no evidence of risk in later trimesters)." ; +. + +schema:FDAcategoryB + rdfs:label "FDAcategoryB" ; + schema:description "A designation by the US FDA signifying that animal reproduction studies have failed to demonstrate a risk to the fetus and there are no adequate and well-controlled studies in pregnant women." ; +. + +schema:FDAcategoryC + rdfs:label "FDAcategoryC" ; + schema:description "A designation by the US FDA signifying that animal reproduction studies have shown an adverse effect on the fetus and there are no adequate and well-controlled studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks." ; +. + +schema:FDAcategoryD + rdfs:label "FDAcategoryD" ; + schema:description "A designation by the US FDA signifying that there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience or studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks." ; +. + +schema:FDAcategoryX + rdfs:label "FDAcategoryX" ; + schema:description "A designation by the US FDA signifying that studies in animals or humans have demonstrated fetal abnormalities and/or there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience, and the risks involved in use of the drug in pregnant women clearly outweigh potential benefits." ; +. + +schema:FDAnotEvaluated + rdfs:label "FDAnot evaluated" ; + schema:description "A designation that the drug in question has not been assigned a pregnancy category designation by the US FDA." ; +. + +schema:FMRadioChannel + rdfs:label "FMRadio channel" ; + schema:description "A radio channel that uses FM." ; +. + +schema:FailedActionStatus + rdfs:label "Failed action status" ; + schema:description "An action that failed to complete. The action's error property and the HTTP return code contain more information about the failure." ; +. + +schema:False + rdfs:label "False" ; + schema:description "The boolean value false." ; +. + +schema:FastFoodRestaurant + rdfs:label "Fast food restaurant" ; + schema:description "A fast-food restaurant." ; +. + +schema:Female + rdfs:label "Female" ; + schema:description "The female gender." ; +. + +schema:Festival + rdfs:label "Festival" ; + schema:description "Event type: Festival." ; +. + +schema:FilmAction + rdfs:label "Film action" ; + schema:description "The act of capturing sound and moving images on film, video, or digitally." ; +. + +schema:FinancialProduct + rdfs:label "Financial product" ; + schema:description "A product provided to consumers and businesses by financial institutions such as banks, insurance companies, brokerage firms, consumer finance companies, and investment companies which comprise the financial services industry." ; +. + +schema:FinancialService + rdfs:label "Financial service" ; + schema:description "Financial services business." ; +. + +schema:FindAction + rdfs:label "Find action" ; + schema:description "The act of finding an object.\\n\\nRelated actions:\\n\\n* [[SearchAction]]: FindAction is generally lead by a SearchAction, but not necessarily." ; +. + +schema:FireStation + rdfs:label "Fire station" ; + schema:description "A fire station. With firemen." ; +. + +schema:Flexibility + rdfs:label "Flexibility" ; + schema:description "Physical activity that is engaged in to improve joint and muscle flexibility." ; +. + +schema:Flight + rdfs:label "Flight" ; + schema:description "An airline flight." ; +. + +schema:FlightReservation + rdfs:label "Flight reservation" ; + schema:description "A reservation for air travel.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]." ; +. + +schema:Float + rdfs:label "Float" ; + schema:description "Data type: Floating number." ; +. + +schema:FloorPlan + rdfs:label "Floor plan" ; + schema:description "A FloorPlan is an explicit representation of a collection of similar accommodations, allowing the provision of common information (room counts, sizes, layout diagrams) and offers for rental or sale. In typical use, some [[ApartmentComplex]] has an [[accommodationFloorPlan]] which is a [[FloorPlan]]. A FloorPlan is always in the context of a particular place, either a larger [[ApartmentComplex]] or a single [[Apartment]]. The visual/spatial aspects of a floor plan (i.e. room layout, [see wikipedia](https://en.wikipedia.org/wiki/Floor_plan)) can be indicated using [[image]]. " ; +. + +schema:Florist + rdfs:label "Florist" ; + schema:description "A florist." ; +. + +schema:FollowAction + rdfs:label "Follow action" ; + schema:description "The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates polled from.\\n\\nRelated actions:\\n\\n* [[BefriendAction]]: Unlike BefriendAction, FollowAction implies that the connection is *not* necessarily reciprocal.\\n* [[SubscribeAction]]: Unlike SubscribeAction, FollowAction implies that the follower acts as an active agent constantly/actively polling for updates.\\n* [[RegisterAction]]: Unlike RegisterAction, FollowAction implies that the agent is interested in continuing receiving updates from the object.\\n* [[JoinAction]]: Unlike JoinAction, FollowAction implies that the agent is interested in getting updates from the object.\\n* [[TrackAction]]: Unlike TrackAction, FollowAction refers to the polling of updates of all aspects of animate objects rather than the location of inanimate objects (e.g. you track a package, but you don't follow it)." ; +. + +schema:FoodEstablishment + rdfs:label "Food establishment" ; + schema:description "A food-related business." ; +. + +schema:FoodEstablishmentReservation + rdfs:label "Food establishment reservation" ; + schema:description "A reservation to dine at a food-related business.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations." ; +. + +schema:FoodEvent + rdfs:label "Food event" ; + schema:description "Event type: Food event." ; +. + +schema:FoodService + rdfs:label "Food service" ; + schema:description "A food service, like breakfast, lunch, or dinner." ; +. + +schema:FourWheelDriveConfiguration + rdfs:label "FourWheel drive configuration" ; + schema:description "Four-wheel drive is a transmission layout where the engine primarily drives two wheels with a part-time four-wheel drive capability." ; +. + +schema:FreeReturn + rdfs:label "Free return" ; + schema:description "Specifies that product returns are free of charge for the customer." ; +. + +schema:Friday + rdfs:label "Friday" ; + schema:description "The day of the week between Thursday and Saturday." ; +. + +schema:FrontWheelDriveConfiguration + rdfs:label "FrontWheel drive configuration" ; + schema:description "Front-wheel drive is a transmission layout where the engine drives the front wheels." ; +. + +schema:FullRefund + rdfs:label "Full refund" ; + schema:description "Specifies that a refund can be done in the full amount the customer paid for the product" ; +. + +schema:FundingAgency + rdfs:label "Funding agency" ; + schema:description """A FundingAgency is an organization that implements one or more [[FundingScheme]]s and manages + the granting process (via [[Grant]]s, typically [[MonetaryGrant]]s). + A funding agency is not always required for grant funding, e.g. philanthropic giving, corporate sponsorship etc. + +Examples of funding agencies include ERC, REA, NIH, Bill and Melinda Gates Foundation... + """ ; +. + +schema:FundingScheme + rdfs:label "Funding scheme" ; + schema:description """A FundingScheme combines organizational, project and policy aspects of grant-based funding + that sets guidelines, principles and mechanisms to support other kinds of projects and activities. + Funding is typically organized via [[Grant]] funding. Examples of funding schemes: Swiss Priority Programmes (SPPs); EU Framework 7 (FP7); Horizon 2020; the NIH-R01 Grant Program; Wellcome institutional strategic support fund. For large scale public sector funding, the management and administration of grant awards is often handled by other, dedicated, organizations - [[FundingAgency]]s such as ERC, REA, ...""" ; +. + +schema:Fungus + rdfs:label "Fungus" ; + schema:description "Pathogenic fungus." ; +. + +schema:FurnitureStore + rdfs:label "Furniture store" ; + schema:description "A furniture store." ; +. + +schema:Game + rdfs:label "Game" ; + schema:description "The Game type represents things which are games. These are typically rule-governed recreational activities, e.g. role-playing games in which players assume the role of characters in a fictional setting." ; +. + +schema:GamePlayMode + rdfs:label "Game play mode" ; + schema:description "Indicates whether this game is multi-player, co-op or single-player." ; +. + +schema:GameServer + rdfs:label "Game server" ; + schema:description "Server that provides game interaction in a multiplayer game." ; +. + +schema:GameServerStatus + rdfs:label "Game server status" ; + schema:description "Status of a game server." ; +. + +schema:GardenStore + rdfs:label "Garden store" ; + schema:description "A garden store." ; +. + +schema:GasStation + rdfs:label "Gas station" ; + schema:description "A gas station." ; +. + +schema:Gastroenterologic + rdfs:label "Gastroenterologic" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of digestive system." ; +. + +schema:GatedResidenceCommunity + rdfs:label "Gated residence community" ; + schema:description "Residence type: Gated community." ; +. + +schema:GenderType + rdfs:label "Gender type" ; + schema:description "An enumeration of genders." ; +. + +schema:Gene + rdfs:label "Gene" ; + schema:description "A discrete unit of inheritance which affects one or more biological traits (Source: [https://en.wikipedia.org/wiki/Gene](https://en.wikipedia.org/wiki/Gene)). Examples include FOXP2 (Forkhead box protein P2), SCARNA21 (small Cajal body-specific RNA 21), A- (agouti genotype)." ; +. + +schema:GeneralContractor + rdfs:label "General contractor" ; + schema:description "A general contractor." ; +. + +schema:Genetic + rdfs:label "Genetic" ; + schema:description "A specific branch of medical science that pertains to hereditary transmission and the variation of inherited characteristics and disorders." ; +. + +schema:Genitourinary + rdfs:label "Genitourinary" ; + schema:description "Genitourinary system function assessment with clinical examination." ; +. + +schema:GeoCircle + rdfs:label "Geo circle" ; + schema:description """A GeoCircle is a GeoShape representing a circular geographic area. As it is a GeoShape + it provides the simple textual property 'circle', but also allows the combination of postalCode alongside geoRadius. + The center of the circle can be indicated via the 'geoMidpoint' property, or more approximately using 'address', 'postalCode'. + """ ; +. + +schema:GeoCoordinates + rdfs:label "Geo coordinates" ; + schema:description "The geographic coordinates of a place or event." ; +. + +schema:GeoShape + rdfs:label "Geo shape" ; + schema:description "The geographic shape of a place. A GeoShape can be described using several properties whose values are based on latitude/longitude pairs. Either whitespace or commas can be used to separate latitude and longitude; whitespace should be used when writing a list of several such points." ; +. + +schema:GeospatialGeometry + rdfs:label "Geospatial geometry" ; + schema:description "(Eventually to be defined as) a supertype of GeoShape designed to accommodate definitions from Geo-Spatial best practices." ; +. + +schema:Geriatric + rdfs:label "Geriatric" ; + schema:description "A specific branch of medical science that is concerned with the diagnosis and treatment of diseases, debilities and provision of care to the aged." ; +. + +schema:GettingAccessHealthAspect + rdfs:label "GettingAccess health aspect" ; + schema:description "Content that discusses practical and policy aspects for getting access to specific kinds of healthcare (e.g. distribution mechanisms for vaccines)." ; +. + +schema:GiveAction + rdfs:label "Give action" ; + schema:description "The act of transferring ownership of an object to a destination. Reciprocal of TakeAction.\\n\\nRelated actions:\\n\\n* [[TakeAction]]: Reciprocal of GiveAction.\\n* [[SendAction]]: Unlike SendAction, GiveAction implies that ownership is being transferred (e.g. I may send my laptop to you, but that doesn't mean I'm giving it to you)." ; +. + +schema:GlutenFreeDiet + rdfs:label "Gluten free diet" ; + schema:description "A diet exclusive of gluten." ; +. + +schema:GolfCourse + rdfs:label "Golf course" ; + schema:description "A golf course." ; +. + +schema:GovernmentBenefitsType + rdfs:label "Government benefits type" ; + schema:description "GovernmentBenefitsType enumerates several kinds of government benefits to support the COVID-19 situation. Note that this structure may not capture all benefits offered." ; +. + +schema:GovernmentBuilding + rdfs:label "Government building" ; + schema:description "A government building." ; +. + +schema:GovernmentOffice + rdfs:label "Government office" ; + schema:description "A government office—for example, an IRS or DMV office." ; +. + +schema:GovernmentOrganization + rdfs:label "Government organization" ; + schema:description "A governmental organization or agency." ; +. + +schema:GovernmentPermit + rdfs:label "Government permit" ; + schema:description "A permit issued by a government agency." ; +. + +schema:GovernmentService + rdfs:label "Government service" ; + schema:description "A service provided by a government organization, e.g. food stamps, veterans benefits, etc." ; +. + +schema:Grant + rdfs:label "Grant" ; + schema:description """A grant, typically financial or otherwise quantifiable, of resources. Typically a [[funder]] sponsors some [[MonetaryAmount]] to an [[Organization]] or [[Person]], + sometimes not necessarily via a dedicated or long-lived [[Project]], resulting in one or more outputs, or [[fundedItem]]s. For financial sponsorship, indicate the [[funder]] of a [[MonetaryGrant]]. For non-financial support, indicate [[sponsor]] of [[Grant]]s of resources (e.g. office space). + +Grants support activities directed towards some agreed collective goals, often but not always organized as [[Project]]s. Long-lived projects are sometimes sponsored by a variety of grants over time, but it is also common for a project to be associated with a single grant. + +The amount of a [[Grant]] is represented using [[amount]] as a [[MonetaryAmount]]. + """ ; +. + +schema:GraphicNovel + rdfs:label "Graphic novel" ; + schema:description "Book format: GraphicNovel. May represent a bound collection of ComicIssue instances." ; +. + +schema:GroceryStore + rdfs:label "Grocery store" ; + schema:description "A grocery store." ; +. + +schema:GroupBoardingPolicy + rdfs:label "Group boarding policy" ; + schema:description "The airline boards by groups based on check-in time, priority, etc." ; +. + +schema:Guide + rdfs:label "Guide" ; + schema:description "[[Guide]] is a page or article that recommend specific products or services, or aspects of a thing for a user to consider. A [[Guide]] may represent a Buying Guide and detail aspects of products or services for a user to consider. A [[Guide]] may represent a Product Guide and recommend specific products or services. A [[Guide]] may represent a Ranked List and recommend specific products or services with ranking." ; +. + +schema:Gynecologic + rdfs:label "Gynecologic" ; + schema:description "A specific branch of medical science that pertains to the health care of women, particularly in the diagnosis and treatment of disorders affecting the female reproductive system." ; +. + +schema:HVACBusiness + rdfs:label "HVACBusiness" ; + schema:description "A business that provide Heating, Ventilation and Air Conditioning services." ; +. + +schema:Hackathon + rdfs:label "Hackathon" ; + schema:description "A [hackathon](https://en.wikipedia.org/wiki/Hackathon) event." ; +. + +schema:HairSalon + rdfs:label "Hair salon" ; + schema:description "A hair salon." ; +. + +schema:HalalDiet + rdfs:label "Halal diet" ; + schema:description "A diet conforming to Islamic dietary practices." ; +. + +schema:Hardcover + rdfs:label "Hardcover" ; + schema:description "Book format: Hardcover." ; +. + +schema:HardwareStore + rdfs:label "Hardware store" ; + schema:description "A hardware store." ; +. + +schema:Head + rdfs:label "Head" ; + schema:description "Head assessment with clinical examination." ; +. + +schema:HealthAndBeautyBusiness + rdfs:label "HealthAnd beauty business" ; + schema:description "Health and beauty." ; +. + +schema:HealthAspectEnumeration + rdfs:label "Health aspect enumeration" ; + schema:description "HealthAspectEnumeration enumerates several aspects of health content online, each of which might be described using [[hasHealthAspect]] and [[HealthTopicContent]]." ; +. + +schema:HealthCare + rdfs:label "Health care" ; + schema:description "HealthCare: this is a benefit for health care." ; +. + +schema:HealthClub + rdfs:label "Health club" ; + schema:description "A health club." ; +. + +schema:HealthInsurancePlan + rdfs:label "Health insurance plan" ; + schema:description "A US-style health insurance plan, including PPOs, EPOs, and HMOs. " ; +. + +schema:HealthPlanCostSharingSpecification + rdfs:label "HealthPlanCost sharing specification" ; + schema:description "A description of costs to the patient under a given network or formulary." ; +. + +schema:HealthPlanFormulary + rdfs:label "Health plan formulary" ; + schema:description "For a given health insurance plan, the specification for costs and coverage of prescription drugs. " ; +. + +schema:HealthPlanNetwork + rdfs:label "Health plan network" ; + schema:description "A US-style health insurance plan network. " ; +. + +schema:HealthTopicContent + rdfs:label "Health topic content" ; + schema:description """[[HealthTopicContent]] is [[WebContent]] that is about some aspect of a health topic, e.g. a condition, its symptoms or treatments. Such content may be comprised of several parts or sections and use different types of media. Multiple instances of [[WebContent]] (and hence [[HealthTopicContent]]) can be related using [[hasPart]] / [[isPartOf]] where there is some kind of content hierarchy, and their content described with [[about]] and [[mentions]] e.g. building upon the existing [[MedicalCondition]] vocabulary. + """ ; +. + +schema:HearingImpairedSupported + rdfs:label "Hearing impaired supported" ; + schema:description "Uses devices to support users with hearing impairments." ; +. + +schema:Hematologic + rdfs:label "Hematologic" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of blood and blood producing organs." ; +. + +schema:HighSchool + rdfs:label "High school" ; + schema:description "A high school." ; +. + +schema:HinduDiet + rdfs:label "Hindu diet" ; + schema:description "A diet conforming to Hindu dietary practices, in particular, beef-free." ; +. + +schema:HinduTemple + rdfs:label "Hindu temple" ; + schema:description "A Hindu temple." ; +. + +schema:HobbyShop + rdfs:label "Hobby shop" ; + schema:description "A store that sells materials useful or necessary for various hobbies." ; +. + +schema:HomeAndConstructionBusiness + rdfs:label "HomeAnd construction business" ; + schema:description "A construction business.\\n\\nA HomeAndConstructionBusiness is a [[LocalBusiness]] that provides services around homes and buildings.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s)." ; +. + +schema:HomeGoodsStore + rdfs:label "Home goods store" ; + schema:description "A home goods store." ; +. + +schema:Homeopathic + rdfs:label "Homeopathic" ; + schema:description "A system of medicine based on the principle that a disease can be cured by a substance that produces similar symptoms in healthy people." ; +. + +schema:Hospital + rdfs:label "Hospital" ; + schema:description "A hospital." ; +. + +schema:Hostel + rdfs:label "Hostel" ; + schema:description """A hostel - cheap accommodation, often in shared dormitories. +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:Hotel + rdfs:label "Hotel" ; + schema:description """A hotel is an establishment that provides lodging paid on a short-term basis (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel). +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:HotelRoom + rdfs:label "Hotel room" ; + schema:description """A hotel room is a single room in a hotel. +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:House + rdfs:label "House" ; + schema:description "A house is a building or structure that has the ability to be occupied for habitation by humans or other creatures (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/House)." ; +. + +schema:HousePainter + rdfs:label "House painter" ; + schema:description "A house painting service." ; +. + +schema:HowItWorksHealthAspect + rdfs:label "HowItWorks health aspect" ; + schema:description "Content that discusses and explains how a particular health-related topic works, e.g. in terms of mechanisms and underlying science." ; +. + +schema:HowOrWhereHealthAspect + rdfs:label "HowOrWhere health aspect" ; + schema:description "Information about how or where to find a topic. Also may contain location data that can be used for where to look for help if the topic is observed." ; +. + +schema:HowTo + rdfs:label "How to" ; + schema:description "Instructions that explain how to achieve a result by performing a sequence of steps." ; +. + +schema:HowToDirection + rdfs:label "How to direction" ; + schema:description "A direction indicating a single action to do in the instructions for how to achieve a result." ; +. + +schema:HowToItem + rdfs:label "How to item" ; + schema:description "An item used as either a tool or supply when performing the instructions for how to to achieve a result." ; +. + +schema:HowToSection + rdfs:label "How to section" ; + schema:description "A sub-grouping of steps in the instructions for how to achieve a result (e.g. steps for making a pie crust within a pie recipe)." ; +. + +schema:HowToStep + rdfs:label "How to step" ; + schema:description "A step in the instructions for how to achieve a result. It is an ordered list with HowToDirection and/or HowToTip items." ; +. + +schema:HowToSupply + rdfs:label "How to supply" ; + schema:description "A supply consumed when performing the instructions for how to achieve a result." ; +. + +schema:HowToTip + rdfs:label "How to tip" ; + schema:description "An explanation in the instructions for how to achieve a result. It provides supplementary information about a technique, supply, author's preference, etc. It can explain what could be done, or what should not be done, but doesn't specify what should be done (see HowToDirection)." ; +. + +schema:HowToTool + rdfs:label "How to tool" ; + schema:description "A tool used (but not consumed) when performing instructions for how to achieve a result." ; +. + +schema:HyperToc + rdfs:label "Hyper toc" ; + schema:description "A HyperToc represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. Items in the table of contents are indicated using the [[tocEntry]] property, and typed [[HyperTocEntry]]. For cases where the same larger work is split into multiple files, [[associatedMedia]] can be used on individual [[HyperTocEntry]] items." ; +. + +schema:HyperTocEntry + rdfs:label "Hyper toc entry" ; + schema:description "A HyperToEntry is an item within a [[HyperToc]], which represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. The media object itself is indicated using [[associatedMedia]]. Each section of interest within that content can be described with a [[HyperTocEntry]], with associated [[startOffset]] and [[endOffset]]. When several entries are all from the same file, [[associatedMedia]] is used on the overarching [[HyperTocEntry]]; if the content has been split into multiple files, they can be referenced using [[associatedMedia]] on each [[HyperTocEntry]]." ; +. + +schema:IceCreamShop + rdfs:label "Ice cream shop" ; + schema:description "An ice cream shop." ; +. + +schema:IgnoreAction + rdfs:label "Ignore action" ; + schema:description "The act of intentionally disregarding the object. An agent ignores an object." ; +. + +schema:ImageGallery + rdfs:label "Image gallery" ; + schema:description "Web page type: Image gallery page." ; +. + +schema:ImageObject + rdfs:label "Image object" ; + schema:description "An image file." ; +. + +schema:ImageObjectSnapshot + rdfs:label "Image object snapshot" ; + schema:description "A specific and exact (byte-for-byte) version of an [[ImageObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata (e.g. XMP, EXIF) the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity." ; +. + +schema:ImagingTest + rdfs:label "Imaging test" ; + schema:description "Any medical imaging modality typically used for diagnostic purposes." ; +. + +schema:InForce + rdfs:label "In force" ; + schema:description "Indicates that a legislation is in force." ; +. + +schema:InStock + rdfs:label "In stock" ; + schema:description "Indicates that the item is in stock." ; +. + +schema:InStoreOnly + rdfs:label "In store only" ; + schema:description "Indicates that the item is available only at physical locations." ; +. + +schema:IndividualProduct + rdfs:label "Individual product" ; + schema:description "A single, identifiable product instance (e.g. a laptop with a particular serial number)." ; +. + +schema:Infectious + rdfs:label "Infectious" ; + schema:description "Something in medical science that pertains to infectious diseases i.e caused by bacterial, viral, fungal or parasitic infections." ; +. + +schema:InfectiousAgentClass + rdfs:label "Infectious agent class" ; + schema:description "Classes of agents or pathogens that transmit infectious diseases. Enumerated type." ; +. + +schema:InfectiousDisease + rdfs:label "Infectious disease" ; + schema:description "An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease." ; +. + +schema:InformAction + rdfs:label "Inform action" ; + schema:description "The act of notifying someone of information pertinent to them, with no expectation of a response." ; +. + +schema:IngredientsHealthAspect + rdfs:label "Ingredients health aspect" ; + schema:description "Content discussing ingredients-related aspects of a health topic." ; +. + +schema:InsertAction + rdfs:label "Insert action" ; + schema:description "The act of adding at a specific location in an ordered collection." ; +. + +schema:InstallAction + rdfs:label "Install action" ; + schema:description "The act of installing an application." ; +. + +schema:Installment + rdfs:label "Installment" ; + schema:description "Represents the installment pricing component of the total price for an offered product." ; +. + +schema:InsuranceAgency + rdfs:label "Insurance agency" ; + schema:description "An Insurance agency." ; +. + +schema:Intangible + rdfs:label "Intangible" ; + schema:description "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc." ; +. + +schema:Integer + rdfs:label "Integer" ; + schema:description "Data type: Integer." ; +. + +schema:InteractAction + rdfs:label "Interact action" ; + schema:description "The act of interacting with another person or organization." ; +. + +schema:InteractionCounter + rdfs:label "Interaction counter" ; + schema:description "A summary of how users have interacted with this CreativeWork. In most cases, authors will use a subtype to specify the specific type of interaction." ; +. + +schema:InternationalTrial + rdfs:label "International trial" ; + schema:description "An international trial." ; +. + +schema:InternetCafe + rdfs:label "Internet cafe" ; + schema:description "An internet cafe." ; +. + +schema:InvestmentFund + rdfs:label "Investment fund" ; + schema:description "A company or fund that gathers capital from a number of investors to create a pool of money that is then re-invested into stocks, bonds and other assets." ; +. + +schema:InvestmentOrDeposit + rdfs:label "Investment or deposit" ; + schema:description "A type of financial product that typically requires the client to transfer funds to a financial service in return for potential beneficial financial return." ; +. + +schema:InviteAction + rdfs:label "Invite action" ; + schema:description "The act of asking someone to attend an event. Reciprocal of RsvpAction." ; +. + +schema:Invoice + rdfs:label "Invoice" ; + schema:description "A statement of the money due for goods or services; a bill." ; +. + +schema:InvoicePrice + rdfs:label "Invoice price" ; + schema:description "Represents the invoice price of an offered product." ; +. + +schema:ItemAvailability + rdfs:label "Item availability" ; + schema:description "A list of possible product availability options." ; +. + +schema:ItemList + rdfs:label "Item list" ; + schema:description "A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting." ; +. + +schema:ItemListOrderAscending + rdfs:label "ItemList order ascending" ; + schema:description "An ItemList ordered with lower values listed first." ; +. + +schema:ItemListOrderDescending + rdfs:label "ItemList order descending" ; + schema:description "An ItemList ordered with higher values listed first." ; +. + +schema:ItemListOrderType + rdfs:label "ItemList order type" ; + schema:description "Enumerated for values for itemListOrder for indicating how an ordered ItemList is organized." ; +. + +schema:ItemListUnordered + rdfs:label "Item list unordered" ; + schema:description "An ItemList ordered with no explicit order." ; +. + +schema:ItemPage + rdfs:label "Item page" ; + schema:description "A page devoted to a single item, such as a particular product or hotel." ; +. + +schema:JewelryStore + rdfs:label "Jewelry store" ; + schema:description "A jewelry store." ; +. + +schema:JobPosting + rdfs:label "Job posting" ; + schema:description "A listing that describes a job opening in a certain organization." ; +. + +schema:JoinAction + rdfs:label "Join action" ; + schema:description "An agent joins an event/group with participants/friends at a location.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: Unlike RegisterAction, JoinAction refers to joining a group/team of people.\\n* [[SubscribeAction]]: Unlike SubscribeAction, JoinAction does not imply that you'll be receiving updates.\\n* [[FollowAction]]: Unlike FollowAction, JoinAction does not imply that you'll be polling for updates." ; +. + +schema:Joint + rdfs:label "Joint" ; + schema:description "The anatomical location at which two or more bones make contact." ; +. + +schema:KosherDiet + rdfs:label "Kosher diet" ; + schema:description "A diet conforming to Jewish dietary practices." ; +. + +schema:LaboratoryScience + rdfs:label "Laboratory science" ; + schema:description "A medical science pertaining to chemical, hematological, immunologic, microscopic, or bacteriological diagnostic analyses or research." ; +. + +schema:LakeBodyOfWater + rdfs:label "LakeBody of water" ; + schema:description "A lake (for example, Lake Pontrachain)." ; +. + +schema:Landform + rdfs:label "Landform" ; + schema:description "A landform or physical feature. Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins." ; +. + +schema:LandmarksOrHistoricalBuildings + rdfs:label "LandmarksOr historical buildings" ; + schema:description "An historical landmark or building." ; +. + +schema:Language + rdfs:label "Language" ; + schema:description "Natural languages such as Spanish, Tamil, Hindi, English, etc. Formal language code tags expressed in [BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) can be used via the [[alternateName]] property. The Language type previously also covered programming languages such as Scheme and Lisp, which are now best represented using [[ComputerLanguage]]." ; +. + +schema:LaserDiscFormat + rdfs:label "Laser disc format" ; + schema:description "LaserDiscFormat." ; +. + +schema:LearningResource + rdfs:label "Learning resource" ; + schema:description """The LearningResource type can be used to indicate [[CreativeWork]]s (whether physical or digital) that have a particular and explicit orientation towards learning, education, skill acquisition, and other educational purposes. + +[[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[VideoObject]], [[Product]] etc. + +[[EducationEvent]] serves a similar purpose for event-like things (e.g. a [[Trip]]). A [[LearningResource]] may be created as a result of an [[EducationEvent]], for example by recording one.""" ; +. + +schema:LeaveAction + rdfs:label "Leave action" ; + schema:description "An agent leaves an event / group with participants/friends at a location.\\n\\nRelated actions:\\n\\n* [[JoinAction]]: The antonym of LeaveAction.\\n* [[UnRegisterAction]]: Unlike UnRegisterAction, LeaveAction implies leaving a group/team of people rather than a service." ; +. + +schema:LeftHandDriving + rdfs:label "Left hand driving" ; + schema:description "The steering position is on the left side of the vehicle (viewed from the main direction of driving)." ; +. + +schema:LegalForceStatus + rdfs:label "Legal force status" ; + schema:description "A list of possible statuses for the legal force of a legislation." ; +. + +schema:LegalService + rdfs:label "Legal service" ; + schema:description "A LegalService is a business that provides legally-oriented services, advice and representation, e.g. law firms.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s)." ; +. + +schema:LegalValueLevel + rdfs:label "Legal value level" ; + schema:description "A list of possible levels for the legal validity of a legislation." ; +. + +schema:Legislation + rdfs:label "Legislation" ; + schema:description "A legal document such as an act, decree, bill, etc. (enforceable or not) or a component of a legal act (like an article)." ; +. + +schema:LegislationObject + rdfs:label "Legislation object" ; + schema:description "A specific object or file containing a Legislation. Note that the same Legislation can be published in multiple files. For example, a digitally signed PDF, a plain PDF and an HTML version." ; +. + +schema:LegislativeBuilding + rdfs:label "Legislative building" ; + schema:description "A legislative building—for example, the state capitol." ; +. + +schema:LeisureTimeActivity + rdfs:label "Leisure time activity" ; + schema:description "Any physical activity engaged in for recreational purposes. Examples may include ballroom dancing, roller skating, canoeing, fishing, etc." ; +. + +schema:LendAction + rdfs:label "Lend action" ; + schema:description "The act of providing an object under an agreement that it will be returned at a later date. Reciprocal of BorrowAction.\\n\\nRelated actions:\\n\\n* [[BorrowAction]]: Reciprocal of LendAction." ; +. + +schema:Library + rdfs:label "Library" ; + schema:description "A library." ; +. + +schema:LibrarySystem + rdfs:label "Library system" ; + schema:description "A [[LibrarySystem]] is a collaborative system amongst several libraries." ; +. + +schema:LifestyleModification + rdfs:label "Lifestyle modification" ; + schema:description "A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition." ; +. + +schema:Ligament + rdfs:label "Ligament" ; + schema:description "A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints." ; +. + +schema:LikeAction + rdfs:label "Like action" ; + schema:description "The act of expressing a positive sentiment about the object. An agent likes an object (a proposition, topic or theme) with participants." ; +. + +schema:LimitedAvailability + rdfs:label "Limited availability" ; + schema:description "Indicates that the item has limited availability." ; +. + +schema:LimitedByGuaranteeCharity + rdfs:label "LimitedBy guarantee charity" ; + schema:description "LimitedByGuaranteeCharity: Non-profit type referring to a charitable company that is limited by guarantee (UK)." ; +. + +schema:LinkRole + rdfs:label "Link role" ; + schema:description "A Role that represents a Web link e.g. as expressed via the 'url' property. Its linkRelationship property can indicate URL-based and plain textual link types e.g. those in IANA link registry or others such as 'amphtml'. This structure provides a placeholder where details from HTML's link element can be represented outside of HTML, e.g. in JSON-LD feeds." ; +. + +schema:LiquorStore + rdfs:label "Liquor store" ; + schema:description "A shop that sells alcoholic drinks such as wine, beer, whisky and other spirits." ; +. + +schema:ListItem + rdfs:label "List item" ; + schema:description "An list item, e.g. a step in a checklist or how-to description." ; +. + +schema:ListPrice + rdfs:label "List price" ; + schema:description "Represents the list price (the price a product is actually advertised for) of an offered product." ; +. + +schema:ListenAction + rdfs:label "Listen action" ; + schema:description "The act of consuming audio content." ; +. + +schema:LiteraryEvent + rdfs:label "Literary event" ; + schema:description "Event type: Literary event." ; +. + +schema:LiveAlbum + rdfs:label "Live album" ; + schema:description "LiveAlbum." ; +. + +schema:LiveBlogPosting + rdfs:label "Live blog posting" ; + schema:description "A [[LiveBlogPosting]] is a [[BlogPosting]] intended to provide a rolling textual coverage of an ongoing event through continuous updates." ; +. + +schema:LivingWithHealthAspect + rdfs:label "LivingWith health aspect" ; + schema:description "Information about coping or life related to the topic." ; +. + +schema:LoanOrCredit + rdfs:label "Loan or credit" ; + schema:description "A financial product for the loaning of an amount of money, or line of credit, under agreed terms and charges." ; +. + +schema:LocalBusiness + rdfs:label "Local business" ; + schema:description "A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc." ; +. + +schema:LocationFeatureSpecification + rdfs:label "Location feature specification" ; + schema:description "Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality." ; +. + +schema:LockerDelivery + rdfs:label "Locker delivery" ; + schema:description "A DeliveryMethod in which an item is made available via locker." ; +. + +schema:Locksmith + rdfs:label "Locksmith" ; + schema:description "A locksmith." ; +. + +schema:LodgingBusiness + rdfs:label "Lodging business" ; + schema:description "A lodging business, such as a motel, hotel, or inn." ; +. + +schema:LodgingReservation + rdfs:label "Lodging reservation" ; + schema:description "A reservation for lodging at a hotel, motel, inn, etc.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations." ; +. + +schema:Longitudinal + rdfs:label "Longitudinal" ; + schema:description "Unlike cross-sectional studies, longitudinal studies track the same people, and therefore the differences observed in those people are less likely to be the result of cultural differences across generations. Longitudinal studies are also used in medicine to uncover predictors of certain diseases." ; +. + +schema:LoseAction + rdfs:label "Lose action" ; + schema:description "The act of being defeated in a competitive activity." ; +. + +schema:LowCalorieDiet + rdfs:label "Low calorie diet" ; + schema:description "A diet focused on reduced calorie intake." ; +. + +schema:LowFatDiet + rdfs:label "Low fat diet" ; + schema:description "A diet focused on reduced fat and cholesterol intake." ; +. + +schema:LowLactoseDiet + rdfs:label "Low lactose diet" ; + schema:description "A diet appropriate for people with lactose intolerance." ; +. + +schema:LowSaltDiet + rdfs:label "Low salt diet" ; + schema:description "A diet focused on reduced sodium intake." ; +. + +schema:Lung + rdfs:label "Lung" ; + schema:description "Lung and respiratory system clinical examination." ; +. + +schema:LymphaticVessel + rdfs:label "Lymphatic vessel" ; + schema:description "A type of blood vessel that specifically carries lymph fluid unidirectionally toward the heart." ; +. + +schema:MRI + rdfs:label "MRI" ; + schema:description "Magnetic resonance imaging." ; +. + +schema:MSRP + rdfs:label "MSRP" ; + schema:description "Represents the manufacturer suggested retail price (\"MSRP\") of an offered product." ; +. + +schema:Male + rdfs:label "Male" ; + schema:description "The male gender." ; +. + +schema:Manuscript + rdfs:label "Manuscript" ; + schema:description "A book, document, or piece of music written by hand rather than typed or printed." ; +. + +schema:Map + rdfs:label "Map" ; + schema:description "A map." ; +. + +schema:MapCategoryType + rdfs:label "Map category type" ; + schema:description "An enumeration of several kinds of Map." ; +. + +schema:MarryAction + rdfs:label "Marry action" ; + schema:description "The act of marrying a person." ; +. + +schema:Mass + rdfs:label "Mass" ; + schema:description "Properties that take Mass as values are of the form '<Number> <Mass unit of measure>'. E.g., '7 kg'." ; +. + +schema:MathSolver + rdfs:label "Math solver" ; + schema:description "A math solver which is capable of solving a subset of mathematical problems." ; +. + +schema:MaximumDoseSchedule + rdfs:label "Maximum dose schedule" ; + schema:description "The maximum dosing schedule considered safe for a drug or supplement as recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity." ; +. + +schema:MayTreatHealthAspect + rdfs:label "MayTreat health aspect" ; + schema:description "Related topics may be treated by a Topic." ; +. + +schema:MeasurementTypeEnumeration + rdfs:label "Measurement type enumeration" ; + schema:description "Enumeration of common measurement types (or dimensions), for example \"chest\" for a person, \"inseam\" for pants, \"gauge\" for screws, or \"wheel\" for bicycles." ; +. + +schema:MediaGallery + rdfs:label "Media gallery" ; + schema:description "Web page type: Media gallery page. A mixed-media page that can contains media such as images, videos, and other multimedia." ; +. + +schema:MediaManipulationRatingEnumeration + rdfs:label "MediaManipulation rating enumeration" ; + schema:description " Codes for use with the [[mediaAuthenticityCategory]] property, indicating the authenticity of a media object (in the context of how it was published or shared). In general these codes are not mutually exclusive, although some combinations (such as 'original' versus 'transformed', 'edited' and 'staged') would be contradictory if applied in the same [[MediaReview]]. Note that the application of these codes is with regard to a piece of media shared or published in a particular context." ; +. + +schema:MediaObject + rdfs:label "Media object" ; + schema:description "A media object, such as an image, video, or audio object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's)." ; +. + +schema:MediaReview + rdfs:label "Media review" ; + schema:description """A [[MediaReview]] is a more specialized form of Review dedicated to the evaluation of media content online, typically in the context of fact-checking and misinformation. + For more general reviews of media in the broader sense, use [[UserReview]], [[CriticReview]] or other [[Review]] types. This definition is + a work in progress. While the [[MediaManipulationRatingEnumeration]] list reflects significant community review amongst fact-checkers and others working + to combat misinformation, the specific structures for representing media objects, their versions and publication context, is still evolving. Similarly, best practices for the relationship between [[MediaReview]] and [[ClaimReview]] markup has not yet been finalized.""" ; +. + +schema:MediaReviewItem + rdfs:label "Media review item" ; + schema:description "Represents an item or group of closely related items treated as a unit for the sake of evaluation in a [[MediaReview]]. Authorship etc. apply to the items rather than to the curation/grouping or reviewing party." ; +. + +schema:MediaSubscription + rdfs:label "Media subscription" ; + schema:description "A subscription which allows a user to access media including audio, video, books, etc." ; +. + +schema:MedicalAudience + rdfs:label "Medical audience" ; + schema:description "Target audiences for medical web pages." ; +. + +schema:MedicalAudienceType + rdfs:label "Medical audience type" ; + schema:description "Target audiences types for medical web pages. Enumerated type." ; +. + +schema:MedicalBusiness + rdfs:label "Medical business" ; + schema:description "A particular physical or virtual business of an organization for medical purposes. Examples of MedicalBusiness include differents business run by health professionals." ; +. + +schema:MedicalCause + rdfs:label "Medical cause" ; + schema:description "The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well." ; +. + +schema:MedicalClinic + rdfs:label "Medical clinic" ; + schema:description "A facility, often associated with a hospital or medical school, that is devoted to the specific diagnosis and/or healthcare. Previously limited to outpatients but with evolution it may be open to inpatients as well." ; +. + +schema:MedicalCode + rdfs:label "Medical code" ; + schema:description "A code for a medical entity." ; +. + +schema:MedicalCondition + rdfs:label "Medical condition" ; + schema:description "Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc." ; +. + +schema:MedicalConditionStage + rdfs:label "Medical condition stage" ; + schema:description "A stage of a medical condition, such as 'Stage IIIa'." ; +. + +schema:MedicalContraindication + rdfs:label "Medical contraindication" ; + schema:description "A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but that these risks may be outweighed by other considerations or mitigated by other measures)." ; +. + +schema:MedicalDevice + rdfs:label "Medical device" ; + schema:description "Any object used in a medical capacity, such as to diagnose or treat a patient." ; +. + +schema:MedicalDevicePurpose + rdfs:label "Medical device purpose" ; + schema:description "Categories of medical devices, organized by the purpose or intended use of the device." ; +. + +schema:MedicalEntity + rdfs:label "Medical entity" ; + schema:description "The most generic type of entity related to health and the practice of medicine." ; +. + +schema:MedicalEnumeration + rdfs:label "Medical enumeration" ; + schema:description "Enumerations related to health and the practice of medicine: A concept that is used to attribute a quality to another concept, as a qualifier, a collection of items or a listing of all of the elements of a set in medicine practice." ; +. + +schema:MedicalEvidenceLevel + rdfs:label "Medical evidence level" ; + schema:description "Level of evidence for a medical guideline. Enumerated type." ; +. + +schema:MedicalGuideline + rdfs:label "Medical guideline" ; + schema:description "Any recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity." ; +. + +schema:MedicalGuidelineContraindication + rdfs:label "Medical guideline contraindication" ; + schema:description "A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound." ; +. + +schema:MedicalGuidelineRecommendation + rdfs:label "Medical guideline recommendation" ; + schema:description "A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound." ; +. + +schema:MedicalImagingTechnique + rdfs:label "Medical imaging technique" ; + schema:description "Any medical imaging modality typically used for diagnostic purposes. Enumerated type." ; +. + +schema:MedicalIndication + rdfs:label "Medical indication" ; + schema:description "A condition or factor that indicates use of a medical therapy, including signs, symptoms, risk factors, anatomical states, etc." ; +. + +schema:MedicalIntangible + rdfs:label "Medical intangible" ; + schema:description "A utility class that serves as the umbrella for a number of 'intangible' things in the medical space." ; +. + +schema:MedicalObservationalStudy + rdfs:label "Medical observational study" ; + schema:description "An observational study is a type of medical study that attempts to infer the possible effect of a treatment through observation of a cohort of subjects over a period of time. In an observational study, the assignment of subjects into treatment groups versus control groups is outside the control of the investigator. This is in contrast with controlled studies, such as the randomized controlled trials represented by MedicalTrial, where each subject is randomly assigned to a treatment group or a control group before the start of the treatment." ; +. + +schema:MedicalObservationalStudyDesign + rdfs:label "MedicalObservational study design" ; + schema:description "Design models for observational medical studies. Enumerated type." ; +. + +schema:MedicalOrganization + rdfs:label "Medical organization" ; + schema:description "A medical organization (physical or not), such as hospital, institution or clinic." ; +. + +schema:MedicalProcedure + rdfs:label "Medical procedure" ; + schema:description "A process of care used in either a diagnostic, therapeutic, preventive or palliative capacity that relies on invasive (surgical), non-invasive, or other techniques." ; +. + +schema:MedicalProcedureType + rdfs:label "Medical procedure type" ; + schema:description "An enumeration that describes different types of medical procedures." ; +. + +schema:MedicalResearcher + rdfs:label "Medical researcher" ; + schema:description "Medical researchers." ; +. + +schema:MedicalRiskCalculator + rdfs:label "Medical risk calculator" ; + schema:description "A complex mathematical calculation requiring an online calculator, used to assess prognosis. Note: use the url property of Thing to record any URLs for online calculators." ; +. + +schema:MedicalRiskEstimator + rdfs:label "Medical risk estimator" ; + schema:description "Any rule set or interactive tool for estimating the risk of developing a complication or condition." ; +. + +schema:MedicalRiskFactor + rdfs:label "Medical risk factor" ; + schema:description "A risk factor is anything that increases a person's likelihood of developing or contracting a disease, medical condition, or complication." ; +. + +schema:MedicalRiskScore + rdfs:label "Medical risk score" ; + schema:description "A simple system that adds up the number of risk factors to yield a score that is associated with prognosis, e.g. CHAD score, TIMI risk score." ; +. + +schema:MedicalScholarlyArticle + rdfs:label "Medical scholarly article" ; + schema:description "A scholarly article in the medical domain." ; +. + +schema:MedicalSign + rdfs:label "Medical sign" ; + schema:description "Any physical manifestation of a person's medical condition discoverable by objective diagnostic tests or physical examination." ; +. + +schema:MedicalSignOrSymptom + rdfs:label "MedicalSign or symptom" ; + schema:description "Any feature associated or not with a medical condition. In medicine a symptom is generally subjective while a sign is objective." ; +. + +schema:MedicalSpecialty + rdfs:label "Medical specialty" ; + schema:description "Any specific branch of medical science or practice. Medical specialities include clinical specialties that pertain to particular organ systems and their respective disease states, as well as allied health specialties. Enumerated type." ; +. + +schema:MedicalStudy + rdfs:label "Medical study" ; + schema:description "A medical study is an umbrella type covering all kinds of research studies relating to human medicine or health, including observational studies and interventional trials and registries, randomized, controlled or not. When the specific type of study is known, use one of the extensions of this type, such as MedicalTrial or MedicalObservationalStudy. Also, note that this type should be used to mark up data that describes the study itself; to tag an article that publishes the results of a study, use MedicalScholarlyArticle. Note: use the code property of MedicalEntity to store study IDs, e.g. clinicaltrials.gov ID." ; +. + +schema:MedicalStudyStatus + rdfs:label "Medical study status" ; + schema:description "The status of a medical study. Enumerated type." ; +. + +schema:MedicalSymptom + rdfs:label "Medical symptom" ; + schema:description "Any complaint sensed and expressed by the patient (therefore defined as subjective) like stomachache, lower-back pain, or fatigue." ; +. + +schema:MedicalTest + rdfs:label "Medical test" ; + schema:description "Any medical test, typically performed for diagnostic purposes." ; +. + +schema:MedicalTestPanel + rdfs:label "Medical test panel" ; + schema:description "Any collection of tests commonly ordered together." ; +. + +schema:MedicalTherapy + rdfs:label "Medical therapy" ; + schema:description "Any medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition." ; +. + +schema:MedicalTrial + rdfs:label "Medical trial" ; + schema:description "A medical trial is a type of medical study that uses scientific process used to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups." ; +. + +schema:MedicalTrialDesign + rdfs:label "Medical trial design" ; + schema:description "Design models for medical trials. Enumerated type." ; +. + +schema:MedicalWebPage + rdfs:label "Medical web page" ; + schema:description "A web page that provides medical information." ; +. + +schema:MedicineSystem + rdfs:label "Medicine system" ; + schema:description "Systems of medical practice." ; +. + +schema:MeetingRoom + rdfs:label "Meeting room" ; + schema:description """A meeting room, conference room, or conference hall is a room provided for singular events such as business conferences and meetings (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Conference_hall). +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:MensClothingStore + rdfs:label "Mens clothing store" ; + schema:description "A men's clothing store." ; +. + +schema:Menu + rdfs:label "Menu" ; + schema:description "A structured representation of food or drink items available from a FoodEstablishment." ; +. + +schema:MenuItem + rdfs:label "Menu item" ; + schema:description "A food or drink item listed in a menu or menu section." ; +. + +schema:MenuSection + rdfs:label "Menu section" ; + schema:description "A sub-grouping of food or drink items in a menu. E.g. courses (such as 'Dinner', 'Breakfast', etc.), specific type of dishes (such as 'Meat', 'Vegan', 'Drinks', etc.), or some other classification made by the menu provider." ; +. + +schema:MerchantReturnEnumeration + rdfs:label "Merchant return enumeration" ; + schema:description "Enumerates several kinds of product return policies." ; +. + +schema:MerchantReturnFiniteReturnWindow + rdfs:label "MerchantReturnFinite return window" ; + schema:description "Specifies that there is a finite window for product returns." ; +. + +schema:MerchantReturnNotPermitted + rdfs:label "MerchantReturn not permitted" ; + schema:description "Specifies that product returns are not permitted." ; +. + +schema:MerchantReturnPolicy + rdfs:label "Merchant return policy" ; + schema:description "A MerchantReturnPolicy provides information about product return policies associated with an [[Organization]], [[Product]], or [[Offer]]." ; +. + +schema:MerchantReturnPolicySeasonalOverride + rdfs:label "MerchantReturnPolicy seasonal override" ; + schema:description "A seasonal override of a return policy, for example used for holidays." ; +. + +schema:MerchantReturnUnlimitedWindow + rdfs:label "MerchantReturn unlimited window" ; + schema:description "Specifies that there is an unlimited window for product returns." ; +. + +schema:MerchantReturnUnspecified + rdfs:label "Merchant return unspecified" ; + schema:description "Specifies that a product return policy is not provided." ; +. + +schema:Message + rdfs:label "Message" ; + schema:description "A single message from a sender to one or more organizations or people." ; +. + +schema:MiddleSchool + rdfs:label "Middle school" ; + schema:description "A middle school (typically for children aged around 11-14, although this varies somewhat)." ; +. + +schema:Midwifery + rdfs:label "Midwifery" ; + schema:description "A nurse-like health profession that deals with pregnancy, childbirth, and the postpartum period (including care of the newborn), besides sexual and reproductive health of women throughout their lives." ; +. + +schema:MinimumAdvertisedPrice + rdfs:label "Minimum advertised price" ; + schema:description "Represents the minimum advertised price (\"MAP\") (as dictated by the manufacturer) of an offered product." ; +. + +schema:MisconceptionsHealthAspect + rdfs:label "Misconceptions health aspect" ; + schema:description "Content about common misconceptions and myths that are related to a topic." ; +. + +schema:MixedEventAttendanceMode + rdfs:label "MixedEvent attendance mode" ; + schema:description "MixedEventAttendanceMode - an event that is conducted as a combination of both offline and online modes." ; +. + +schema:MixtapeAlbum + rdfs:label "Mixtape album" ; + schema:description "MixtapeAlbum." ; +. + +schema:MobileApplication + rdfs:label "Mobile application" ; + schema:description "A software application designed specifically to work well on a mobile device such as a telephone." ; +. + +schema:MobilePhoneStore + rdfs:label "Mobile phone store" ; + schema:description "A store that sells mobile phones and related accessories." ; +. + +schema:MolecularEntity + rdfs:label "Molecular entity" ; + schema:description "Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer etc., identifiable as a separately distinguishable entity." ; +. + +schema:Monday + rdfs:label "Monday" ; + schema:description "The day of the week between Sunday and Tuesday." ; +. + +schema:MonetaryAmount + rdfs:label "Monetary amount" ; + schema:description "A monetary value or range. This type can be used to describe an amount of money such as $50 USD, or a range as in describing a bank account being suitable for a balance between £1,000 and £1,000,000 GBP, or the value of a salary, etc. It is recommended to use [[PriceSpecification]] Types to describe the price of an Offer, Invoice, etc." ; +. + +schema:MonetaryAmountDistribution + rdfs:label "Monetary amount distribution" ; + schema:description "A statistical distribution of monetary amounts." ; +. + +schema:MonetaryGrant + rdfs:label "Monetary grant" ; + schema:description "A monetary grant." ; +. + +schema:MoneyTransfer + rdfs:label "Money transfer" ; + schema:description "The act of transferring money from one place to another place. This may occur electronically or physically." ; +. + +schema:MortgageLoan + rdfs:label "Mortgage loan" ; + schema:description "A loan in which property or real estate is used as collateral. (A loan securitized against some real estate)." ; +. + +schema:Mosque + rdfs:label "Mosque" ; + schema:description "A mosque." ; +. + +schema:Motel + rdfs:label "Motel" ; + schema:description """A motel. +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:Motorcycle + rdfs:label "Motorcycle" ; + schema:description "A motorcycle or motorbike is a single-track, two-wheeled motor vehicle." ; +. + +schema:MotorcycleDealer + rdfs:label "Motorcycle dealer" ; + schema:description "A motorcycle dealer." ; +. + +schema:MotorcycleRepair + rdfs:label "Motorcycle repair" ; + schema:description "A motorcycle repair shop." ; +. + +schema:MotorizedBicycle + rdfs:label "Motorized bicycle" ; + schema:description "A motorized bicycle is a bicycle with an attached motor used to power the vehicle, or to assist with pedaling." ; +. + +schema:Mountain + rdfs:label "Mountain" ; + schema:description "A mountain, like Mount Whitney or Mount Everest." ; +. + +schema:MoveAction + rdfs:label "Move action" ; + schema:description "The act of an agent relocating to a place.\\n\\nRelated actions:\\n\\n* [[TransferAction]]: Unlike TransferAction, the subject of the move is a living Person or Organization rather than an inanimate object." ; +. + +schema:Movie + rdfs:label "Movie" ; + schema:description "A movie." ; +. + +schema:MovieClip + rdfs:label "Movie clip" ; + schema:description "A short segment/part of a movie." ; +. + +schema:MovieRentalStore + rdfs:label "Movie rental store" ; + schema:description "A movie rental store." ; +. + +schema:MovieSeries + rdfs:label "Movie series" ; + schema:description "A series of movies. Included movies can be indicated with the hasPart property." ; +. + +schema:MovieTheater + rdfs:label "Movie theater" ; + schema:description "A movie theater." ; +. + +schema:MovingCompany + rdfs:label "Moving company" ; + schema:description "A moving company." ; +. + +schema:MultiCenterTrial + rdfs:label "Multi center trial" ; + schema:description "A trial that takes place at multiple centers." ; +. + +schema:MultiPlayer + rdfs:label "Multi player" ; + schema:description "Play mode: MultiPlayer. Requiring or allowing multiple human players to play simultaneously." ; +. + +schema:MulticellularParasite + rdfs:label "Multicellular parasite" ; + schema:description "Multicellular parasite that causes an infection." ; +. + +schema:Muscle + rdfs:label "Muscle" ; + schema:description "A muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement." ; +. + +schema:Musculoskeletal + rdfs:label "Musculoskeletal" ; + schema:description "A specific branch of medical science that pertains to diagnosis and treatment of disorders of muscles, ligaments and skeletal system." ; +. + +schema:MusculoskeletalExam + rdfs:label "Musculoskeletal exam" ; + schema:description "Musculoskeletal system clinical examination." ; +. + +schema:Museum + rdfs:label "Museum" ; + schema:description "A museum." ; +. + +schema:MusicAlbum + rdfs:label "Music album" ; + schema:description "A collection of music tracks." ; +. + +schema:MusicAlbumProductionType + rdfs:label "MusicAlbum production type" ; + schema:description "Classification of the album by it's type of content: soundtrack, live album, studio album, etc." ; +. + +schema:MusicAlbumReleaseType + rdfs:label "MusicAlbum release type" ; + schema:description "The kind of release which this album is: single, EP or album." ; +. + +schema:MusicComposition + rdfs:label "Music composition" ; + schema:description "A musical composition." ; +. + +schema:MusicEvent + rdfs:label "Music event" ; + schema:description "Event type: Music event." ; +. + +schema:MusicGroup + rdfs:label "Music group" ; + schema:description "A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician." ; +. + +schema:MusicPlaylist + rdfs:label "Music playlist" ; + schema:description "A collection of music tracks in playlist form." ; +. + +schema:MusicRecording + rdfs:label "Music recording" ; + schema:description "A music recording (track), usually a single song." ; +. + +schema:MusicRelease + rdfs:label "Music release" ; + schema:description "A MusicRelease is a specific release of a music album." ; +. + +schema:MusicReleaseFormatType + rdfs:label "MusicRelease format type" ; + schema:description "Format of this release (the type of recording media used, ie. compact disc, digital media, LP, etc.)." ; +. + +schema:MusicStore + rdfs:label "Music store" ; + schema:description "A music store." ; +. + +schema:MusicVenue + rdfs:label "Music venue" ; + schema:description "A music venue." ; +. + +schema:MusicVideoObject + rdfs:label "Music video object" ; + schema:description "A music video file." ; +. + +schema:NGO + rdfs:label "NGO" ; + schema:description "Organization: Non-governmental Organization." ; +. + +schema:NLNonprofitType + rdfs:label "NLNonprofit type" ; + schema:description "NLNonprofitType: Non-profit organization type originating from the Netherlands." ; +. + +schema:NailSalon + rdfs:label "Nail salon" ; + schema:description "A nail salon." ; +. + +schema:Neck + rdfs:label "Neck" ; + schema:description "Neck assessment with clinical examination." ; +. + +schema:Nerve + rdfs:label "Nerve" ; + schema:description "A common pathway for the electrochemical nerve impulses that are transmitted along each of the axons." ; +. + +schema:Neuro + rdfs:label "Neuro" ; + schema:description "Neurological system clinical examination." ; +. + +schema:Neurologic + rdfs:label "Neurologic" ; + schema:description "A specific branch of medical science that studies the nerves and nervous system and its respective disease states." ; +. + +schema:NewCondition + rdfs:label "New condition" ; + schema:description "Indicates that the item is new." ; +. + +schema:NewsArticle + rdfs:label "News article" ; + schema:description """A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. + +A more detailed overview of [schema.org News markup](/docs/news.html) is also available. +""" ; +. + +schema:NewsMediaOrganization + rdfs:label "News media organization" ; + schema:description "A News/Media organization such as a newspaper or TV station." ; +. + +schema:Newspaper + rdfs:label "Newspaper" ; + schema:description "A publication containing information about varied topics that are pertinent to general information, a geographic area, or a specific subject matter (i.e. business, culture, education). Often published daily." ; +. + +schema:NightClub + rdfs:label "Night club" ; + schema:description "A nightclub or discotheque." ; +. + +schema:NoninvasiveProcedure + rdfs:label "Noninvasive procedure" ; + schema:description "A type of medical procedure that involves noninvasive techniques." ; +. + +schema:Nonprofit501a + rdfs:label "Nonprofit501a" ; + schema:description "Nonprofit501a: Non-profit type referring to Farmers’ Cooperative Associations." ; +. + +schema:Nonprofit501c1 + rdfs:label "Nonprofit501c1" ; + schema:description "Nonprofit501c1: Non-profit type referring to Corporations Organized Under Act of Congress, including Federal Credit Unions and National Farm Loan Associations." ; +. + +schema:Nonprofit501c10 + rdfs:label "Nonprofit501c10" ; + schema:description "Nonprofit501c10: Non-profit type referring to Domestic Fraternal Societies and Associations." ; +. + +schema:Nonprofit501c11 + rdfs:label "Nonprofit501c11" ; + schema:description "Nonprofit501c11: Non-profit type referring to Teachers' Retirement Fund Associations." ; +. + +schema:Nonprofit501c12 + rdfs:label "Nonprofit501c12" ; + schema:description "Nonprofit501c12: Non-profit type referring to Benevolent Life Insurance Associations, Mutual Ditch or Irrigation Companies, Mutual or Cooperative Telephone Companies." ; +. + +schema:Nonprofit501c13 + rdfs:label "Nonprofit501c13" ; + schema:description "Nonprofit501c13: Non-profit type referring to Cemetery Companies." ; +. + +schema:Nonprofit501c14 + rdfs:label "Nonprofit501c14" ; + schema:description "Nonprofit501c14: Non-profit type referring to State-Chartered Credit Unions, Mutual Reserve Funds." ; +. + +schema:Nonprofit501c15 + rdfs:label "Nonprofit501c15" ; + schema:description "Nonprofit501c15: Non-profit type referring to Mutual Insurance Companies or Associations." ; +. + +schema:Nonprofit501c16 + rdfs:label "Nonprofit501c16" ; + schema:description "Nonprofit501c16: Non-profit type referring to Cooperative Organizations to Finance Crop Operations." ; +. + +schema:Nonprofit501c17 + rdfs:label "Nonprofit501c17" ; + schema:description "Nonprofit501c17: Non-profit type referring to Supplemental Unemployment Benefit Trusts." ; +. + +schema:Nonprofit501c18 + rdfs:label "Nonprofit501c18" ; + schema:description "Nonprofit501c18: Non-profit type referring to Employee Funded Pension Trust (created before 25 June 1959)." ; +. + +schema:Nonprofit501c19 + rdfs:label "Nonprofit501c19" ; + schema:description "Nonprofit501c19: Non-profit type referring to Post or Organization of Past or Present Members of the Armed Forces." ; +. + +schema:Nonprofit501c2 + rdfs:label "Nonprofit501c2" ; + schema:description "Nonprofit501c2: Non-profit type referring to Title-holding Corporations for Exempt Organizations." ; +. + +schema:Nonprofit501c20 + rdfs:label "Nonprofit501c20" ; + schema:description "Nonprofit501c20: Non-profit type referring to Group Legal Services Plan Organizations." ; +. + +schema:Nonprofit501c21 + rdfs:label "Nonprofit501c21" ; + schema:description "Nonprofit501c21: Non-profit type referring to Black Lung Benefit Trusts." ; +. + +schema:Nonprofit501c22 + rdfs:label "Nonprofit501c22" ; + schema:description "Nonprofit501c22: Non-profit type referring to Withdrawal Liability Payment Funds." ; +. + +schema:Nonprofit501c23 + rdfs:label "Nonprofit501c23" ; + schema:description "Nonprofit501c23: Non-profit type referring to Veterans Organizations." ; +. + +schema:Nonprofit501c24 + rdfs:label "Nonprofit501c24" ; + schema:description "Nonprofit501c24: Non-profit type referring to Section 4049 ERISA Trusts." ; +. + +schema:Nonprofit501c25 + rdfs:label "Nonprofit501c25" ; + schema:description "Nonprofit501c25: Non-profit type referring to Real Property Title-Holding Corporations or Trusts with Multiple Parents." ; +. + +schema:Nonprofit501c26 + rdfs:label "Nonprofit501c26" ; + schema:description "Nonprofit501c26: Non-profit type referring to State-Sponsored Organizations Providing Health Coverage for High-Risk Individuals." ; +. + +schema:Nonprofit501c27 + rdfs:label "Nonprofit501c27" ; + schema:description "Nonprofit501c27: Non-profit type referring to State-Sponsored Workers' Compensation Reinsurance Organizations." ; +. + +schema:Nonprofit501c28 + rdfs:label "Nonprofit501c28" ; + schema:description "Nonprofit501c28: Non-profit type referring to National Railroad Retirement Investment Trusts." ; +. + +schema:Nonprofit501c3 + rdfs:label "Nonprofit501c3" ; + schema:description "Nonprofit501c3: Non-profit type referring to Religious, Educational, Charitable, Scientific, Literary, Testing for Public Safety, to Foster National or International Amateur Sports Competition, or Prevention of Cruelty to Children or Animals Organizations." ; +. + +schema:Nonprofit501c4 + rdfs:label "Nonprofit501c4" ; + schema:description "Nonprofit501c4: Non-profit type referring to Civic Leagues, Social Welfare Organizations, and Local Associations of Employees." ; +. + +schema:Nonprofit501c5 + rdfs:label "Nonprofit501c5" ; + schema:description "Nonprofit501c5: Non-profit type referring to Labor, Agricultural and Horticultural Organizations." ; +. + +schema:Nonprofit501c6 + rdfs:label "Nonprofit501c6" ; + schema:description "Nonprofit501c6: Non-profit type referring to Business Leagues, Chambers of Commerce, Real Estate Boards." ; +. + +schema:Nonprofit501c7 + rdfs:label "Nonprofit501c7" ; + schema:description "Nonprofit501c7: Non-profit type referring to Social and Recreational Clubs." ; +. + +schema:Nonprofit501c8 + rdfs:label "Nonprofit501c8" ; + schema:description "Nonprofit501c8: Non-profit type referring to Fraternal Beneficiary Societies and Associations." ; +. + +schema:Nonprofit501c9 + rdfs:label "Nonprofit501c9" ; + schema:description "Nonprofit501c9: Non-profit type referring to Voluntary Employee Beneficiary Associations." ; +. + +schema:Nonprofit501d + rdfs:label "Nonprofit501d" ; + schema:description "Nonprofit501d: Non-profit type referring to Religious and Apostolic Associations." ; +. + +schema:Nonprofit501e + rdfs:label "Nonprofit501e" ; + schema:description "Nonprofit501e: Non-profit type referring to Cooperative Hospital Service Organizations." ; +. + +schema:Nonprofit501f + rdfs:label "Nonprofit501f" ; + schema:description "Nonprofit501f: Non-profit type referring to Cooperative Service Organizations." ; +. + +schema:Nonprofit501k + rdfs:label "Nonprofit501k" ; + schema:description "Nonprofit501k: Non-profit type referring to Child Care Organizations." ; +. + +schema:Nonprofit501n + rdfs:label "Nonprofit501n" ; + schema:description "Nonprofit501n: Non-profit type referring to Charitable Risk Pools." ; +. + +schema:Nonprofit501q + rdfs:label "Nonprofit501q" ; + schema:description "Nonprofit501q: Non-profit type referring to Credit Counseling Organizations." ; +. + +schema:Nonprofit527 + rdfs:label "Nonprofit527" ; + schema:description "Nonprofit527: Non-profit type referring to Political organizations." ; +. + +schema:NonprofitANBI + rdfs:label "Nonprofit anbi" ; + schema:description "NonprofitANBI: Non-profit type referring to a Public Benefit Organization (NL)." ; +. + +schema:NonprofitSBBI + rdfs:label "Nonprofit sbbi" ; + schema:description "NonprofitSBBI: Non-profit type referring to a Social Interest Promoting Institution (NL)." ; +. + +schema:NonprofitType + rdfs:label "Nonprofit type" ; + schema:description "NonprofitType enumerates several kinds of official non-profit types of which a non-profit organization can be." ; +. + +schema:Nose + rdfs:label "Nose" ; + schema:description "Nose function assessment with clinical examination." ; +. + +schema:NotInForce + rdfs:label "Not in force" ; + schema:description "Indicates that a legislation is currently not in force." ; +. + +schema:NotYetRecruiting + rdfs:label "Not yet recruiting" ; + schema:description "Not yet recruiting." ; +. + +schema:Notary + rdfs:label "Notary" ; + schema:description "A notary." ; +. + +schema:NoteDigitalDocument + rdfs:label "Note digital document" ; + schema:description "A file containing a note, primarily for the author." ; +. + +schema:Number + rdfs:label "Number" ; + schema:description "Data type: Number.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:Nursing + rdfs:label "Nursing" ; + schema:description "A health profession of a person formally educated and trained in the care of the sick or infirm person." ; +. + +schema:NutritionInformation + rdfs:label "Nutrition information" ; + schema:description "Nutritional information about the recipe." ; +. + +schema:OTC + rdfs:label "OTC" ; + schema:description "The character of a medical substance, typically a medicine, of being available over the counter or not." ; +. + +schema:Observation + rdfs:label "Observation" ; + schema:description """Instances of the class [[Observation]] are used to specify observations about an entity (which may or may not be an instance of a [[StatisticalPopulation]]), at a particular time. The principal properties of an [[Observation]] are [[observedNode]], [[measuredProperty]], [[measuredValue]] (or [[median]], etc.) and [[observationDate]] ([[measuredProperty]] properties can, but need not always, be W3C RDF Data Cube "measure properties", as in the [lifeExpectancy example](https://www.w3.org/TR/vocab-data-cube/#dsd-example)). +See also [[StatisticalPopulation]], and the [data and datasets](/docs/data-and-datasets.html) overview for more details. + """ ; +. + +schema:Observational + rdfs:label "Observational" ; + schema:description "An observational study design." ; +. + +schema:Obstetric + rdfs:label "Obstetric" ; + schema:description "A specific branch of medical science that specializes in the care of women during the prenatal and postnatal care and with the delivery of the child." ; +. + +schema:Occupation + rdfs:label "Occupation" ; + schema:description "A profession, may involve prolonged training and/or a formal qualification." ; +. + +schema:OccupationalActivity + rdfs:label "Occupational activity" ; + schema:description "Any physical activity engaged in for job-related purposes. Examples may include waiting tables, maid service, carrying a mailbag, picking fruits or vegetables, construction work, etc." ; +. + +schema:OccupationalExperienceRequirements + rdfs:label "Occupational experience requirements" ; + schema:description "Indicates employment-related experience requirements, e.g. [[monthsOfExperience]]." ; +. + +schema:OccupationalTherapy + rdfs:label "Occupational therapy" ; + schema:description "A treatment of people with physical, emotional, or social problems, using purposeful activity to help them overcome or learn to deal with their problems." ; +. + +schema:OceanBodyOfWater + rdfs:label "OceanBody of water" ; + schema:description "An ocean (for example, the Pacific)." ; +. + +schema:Offer + rdfs:label "Offer" ; + schema:description "An offer to transfer some rights to an item or to provide a service — for example, an offer to sell tickets to an event, to rent the DVD of a movie, to stream a TV show over the internet, to repair a motorcycle, or to loan a book.\\n\\nNote: As the [[businessFunction]] property, which identifies the form of offer (e.g. sell, lease, repair, dispose), defaults to http://purl.org/goodrelations/v1#Sell; an Offer without a defined businessFunction value can be assumed to be an offer to sell.\\n\\nFor [GTIN](http://www.gs1.org/barcodes/technical/idkeys/gtin)-related fields, see [Check Digit calculator](http://www.gs1.org/barcodes/support/check_digit_calculator) and [validation guide](http://www.gs1us.org/resources/standards/gtin-validation-guide) from [GS1](http://www.gs1.org/)." ; +. + +schema:OfferCatalog + rdfs:label "Offer catalog" ; + schema:description "An OfferCatalog is an ItemList that contains related Offers and/or further OfferCatalogs that are offeredBy the same provider." ; +. + +schema:OfferForLease + rdfs:label "Offer for lease" ; + schema:description """An [[OfferForLease]] in Schema.org represents an [[Offer]] to lease out something, i.e. an [[Offer]] whose + [[businessFunction]] is [lease out](http://purl.org/goodrelations/v1#LeaseOut.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for + background on the underlying concepts. + """ ; +. + +schema:OfferForPurchase + rdfs:label "Offer for purchase" ; + schema:description """An [[OfferForPurchase]] in Schema.org represents an [[Offer]] to sell something, i.e. an [[Offer]] whose + [[businessFunction]] is [sell](http://purl.org/goodrelations/v1#Sell.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for + background on the underlying concepts. + """ ; +. + +schema:OfferItemCondition + rdfs:label "Offer item condition" ; + schema:description "A list of possible conditions for the item." ; +. + +schema:OfferShippingDetails + rdfs:label "Offer shipping details" ; + schema:description """OfferShippingDetails represents information about shipping destinations. + +Multiple of these entities can be used to represent different shipping rates for different destinations: + +One entity for Alaska/Hawaii. A different one for continental US.A different one for all France. + +Multiple of these entities can be used to represent different shipping costs and delivery times. + +Two entities that are identical but differ in rate and time: + +e.g. Cheaper and slower: $5 in 5-7days +or Fast and expensive: $15 in 1-2 days.""" ; +. + +schema:OfficeEquipmentStore + rdfs:label "Office equipment store" ; + schema:description "An office equipment store." ; +. + +schema:OfficialLegalValue + rdfs:label "Official legal value" ; + schema:description "All the documents published by an official publisher should have at least the legal value level \"OfficialLegalValue\". This indicates that the document was published by an organisation with the public task of making it available (e.g. a consolidated version of a EU directive published by the EU Office of Publications)." ; +. + +schema:OfflineEventAttendanceMode + rdfs:label "OfflineEvent attendance mode" ; + schema:description "OfflineEventAttendanceMode - an event that is primarily conducted offline. " ; +. + +schema:OfflinePermanently + rdfs:label "Offline permanently" ; + schema:description "Game server status: OfflinePermanently. Server is offline and not available." ; +. + +schema:OfflineTemporarily + rdfs:label "Offline temporarily" ; + schema:description "Game server status: OfflineTemporarily. Server is offline now but it can be online soon." ; +. + +schema:OnDemandEvent + rdfs:label "On demand event" ; + schema:description "A publication event e.g. catch-up TV or radio podcast, during which a program is available on-demand." ; +. + +schema:OnSitePickup + rdfs:label "On site pickup" ; + schema:description "A DeliveryMethod in which an item is collected on site, e.g. in a store or at a box office." ; +. + +schema:Oncologic + rdfs:label "Oncologic" ; + schema:description "A specific branch of medical science that deals with benign and malignant tumors, including the study of their development, diagnosis, treatment and prevention." ; +. + +schema:OneTimePayments + rdfs:label "One time payments" ; + schema:description "OneTimePayments: this is a benefit for one-time payments for individuals." ; +. + +schema:Online + rdfs:label "Online" ; + schema:description "Game server status: Online. Server is available." ; +. + +schema:OnlineEventAttendanceMode + rdfs:label "OnlineEvent attendance mode" ; + schema:description "OnlineEventAttendanceMode - an event that is primarily conducted online. " ; +. + +schema:OnlineFull + rdfs:label "Online full" ; + schema:description "Game server status: OnlineFull. Server is online but unavailable. The maximum number of players has reached." ; +. + +schema:OnlineOnly + rdfs:label "Online only" ; + schema:description "Indicates that the item is available only online." ; +. + +schema:OpenTrial + rdfs:label "Open trial" ; + schema:description "A trial design in which the researcher knows the full details of the treatment, and so does the patient." ; +. + +schema:OpeningHoursSpecification + rdfs:label "Opening hours specification" ; + schema:description """A structured value providing information about the opening hours of a place or a certain service inside a place.\\n\\n +The place is __open__ if the [[opens]] property is specified, and __closed__ otherwise.\\n\\nIf the value for the [[closes]] property is less than the value for the [[opens]] property then the hour range is assumed to span over the next day. + """ ; +. + +schema:OpinionNewsArticle + rdfs:label "Opinion news article" ; + schema:description "An [[OpinionNewsArticle]] is a [[NewsArticle]] that primarily expresses opinions rather than journalistic reporting of news and events. For example, a [[NewsArticle]] consisting of a column or [[Blog]]/[[BlogPosting]] entry in the Opinions section of a news publication. " ; +. + +schema:Optician + rdfs:label "Optician" ; + schema:description "A store that sells reading glasses and similar devices for improving vision." ; +. + +schema:Optometric + rdfs:label "Optometric" ; + schema:description "The science or practice of testing visual acuity and prescribing corrective lenses." ; +. + +schema:Order + rdfs:label "Order" ; + schema:description "An order is a confirmation of a transaction (a receipt), which can contain multiple line items, each represented by an Offer that has been accepted by the customer." ; +. + +schema:OrderAction + rdfs:label "Order action" ; + schema:description "An agent orders an object/product/service to be delivered/sent." ; +. + +schema:OrderCancelled + rdfs:label "Order cancelled" ; + schema:description "OrderStatus representing cancellation of an order." ; +. + +schema:OrderDelivered + rdfs:label "Order delivered" ; + schema:description "OrderStatus representing successful delivery of an order." ; +. + +schema:OrderInTransit + rdfs:label "Order in transit" ; + schema:description "OrderStatus representing that an order is in transit." ; +. + +schema:OrderItem + rdfs:label "Order item" ; + schema:description "An order item is a line of an order. It includes the quantity and shipping details of a bought offer." ; +. + +schema:OrderPaymentDue + rdfs:label "Order payment due" ; + schema:description "OrderStatus representing that payment is due on an order." ; +. + +schema:OrderPickupAvailable + rdfs:label "Order pickup available" ; + schema:description "OrderStatus representing availability of an order for pickup." ; +. + +schema:OrderProblem + rdfs:label "Order problem" ; + schema:description "OrderStatus representing that there is a problem with the order." ; +. + +schema:OrderProcessing + rdfs:label "Order processing" ; + schema:description "OrderStatus representing that an order is being processed." ; +. + +schema:OrderReturned + rdfs:label "Order returned" ; + schema:description "OrderStatus representing that an order has been returned." ; +. + +schema:OrderStatus + rdfs:label "Order status" ; + schema:description "Enumerated status values for Order." ; +. + +schema:Organization + rdfs:label "Organization" ; + schema:description "An organization such as a school, NGO, corporation, club, etc." ; +. + +schema:OrganizationRole + rdfs:label "Organization role" ; + schema:description "A subclass of Role used to describe roles within organizations." ; +. + +schema:OrganizeAction + rdfs:label "Organize action" ; + schema:description "The act of manipulating/administering/supervising/controlling one or more objects." ; +. + +schema:OriginalMediaContent + rdfs:label "Original media content" ; + schema:description """Content coded 'as original media content' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'original': No evidence the footage has been misleadingly altered or manipulated, though it may contain false or misleading claims. + +For an [[ImageObject]] to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. + +For an [[ImageObject]] with embedded text to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. + +For an [[AudioObject]] to be 'original': No evidence the audio has been misleadingly altered or manipulated, though it may contain false or misleading claims. +""" ; +. + +schema:OriginalShippingFees + rdfs:label "Original shipping fees" ; + schema:description "Specifies that the customer must pay the original shipping costs when returning a product." ; +. + +schema:Osteopathic + rdfs:label "Osteopathic" ; + schema:description "A system of medicine focused on promoting the body's innate ability to heal itself." ; +. + +schema:Otolaryngologic + rdfs:label "Otolaryngologic" ; + schema:description "A specific branch of medical science that is concerned with the ear, nose and throat and their respective disease states." ; +. + +schema:OutOfStock + rdfs:label "Out of stock" ; + schema:description "Indicates that the item is out of stock." ; +. + +schema:OutletStore + rdfs:label "Outlet store" ; + schema:description "An outlet store." ; +. + +schema:OverviewHealthAspect + rdfs:label "Overview health aspect" ; + schema:description "Overview of the content. Contains a summarized view of the topic with the most relevant information for an introduction." ; +. + +schema:OwnershipInfo + rdfs:label "Ownership info" ; + schema:description "A structured value providing information about when a certain organization or person owned a certain product." ; +. + +schema:PET + rdfs:label "PET" ; + schema:description "Positron emission tomography imaging." ; +. + +schema:PaidLeave + rdfs:label "Paid leave" ; + schema:description "PaidLeave: this is a benefit for paid leave." ; +. + +schema:PaintAction + rdfs:label "Paint action" ; + schema:description "The act of producing a painting, typically with paint and canvas as instruments." ; +. + +schema:Painting + rdfs:label "Painting" ; + schema:description "A painting." ; +. + +schema:PalliativeProcedure + rdfs:label "Palliative procedure" ; + schema:description "A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition." ; +. + +schema:Paperback + rdfs:label "Paperback" ; + schema:description "Book format: Paperback." ; +. + +schema:ParcelDelivery + rdfs:label "Parcel delivery" ; + schema:description "The delivery of a parcel either via the postal service or a commercial service." ; +. + +schema:ParcelService + rdfs:label "Parcel service" ; + schema:description """A private parcel service as the delivery mode available for a certain offer.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#DHL\\n* http://purl.org/goodrelations/v1#FederalExpress\\n* http://purl.org/goodrelations/v1#UPS + """ ; +. + +schema:ParentAudience + rdfs:label "Parent audience" ; + schema:description "A set of characteristics describing parents, who can be interested in viewing some content." ; +. + +schema:ParentalSupport + rdfs:label "Parental support" ; + schema:description "ParentalSupport: this is a benefit for parental support." ; +. + +schema:Park + rdfs:label "Park" ; + schema:description "A park." ; +. + +schema:ParkingFacility + rdfs:label "Parking facility" ; + schema:description "A parking lot or other parking facility." ; +. + +schema:ParkingMap + rdfs:label "Parking map" ; + schema:description "A parking map." ; +. + +schema:PartiallyInForce + rdfs:label "Partially in force" ; + schema:description "Indicates that parts of the legislation are in force, and parts are not." ; +. + +schema:Pathology + rdfs:label "Pathology" ; + schema:description "A specific branch of medical science that is concerned with the study of the cause, origin and nature of a disease state, including its consequences as a result of manifestation of the disease. In clinical care, the term is used to designate a branch of medicine using laboratory tests to diagnose and determine the prognostic significance of illness." ; +. + +schema:PathologyTest + rdfs:label "Pathology test" ; + schema:description "A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist." ; +. + +schema:Patient + rdfs:label "Patient" ; + schema:description "A patient is any person recipient of health care services." ; +. + +schema:PatientExperienceHealthAspect + rdfs:label "PatientExperience health aspect" ; + schema:description "Content about the real life experience of patients or people that have lived a similar experience about the topic. May be forums, topics, Q-and-A and related material." ; +. + +schema:PawnShop + rdfs:label "Pawn shop" ; + schema:description "A shop that will buy, or lend money against the security of, personal possessions." ; +. + +schema:PayAction + rdfs:label "Pay action" ; + schema:description "An agent pays a price to a participant." ; +. + +schema:PaymentAutomaticallyApplied + rdfs:label "Payment automatically applied" ; + schema:description "An automatic payment system is in place and will be used." ; +. + +schema:PaymentCard + rdfs:label "Payment card" ; + schema:description "A payment method using a credit, debit, store or other card to associate the payment with an account." ; +. + +schema:PaymentChargeSpecification + rdfs:label "Payment charge specification" ; + schema:description "The costs of settling the payment using a particular payment method." ; +. + +schema:PaymentComplete + rdfs:label "Payment complete" ; + schema:description "The payment has been received and processed." ; +. + +schema:PaymentDeclined + rdfs:label "Payment declined" ; + schema:description "The payee received the payment, but it was declined for some reason." ; +. + +schema:PaymentDue + rdfs:label "Payment due" ; + schema:description "The payment is due, but still within an acceptable time to be received." ; +. + +schema:PaymentMethod + rdfs:label "Payment method" ; + schema:description """A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#ByBankTransferInAdvance\\n* http://purl.org/goodrelations/v1#ByInvoice\\n* http://purl.org/goodrelations/v1#Cash\\n* http://purl.org/goodrelations/v1#CheckInAdvance\\n* http://purl.org/goodrelations/v1#COD\\n* http://purl.org/goodrelations/v1#DirectDebit\\n* http://purl.org/goodrelations/v1#GoogleCheckout\\n* http://purl.org/goodrelations/v1#PayPal\\n* http://purl.org/goodrelations/v1#PaySwarm + """ ; +. + +schema:PaymentPastDue + rdfs:label "Payment past due" ; + schema:description "The payment is due and considered late." ; +. + +schema:PaymentService + rdfs:label "Payment service" ; + schema:description "A Service to transfer funds from a person or organization to a beneficiary person or organization." ; +. + +schema:PaymentStatusType + rdfs:label "Payment status type" ; + schema:description "A specific payment status. For example, PaymentDue, PaymentComplete, etc." ; +. + +schema:Pediatric + rdfs:label "Pediatric" ; + schema:description "A specific branch of medical science that specializes in the care of infants, children and adolescents." ; +. + +schema:PeopleAudience + rdfs:label "People audience" ; + schema:description "A set of characteristics belonging to people, e.g. who compose an item's target audience." ; +. + +schema:PercutaneousProcedure + rdfs:label "Percutaneous procedure" ; + schema:description "A type of medical procedure that involves percutaneous techniques, where access to organs or tissue is achieved via needle-puncture of the skin. For example, catheter-based procedures like stent delivery." ; +. + +schema:PerformAction + rdfs:label "Perform action" ; + schema:description "The act of participating in performance arts." ; +. + +schema:PerformanceRole + rdfs:label "Performance role" ; + schema:description "A PerformanceRole is a Role that some entity places with regard to a theatrical performance, e.g. in a Movie, TVSeries etc." ; +. + +schema:PerformingArtsTheater + rdfs:label "Performing arts theater" ; + schema:description "A theater or other performing art center." ; +. + +schema:PerformingGroup + rdfs:label "Performing group" ; + schema:description "A performance group, such as a band, an orchestra, or a circus." ; +. + +schema:Periodical + rdfs:label "Periodical" ; + schema:description "A publication in any medium issued in successive parts bearing numerical or chronological designations and intended, such as a magazine, scholarly journal, or newspaper to continue indefinitely.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)." ; +. + +schema:Permit + rdfs:label "Permit" ; + schema:description "A permit issued by an organization, e.g. a parking pass." ; +. + +schema:Person + rdfs:label "Person" ; + schema:description "A person (alive, dead, undead, or fictional)." ; +. + +schema:PetStore + rdfs:label "Pet store" ; + schema:description "A pet store." ; +. + +schema:Pharmacy + rdfs:label "Pharmacy" ; + schema:description "A pharmacy or drugstore." ; +. + +schema:PharmacySpecialty + rdfs:label "Pharmacy specialty" ; + schema:description "The practice or art and science of preparing and dispensing drugs and medicines." ; +. + +schema:Photograph + rdfs:label "Photograph" ; + schema:description "A photograph." ; +. + +schema:PhotographAction + rdfs:label "Photograph action" ; + schema:description "The act of capturing still images of objects using a camera." ; +. + +schema:PhysicalActivity + rdfs:label "Physical activity" ; + schema:description "Any bodily activity that enhances or maintains physical fitness and overall health and wellness. Includes activity that is part of daily living and routine, structured exercise, and exercise prescribed as part of a medical treatment or recovery plan." ; +. + +schema:PhysicalActivityCategory + rdfs:label "Physical activity category" ; + schema:description "Categories of physical activity, organized by physiologic classification." ; +. + +schema:PhysicalExam + rdfs:label "Physical exam" ; + schema:description "A type of physical examination of a patient performed by a physician. " ; +. + +schema:PhysicalTherapy + rdfs:label "Physical therapy" ; + schema:description "A process of progressive physical care and rehabilitation aimed at improving a health condition." ; +. + +schema:Physician + rdfs:label "Physician" ; + schema:description "A doctor's office." ; +. + +schema:Physiotherapy + rdfs:label "Physiotherapy" ; + schema:description "The practice of treatment of disease, injury, or deformity by physical methods such as massage, heat treatment, and exercise rather than by drugs or surgery.." ; +. + +schema:Place + rdfs:label "Place" ; + schema:description "Entities that have a somewhat fixed, physical extension." ; +. + +schema:PlaceOfWorship + rdfs:label "Place of worship" ; + schema:description "Place of worship, such as a church, synagogue, or mosque." ; +. + +schema:PlaceboControlledTrial + rdfs:label "Placebo controlled trial" ; + schema:description "A placebo-controlled trial design." ; +. + +schema:PlanAction + rdfs:label "Plan action" ; + schema:description "The act of planning the execution of an event/task/action/reservation/plan to a future date." ; +. + +schema:PlasticSurgery + rdfs:label "Plastic surgery" ; + schema:description "A specific branch of medical science that pertains to therapeutic or cosmetic repair or re-formation of missing, injured or malformed tissues or body parts by manual and instrumental means." ; +. + +schema:Play + rdfs:label "Play" ; + schema:description "A play is a form of literature, usually consisting of dialogue between characters, intended for theatrical performance rather than just reading. Note: A performance of a Play would be a [[TheaterEvent]] or [[BroadcastEvent]] - the *Play* being the [[workPerformed]]." ; +. + +schema:PlayAction + rdfs:label "Play action" ; + schema:description "The act of playing/exercising/training/performing for enjoyment, leisure, recreation, Competition or exercise.\\n\\nRelated actions:\\n\\n* [[ListenAction]]: Unlike ListenAction (which is under ConsumeAction), PlayAction refers to performing for an audience or at an event, rather than consuming music.\\n* [[WatchAction]]: Unlike WatchAction (which is under ConsumeAction), PlayAction refers to showing/displaying for an audience or at an event, rather than consuming visual content." ; +. + +schema:Playground + rdfs:label "Playground" ; + schema:description "A playground." ; +. + +schema:Plumber + rdfs:label "Plumber" ; + schema:description "A plumbing service." ; +. + +schema:PodcastEpisode + rdfs:label "Podcast episode" ; + schema:description "A single episode of a podcast series." ; +. + +schema:PodcastSeason + rdfs:label "Podcast season" ; + schema:description "A single season of a podcast. Many podcasts do not break down into separate seasons. In that case, PodcastSeries should be used." ; +. + +schema:PodcastSeries + rdfs:label "Podcast series" ; + schema:description "A podcast is an episodic series of digital audio or video files which a user can download and listen to." ; +. + +schema:Podiatric + rdfs:label "Podiatric" ; + schema:description "Podiatry is the care of the human foot, especially the diagnosis and treatment of foot disorders." ; +. + +schema:PoliceStation + rdfs:label "Police station" ; + schema:description "A police station." ; +. + +schema:Pond + rdfs:label "Pond" ; + schema:description "A pond." ; +. + +schema:PostOffice + rdfs:label "Post office" ; + schema:description "A post office." ; +. + +schema:PostalAddress + rdfs:label "Postal address" ; + schema:description "The mailing address." ; +. + +schema:PostalCodeRangeSpecification + rdfs:label "PostalCode range specification" ; + schema:description "Indicates a range of postalcodes, usually defined as the set of valid codes between [[postalCodeBegin]] and [[postalCodeEnd]], inclusively." ; +. + +schema:Poster + rdfs:label "Poster" ; + schema:description "A large, usually printed placard, bill, or announcement, often illustrated, that is posted to advertise or publicize something." ; +. + +schema:PotentialActionStatus + rdfs:label "Potential action status" ; + schema:description "A description of an action that is supported." ; +. + +schema:PreOrder + rdfs:label "Pre order" ; + schema:description "Indicates that the item is available for pre-order." ; +. + +schema:PreOrderAction + rdfs:label "Pre order action" ; + schema:description "An agent orders a (not yet released) object/product/service to be delivered/sent." ; +. + +schema:PreSale + rdfs:label "Pre sale" ; + schema:description "Indicates that the item is available for ordering and delivery before general availability." ; +. + +schema:PregnancyHealthAspect + rdfs:label "Pregnancy health aspect" ; + schema:description "Content discussing pregnancy-related aspects of a health topic." ; +. + +schema:PrependAction + rdfs:label "Prepend action" ; + schema:description "The act of inserting at the beginning if an ordered collection." ; +. + +schema:Preschool + rdfs:label "Preschool" ; + schema:description "A preschool." ; +. + +schema:PrescriptionOnly + rdfs:label "Prescription only" ; + schema:description "Available by prescription only." ; +. + +schema:PresentationDigitalDocument + rdfs:label "Presentation digital document" ; + schema:description "A file containing slides or used for a presentation." ; +. + +schema:PreventionHealthAspect + rdfs:label "Prevention health aspect" ; + schema:description "Information about actions or measures that can be taken to avoid getting the topic or reaching a critical situation related to the topic." ; +. + +schema:PreventionIndication + rdfs:label "Prevention indication" ; + schema:description "An indication for preventing an underlying condition, symptom, etc." ; +. + +schema:PriceComponentTypeEnumeration + rdfs:label "PriceComponent type enumeration" ; + schema:description "Enumerates different price components that together make up the total price for an offered product." ; +. + +schema:PriceSpecification + rdfs:label "Price specification" ; + schema:description "A structured value representing a price or price range. Typically, only the subclasses of this type are used for markup. It is recommended to use [[MonetaryAmount]] to describe independent amounts of money such as a salary, credit card limits, etc." ; +. + +schema:PriceTypeEnumeration + rdfs:label "Price type enumeration" ; + schema:description "Enumerates different price types, for example list price, invoice price, and sale price." ; +. + +schema:PrimaryCare + rdfs:label "Primary care" ; + schema:description "The medical care by a physician, or other health-care professional, who is the patient's first contact with the health-care system and who may recommend a specialist if necessary." ; +. + +schema:Prion + rdfs:label "Prion" ; + schema:description "A prion is an infectious agent composed of protein in a misfolded form." ; +. + +schema:Product + rdfs:label "Product" ; + schema:description "Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online." ; +. + +schema:ProductCollection + rdfs:label "Product collection" ; + schema:description "A set of products (either [[ProductGroup]]s or specific variants) that are listed together e.g. in an [[Offer]]." ; +. + +schema:ProductGroup + rdfs:label "Product group" ; + schema:description """A ProductGroup represents a group of [[Product]]s that vary only in certain well-described ways, such as by [[size]], [[color]], [[material]] etc. + +While a ProductGroup itself is not directly offered for sale, the various varying products that it represents can be. The ProductGroup serves as a prototype or template, standing in for all of the products who have an [[isVariantOf]] relationship to it. As such, properties (including additional types) can be applied to the ProductGroup to represent characteristics shared by each of the (possibly very many) variants. Properties that reference a ProductGroup are not included in this mechanism; neither are the following specific properties [[variesBy]], [[hasVariant]], [[url]]. """ ; +. + +schema:ProductModel + rdfs:label "Product model" ; + schema:description "A datasheet or vendor specification of a product (in the sense of a prototypical description)." ; +. + +schema:ProfessionalService + rdfs:label "Professional service" ; + schema:description """Original definition: "provider of professional services."\\n\\nThe general [[ProfessionalService]] type for local businesses was deprecated due to confusion with [[Service]]. For reference, the types that it included were: [[Dentist]], + [[AccountingService]], [[Attorney]], [[Notary]], as well as types for several kinds of [[HomeAndConstructionBusiness]]: [[Electrician]], [[GeneralContractor]], + [[HousePainter]], [[Locksmith]], [[Plumber]], [[RoofingContractor]]. [[LegalService]] was introduced as a more inclusive supertype of [[Attorney]].""" ; +. + +schema:ProfilePage + rdfs:label "Profile page" ; + schema:description "Web page type: Profile page." ; +. + +schema:PrognosisHealthAspect + rdfs:label "Prognosis health aspect" ; + schema:description "Typical progression and happenings of life course of the topic." ; +. + +schema:ProgramMembership + rdfs:label "Program membership" ; + schema:description "Used to describe membership in a loyalty programs (e.g. \"StarAliance\"), traveler clubs (e.g. \"AAA\"), purchase clubs (\"Safeway Club\"), etc." ; +. + +schema:Project + rdfs:label "Project" ; + schema:description """An enterprise (potentially individual but typically collaborative), planned to achieve a particular aim. +Use properties from [[Organization]], [[subOrganization]]/[[parentOrganization]] to indicate project sub-structures. + """ ; +. + +schema:PronounceableText + rdfs:label "Pronounceable text" ; + schema:description "Data type: PronounceableText." ; +. + +schema:Property + rdfs:label "Property" ; + schema:description "A property, used to indicate attributes and relationships of some Thing; equivalent to rdf:Property." ; +. + +schema:PropertyValue + rdfs:label "Property value" ; + schema:description """A property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.\\n\\n Always use specific schema.org properties when a) they exist and b) you can populate them. Using PropertyValue as a substitute will typically not trigger the same effect as using the original, specific property. + """ ; +. + +schema:PropertyValueSpecification + rdfs:label "Property value specification" ; + schema:description "A Property value specification." ; +. + +schema:Protein + rdfs:label "Protein" ; + schema:description "Protein is here used in its widest possible definition, as classes of amino acid based molecules. Amyloid-beta Protein in human (UniProt P05067), eukaryota (e.g. an OrthoDB group) or even a single molecule that one can point to are all of type sdo:Protein. A protein can thus be a subclass of another protein, e.g. sdo:Protein as a UniProt record can have multiple isoforms inside it which would also be sdo:Protein. They can be imagined, synthetic, hypothetical or naturally occurring." ; +. + +schema:Protozoa + rdfs:label "Protozoa" ; + schema:description "Single-celled organism that causes an infection." ; +. + +schema:Psychiatric + rdfs:label "Psychiatric" ; + schema:description "A specific branch of medical science that is concerned with the study, treatment, and prevention of mental illness, using both medical and psychological therapies." ; +. + +schema:PsychologicalTreatment + rdfs:label "Psychological treatment" ; + schema:description "A process of care relying upon counseling, dialogue and communication aimed at improving a mental health condition without use of drugs." ; +. + +schema:PublicHealth + rdfs:label "Public health" ; + schema:description "Branch of medicine that pertains to the health services to improve and protect community health, especially epidemiology, sanitation, immunization, and preventive medicine." ; +. + +schema:PublicHolidays + rdfs:label "Public holidays" ; + schema:description "This stands for any day that is a public holiday; it is a placeholder for all official public holidays in some particular location. While not technically a \"day of the week\", it can be used with [[OpeningHoursSpecification]]. In the context of an opening hours specification it can be used to indicate opening hours on public holidays, overriding general opening hours for the day of the week on which a public holiday occurs." ; +. + +schema:PublicSwimmingPool + rdfs:label "Public swimming pool" ; + schema:description "A public swimming pool." ; +. + +schema:PublicToilet + rdfs:label "Public toilet" ; + schema:description "A public toilet is a room or small building containing one or more toilets (and possibly also urinals) which is available for use by the general public, or by customers or employees of certain businesses." ; +. + +schema:PublicationEvent + rdfs:label "Publication event" ; + schema:description "A PublicationEvent corresponds indifferently to the event of publication for a CreativeWork of any type e.g. a broadcast event, an on-demand event, a book/journal publication via a variety of delivery media." ; +. + +schema:PublicationIssue + rdfs:label "Publication issue" ; + schema:description "A part of a successively published publication such as a periodical or publication volume, often numbered, usually containing a grouping of works such as articles.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)." ; +. + +schema:PublicationVolume + rdfs:label "Publication volume" ; + schema:description "A part of a successively published publication such as a periodical or multi-volume work, often numbered. It may represent a time span, such as a year.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)." ; +. + +schema:Pulmonary + rdfs:label "Pulmonary" ; + schema:description "A specific branch of medical science that pertains to the study of the respiratory system and its respective disease states." ; +. + +schema:QAPage + rdfs:label "QAPage" ; + schema:description "A QAPage is a WebPage focussed on a specific Question and its Answer(s), e.g. in a question answering site or documenting Frequently Asked Questions (FAQs)." ; +. + +schema:QualitativeValue + rdfs:label "Qualitative value" ; + schema:description "A predefined value for a product characteristic, e.g. the power cord plug type 'US' or the garment sizes 'S', 'M', 'L', and 'XL'." ; +. + +schema:QuantitativeValue + rdfs:label "Quantitative value" ; + schema:description " A point value or interval for product characteristics and other purposes." ; +. + +schema:QuantitativeValueDistribution + rdfs:label "Quantitative value distribution" ; + schema:description "A statistical distribution of values." ; +. + +schema:Quantity + rdfs:label "Quantity" ; + schema:description "Quantities such as distance, time, mass, weight, etc. Particular instances of say Mass are entities like '3 Kg' or '4 milligrams'." ; +. + +schema:Question + rdfs:label "Question" ; + schema:description "A specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document." ; +. + +schema:Quiz + rdfs:label "Quiz" ; + schema:description "Quiz: A test of knowledge, skills and abilities." ; +. + +schema:Quotation + rdfs:label "Quotation" ; + schema:description "A quotation. Often but not necessarily from some written work, attributable to a real world author and - if associated with a fictional character - to any fictional Person. Use [[isBasedOn]] to link to source/origin. The [[recordedIn]] property can be used to reference a Quotation from an [[Event]]." ; +. + +schema:QuoteAction + rdfs:label "Quote action" ; + schema:description "An agent quotes/estimates/appraises an object/product/service with a price at a location/store." ; +. + +schema:RVPark + rdfs:label "RVPark" ; + schema:description "A place offering space for \"Recreational Vehicles\", Caravans, mobile homes and the like." ; +. + +schema:RadiationTherapy + rdfs:label "Radiation therapy" ; + schema:description "A process of care using radiation aimed at improving a health condition." ; +. + +schema:RadioBroadcastService + rdfs:label "Radio broadcast service" ; + schema:description "A delivery service through which radio content is provided via broadcast over the air or online." ; +. + +schema:RadioChannel + rdfs:label "Radio channel" ; + schema:description "A unique instance of a radio BroadcastService on a CableOrSatelliteService lineup." ; +. + +schema:RadioClip + rdfs:label "Radio clip" ; + schema:description "A short radio program or a segment/part of a radio program." ; +. + +schema:RadioEpisode + rdfs:label "Radio episode" ; + schema:description "A radio episode which can be part of a series or season." ; +. + +schema:RadioSeason + rdfs:label "Radio season" ; + schema:description "Season dedicated to radio broadcast and associated online delivery." ; +. + +schema:RadioSeries + rdfs:label "Radio series" ; + schema:description "CreativeWorkSeries dedicated to radio broadcast and associated online delivery." ; +. + +schema:RadioStation + rdfs:label "Radio station" ; + schema:description "A radio station." ; +. + +schema:Radiography + rdfs:label "Radiography" ; + schema:description "Radiography is an imaging technique that uses electromagnetic radiation other than visible light, especially X-rays, to view the internal structure of a non-uniformly composed and opaque object such as the human body." ; +. + +schema:RandomizedTrial + rdfs:label "Randomized trial" ; + schema:description "A randomized trial design." ; +. + +schema:Rating + rdfs:label "Rating" ; + schema:description "A rating is an evaluation on a numeric scale, such as 1 to 5 stars." ; +. + +schema:ReactAction + rdfs:label "React action" ; + schema:description "The act of responding instinctively and emotionally to an object, expressing a sentiment." ; +. + +schema:ReadAction + rdfs:label "Read action" ; + schema:description "The act of consuming written content." ; +. + +schema:ReadPermission + rdfs:label "Read permission" ; + schema:description "Permission to read or view the document." ; +. + +schema:RealEstateAgent + rdfs:label "Real estate agent" ; + schema:description "A real-estate agent." ; +. + +schema:RealEstateListing + rdfs:label "Real estate listing" ; + schema:description """A [[RealEstateListing]] is a listing that describes one or more real-estate [[Offer]]s (whose [[businessFunction]] is typically to lease out, or to sell). + The [[RealEstateListing]] type itself represents the overall listing, as manifested in some [[WebPage]]. + """ ; +. + +schema:RearWheelDriveConfiguration + rdfs:label "RearWheel drive configuration" ; + schema:description "Real-wheel drive is a transmission layout where the engine drives the rear wheels." ; +. + +schema:ReceiveAction + rdfs:label "Receive action" ; + schema:description "The act of physically/electronically taking delivery of an object that has been transferred from an origin to a destination. Reciprocal of SendAction.\\n\\nRelated actions:\\n\\n* [[SendAction]]: The reciprocal of ReceiveAction.\\n* [[TakeAction]]: Unlike TakeAction, ReceiveAction does not imply that the ownership has been transfered (e.g. I can receive a package, but it does not mean the package is now mine)." ; +. + +schema:Recipe + rdfs:label "Recipe" ; + schema:description "A recipe. For dietary restrictions covered by the recipe, a few common restrictions are enumerated via [[suitableForDiet]]. The [[keywords]] property can also be used to add more detail." ; +. + +schema:Recommendation + rdfs:label "Recommendation" ; + schema:description "[[Recommendation]] is a type of [[Review]] that suggests or proposes something as the best option or best course of action. Recommendations may be for products or services, or other concrete things, as in the case of a ranked list or product guide. A [[Guide]] may list multiple recommendations for different categories. For example, in a [[Guide]] about which TVs to buy, the author may have several [[Recommendation]]s." ; +. + +schema:RecommendedDoseSchedule + rdfs:label "Recommended dose schedule" ; + schema:description "A recommended dosing schedule for a drug or supplement as prescribed or recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity." ; +. + +schema:Recruiting + rdfs:label "Recruiting" ; + schema:description "Recruiting participants." ; +. + +schema:RecyclingCenter + rdfs:label "Recycling center" ; + schema:description "A recycling center." ; +. + +schema:RefundTypeEnumeration + rdfs:label "Refund type enumeration" ; + schema:description "Enumerates several kinds of product return refund types." ; +. + +schema:RefurbishedCondition + rdfs:label "Refurbished condition" ; + schema:description "Indicates that the item is refurbished." ; +. + +schema:RegisterAction + rdfs:label "Register action" ; + schema:description "The act of registering to be a user of a service, product or web page.\\n\\nRelated actions:\\n\\n* [[JoinAction]]: Unlike JoinAction, RegisterAction implies you are registering to be a user of a service, *not* a group/team of people.\\n* [FollowAction]]: Unlike FollowAction, RegisterAction doesn't imply that the agent is expecting to poll for updates from the object.\\n* [[SubscribeAction]]: Unlike SubscribeAction, RegisterAction doesn't imply that the agent is expecting updates from the object." ; +. + +schema:Registry + rdfs:label "Registry" ; + schema:description "A registry-based study design." ; +. + +schema:ReimbursementCap + rdfs:label "Reimbursement cap" ; + schema:description "The drug's cost represents the maximum reimbursement paid by an insurer for the drug." ; +. + +schema:RejectAction + rdfs:label "Reject action" ; + schema:description "The act of rejecting to/adopting an object.\\n\\nRelated actions:\\n\\n* [[AcceptAction]]: The antonym of RejectAction." ; +. + +schema:RelatedTopicsHealthAspect + rdfs:label "RelatedTopics health aspect" ; + schema:description "Other prominent or relevant topics tied to the main topic." ; +. + +schema:RemixAlbum + rdfs:label "Remix album" ; + schema:description "RemixAlbum." ; +. + +schema:Renal + rdfs:label "Renal" ; + schema:description "A specific branch of medical science that pertains to the study of the kidneys and its respective disease states." ; +. + +schema:RentAction + rdfs:label "Rent action" ; + schema:description "The act of giving money in return for temporary use, but not ownership, of an object such as a vehicle or property. For example, an agent rents a property from a landlord in exchange for a periodic payment." ; +. + +schema:RentalCarReservation + rdfs:label "Rental car reservation" ; + schema:description "A reservation for a rental car.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations." ; +. + +schema:RentalVehicleUsage + rdfs:label "Rental vehicle usage" ; + schema:description "Indicates the usage of the vehicle as a rental car." ; +. + +schema:RepaymentSpecification + rdfs:label "Repayment specification" ; + schema:description "A structured value representing repayment." ; +. + +schema:ReplaceAction + rdfs:label "Replace action" ; + schema:description "The act of editing a recipient by replacing an old object with a new object." ; +. + +schema:ReplyAction + rdfs:label "Reply action" ; + schema:description "The act of responding to a question/message asked/sent by the object. Related to [[AskAction]]\\n\\nRelated actions:\\n\\n* [[AskAction]]: Appears generally as an origin of a ReplyAction." ; +. + +schema:Report + rdfs:label "Report" ; + schema:description "A Report generated by governmental or non-governmental organization." ; +. + +schema:ReportageNewsArticle + rdfs:label "Reportage news article" ; + schema:description """The [[ReportageNewsArticle]] type is a subtype of [[NewsArticle]] representing + news articles which are the result of journalistic news reporting conventions. + +In practice many news publishers produce a wide variety of article types, many of which might be considered a [[NewsArticle]] but not a [[ReportageNewsArticle]]. For example, opinion pieces, reviews, analysis, sponsored or satirical articles, or articles that combine several of these elements. + +The [[ReportageNewsArticle]] type is based on a stricter ideal for "news" as a work of journalism, with articles based on factual information either observed or verified by the author, or reported and verified from knowledgeable sources. This often includes perspectives from multiple viewpoints on a particular issue (distinguishing news reports from public relations or propaganda). News reports in the [[ReportageNewsArticle]] sense de-emphasize the opinion of the author, with commentary and value judgements typically expressed elsewhere. + +A [[ReportageNewsArticle]] which goes deeper into analysis can also be marked with an additional type of [[AnalysisNewsArticle]]. +""" ; +. + +schema:ReportedDoseSchedule + rdfs:label "Reported dose schedule" ; + schema:description "A patient-reported or observed dosing schedule for a drug or supplement." ; +. + +schema:ResearchOrganization + rdfs:label "Research organization" ; + schema:description "A Research Organization (e.g. scientific institute, research company)." ; +. + +schema:ResearchProject + rdfs:label "Research project" ; + schema:description "A Research project." ; +. + +schema:Researcher + rdfs:label "Researcher" ; + schema:description "Researchers." ; +. + +schema:Reservation + rdfs:label "Reservation" ; + schema:description "Describes a reservation for travel, dining or an event. Some reservations require tickets. \\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, restaurant reservations, flights, or rental cars, use [[Offer]]." ; +. + +schema:ReservationCancelled + rdfs:label "Reservation cancelled" ; + schema:description "The status for a previously confirmed reservation that is now cancelled." ; +. + +schema:ReservationConfirmed + rdfs:label "Reservation confirmed" ; + schema:description "The status of a confirmed reservation." ; +. + +schema:ReservationHold + rdfs:label "Reservation hold" ; + schema:description "The status of a reservation on hold pending an update like credit card number or flight changes." ; +. + +schema:ReservationPackage + rdfs:label "Reservation package" ; + schema:description "A group of multiple reservations with common values for all sub-reservations." ; +. + +schema:ReservationPending + rdfs:label "Reservation pending" ; + schema:description "The status of a reservation when a request has been sent, but not confirmed." ; +. + +schema:ReservationStatusType + rdfs:label "Reservation status type" ; + schema:description "Enumerated status values for Reservation." ; +. + +schema:ReserveAction + rdfs:label "Reserve action" ; + schema:description "Reserving a concrete object.\\n\\nRelated actions:\\n\\n* [[ScheduleAction]]: Unlike ScheduleAction, ReserveAction reserves concrete objects (e.g. a table, a hotel) towards a time slot / spatial allocation." ; +. + +schema:Reservoir + rdfs:label "Reservoir" ; + schema:description "A reservoir of water, typically an artificially created lake, like the Lake Kariba reservoir." ; +. + +schema:Residence + rdfs:label "Residence" ; + schema:description "The place where a person lives." ; +. + +schema:Resort + rdfs:label "Resort" ; + schema:description """A resort is a place used for relaxation or recreation, attracting visitors for holidays or vacations. Resorts are places, towns or sometimes commercial establishment operated by a single company (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Resort). +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. + """ ; +. + +schema:RespiratoryTherapy + rdfs:label "Respiratory therapy" ; + schema:description "The therapy that is concerned with the maintenance or improvement of respiratory function (as in patients with pulmonary disease)." ; +. + +schema:Restaurant + rdfs:label "Restaurant" ; + schema:description "A restaurant." ; +. + +schema:RestockingFees + rdfs:label "Restocking fees" ; + schema:description "Specifies that the customer must pay a restocking fee when returning a product" ; +. + +schema:RestrictedDiet + rdfs:label "Restricted diet" ; + schema:description "A diet restricted to certain foods or preparations for cultural, religious, health or lifestyle reasons. " ; +. + +schema:ResultsAvailable + rdfs:label "Results available" ; + schema:description "Results are available." ; +. + +schema:ResultsNotAvailable + rdfs:label "Results not available" ; + schema:description "Results are not available." ; +. + +schema:ResumeAction + rdfs:label "Resume action" ; + schema:description "The act of resuming a device or application which was formerly paused (e.g. resume music playback or resume a timer)." ; +. + +schema:Retail + rdfs:label "Retail" ; + schema:description "The drug's cost represents the retail cost of the drug." ; +. + +schema:ReturnAction + rdfs:label "Return action" ; + schema:description "The act of returning to the origin that which was previously received (concrete objects) or taken (ownership)." ; +. + +schema:ReturnAtKiosk + rdfs:label "Return at kiosk" ; + schema:description "Specifies that product returns must be made at a kiosk." ; +. + +schema:ReturnByMail + rdfs:label "Return by mail" ; + schema:description "Specifies that product returns must to be done by mail." ; +. + +schema:ReturnFeesCustomerResponsibility + rdfs:label "ReturnFees customer responsibility" ; + schema:description "Specifies that product returns must be paid for, and are the responsibility of, the customer." ; +. + +schema:ReturnFeesEnumeration + rdfs:label "Return fees enumeration" ; + schema:description "Enumerates several kinds of policies for product return fees." ; +. + +schema:ReturnInStore + rdfs:label "Return in store" ; + schema:description "Specifies that product returns must be made in a store." ; +. + +schema:ReturnLabelCustomerResponsibility + rdfs:label "ReturnLabel customer responsibility" ; + schema:description "Indicated that creating a return label is the responsibility of the customer." ; +. + +schema:ReturnLabelDownloadAndPrint + rdfs:label "ReturnLabelDownload and print" ; + schema:description "Indicated that a return label must be downloaded and printed by the customer." ; +. + +schema:ReturnLabelInBox + rdfs:label "ReturnLabel in box" ; + schema:description "Specifies that a return label will be provided by the seller in the shipping box." ; +. + +schema:ReturnLabelSourceEnumeration + rdfs:label "ReturnLabel source enumeration" ; + schema:description "Enumerates several types of return labels for product returns." ; +. + +schema:ReturnMethodEnumeration + rdfs:label "Return method enumeration" ; + schema:description "Enumerates several types of product return methods." ; +. + +schema:ReturnShippingFees + rdfs:label "Return shipping fees" ; + schema:description "Specifies that the customer must pay the return shipping costs when returning a product" ; +. + +schema:Review + rdfs:label "Review" ; + schema:description "A review of an item - for example, of a restaurant, movie, or store." ; +. + +schema:ReviewAction + rdfs:label "Review action" ; + schema:description "The act of producing a balanced opinion about the object for an audience. An agent reviews an object with participants resulting in a review." ; +. + +schema:ReviewNewsArticle + rdfs:label "Review news article" ; + schema:description "A [[NewsArticle]] and [[CriticReview]] providing a professional critic's assessment of a service, product, performance, or artistic or literary work." ; +. + +schema:Rheumatologic + rdfs:label "Rheumatologic" ; + schema:description "A specific branch of medical science that deals with the study and treatment of rheumatic, autoimmune or joint diseases." ; +. + +schema:RightHandDriving + rdfs:label "Right hand driving" ; + schema:description "The steering position is on the right side of the vehicle (viewed from the main direction of driving)." ; +. + +schema:RisksOrComplicationsHealthAspect + rdfs:label "RisksOrComplications health aspect" ; + schema:description "Information about the risk factors and possible complications that may follow a topic." ; +. + +schema:RiverBodyOfWater + rdfs:label "RiverBody of water" ; + schema:description "A river (for example, the broad majestic Shannon)." ; +. + +schema:Role + rdfs:label "Role" ; + schema:description "Represents additional information about a relationship or property. For example a Role can be used to say that a 'member' role linking some SportsTeam to a player occurred during a particular time period. Or that a Person's 'actor' role in a Movie was for some particular characterName. Such properties can be attached to a Role entity, which is then associated with the main entities using ordinary properties like 'member' or 'actor'.\\n\\nSee also [blog post](http://blog.schema.org/2014/06/introducing-role.html)." ; +. + +schema:RoofingContractor + rdfs:label "Roofing contractor" ; + schema:description "A roofing contractor." ; +. + +schema:Room + rdfs:label "Room" ; + schema:description """A room is a distinguishable space within a structure, usually separated from other spaces by interior walls. (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Room). +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:RsvpAction + rdfs:label "Rsvp action" ; + schema:description "The act of notifying an event organizer as to whether you expect to attend the event." ; +. + +schema:RsvpResponseMaybe + rdfs:label "Rsvp response maybe" ; + schema:description "The invitee may or may not attend." ; +. + +schema:RsvpResponseNo + rdfs:label "Rsvp response no" ; + schema:description "The invitee will not attend." ; +. + +schema:RsvpResponseType + rdfs:label "Rsvp response type" ; + schema:description "RsvpResponseType is an enumeration type whose instances represent responding to an RSVP request." ; +. + +schema:RsvpResponseYes + rdfs:label "Rsvp response yes" ; + schema:description "The invitee will attend." ; +. + +schema:SRP + rdfs:label "SRP" ; + schema:description "Represents the suggested retail price (\"SRP\") of an offered product." ; +. + +schema:SafetyHealthAspect + rdfs:label "Safety health aspect" ; + schema:description "Content about the safety-related aspects of a health topic." ; +. + +schema:SaleEvent + rdfs:label "Sale event" ; + schema:description "Event type: Sales event." ; +. + +schema:SalePrice + rdfs:label "Sale price" ; + schema:description "Represents a sale price (usually active for a limited period) of an offered product." ; +. + +schema:SatireOrParodyContent + rdfs:label "SatireOr parody content" ; + schema:description """Content coded 'satire or parody content' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'satire or parody content': A video that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context” rating.) + +For an [[ImageObject]] to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context” rating.) + +For an [[ImageObject]] with embedded text to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context” rating.) + +For an [[AudioObject]] to be 'satire or parody content': Audio that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context” rating.) +""" ; +. + +schema:SatiricalArticle + rdfs:label "Satirical article" ; + schema:description "An [[Article]] whose content is primarily [[satirical]](https://en.wikipedia.org/wiki/Satire) in nature, i.e. unlikely to be literally true. A satirical article is sometimes but not necessarily also a [[NewsArticle]]. [[ScholarlyArticle]]s are also sometimes satirized." ; +. + +schema:Saturday + rdfs:label "Saturday" ; + schema:description "The day of the week between Friday and Sunday." ; +. + +schema:Schedule + rdfs:label "Schedule" ; + schema:description """A schedule defines a repeating time period used to describe a regularly occurring [[Event]]. At a minimum a schedule will specify [[repeatFrequency]] which describes the interval between occurences of the event. Additional information can be provided to specify the schedule more precisely. + This includes identifying the day(s) of the week or month when the recurring event will take place, in addition to its start and end time. Schedules may also + have start and end dates to indicate when they are active, e.g. to define a limited calendar of events.""" ; +. + +schema:ScheduleAction + rdfs:label "Schedule action" ; + schema:description "Scheduling future actions, events, or tasks.\\n\\nRelated actions:\\n\\n* [[ReserveAction]]: Unlike ReserveAction, ScheduleAction allocates future actions (e.g. an event, a task, etc) towards a time slot / spatial allocation." ; +. + +schema:ScholarlyArticle + rdfs:label "Scholarly article" ; + schema:description "A scholarly article." ; +. + +schema:School + rdfs:label "School" ; + schema:description "A school." ; +. + +schema:SchoolDistrict + rdfs:label "School district" ; + schema:description "A School District is an administrative area for the administration of schools." ; +. + +schema:ScreeningEvent + rdfs:label "Screening event" ; + schema:description "A screening of a movie or other video." ; +. + +schema:ScreeningHealthAspect + rdfs:label "Screening health aspect" ; + schema:description "Content about how to screen or further filter a topic." ; +. + +schema:Sculpture + rdfs:label "Sculpture" ; + schema:description "A piece of sculpture." ; +. + +schema:SeaBodyOfWater + rdfs:label "SeaBody of water" ; + schema:description "A sea (for example, the Caspian sea)." ; +. + +schema:SearchAction + rdfs:label "Search action" ; + schema:description "The act of searching for an object.\\n\\nRelated actions:\\n\\n* [[FindAction]]: SearchAction generally leads to a FindAction, but not necessarily." ; +. + +schema:SearchResultsPage + rdfs:label "Search results page" ; + schema:description "Web page type: Search results page." ; +. + +schema:Season + rdfs:label "Season" ; + schema:description "A media season e.g. tv, radio, video game etc." ; +. + +schema:Seat + rdfs:label "Seat" ; + schema:description "Used to describe a seat, such as a reserved seat in an event reservation." ; +. + +schema:SeatingMap + rdfs:label "Seating map" ; + schema:description "A seating map." ; +. + +schema:SeeDoctorHealthAspect + rdfs:label "SeeDoctor health aspect" ; + schema:description "Information about questions that may be asked, when to see a professional, measures before seeing a doctor or content about the first consultation." ; +. + +schema:SeekToAction + rdfs:label "Seek to action" ; + schema:description "This is the [[Action]] of navigating to a specific [[startOffset]] timestamp within a [[VideoObject]], typically represented with a URL template structure." ; +. + +schema:SelfCareHealthAspect + rdfs:label "SelfCare health aspect" ; + schema:description "Self care actions or measures that can be taken to sooth, health or avoid a topic. This may be carried at home and can be carried/managed by the person itself." ; +. + +schema:SelfStorage + rdfs:label "Self storage" ; + schema:description "A self-storage facility." ; +. + +schema:SellAction + rdfs:label "Sell action" ; + schema:description "The act of taking money from a buyer in exchange for goods or services rendered. An agent sells an object, product, or service to a buyer for a price. Reciprocal of BuyAction." ; +. + +schema:SendAction + rdfs:label "Send action" ; + schema:description "The act of physically/electronically dispatching an object for transfer from an origin to a destination.Related actions:\\n\\n* [[ReceiveAction]]: The reciprocal of SendAction.\\n* [[GiveAction]]: Unlike GiveAction, SendAction does not imply the transfer of ownership (e.g. I can send you my laptop, but I'm not necessarily giving it to you)." ; +. + +schema:Series + rdfs:label "Series" ; + schema:description "A Series in schema.org is a group of related items, typically but not necessarily of the same kind. See also [[CreativeWorkSeries]], [[EventSeries]]." ; +. + +schema:Service + rdfs:label "Service" ; + schema:description "A service provided by an organization, e.g. delivery service, print services, etc." ; +. + +schema:ServiceChannel + rdfs:label "Service channel" ; + schema:description "A means for accessing a service, e.g. a government office location, web site, or phone number." ; +. + +schema:ShareAction + rdfs:label "Share action" ; + schema:description "The act of distributing content to people for their amusement or edification." ; +. + +schema:SheetMusic + rdfs:label "Sheet music" ; + schema:description "Printed music, as opposed to performed or recorded music." ; +. + +schema:ShippingDeliveryTime + rdfs:label "Shipping delivery time" ; + schema:description "ShippingDeliveryTime provides various pieces of information about delivery times for shipping." ; +. + +schema:ShippingRateSettings + rdfs:label "Shipping rate settings" ; + schema:description "A ShippingRateSettings represents re-usable pieces of shipping information. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of an [[OfferShippingDetails]]. Several occurrences can be published, distinguished and matched (i.e. identified/referenced) by their different values for [[shippingLabel]]." ; +. + +schema:ShoeStore + rdfs:label "Shoe store" ; + schema:description "A shoe store." ; +. + +schema:ShoppingCenter + rdfs:label "Shopping center" ; + schema:description "A shopping center or mall." ; +. + +schema:ShortStory + rdfs:label "Short story" ; + schema:description "Short story or tale. A brief work of literature, usually written in narrative prose." ; +. + +schema:SideEffectsHealthAspect + rdfs:label "SideEffects health aspect" ; + schema:description "Side effects that can be observed from the usage of the topic." ; +. + +schema:SingleBlindedTrial + rdfs:label "Single blinded trial" ; + schema:description "A trial design in which the researcher knows which treatment the patient was randomly assigned to but the patient does not." ; +. + +schema:SingleCenterTrial + rdfs:label "Single center trial" ; + schema:description "A trial that takes place at a single center." ; +. + +schema:SingleFamilyResidence + rdfs:label "Single family residence" ; + schema:description "Residence type: Single-family home." ; +. + +schema:SinglePlayer + rdfs:label "Single player" ; + schema:description "Play mode: SinglePlayer. Which is played by a lone player." ; +. + +schema:SingleRelease + rdfs:label "Single release" ; + schema:description "SingleRelease." ; +. + +schema:SiteNavigationElement + rdfs:label "Site navigation element" ; + schema:description "A navigation element of the page." ; +. + +schema:SizeGroupEnumeration + rdfs:label "Size group enumeration" ; + schema:description "Enumerates common size groups for various product categories." ; +. + +schema:SizeSpecification + rdfs:label "Size specification" ; + schema:description "Size related properties of a product, typically a size code ([[name]]) and optionally a [[sizeSystem]], [[sizeGroup]], and product measurements ([[hasMeasurement]]). In addition, the intended audience can be defined through [[suggestedAge]], [[suggestedGender]], and suggested body measurements ([[suggestedMeasurement]])." ; +. + +schema:SizeSystemEnumeration + rdfs:label "Size system enumeration" ; + schema:description "Enumerates common size systems for different categories of products, for example \"EN-13402\" or \"UK\" for wearables or \"Imperial\" for screws." ; +. + +schema:SizeSystemImperial + rdfs:label "Size system imperial" ; + schema:description "Imperial size system." ; +. + +schema:SizeSystemMetric + rdfs:label "Size system metric" ; + schema:description "Metric size system." ; +. + +schema:SkiResort + rdfs:label "Ski resort" ; + schema:description "A ski resort." ; +. + +schema:Skin + rdfs:label "Skin" ; + schema:description "Skin assessment with clinical examination." ; +. + +schema:SocialEvent + rdfs:label "Social event" ; + schema:description "Event type: Social event." ; +. + +schema:SocialMediaPosting + rdfs:label "Social media posting" ; + schema:description "A post to a social media platform, including blog posts, tweets, Facebook posts, etc." ; +. + +schema:SoftwareApplication + rdfs:label "Software application" ; + schema:description "A software application." ; +. + +schema:SoftwareSourceCode + rdfs:label "Software source code" ; + schema:description "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates." ; +. + +schema:SoldOut + rdfs:label "Sold out" ; + schema:description "Indicates that the item has sold out." ; +. + +schema:SolveMathAction + rdfs:label "Solve math action" ; + schema:description "The action that takes in a math expression and directs users to a page potentially capable of solving/simplifying that expression." ; +. + +schema:SomeProducts + rdfs:label "Some products" ; + schema:description "A placeholder for multiple similar products of the same kind." ; +. + +schema:SoundtrackAlbum + rdfs:label "Soundtrack album" ; + schema:description "SoundtrackAlbum." ; +. + +schema:SpeakableSpecification + rdfs:label "Speakable specification" ; + schema:description "A SpeakableSpecification indicates (typically via [[xpath]] or [[cssSelector]]) sections of a document that are highlighted as particularly [[speakable]]. Instances of this type are expected to be used primarily as values of the [[speakable]] property." ; +. + +schema:SpecialAnnouncement + rdfs:label "Special announcement" ; + schema:description """A SpecialAnnouncement combines a simple date-stamped textual information update + with contextualized Web links and other structured data. It represents an information update made by a + locally-oriented organization, for example schools, pharmacies, healthcare providers, community groups, police, + local government. + +For work in progress guidelines on Coronavirus-related markup see [this doc](https://docs.google.com/document/d/14ikaGCKxo50rRM7nvKSlbUpjyIk2WMQd3IkB1lItlrM/edit#). + +The motivating scenario for SpecialAnnouncement is the [Coronavirus pandemic](https://en.wikipedia.org/wiki/2019%E2%80%9320_coronavirus_pandemic), and the initial vocabulary is oriented to this urgent situation. Schema.org +expect to improve the markup iteratively as it is deployed and as feedback emerges from use. In addition to our +usual [Github entry](https://github.com/schemaorg/schemaorg/issues/2490), feedback comments can also be provided in [this document](https://docs.google.com/document/d/1fpdFFxk8s87CWwACs53SGkYv3aafSxz_DTtOQxMrBJQ/edit#). + + +While this schema is designed to communicate urgent crisis-related information, it is not the same as an emergency warning technology like [CAP](https://en.wikipedia.org/wiki/Common_Alerting_Protocol), although there may be overlaps. The intent is to cover +the kinds of everyday practical information being posted to existing websites during an emergency situation. + +Several kinds of information can be provided: + +We encourage the provision of "name", "text", "datePosted", "expires" (if appropriate), "category" and +"url" as a simple baseline. It is important to provide a value for "category" where possible, most ideally as a well known +URL from Wikipedia or Wikidata. In the case of the 2019-2020 Coronavirus pandemic, this should be "https://en.wikipedia.org/w/index.php?title=2019-20\\_coronavirus\\_pandemic" or "https://www.wikidata.org/wiki/Q81068910". + +For many of the possible properties, values can either be simple links or an inline description, depending on whether a summary is available. For a link, provide just the URL of the appropriate page as the property's value. For an inline description, use a [[WebContent]] type, and provide the url as a property of that, alongside at least a simple "[[text]]" summary of the page. It is +unlikely that a single SpecialAnnouncement will need all of the possible properties simultaneously. + +We expect that in many cases the page referenced might contain more specialized structured data, e.g. contact info, [[openingHours]], [[Event]], [[FAQPage]] etc. By linking to those pages from a [[SpecialAnnouncement]] you can help make it clearer that the events are related to the situation (e.g. Coronavirus) indicated by the [[category]] property of the [[SpecialAnnouncement]]. + +Many [[SpecialAnnouncement]]s will relate to particular regions and to identifiable local organizations. Use [[spatialCoverage]] for the region, and [[announcementLocation]] to indicate specific [[LocalBusiness]]es and [[CivicStructure]]s. If the announcement affects both a particular region and a specific location (for example, a library closure that serves an entire region), use both [[spatialCoverage]] and [[announcementLocation]]. + +The [[about]] property can be used to indicate entities that are the focus of the announcement. We now recommend using [[about]] only +for representing non-location entities (e.g. a [[Course]] or a [[RadioStation]]). For places, use [[announcementLocation]] and [[spatialCoverage]]. Consumers of this markup should be aware that the initial design encouraged the use of /about for locations too. + +The basic content of [[SpecialAnnouncement]] is similar to that of an [RSS](https://en.wikipedia.org/wiki/RSS) or [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)) feed. For publishers without such feeds, basic feed-like information can be shared by posting +[[SpecialAnnouncement]] updates in a page, e.g. using JSON-LD. For sites with Atom/RSS functionality, you can point to a feed +with the [[webFeed]] property. This can be a simple URL, or an inline [[DataFeed]] object, with [[encodingFormat]] providing +media type information e.g. "application/rss+xml" or "application/atom+xml". +""" ; +. + +schema:Specialty + rdfs:label "Specialty" ; + schema:description "Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort." ; +. + +schema:SpeechPathology + rdfs:label "Speech pathology" ; + schema:description "The scientific study and treatment of defects, disorders, and malfunctions of speech and voice, as stuttering, lisping, or lalling, and of language disturbances, as aphasia or delayed language acquisition." ; +. + +schema:SpokenWordAlbum + rdfs:label "Spoken word album" ; + schema:description "SpokenWordAlbum." ; +. + +schema:SportingGoodsStore + rdfs:label "Sporting goods store" ; + schema:description "A sporting goods store." ; +. + +schema:SportsActivityLocation + rdfs:label "Sports activity location" ; + schema:description "A sports location, such as a playing field." ; +. + +schema:SportsClub + rdfs:label "Sports club" ; + schema:description "A sports club." ; +. + +schema:SportsEvent + rdfs:label "Sports event" ; + schema:description "Event type: Sports event." ; +. + +schema:SportsOrganization + rdfs:label "Sports organization" ; + schema:description "Represents the collection of all sports organizations, including sports teams, governing bodies, and sports associations." ; +. + +schema:SportsTeam + rdfs:label "Sports team" ; + schema:description "Organization: Sports team." ; +. + +schema:SpreadsheetDigitalDocument + rdfs:label "Spreadsheet digital document" ; + schema:description "A spreadsheet file." ; +. + +schema:StadiumOrArena + rdfs:label "Stadium or arena" ; + schema:description "A stadium." ; +. + +schema:StagedContent + rdfs:label "Staged content" ; + schema:description """Content coded 'staged content' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'staged content': A video that has been created using actors or similarly contrived. + +For an [[ImageObject]] to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. + +For an [[ImageObject]] with embedded text to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. + +For an [[AudioObject]] to be 'staged content': Audio that has been created using actors or similarly contrived. +""" ; +. + +schema:StagesHealthAspect + rdfs:label "Stages health aspect" ; + schema:description "Stages that can be observed from a topic." ; +. + +schema:State + rdfs:label "State" ; + schema:description "A state or province of a country." ; +. + +schema:Statement + rdfs:label "Statement" ; + schema:description "A statement about something, for example a fun or interesting fact. If known, the main entity this statement is about, can be indicated using mainEntity. For more formal claims (e.g. in Fact Checking), consider using [[Claim]] instead. Use the [[text]] property to capture the text of the statement." ; +. + +schema:StatisticalPopulation + rdfs:label "Statistical population" ; + schema:description """A StatisticalPopulation is a set of instances of a certain given type that satisfy some set of constraints. The property [[populationType]] is used to specify the type. Any property that can be used on instances of that type can appear on the statistical population. For example, a [[StatisticalPopulation]] representing all [[Person]]s with a [[homeLocation]] of East Podunk California, would be described by applying the appropriate [[homeLocation]] and [[populationType]] properties to a [[StatisticalPopulation]] item that stands for that set of people. +The properties [[numConstraints]] and [[constrainingProperty]] are used to specify which of the populations properties are used to specify the population. Note that the sense of "population" used here is the general sense of a statistical +population, and does not imply that the population consists of people. For example, a [[populationType]] of [[Event]] or [[NewsArticle]] could be used. See also [[Observation]], and the [data and datasets](/docs/data-and-datasets.html) overview for more details. + """ ; +. + +schema:StatusEnumeration + rdfs:label "Status enumeration" ; + schema:description "Lists or enumerations dealing with status types." ; +. + +schema:SteeringPositionValue + rdfs:label "Steering position value" ; + schema:description "A value indicating a steering position." ; +. + +schema:Store + rdfs:label "Store" ; + schema:description "A retail good store." ; +. + +schema:StoreCreditRefund + rdfs:label "Store credit refund" ; + schema:description "Specifies that the customer receives a store credit as refund when returning a product" ; +. + +schema:StrengthTraining + rdfs:label "Strength training" ; + schema:description "Physical activity that is engaged in to improve muscle and bone strength. Also referred to as resistance training." ; +. + +schema:StructuredValue + rdfs:label "Structured value" ; + schema:description "Structured values are used when the value of a property has a more complex structure than simply being a textual value or a reference to another thing." ; +. + +schema:StudioAlbum + rdfs:label "Studio album" ; + schema:description "StudioAlbum." ; +. + +schema:SubscribeAction + rdfs:label "Subscribe action" ; + schema:description "The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates pushed to.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, SubscribeAction implies that the subscriber acts as a passive agent being constantly/actively pushed for updates.\\n* [[RegisterAction]]: Unlike RegisterAction, SubscribeAction implies that the agent is interested in continuing receiving updates from the object.\\n* [[JoinAction]]: Unlike JoinAction, SubscribeAction implies that the agent is interested in continuing receiving updates from the object." ; +. + +schema:Subscription + rdfs:label "Subscription" ; + schema:description "Represents the subscription pricing component of the total price for an offered product." ; +. + +schema:Substance + rdfs:label "Substance" ; + schema:description "Any matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical." ; +. + +schema:SubwayStation + rdfs:label "Subway station" ; + schema:description "A subway station." ; +. + +schema:Suite + rdfs:label "Suite" ; + schema:description """A suite in a hotel or other public accommodation, denotes a class of luxury accommodations, the key feature of which is multiple rooms (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Suite_(hotel)). +

+See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. +""" ; +. + +schema:Sunday + rdfs:label "Sunday" ; + schema:description "The day of the week between Saturday and Monday." ; +. + +schema:SuperficialAnatomy + rdfs:label "Superficial anatomy" ; + schema:description "Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structure becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure)." ; +. + +schema:Surgical + rdfs:label "Surgical" ; + schema:description "A specific branch of medical science that pertains to treating diseases, injuries and deformities by manual and instrumental means." ; +. + +schema:SurgicalProcedure + rdfs:label "Surgical procedure" ; + schema:description "A medical procedure involving an incision with instruments; performed for diagnose, or therapeutic purposes." ; +. + +schema:SuspendAction + rdfs:label "Suspend action" ; + schema:description "The act of momentarily pausing a device or application (e.g. pause music playback or pause a timer)." ; +. + +schema:Suspended + rdfs:label "Suspended" ; + schema:description "Suspended." ; +. + +schema:SymptomsHealthAspect + rdfs:label "Symptoms health aspect" ; + schema:description "Symptoms or related symptoms of a Topic." ; +. + +schema:Synagogue + rdfs:label "Synagogue" ; + schema:description "A synagogue." ; +. + +schema:TVClip + rdfs:label "TVClip" ; + schema:description "A short TV program or a segment/part of a TV program." ; +. + +schema:TVEpisode + rdfs:label "TVEpisode" ; + schema:description "A TV episode which can be part of a series or season." ; +. + +schema:TVSeason + rdfs:label "TVSeason" ; + schema:description "Season dedicated to TV broadcast and associated online delivery." ; +. + +schema:TVSeries + rdfs:label "TVSeries" ; + schema:description "CreativeWorkSeries dedicated to TV broadcast and associated online delivery." ; +. + +schema:Table + rdfs:label "Table" ; + schema:description "A table on a Web page." ; +. + +schema:TakeAction + rdfs:label "Take action" ; + schema:description "The act of gaining ownership of an object from an origin. Reciprocal of GiveAction.\\n\\nRelated actions:\\n\\n* [[GiveAction]]: The reciprocal of TakeAction.\\n* [[ReceiveAction]]: Unlike ReceiveAction, TakeAction implies that ownership has been transfered." ; +. + +schema:TattooParlor + rdfs:label "Tattoo parlor" ; + schema:description "A tattoo parlor." ; +. + +schema:Taxi + rdfs:label "Taxi" ; + schema:description "A taxi." ; +. + +schema:TaxiReservation + rdfs:label "Taxi reservation" ; + schema:description "A reservation for a taxi.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]." ; +. + +schema:TaxiService + rdfs:label "Taxi service" ; + schema:description "A service for a vehicle for hire with a driver for local travel. Fares are usually calculated based on distance traveled." ; +. + +schema:TaxiStand + rdfs:label "Taxi stand" ; + schema:description "A taxi stand." ; +. + +schema:TaxiVehicleUsage + rdfs:label "Taxi vehicle usage" ; + schema:description "Indicates the usage of the car as a taxi." ; +. + +schema:Taxon + rdfs:label "Taxon" ; + schema:description "A set of organisms asserted to represent a natural cohesive biological unit." ; +. + +schema:TechArticle + rdfs:label "Tech article" ; + schema:description "A technical article - Example: How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc." ; +. + +schema:TelevisionChannel + rdfs:label "Television channel" ; + schema:description "A unique instance of a television BroadcastService on a CableOrSatelliteService lineup." ; +. + +schema:TelevisionStation + rdfs:label "Television station" ; + schema:description "A television station." ; +. + +schema:TennisComplex + rdfs:label "Tennis complex" ; + schema:description "A tennis complex." ; +. + +schema:Terminated + rdfs:label "Terminated" ; + schema:description "Terminated." ; +. + +schema:Text + rdfs:label "Text" ; + schema:description "Data type: Text." ; +. + +schema:TextDigitalDocument + rdfs:label "Text digital document" ; + schema:description "A file composed primarily of text." ; +. + +schema:TheaterEvent + rdfs:label "Theater event" ; + schema:description "Event type: Theater performance." ; +. + +schema:TheaterGroup + rdfs:label "Theater group" ; + schema:description "A theater group or company, for example, the Royal Shakespeare Company or Druid Theatre." ; +. + +schema:Therapeutic + rdfs:label "Therapeutic" ; + schema:description "A medical device used for therapeutic purposes." ; +. + +schema:TherapeuticProcedure + rdfs:label "Therapeutic procedure" ; + schema:description "A medical procedure intended primarily for therapeutic purposes, aimed at improving a health condition." ; +. + +schema:Thesis + rdfs:label "Thesis" ; + schema:description "A thesis or dissertation document submitted in support of candidature for an academic degree or professional qualification." ; +. + +schema:Thing + rdfs:label "Thing" ; + schema:description "The most generic type of item." ; +. + +schema:Throat + rdfs:label "Throat" ; + schema:description "Throat assessment with clinical examination." ; +. + +schema:Thursday + rdfs:label "Thursday" ; + schema:description "The day of the week between Wednesday and Friday." ; +. + +schema:Ticket + rdfs:label "Ticket" ; + schema:description "Used to describe a ticket to an event, a flight, a bus ride, etc." ; +. + +schema:TieAction + rdfs:label "Tie action" ; + schema:description "The act of reaching a draw in a competitive activity." ; +. + +schema:Time + rdfs:label "Time" ; + schema:description "A point in time recurring on multiple days in the form hh:mm:ss[Z|(+|-)hh:mm] (see [XML schema for details](http://www.w3.org/TR/xmlschema-2/#time))." ; +. + +schema:TipAction + rdfs:label "Tip action" ; + schema:description "The act of giving money voluntarily to a beneficiary in recognition of services rendered." ; +. + +schema:TireShop + rdfs:label "Tire shop" ; + schema:description "A tire shop." ; +. + +schema:TollFree + rdfs:label "Toll free" ; + schema:description "The associated telephone number is toll free." ; +. + +schema:TouristAttraction + rdfs:label "Tourist attraction" ; + schema:description "A tourist attraction. In principle any Thing can be a [[TouristAttraction]], from a [[Mountain]] and [[LandmarksOrHistoricalBuildings]] to a [[LocalBusiness]]. This Type can be used on its own to describe a general [[TouristAttraction]], or be used as an [[additionalType]] to add tourist attraction properties to any other type. (See examples below)" ; +. + +schema:TouristDestination + rdfs:label "Tourist destination" ; + schema:description """A tourist destination. In principle any [[Place]] can be a [[TouristDestination]] from a [[City]], Region or [[Country]] to an [[AmusementPark]] or [[Hotel]]. This Type can be used on its own to describe a general [[TouristDestination]], or be used as an [[additionalType]] to add tourist relevant properties to any other [[Place]]. A [[TouristDestination]] is defined as a [[Place]] that contains, or is colocated with, one or more [[TouristAttraction]]s, often linked by a similar theme or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines Destination (main destination of a tourism trip) as the place visited that is central to the decision to take the trip. + (See examples below).""" ; +. + +schema:TouristInformationCenter + rdfs:label "Tourist information center" ; + schema:description "A tourist information center." ; +. + +schema:TouristTrip + rdfs:label "Tourist trip" ; + schema:description """A tourist trip. A created itinerary of visits to one or more places of interest ([[TouristAttraction]]/[[TouristDestination]]) often linked by a similar theme, geographic area, or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines tourism trip as the Trip taken by visitors. + (See examples below).""" ; +. + +schema:Toxicologic + rdfs:label "Toxicologic" ; + schema:description "A specific branch of medical science that is concerned with poisons, their nature, effects and detection and involved in the treatment of poisoning." ; +. + +schema:ToyStore + rdfs:label "Toy store" ; + schema:description "A toy store." ; +. + +schema:TrackAction + rdfs:label "Track action" ; + schema:description "An agent tracks an object for updates.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, TrackAction refers to the interest on the location of innanimates objects.\\n* [[SubscribeAction]]: Unlike SubscribeAction, TrackAction refers to the interest on the location of innanimate objects." ; +. + +schema:TradeAction + rdfs:label "Trade action" ; + schema:description "The act of participating in an exchange of goods and services for monetary compensation. An agent trades an object, product or service with a participant in exchange for a one time or periodic payment." ; +. + +schema:TraditionalChinese + rdfs:label "Traditional chinese" ; + schema:description "A system of medicine based on common theoretical concepts that originated in China and evolved over thousands of years, that uses herbs, acupuncture, exercise, massage, dietary therapy, and other methods to treat a wide range of conditions." ; +. + +schema:TrainReservation + rdfs:label "Train reservation" ; + schema:description "A reservation for train travel.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]." ; +. + +schema:TrainStation + rdfs:label "Train station" ; + schema:description "A train station." ; +. + +schema:TrainTrip + rdfs:label "Train trip" ; + schema:description "A trip on a commercial train line." ; +. + +schema:TransferAction + rdfs:label "Transfer action" ; + schema:description "The act of transferring/moving (abstract or concrete) animate or inanimate objects from one place to another." ; +. + +schema:TransformedContent + rdfs:label "Transformed content" ; + schema:description """Content coded 'transformed content' in a [[MediaReview]], considered in the context of how it was published or shared. + +For a [[VideoObject]] to be 'transformed content': or all of the video has been manipulated to transform the footage itself. This category includes using tools like the Adobe Suite to change the speed of the video, add or remove visual elements or dub audio. Deepfakes are also a subset of transformation. + +For an [[ImageObject]] to be transformed content': Adding or deleting visual elements to give the image a different meaning with the intention to mislead. + +For an [[ImageObject]] with embedded text to be 'transformed content': Adding or deleting visual elements to give the image a different meaning with the intention to mislead. + +For an [[AudioObject]] to be 'transformed content': Part or all of the audio has been manipulated to alter the words or sounds, or the audio has been synthetically generated, such as to create a sound-alike voice. +""" ; +. + +schema:TransitMap + rdfs:label "Transit map" ; + schema:description "A transit map." ; +. + +schema:TravelAction + rdfs:label "Travel action" ; + schema:description "The act of traveling from an fromLocation to a destination by a specified mode of transport, optionally with participants." ; +. + +schema:TravelAgency + rdfs:label "Travel agency" ; + schema:description "A travel agency." ; +. + +schema:TreatmentIndication + rdfs:label "Treatment indication" ; + schema:description "An indication for treating an underlying condition, symptom, etc." ; +. + +schema:TreatmentsHealthAspect + rdfs:label "Treatments health aspect" ; + schema:description "Treatments or related therapies for a Topic." ; +. + +schema:Trip + rdfs:label "Trip" ; + schema:description "A trip or journey. An itinerary of visits to one or more places." ; +. + +schema:TripleBlindedTrial + rdfs:label "Triple blinded trial" ; + schema:description "A trial design in which neither the researcher, the person administering the therapy nor the patient knows the details of the treatment the patient was randomly assigned to." ; +. + +schema:True + rdfs:label "True" ; + schema:description "The boolean value true." ; +. + +schema:Tuesday + rdfs:label "Tuesday" ; + schema:description "The day of the week between Monday and Wednesday." ; +. + +schema:TypeAndQuantityNode + rdfs:label "TypeAnd quantity node" ; + schema:description "A structured value indicating the quantity, unit of measurement, and business function of goods included in a bundle offer." ; +. + +schema:TypesHealthAspect + rdfs:label "Types health aspect" ; + schema:description "Categorization and other types related to a topic." ; +. + +schema:UKNonprofitType + rdfs:label "UKNonprofit type" ; + schema:description "UKNonprofitType: Non-profit organization type originating from the United Kingdom." ; +. + +schema:UKTrust + rdfs:label "UKTrust" ; + schema:description "UKTrust: Non-profit type referring to a UK trust." ; +. + +schema:URL + rdfs:label "URL" ; + schema:description "Data type: URL." ; +. + +schema:USNonprofitType + rdfs:label "USNonprofit type" ; + schema:description "USNonprofitType: Non-profit organization type originating from the United States." ; +. + +schema:Ultrasound + rdfs:label "Ultrasound" ; + schema:description "Ultrasound imaging." ; +. + +schema:UnRegisterAction + rdfs:label "Un register action" ; + schema:description "The act of un-registering from a service.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: antonym of UnRegisterAction.\\n* [[LeaveAction]]: Unlike LeaveAction, UnRegisterAction implies that you are unregistering from a service you werer previously registered, rather than leaving a team/group of people." ; +. + +schema:UnemploymentSupport + rdfs:label "Unemployment support" ; + schema:description "UnemploymentSupport: this is a benefit for unemployment support." ; +. + +schema:UnincorporatedAssociationCharity + rdfs:label "Unincorporated association charity" ; + schema:description "UnincorporatedAssociationCharity: Non-profit type referring to a charitable company that is not incorporated (UK)." ; +. + +schema:UnitPriceSpecification + rdfs:label "Unit price specification" ; + schema:description "The price asked for a given offer by the respective organization or person." ; +. + +schema:UnofficialLegalValue + rdfs:label "Unofficial legal value" ; + schema:description "Indicates that a document has no particular or special standing (e.g. a republication of a law by a private publisher)." ; +. + +schema:UpdateAction + rdfs:label "Update action" ; + schema:description "The act of managing by changing/editing the state of the object." ; +. + +schema:Urologic + rdfs:label "Urologic" ; + schema:description "A specific branch of medical science that is concerned with the diagnosis and treatment of diseases pertaining to the urinary tract and the urogenital system." ; +. + +schema:UsageOrScheduleHealthAspect + rdfs:label "UsageOrSchedule health aspect" ; + schema:description "Content about how, when, frequency and dosage of a topic." ; +. + +schema:UseAction + rdfs:label "Use action" ; + schema:description "The act of applying an object to its intended purpose." ; +. + +schema:UsedCondition + rdfs:label "Used condition" ; + schema:description "Indicates that the item is used." ; +. + +schema:UserBlocks + rdfs:label "User blocks" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserCheckins + rdfs:label "User checkins" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserComments + rdfs:label "User comments" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserDownloads + rdfs:label "User downloads" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserInteraction + rdfs:label "User interaction" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserLikes + rdfs:label "User likes" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserPageVisits + rdfs:label "User page visits" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserPlays + rdfs:label "User plays" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserPlusOnes + rdfs:label "User plus ones" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:UserReview + rdfs:label "User review" ; + schema:description "A review created by an end-user (e.g. consumer, purchaser, attendee etc.), in contrast with [[CriticReview]]." ; +. + +schema:UserTweets + rdfs:label "User tweets" ; + schema:description "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]." ; +. + +schema:VeganDiet + rdfs:label "Vegan diet" ; + schema:description "A diet exclusive of all animal products." ; +. + +schema:VegetarianDiet + rdfs:label "Vegetarian diet" ; + schema:description "A diet exclusive of animal meat." ; +. + +schema:Vehicle + rdfs:label "Vehicle" ; + schema:description "A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space." ; +. + +schema:Vein + rdfs:label "Vein" ; + schema:description "A type of blood vessel that specifically carries blood to the heart." ; +. + +schema:VenueMap + rdfs:label "Venue map" ; + schema:description "A venue map (e.g. for malls, auditoriums, museums, etc.)." ; +. + +schema:Vessel + rdfs:label "Vessel" ; + schema:description "A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body." ; +. + +schema:VeterinaryCare + rdfs:label "Veterinary care" ; + schema:description "A vet's office." ; +. + +schema:VideoGallery + rdfs:label "Video gallery" ; + schema:description "Web page type: Video gallery page." ; +. + +schema:VideoGame + rdfs:label "Video game" ; + schema:description "A video game is an electronic game that involves human interaction with a user interface to generate visual feedback on a video device." ; +. + +schema:VideoGameClip + rdfs:label "Video game clip" ; + schema:description "A short segment/part of a video game." ; +. + +schema:VideoGameSeries + rdfs:label "Video game series" ; + schema:description "A video game series." ; +. + +schema:VideoObject + rdfs:label "Video object" ; + schema:description "A video file." ; +. + +schema:VideoObjectSnapshot + rdfs:label "Video object snapshot" ; + schema:description "A specific and exact (byte-for-byte) version of a [[VideoObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity." ; +. + +schema:ViewAction + rdfs:label "View action" ; + schema:description "The act of consuming static visual content." ; +. + +schema:VinylFormat + rdfs:label "Vinyl format" ; + schema:description "VinylFormat." ; +. + +schema:VirtualLocation + rdfs:label "Virtual location" ; + schema:description "An online or virtual location for attending events. For example, one may attend an online seminar or educational event. While a virtual location may be used as the location of an event, virtual locations should not be confused with physical locations in the real world." ; +. + +schema:Virus + rdfs:label "Virus" ; + schema:description "Pathogenic virus that causes viral infection." ; +. + +schema:VisualArtsEvent + rdfs:label "Visual arts event" ; + schema:description "Event type: Visual arts event." ; +. + +schema:VisualArtwork + rdfs:label "Visual artwork" ; + schema:description "A work of art that is primarily visual in character." ; +. + +schema:VitalSign + rdfs:label "Vital sign" ; + schema:description "Vital signs are measures of various physiological functions in order to assess the most basic body functions." ; +. + +schema:Volcano + rdfs:label "Volcano" ; + schema:description "A volcano, like Fuji san." ; +. + +schema:VoteAction + rdfs:label "Vote action" ; + schema:description "The act of expressing a preference from a fixed/finite/structured set of choices/options." ; +. + +schema:WPAdBlock + rdfs:label "WPAd block" ; + schema:description "An advertising section of the page." ; +. + +schema:WPFooter + rdfs:label "WPFooter" ; + schema:description "The footer section of the page." ; +. + +schema:WPHeader + rdfs:label "WPHeader" ; + schema:description "The header section of the page." ; +. + +schema:WPSideBar + rdfs:label "WPSide bar" ; + schema:description "A sidebar section of the page." ; +. + +schema:WantAction + rdfs:label "Want action" ; + schema:description "The act of expressing a desire about the object. An agent wants an object." ; +. + +schema:WarrantyPromise + rdfs:label "Warranty promise" ; + schema:description "A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product." ; +. + +schema:WarrantyScope + rdfs:label "Warranty scope" ; + schema:description """A range of of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#Labor-BringIn\\n* http://purl.org/goodrelations/v1#PartsAndLabor-BringIn\\n* http://purl.org/goodrelations/v1#PartsAndLabor-PickUp + """ ; +. + +schema:WatchAction + rdfs:label "Watch action" ; + schema:description "The act of consuming dynamic/moving visual content." ; +. + +schema:Waterfall + rdfs:label "Waterfall" ; + schema:description "A waterfall, like Niagara." ; +. + +schema:WearAction + rdfs:label "Wear action" ; + schema:description "The act of dressing oneself in clothing." ; +. + +schema:WearableMeasurementBack + rdfs:label "Wearable measurement back" ; + schema:description "Measurement of the back section, for example of a jacket" ; +. + +schema:WearableMeasurementChestOrBust + rdfs:label "WearableMeasurementChest or bust" ; + schema:description "Measurement of the chest/bust section, for example of a suit" ; +. + +schema:WearableMeasurementCollar + rdfs:label "Wearable measurement collar" ; + schema:description "Measurement of the collar, for example of a shirt" ; +. + +schema:WearableMeasurementCup + rdfs:label "Wearable measurement cup" ; + schema:description "Measurement of the cup, for example of a bra" ; +. + +schema:WearableMeasurementHeight + rdfs:label "Wearable measurement height" ; + schema:description "Measurement of the height, for example the heel height of a shoe" ; +. + +schema:WearableMeasurementHips + rdfs:label "Wearable measurement hips" ; + schema:description "Measurement of the hip section, for example of a skirt" ; +. + +schema:WearableMeasurementInseam + rdfs:label "Wearable measurement inseam" ; + schema:description "Measurement of the inseam, for example of pants" ; +. + +schema:WearableMeasurementLength + rdfs:label "Wearable measurement length" ; + schema:description "Represents the length, for example of a dress" ; +. + +schema:WearableMeasurementOutsideLeg + rdfs:label "WearableMeasurement outside leg" ; + schema:description "Measurement of the outside leg, for example of pants" ; +. + +schema:WearableMeasurementSleeve + rdfs:label "Wearable measurement sleeve" ; + schema:description "Measurement of the sleeve length, for example of a shirt" ; +. + +schema:WearableMeasurementTypeEnumeration + rdfs:label "WearableMeasurement type enumeration" ; + schema:description "Enumerates common types of measurement for wearables products." ; +. + +schema:WearableMeasurementWaist + rdfs:label "Wearable measurement waist" ; + schema:description "Measurement of the waist section, for example of pants" ; +. + +schema:WearableMeasurementWidth + rdfs:label "Wearable measurement width" ; + schema:description "Measurement of the width, for example of shoes" ; +. + +schema:WearableSizeGroupBig + rdfs:label "WearableSize group big" ; + schema:description "Size group \"Big\" for wearables." ; +. + +schema:WearableSizeGroupBoys + rdfs:label "WearableSize group boys" ; + schema:description "Size group \"Boys\" for wearables." ; +. + +schema:WearableSizeGroupEnumeration + rdfs:label "WearableSize group enumeration" ; + schema:description "Enumerates common size groups (also known as \"size types\") for wearable products." ; +. + +schema:WearableSizeGroupExtraShort + rdfs:label "WearableSizeGroup extra short" ; + schema:description "Size group \"Extra Short\" for wearables." ; +. + +schema:WearableSizeGroupExtraTall + rdfs:label "WearableSizeGroup extra tall" ; + schema:description "Size group \"Extra Tall\" for wearables." ; +. + +schema:WearableSizeGroupGirls + rdfs:label "WearableSize group girls" ; + schema:description "Size group \"Girls\" for wearables." ; +. + +schema:WearableSizeGroupHusky + rdfs:label "WearableSize group husky" ; + schema:description "Size group \"Husky\" (or \"Stocky\") for wearables." ; +. + +schema:WearableSizeGroupInfants + rdfs:label "WearableSize group infants" ; + schema:description "Size group \"Infants\" for wearables." ; +. + +schema:WearableSizeGroupJuniors + rdfs:label "WearableSize group juniors" ; + schema:description "Size group \"Juniors\" for wearables." ; +. + +schema:WearableSizeGroupMaternity + rdfs:label "WearableSize group maternity" ; + schema:description "Size group \"Maternity\" for wearables." ; +. + +schema:WearableSizeGroupMens + rdfs:label "WearableSize group mens" ; + schema:description "Size group \"Mens\" for wearables." ; +. + +schema:WearableSizeGroupMisses + rdfs:label "WearableSize group misses" ; + schema:description "Size group \"Misses\" (also known as \"Missy\") for wearables." ; +. + +schema:WearableSizeGroupPetite + rdfs:label "WearableSize group petite" ; + schema:description "Size group \"Petite\" for wearables." ; +. + +schema:WearableSizeGroupPlus + rdfs:label "WearableSize group plus" ; + schema:description "Size group \"Plus\" for wearables." ; +. + +schema:WearableSizeGroupRegular + rdfs:label "WearableSize group regular" ; + schema:description "Size group \"Regular\" for wearables." ; +. + +schema:WearableSizeGroupShort + rdfs:label "WearableSize group short" ; + schema:description "Size group \"Short\" for wearables." ; +. + +schema:WearableSizeGroupTall + rdfs:label "WearableSize group tall" ; + schema:description "Size group \"Tall\" for wearables." ; +. + +schema:WearableSizeGroupWomens + rdfs:label "WearableSize group womens" ; + schema:description "Size group \"Womens\" for wearables." ; +. + +schema:WearableSizeSystemAU + rdfs:label "WearableSize system au" ; + schema:description "Australian size system for wearables." ; +. + +schema:WearableSizeSystemBR + rdfs:label "WearableSize system br" ; + schema:description "Brazilian size system for wearables." ; +. + +schema:WearableSizeSystemCN + rdfs:label "WearableSize system cn" ; + schema:description "Chinese size system for wearables." ; +. + +schema:WearableSizeSystemContinental + rdfs:label "WearableSize system continental" ; + schema:description "Continental size system for wearables." ; +. + +schema:WearableSizeSystemDE + rdfs:label "WearableSize system de" ; + schema:description "German size system for wearables." ; +. + +schema:WearableSizeSystemEN13402 + rdfs:label "WearableSize system en13402" ; + schema:description "EN 13402 (joint European standard for size labelling of clothes)." ; +. + +schema:WearableSizeSystemEnumeration + rdfs:label "WearableSize system enumeration" ; + schema:description "Enumerates common size systems specific for wearable products" ; +. + +schema:WearableSizeSystemEurope + rdfs:label "WearableSize system europe" ; + schema:description "European size system for wearables." ; +. + +schema:WearableSizeSystemFR + rdfs:label "WearableSize system fr" ; + schema:description "French size system for wearables." ; +. + +schema:WearableSizeSystemGS1 + rdfs:label "WearableSize system gs1" ; + schema:description "GS1 (formerly NRF) size system for wearables." ; +. + +schema:WearableSizeSystemIT + rdfs:label "WearableSize system it" ; + schema:description "Italian size system for wearables." ; +. + +schema:WearableSizeSystemJP + rdfs:label "WearableSize system jp" ; + schema:description "Japanese size system for wearables." ; +. + +schema:WearableSizeSystemMX + rdfs:label "WearableSize system mx" ; + schema:description "Mexican size system for wearables." ; +. + +schema:WearableSizeSystemUK + rdfs:label "WearableSize system uk" ; + schema:description "United Kingdom size system for wearables." ; +. + +schema:WearableSizeSystemUS + rdfs:label "WearableSize system us" ; + schema:description "United States size system for wearables." ; +. + +schema:WebAPI + rdfs:label "Web api" ; + schema:description "An application programming interface accessible over Web/Internet technologies." ; +. + +schema:WebApplication + rdfs:label "Web application" ; + schema:description "Web applications." ; +. + +schema:WebContent + rdfs:label "Web content" ; + schema:description "WebContent is a type representing all [[WebPage]], [[WebSite]] and [[WebPageElement]] content. It is sometimes the case that detailed distinctions between Web pages, sites and their parts is not always important or obvious. The [[WebContent]] type makes it easier to describe Web-addressable content without requiring such distinctions to always be stated. (The intent is that the existing types [[WebPage]], [[WebSite]] and [[WebPageElement]] will eventually be declared as subtypes of [[WebContent]])." ; +. + +schema:WebPage + rdfs:label "Web page" ; + schema:description "A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page." ; +. + +schema:WebPageElement + rdfs:label "Web page element" ; + schema:description "A web page element, like a table or an image." ; +. + +schema:WebSite + rdfs:label "Web site" ; + schema:description "A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs." ; +. + +schema:Wednesday + rdfs:label "Wednesday" ; + schema:description "The day of the week between Tuesday and Thursday." ; +. + +schema:WesternConventional + rdfs:label "Western conventional" ; + schema:description "The conventional Western system of medicine, that aims to apply the best available evidence gained from the scientific method to clinical decision making. Also known as conventional or Western medicine." ; +. + +schema:Wholesale + rdfs:label "Wholesale" ; + schema:description "The drug's cost represents the wholesale acquisition cost of the drug." ; +. + +schema:WholesaleStore + rdfs:label "Wholesale store" ; + schema:description "A wholesale store." ; +. + +schema:WinAction + rdfs:label "Win action" ; + schema:description "The act of achieving victory in a competitive activity." ; +. + +schema:Winery + rdfs:label "Winery" ; + schema:description "A winery." ; +. + +schema:Withdrawn + rdfs:label "Withdrawn" ; + schema:description "Withdrawn." ; +. + +schema:WorkBasedProgram + rdfs:label "Work based program" ; + schema:description "A program with both an educational and employment component. Typically based at a workplace and structured around work-based learning, with the aim of instilling competencies related to an occupation. WorkBasedProgram is used to distinguish programs such as apprenticeships from school, college or other classroom based educational programs." ; +. + +schema:WorkersUnion + rdfs:label "Workers union" ; + schema:description "A Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying." ; +. + +schema:WriteAction + rdfs:label "Write action" ; + schema:description "The act of authoring written creative content." ; +. + +schema:WritePermission + rdfs:label "Write permission" ; + schema:description "Permission to write or edit the document." ; +. + +schema:XPathType + rdfs:label "XPath type" ; + schema:description "Text representing an XPath (typically but not necessarily version 1.0)." ; +. + +schema:XRay + rdfs:label "XRay" ; + schema:description "X-ray imaging." ; +. + +schema:ZoneBoardingPolicy + rdfs:label "Zone boarding policy" ; + schema:description "The airline boards by zones of the plane." ; +. + +schema:Zoo + rdfs:label "Zoo" ; + schema:description "A zoo." ; +. + +schema:about + rdfs:label "about" ; + schema:description "The subject matter of the content." ; +. + +schema:abridged + rdfs:label "abridged" ; + schema:description "Indicates whether the book is an abridged edition." ; +. + +schema:abstract + rdfs:label "abstract" ; + schema:description "An abstract is a short description that summarizes a [[CreativeWork]]." ; +. + +schema:accelerationTime + rdfs:label "acceleration time" ; + schema:description "The time needed to accelerate the vehicle from a given start velocity to a given target velocity.\\n\\nTypical unit code(s): SEC for seconds\\n\\n* Note: There are unfortunately no standard unit codes for seconds/0..100 km/h or seconds/0..60 mph. Simply use \"SEC\" for seconds and indicate the velocities in the [[name]] of the [[QuantitativeValue]], or use [[valueReference]] with a [[QuantitativeValue]] of 0..60 mph or 0..100 km/h to specify the reference speeds." ; +. + +schema:acceptedAnswer + rdfs:label "accepted answer" ; + schema:description "The answer(s) that has been accepted as best, typically on a Question/Answer site. Sites vary in their selection mechanisms, e.g. drawing on community opinion and/or the view of the Question author." ; +. + +schema:acceptedOffer + rdfs:label "accepted offer" ; + schema:description "The offer(s) -- e.g., product, quantity and price combinations -- included in the order." ; +. + +schema:acceptedPaymentMethod + rdfs:label "accepted payment method" ; + schema:description "The payment method(s) accepted by seller for this offer." ; +. + +schema:acceptsReservations + rdfs:label "accepts reservations" ; + schema:description "Indicates whether a FoodEstablishment accepts reservations. Values can be Boolean, an URL at which reservations can be made or (for backwards compatibility) the strings ```Yes``` or ```No```." ; +. + +schema:accessCode + rdfs:label "access code" ; + schema:description "Password, PIN, or access code needed for delivery (e.g. from a locker)." ; +. + +schema:accessMode + rdfs:label "access mode" ; + schema:description """The human sensory perceptual system or cognitive faculty through which a person may process or perceive information. Expected values include: auditory, tactile, textual, visual, colorDependent, chartOnVisual, chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual. + """ ; +. + +schema:accessModeSufficient + rdfs:label "access mode sufficient" ; + schema:description """A list of single or combined accessModes that are sufficient to understand all the intellectual content of a resource. Expected values include: auditory, tactile, textual, visual. + """ ; +. + +schema:accessibilityAPI + rdfs:label "accessibility api" ; + schema:description "Indicates that the resource is compatible with the referenced accessibility API ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))." ; +. + +schema:accessibilityControl + rdfs:label "accessibility control" ; + schema:description "Identifies input methods that are sufficient to fully control the described resource ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))." ; +. + +schema:accessibilityFeature + rdfs:label "accessibility feature" ; + schema:description "Content features of the resource, such as accessible media, alternatives and supported enhancements for accessibility ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))." ; +. + +schema:accessibilityHazard + rdfs:label "accessibility hazard" ; + schema:description "A characteristic of the described resource that is physiologically dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))." ; +. + +schema:accessibilitySummary + rdfs:label "accessibility summary" ; + schema:description "A human-readable summary of specific accessibility features or deficiencies, consistent with the other accessibility metadata but expressing subtleties such as \"short descriptions are present but long descriptions will be needed for non-visual users\" or \"short descriptions are present and no long descriptions are needed.\"" ; +. + +schema:accommodationCategory + rdfs:label "accommodation category" ; + schema:description "Category of an [[Accommodation]], following real estate conventions e.g. RESO (see [PropertySubType](https://ddwiki.reso.org/display/DDW17/PropertySubType+Field), and [PropertyType](https://ddwiki.reso.org/display/DDW17/PropertyType+Field) fields for suggested values)." ; +. + +schema:accommodationFloorPlan + rdfs:label "accommodation floor plan" ; + schema:description "A floorplan of some [[Accommodation]]." ; +. + +schema:accountId + rdfs:label "account id" ; + schema:description "The identifier for the account the payment will be applied to." ; +. + +schema:accountMinimumInflow + rdfs:label "account minimum inflow" ; + schema:description "A minimum amount that has to be paid in every month." ; +. + +schema:accountOverdraftLimit + rdfs:label "account overdraft limit" ; + schema:description "An overdraft is an extension of credit from a lending institution when an account reaches zero. An overdraft allows the individual to continue withdrawing money even if the account has no funds in it. Basically the bank allows people to borrow a set amount of money." ; +. + +schema:accountablePerson + rdfs:label "accountable person" ; + schema:description "Specifies the Person that is legally accountable for the CreativeWork." ; +. + +schema:acquireLicensePage + rdfs:label "acquire license page" ; + schema:description "Indicates a page documenting how licenses can be purchased or otherwise acquired, for the current item." ; +. + +schema:acquiredFrom + rdfs:label "acquired from" ; + schema:description "The organization or person from which the product was acquired." ; +. + +schema:acrissCode + rdfs:label "acriss code" ; + schema:description "The ACRISS Car Classification Code is a code used by many car rental companies, for classifying vehicles. ACRISS stands for Association of Car Rental Industry Systems and Standards." ; +. + +schema:actionAccessibilityRequirement + rdfs:label "action accessibility requirement" ; + schema:description "A set of requirements that a must be fulfilled in order to perform an Action. If more than one value is specied, fulfilling one set of requirements will allow the Action to be performed." ; +. + +schema:actionApplication + rdfs:label "action application" ; + schema:description "An application that can complete the request." ; +. + +schema:actionOption + rdfs:label "action option" ; + schema:description "A sub property of object. The options subject to this action." ; +. + +schema:actionPlatform + rdfs:label "action platform" ; + schema:description "The high level platform(s) where the Action can be performed for the given URL. To specify a specific application or operating system instance, use actionApplication." ; +. + +schema:actionStatus + rdfs:label "action status" ; + schema:description "Indicates the current disposition of the Action." ; +. + +schema:actionableFeedbackPolicy + rdfs:label "actionable feedback policy" ; + schema:description "For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication." ; +. + +schema:activeIngredient + rdfs:label "active ingredient" ; + schema:description "An active ingredient, typically chemical compounds and/or biologic substances." ; +. + +schema:activityDuration + rdfs:label "activity duration" ; + schema:description "Length of time to engage in the activity." ; +. + +schema:activityFrequency + rdfs:label "activity frequency" ; + schema:description "How often one should engage in the activity." ; +. + +schema:actor + rdfs:label "actor" ; + schema:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip." ; +. + +schema:actors + rdfs:label "actors" ; + schema:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip." ; +. + +schema:addOn + rdfs:label "add on" ; + schema:description "An additional offer that can only be obtained in combination with the first base offer (e.g. supplements and extensions that are available for a surcharge)." ; +. + +schema:additionalName + rdfs:label "additional name" ; + schema:description "An additional name for a Person, can be used for a middle name." ; +. + +schema:additionalNumberOfGuests + rdfs:label "additionalNumber of guests" ; + schema:description "If responding yes, the number of guests who will attend in addition to the invitee." ; +. + +schema:additionalProperty + rdfs:label "additional property" ; + schema:description """A property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\\n\\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. https://schema.org/width, https://schema.org/color, https://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. +""" ; +. + +schema:additionalType + rdfs:label "additional type" ; + schema:description "An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally." ; +. + +schema:additionalVariable + rdfs:label "additional variable" ; + schema:description "Any additional component of the exercise prescription that may need to be articulated to the patient. This may include the order of exercises, the number of repetitions of movement, quantitative distance, progressions over time, etc." ; +. + +schema:address + rdfs:label "address" ; + schema:description "Physical address of the item." ; +. + +schema:addressCountry + rdfs:label "address country" ; + schema:description "The country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1)." ; +. + +schema:addressLocality + rdfs:label "address locality" ; + schema:description "The locality in which the street address is, and which is in the region. For example, Mountain View." ; +. + +schema:addressRegion + rdfs:label "address region" ; + schema:description "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level [Administrative division](https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country) " ; +. + +schema:administrationRoute + rdfs:label "administration route" ; + schema:description "A route by which this drug may be administered, e.g. 'oral'." ; +. + +schema:advanceBookingRequirement + rdfs:label "advance booking requirement" ; + schema:description "The amount of time that is required between accepting the offer and the actual usage of the resource or service." ; +. + +schema:adverseOutcome + rdfs:label "adverse outcome" ; + schema:description "A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead." ; +. + +schema:affectedBy + rdfs:label "affected by" ; + schema:description "Drugs that affect the test's results." ; +. + +schema:affiliation + rdfs:label "affiliation" ; + schema:description "An organization that this person is affiliated with. For example, a school/university, a club, or a team." ; +. + +schema:afterMedia + rdfs:label "after media" ; + schema:description "A media object representing the circumstances after performing this direction." ; +. + +schema:agent + rdfs:label "agent" ; + schema:description "The direct performer or driver of the action (animate or inanimate). e.g. *John* wrote a book." ; +. + +schema:aggregateRating + rdfs:label "aggregate rating" ; + schema:description "The overall rating, based on a collection of reviews or ratings, of the item." ; +. + +schema:aircraft + rdfs:label "aircraft" ; + schema:description "The kind of aircraft (e.g., \"Boeing 747\")." ; +. + +schema:album + rdfs:label "album" ; + schema:description "A music album." ; +. + +schema:albumProductionType + rdfs:label "album production type" ; + schema:description "Classification of the album by it's type of content: soundtrack, live album, studio album, etc." ; +. + +schema:albumRelease + rdfs:label "album release" ; + schema:description "A release of this album." ; +. + +schema:albumReleaseType + rdfs:label "album release type" ; + schema:description "The kind of release which this album is: single, EP or album." ; +. + +schema:albums + rdfs:label "albums" ; + schema:description "A collection of music albums." ; +. + +schema:alcoholWarning + rdfs:label "alcohol warning" ; + schema:description "Any precaution, guidance, contraindication, etc. related to consumption of alcohol while taking this drug." ; +. + +schema:algorithm + rdfs:label "algorithm" ; + schema:description "The algorithm or rules to follow to compute the score." ; +. + +schema:alignmentType + rdfs:label "alignment type" ; + schema:description "A category of alignment between the learning resource and the framework node. Recommended values include: 'requires', 'textComplexity', 'readingLevel', and 'educationalSubject'." ; +. + +schema:alternateName + rdfs:label "alternate name" ; + schema:description "An alias for the item." ; +. + +schema:alternativeHeadline + rdfs:label "alternative headline" ; + schema:description "A secondary title of the CreativeWork." ; +. + +schema:alternativeOf + rdfs:label "alternative of" ; + schema:description "Another gene which is a variation of this one." ; +. + +schema:alumni + rdfs:label "alumni" ; + schema:description "Alumni of an organization." ; +. + +schema:alumniOf + rdfs:label "alumni of" ; + schema:description "An organization that the person is an alumni of." ; +. + +schema:amenityFeature + rdfs:label "amenity feature" ; + schema:description "An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs." ; +. + +schema:amount + rdfs:label "amount" ; + schema:description "The amount of money." ; +. + +schema:amountOfThisGood + rdfs:label "amountOf this good" ; + schema:description "The quantity of the goods included in the offer." ; +. + +schema:announcementLocation + rdfs:label "announcement location" ; + schema:description "Indicates a specific [[CivicStructure]] or [[LocalBusiness]] associated with the SpecialAnnouncement. For example, a specific testing facility or business with special opening hours. For a larger geographic region like a quarantine of an entire region, use [[spatialCoverage]]." ; +. + +schema:annualPercentageRate + rdfs:label "annual percentage rate" ; + schema:description "The annual rate that is charged for borrowing (or made by investing), expressed as a single percentage number that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction." ; +. + +schema:answerCount + rdfs:label "answer count" ; + schema:description "The number of answers this question has received." ; +. + +schema:answerExplanation + rdfs:label "answer explanation" ; + schema:description "A step-by-step or full explanation about Answer. Can outline how this Answer was achieved or contain more broad clarification or statement about it. " ; +. + +schema:antagonist + rdfs:label "antagonist" ; + schema:description "The muscle whose action counteracts the specified muscle." ; +. + +schema:appearance + rdfs:label "appearance" ; + schema:description "Indicates an occurence of a [[Claim]] in some [[CreativeWork]]." ; +. + +schema:applicableLocation + rdfs:label "applicable location" ; + schema:description "The location in which the status applies." ; +. + +schema:applicantLocationRequirements + rdfs:label "applicant location requirements" ; + schema:description "The location(s) applicants can apply from. This is usually used for telecommuting jobs where the applicant does not need to be in a physical office. Note: This should not be used for citizenship or work visa requirements." ; +. + +schema:application + rdfs:label "application" ; + schema:description "An application that can complete the request." ; +. + +schema:applicationCategory + rdfs:label "application category" ; + schema:description "Type of software application, e.g. 'Game, Multimedia'." ; +. + +schema:applicationContact + rdfs:label "application contact" ; + schema:description "Contact details for further information relevant to this job posting." ; +. + +schema:applicationDeadline + rdfs:label "application deadline" ; + schema:description "The date at which the program stops collecting applications for the next enrollment cycle." ; +. + +schema:applicationStartDate + rdfs:label "application start date" ; + schema:description "The date at which the program begins collecting applications for the next enrollment cycle." ; +. + +schema:applicationSubCategory + rdfs:label "application sub category" ; + schema:description "Subcategory of the application, e.g. 'Arcade Game'." ; +. + +schema:applicationSuite + rdfs:label "application suite" ; + schema:description "The name of the application suite to which the application belongs (e.g. Excel belongs to Office)." ; +. + +schema:appliesToDeliveryMethod + rdfs:label "appliesTo delivery method" ; + schema:description "The delivery method(s) to which the delivery charge or payment charge specification applies." ; +. + +schema:appliesToPaymentMethod + rdfs:label "appliesTo payment method" ; + schema:description "The payment method(s) to which the payment charge specification applies." ; +. + +schema:archiveHeld + rdfs:label "archive held"@en ; + schema:description "Collection, [fonds](https://en.wikipedia.org/wiki/Fonds), or item held, kept or maintained by an [[ArchiveOrganization]]."@en ; +. + +schema:archivedAt + rdfs:label "archived at" ; + schema:description "Indicates a page or other link involved in archival of a [[CreativeWork]]. In the case of [[MediaReview]], the items in a [[MediaReviewItem]] may often become inaccessible, but be archived by archival, journalistic, activist, or law enforcement organizations. In such cases, the referenced page may not directly publish the content." ; +. + +schema:area + rdfs:label "area" ; + schema:description "The area within which users can expect to reach the broadcast service." ; +. + +schema:areaServed + rdfs:label "area served" ; + schema:description "The geographic area where a service or offered item is provided." ; +. + +schema:arrivalAirport + rdfs:label "arrival airport" ; + schema:description "The airport where the flight terminates." ; +. + +schema:arrivalBoatTerminal + rdfs:label "arrival boat terminal" ; + schema:description "The terminal or port from which the boat arrives." ; +. + +schema:arrivalBusStop + rdfs:label "arrival bus stop" ; + schema:description "The stop or station from which the bus arrives." ; +. + +schema:arrivalGate + rdfs:label "arrival gate" ; + schema:description "Identifier of the flight's arrival gate." ; +. + +schema:arrivalPlatform + rdfs:label "arrival platform" ; + schema:description "The platform where the train arrives." ; +. + +schema:arrivalStation + rdfs:label "arrival station" ; + schema:description "The station where the train trip ends." ; +. + +schema:arrivalTerminal + rdfs:label "arrival terminal" ; + schema:description "Identifier of the flight's arrival terminal." ; +. + +schema:arrivalTime + rdfs:label "arrival time" ; + schema:description "The expected arrival time." ; +. + +schema:artEdition + rdfs:label "art edition" ; + schema:description "The number of copies when multiple copies of a piece of artwork are produced - e.g. for a limited edition of 20 prints, 'artEdition' refers to the total number of copies (in this example \"20\")." ; +. + +schema:artMedium + rdfs:label "art medium" ; + schema:description "The material used. (e.g. Oil, Watercolour, Acrylic, Linoprint, Marble, Cyanotype, Digital, Lithograph, DryPoint, Intaglio, Pastel, Woodcut, Pencil, Mixed Media, etc.)" ; +. + +schema:arterialBranch + rdfs:label "arterial branch" ; + schema:description "The branches that comprise the arterial structure." ; +. + +schema:artform + rdfs:label "artform" ; + schema:description "e.g. Painting, Drawing, Sculpture, Print, Photograph, Assemblage, Collage, etc." ; +. + +schema:articleBody + rdfs:label "article body" ; + schema:description "The actual body of the article." ; +. + +schema:articleSection + rdfs:label "article section" ; + schema:description "Articles may belong to one or more 'sections' in a magazine or newspaper, such as Sports, Lifestyle, etc." ; +. + +schema:artist + rdfs:label "artist" ; + schema:description """The primary artist for a work + in a medium other than pencils or digital line art--for example, if the + primary artwork is done in watercolors or digital paints.""" ; +. + +schema:artworkSurface + rdfs:label "artwork surface" ; + schema:description "The supporting materials for the artwork, e.g. Canvas, Paper, Wood, Board, etc." ; +. + +schema:aspect + rdfs:label "aspect" ; + schema:description "An aspect of medical practice that is considered on the page, such as 'diagnosis', 'treatment', 'causes', 'prognosis', 'etiology', 'epidemiology', etc." ; +. + +schema:assembly + rdfs:label "assembly" ; + schema:description "Library file name e.g., mscorlib.dll, system.web.dll." ; +. + +schema:assemblyVersion + rdfs:label "assembly version" ; + schema:description "Associated product/technology version. e.g., .NET Framework 4.5." ; +. + +schema:assesses + rdfs:label "assesses" ; + schema:description "The item being described is intended to assess the competency or learning outcome defined by the referenced term." ; +. + +schema:associatedAnatomy + rdfs:label "associated anatomy" ; + schema:description "The anatomy of the underlying organ system or structures associated with this entity." ; +. + +schema:associatedArticle + rdfs:label "associated article" ; + schema:description "A NewsArticle associated with the Media Object." ; +. + +schema:associatedClaimReview + rdfs:label "associated claim review" ; + schema:description "An associated [[ClaimReview]], related by specific common content, topic or claim. The expectation is that this property would be most typically used in cases where a single activity is conducting both claim reviews and media reviews, in which case [[relatedMediaReview]] would commonly be used on a [[ClaimReview]], while [[relatedClaimReview]] would be used on [[MediaReview]]." ; +. + +schema:associatedDisease + rdfs:label "associated disease" ; + schema:description "Disease associated to this BioChemEntity. Such disease can be a MedicalCondition or a URL. If you want to add an evidence supporting the association, please use PropertyValue." ; +. + +schema:associatedMedia + rdfs:label "associated media" ; + schema:description "A media object that encodes this CreativeWork. This property is a synonym for encoding." ; +. + +schema:associatedMediaReview + rdfs:label "associated media review" ; + schema:description "An associated [[MediaReview]], related by specific common content, topic or claim. The expectation is that this property would be most typically used in cases where a single activity is conducting both claim reviews and media reviews, in which case [[relatedMediaReview]] would commonly be used on a [[ClaimReview]], while [[relatedClaimReview]] would be used on [[MediaReview]]." ; +. + +schema:associatedPathophysiology + rdfs:label "associated pathophysiology" ; + schema:description "If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system." ; +. + +schema:associatedReview + rdfs:label "associated review" ; + schema:description "An associated [[Review]]." ; +. + +schema:athlete + rdfs:label "athlete" ; + schema:description "A person that acts as performing member of a sports team; a player as opposed to a coach." ; +. + +schema:attendee + rdfs:label "attendee" ; + schema:description "A person or organization attending the event." ; +. + +schema:attendees + rdfs:label "attendees" ; + schema:description "A person attending the event." ; +. + +schema:audience + rdfs:label "audience" ; + schema:description "An intended audience, i.e. a group for whom something was created." ; +. + +schema:audienceType + rdfs:label "audience type" ; + schema:description "The target group associated with a given audience (e.g. veterans, car owners, musicians, etc.)." ; +. + +schema:audio + rdfs:label "audio" ; + schema:description "An embedded audio object." ; +. + +schema:authenticator + rdfs:label "authenticator" ; + schema:description "The Organization responsible for authenticating the user's subscription. For example, many media apps require a cable/satellite provider to authenticate your subscription before playing media." ; +. + +schema:author + rdfs:label "author" ; + schema:description "The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably." ; +. + +schema:availability + rdfs:label "availability" ; + schema:description "The availability of this item—for example In stock, Out of stock, Pre-order, etc." ; +. + +schema:availabilityEnds + rdfs:label "availability ends" ; + schema:description "The end of the availability of the product or service included in the offer." ; +. + +schema:availabilityStarts + rdfs:label "availability starts" ; + schema:description "The beginning of the availability of the product or service included in the offer." ; +. + +schema:availableAtOrFrom + rdfs:label "availableAt or from" ; + schema:description "The place(s) from which the offer can be obtained (e.g. store locations)." ; +. + +schema:availableChannel + rdfs:label "available channel" ; + schema:description "A means of accessing the service (e.g. a phone bank, a web site, a location, etc.)." ; +. + +schema:availableDeliveryMethod + rdfs:label "available delivery method" ; + schema:description "The delivery method(s) available for this offer." ; +. + +schema:availableFrom + rdfs:label "available from" ; + schema:description "When the item is available for pickup from the store, locker, etc." ; +. + +schema:availableIn + rdfs:label "available in" ; + schema:description "The location in which the strength is available." ; +. + +schema:availableLanguage + rdfs:label "available language" ; + schema:description "A language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]" ; +. + +schema:availableOnDevice + rdfs:label "available on device" ; + schema:description "Device required to run the application. Used in cases where a specific make/model is required to run the application." ; +. + +schema:availableService + rdfs:label "available service" ; + schema:description "A medical service available from this provider." ; +. + +schema:availableStrength + rdfs:label "available strength" ; + schema:description "An available dosage strength for the drug." ; +. + +schema:availableTest + rdfs:label "available test" ; + schema:description "A diagnostic test or procedure offered by this lab." ; +. + +schema:availableThrough + rdfs:label "available through" ; + schema:description "After this date, the item will no longer be available for pickup." ; +. + +schema:award + rdfs:label "award" ; + schema:description "An award won by or for this item." ; +. + +schema:awards + rdfs:label "awards" ; + schema:description "Awards won by or for this item." ; +. + +schema:awayTeam + rdfs:label "away team" ; + schema:description "The away team in a sports event." ; +. + +schema:backstory + rdfs:label "backstory" ; + schema:description "For an [[Article]], typically a [[NewsArticle]], the backstory property provides a textual summary giving a brief explanation of why and how an article was created. In a journalistic setting this could include information about reporting process, methods, interviews, data sources, etc." ; +. + +schema:bankAccountType + rdfs:label "bank account type" ; + schema:description "The type of a bank account." ; +. + +schema:baseSalary + rdfs:label "base salary" ; + schema:description "The base salary of the job or of an employee in an EmployeeRole." ; +. + +schema:bccRecipient + rdfs:label "bcc recipient" ; + schema:description "A sub property of recipient. The recipient blind copied on a message." ; +. + +schema:bed + rdfs:label "bed" ; + schema:description """The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. + If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property.""" ; +. + +schema:beforeMedia + rdfs:label "before media" ; + schema:description "A media object representing the circumstances before performing this direction." ; +. + +schema:beneficiaryBank + rdfs:label "beneficiary bank" ; + schema:description "A bank or bank’s branch, financial institution or international financial institution operating the beneficiary’s bank account or releasing funds for the beneficiary." ; +. + +schema:benefits + rdfs:label "benefits" ; + schema:description "Description of benefits associated with the job." ; +. + +schema:benefitsSummaryUrl + rdfs:label "benefits summary url" ; + schema:description "The URL that goes directly to the summary of benefits and coverage for the specific standard plan or plan variation." ; +. + +schema:bestRating + rdfs:label "best rating" ; + schema:description "The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed." ; +. + +schema:billingAddress + rdfs:label "billing address" ; + schema:description "The billing address for the order." ; +. + +schema:billingDuration + rdfs:label "billing duration" ; + schema:description "Specifies for how long this price (or price component) will be billed. Can be used, for example, to model the contractual duration of a subscription or payment plan. Type can be either a Duration or a Number (in which case the unit of measurement, for example month, is specified by the unitCode property)." ; +. + +schema:billingIncrement + rdfs:label "billing increment" ; + schema:description "This property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the unitCode property." ; +. + +schema:billingPeriod + rdfs:label "billing period" ; + schema:description "The time interval used to compute the invoice." ; +. + +schema:billingStart + rdfs:label "billing start" ; + schema:description "Specifies after how much time this price (or price component) becomes valid and billing starts. Can be used, for example, to model a price increase after the first year of a subscription. The unit of measurement is specified by the unitCode property." ; +. + +schema:bioChemInteraction + rdfs:label "bio chem interaction" ; + schema:description "A BioChemEntity that is known to interact with this item." ; +. + +schema:bioChemSimilarity + rdfs:label "bio chem similarity" ; + schema:description "A similar BioChemEntity, e.g., obtained by fingerprint similarity algorithms." ; +. + +schema:biologicalRole + rdfs:label "biological role" ; + schema:description "A role played by the BioChemEntity within a biological context." ; +. + +schema:biomechnicalClass + rdfs:label "biomechnical class" ; + schema:description "The biomechanical properties of the bone." ; +. + +schema:birthDate + rdfs:label "birth date" ; + schema:description "Date of birth." ; +. + +schema:birthPlace + rdfs:label "birth place" ; + schema:description "The place where the person was born." ; +. + +schema:bitrate + rdfs:label "bitrate" ; + schema:description "The bitrate of the media object." ; +. + +schema:blogPost + rdfs:label "blog post" ; + schema:description "A posting that is part of this blog." ; +. + +schema:blogPosts + rdfs:label "blog posts" ; + schema:description "Indicates a post that is part of a [[Blog]]. Note that historically, what we term a \"Blog\" was once known as a \"weblog\", and that what we term a \"BlogPosting\" is now often colloquially referred to as a \"blog\"." ; +. + +schema:bloodSupply + rdfs:label "blood supply" ; + schema:description "The blood vessel that carries blood from the heart to the muscle." ; +. + +schema:boardingGroup + rdfs:label "boarding group" ; + schema:description "The airline-specific indicator of boarding order / preference." ; +. + +schema:boardingPolicy + rdfs:label "boarding policy" ; + schema:description "The type of boarding policy used by the airline (e.g. zone-based or group-based)." ; +. + +schema:bodyLocation + rdfs:label "body location" ; + schema:description "Location in the body of the anatomical structure." ; +. + +schema:bodyType + rdfs:label "body type" ; + schema:description "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.)." ; +. + +schema:bookEdition + rdfs:label "book edition" ; + schema:description "The edition of the book." ; +. + +schema:bookFormat + rdfs:label "book format" ; + schema:description "The format of the book." ; +. + +schema:bookingAgent + rdfs:label "booking agent" ; + schema:description "'bookingAgent' is an out-dated term indicating a 'broker' that serves as a booking agent." ; +. + +schema:bookingTime + rdfs:label "booking time" ; + schema:description "The date and time the reservation was booked." ; +. + +schema:borrower + rdfs:label "borrower" ; + schema:description "A sub property of participant. The person that borrows the object being lent." ; +. + +schema:box + rdfs:label "box" ; + schema:description "A box is the area enclosed by the rectangle formed by two points. The first point is the lower corner, the second point is the upper corner. A box is expressed as two points separated by a space character." ; +. + +schema:branch + rdfs:label "branch" ; + schema:description "The branches that delineate from the nerve bundle. Not to be confused with [[branchOf]]." ; +. + +schema:branchCode + rdfs:label "branch code" ; + schema:description """A short textual code (also called "store code") that uniquely identifies a place of business. The code is typically assigned by the parentOrganization and used in structured URLs.\\n\\nFor example, in the URL http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code "3047" is a branchCode for a particular branch. + """ ; +. + +schema:branchOf + rdfs:label "branch of" ; + schema:description "The larger organization that this local business is a branch of, if any. Not to be confused with (anatomical)[[branch]]." ; +. + +schema:brand + rdfs:label "brand" ; + schema:description "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person." ; +. + +schema:breadcrumb + rdfs:label "breadcrumb" ; + schema:description "A set of links that can help a user understand and navigate a website hierarchy." ; +. + +schema:breastfeedingWarning + rdfs:label "breastfeeding warning" ; + schema:description "Any precaution, guidance, contraindication, etc. related to this drug's use by breastfeeding mothers." ; +. + +schema:broadcastAffiliateOf + rdfs:label "broadcast affiliate of" ; + schema:description "The media network(s) whose content is broadcast on this station." ; +. + +schema:broadcastChannelId + rdfs:label "broadcast channel id" ; + schema:description "The unique address by which the BroadcastService can be identified in a provider lineup. In US, this is typically a number." ; +. + +schema:broadcastDisplayName + rdfs:label "broadcast display name" ; + schema:description "The name displayed in the channel guide. For many US affiliates, it is the network name." ; +. + +schema:broadcastFrequency + rdfs:label "broadcast frequency" ; + schema:description "The frequency used for over-the-air broadcasts. Numeric values or simple ranges e.g. 87-99. In addition a shortcut idiom is supported for frequences of AM and FM radio channels, e.g. \"87 FM\"." ; +. + +schema:broadcastFrequencyValue + rdfs:label "broadcast frequency value" ; + schema:description "The frequency in MHz for a particular broadcast." ; +. + +schema:broadcastOfEvent + rdfs:label "broadcast of event" ; + schema:description "The event being broadcast such as a sporting event or awards ceremony." ; +. + +schema:broadcastServiceTier + rdfs:label "broadcast service tier" ; + schema:description "The type of service required to have access to the channel (e.g. Standard or Premium)." ; +. + +schema:broadcastSignalModulation + rdfs:label "broadcast signal modulation" ; + schema:description "The modulation (e.g. FM, AM, etc) used by a particular broadcast service." ; +. + +schema:broadcastSubChannel + rdfs:label "broadcast sub channel" ; + schema:description "The subchannel used for the broadcast." ; +. + +schema:broadcastTimezone + rdfs:label "broadcast timezone" ; + schema:description "The timezone in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601) for which the service bases its broadcasts" ; +. + +schema:broadcaster + rdfs:label "broadcaster" ; + schema:description "The organization owning or operating the broadcast service." ; +. + +schema:broker + rdfs:label "broker" ; + schema:description "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred." ; +. + +schema:browserRequirements + rdfs:label "browser requirements" ; + schema:description "Specifies browser requirements in human-readable text. For example, 'requires HTML5 support'." ; +. + +schema:busName + rdfs:label "bus name" ; + schema:description "The name of the bus (e.g. Bolt Express)." ; +. + +schema:busNumber + rdfs:label "bus number" ; + schema:description "The unique identifier for the bus." ; +. + +schema:businessDays + rdfs:label "business days" ; + schema:description "Days of the week when the merchant typically operates, indicated via opening hours markup." ; +. + +schema:businessFunction + rdfs:label "business function" ; + schema:description "The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell." ; +. + +schema:buyer + rdfs:label "buyer" ; + schema:description "A sub property of participant. The participant/person/organization that bought the object." ; +. + +schema:byArtist + rdfs:label "by artist" ; + schema:description "The artist that performed this album or recording." ; +. + +schema:byDay + rdfs:label "by day" ; + schema:description "Defines the day(s) of the week on which a recurring [[Event]] takes place. May be specified using either [[DayOfWeek]], or alternatively [[Text]] conforming to iCal's syntax for byDay recurrence rules." ; +. + +schema:byMonth + rdfs:label "by month" ; + schema:description "Defines the month(s) of the year on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-12. January is 1." ; +. + +schema:byMonthDay + rdfs:label "by month day" ; + schema:description "Defines the day(s) of the month on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-31." ; +. + +schema:byMonthWeek + rdfs:label "by month week" ; + schema:description "Defines the week(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-5. For clarity, byMonthWeek is best used in conjunction with byDay to indicate concepts like the first and third Mondays of a month." ; +. + +schema:callSign + rdfs:label "call sign" ; + schema:description "A [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles." ; +. + +schema:calories + rdfs:label "calories" ; + schema:description "The number of calories." ; +. + +schema:candidate + rdfs:label "candidate" ; + schema:description "A sub property of object. The candidate subject of this action." ; +. + +schema:caption + rdfs:label "caption" ; + schema:description "The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]]." ; +. + +schema:carbohydrateContent + rdfs:label "carbohydrate content" ; + schema:description "The number of grams of carbohydrates." ; +. + +schema:cargoVolume + rdfs:label "cargo volume" ; + schema:description "The available volume for cargo or luggage. For automobiles, this is usually the trunk volume.\\n\\nTypical unit code(s): LTR for liters, FTQ for cubic foot/feet\\n\\nNote: You can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:carrier + rdfs:label "carrier" ; + schema:description "'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights." ; +. + +schema:carrierRequirements + rdfs:label "carrier requirements" ; + schema:description "Specifies specific carrier(s) requirements for the application (e.g. an application may only work on a specific carrier network)." ; +. + +schema:cashBack + rdfs:label "cash back" ; + schema:description "A cardholder benefit that pays the cardholder a small percentage of their net expenditures." ; +. + +schema:catalog + rdfs:label "catalog" ; + schema:description "A data catalog which contains this dataset." ; +. + +schema:catalogNumber + rdfs:label "catalog number" ; + schema:description "The catalog number for the release." ; +. + +schema:category + rdfs:label "category" ; + schema:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy." ; +. + +schema:causeOf + rdfs:label "cause of" ; + schema:description "The condition, complication, symptom, sign, etc. caused." ; +. + +schema:ccRecipient + rdfs:label "cc recipient" ; + schema:description "A sub property of recipient. The recipient copied on a message." ; +. + +schema:character + rdfs:label "character" ; + schema:description "Fictional person connected with a creative work." ; +. + +schema:characterAttribute + rdfs:label "character attribute" ; + schema:description "A piece of data that represents a particular aspect of a fictional character (skill, power, character points, advantage, disadvantage)." ; +. + +schema:characterName + rdfs:label "character name" ; + schema:description "The name of a character played in some acting or performing role, i.e. in a PerformanceRole." ; +. + +schema:cheatCode + rdfs:label "cheat code" ; + schema:description "Cheat codes to the game." ; +. + +schema:checkinTime + rdfs:label "checkin time" ; + schema:description "The earliest someone may check into a lodging establishment." ; +. + +schema:checkoutTime + rdfs:label "checkout time" ; + schema:description "The latest someone may check out of a lodging establishment." ; +. + +schema:chemicalComposition + rdfs:label "chemical composition" ; + schema:description "The chemical composition describes the identity and relative ratio of the chemical elements that make up the substance." ; +. + +schema:chemicalRole + rdfs:label "chemical role" ; + schema:description "A role played by the BioChemEntity within a chemical context." ; +. + +schema:childMaxAge + rdfs:label "child max age" ; + schema:description "Maximal age of the child." ; +. + +schema:childMinAge + rdfs:label "child min age" ; + schema:description "Minimal age of the child." ; +. + +schema:childTaxon + rdfs:label "child taxon" ; + schema:description "Closest child taxa of the taxon in question." ; +. + +schema:children + rdfs:label "children" ; + schema:description "A child of the person." ; +. + +schema:cholesterolContent + rdfs:label "cholesterol content" ; + schema:description "The number of milligrams of cholesterol." ; +. + +schema:circle + rdfs:label "circle" ; + schema:description "A circle is the circular region of a specified radius centered at a specified latitude and longitude. A circle is expressed as a pair followed by a radius in meters." ; +. + +schema:citation + rdfs:label "citation" ; + schema:description "A citation or reference to another creative work, such as another publication, web page, scholarly article, etc." ; +. + +schema:claimInterpreter + rdfs:label "claim interpreter" ; + schema:description """For a [[Claim]] interpreted from [[MediaObject]] content + sed to indicate a claim contained, implied or refined from the content of a [[MediaObject]].""" ; +. + +schema:claimReviewed + rdfs:label "claim reviewed" ; + schema:description "A short summary of the specific claims reviewed in a ClaimReview." ; +. + +schema:clincalPharmacology + rdfs:label "clincal pharmacology" ; + schema:description "Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD)." ; +. + +schema:clinicalPharmacology + rdfs:label "clinical pharmacology" ; + schema:description "Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD)." ; +. + +schema:clipNumber + rdfs:label "clip number" ; + schema:description "Position of the clip within an ordered group of clips." ; +. + +schema:closes + rdfs:label "closes" ; + schema:description "The closing hour of the place or service on the given day(s) of the week." ; +. + +schema:coach + rdfs:label "coach" ; + schema:description "A person that acts in a coaching role for a sports team." ; +. + +schema:code + rdfs:label "code" ; + schema:description "A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc." ; +. + +schema:codeRepository + rdfs:label "code repository" ; + schema:description "Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex)." ; +. + +schema:codeSampleType + rdfs:label "code sample type" ; + schema:description "What type of code sample: full (compile ready) solution, code snippet, inline code, scripts, template." ; +. + +schema:codeValue + rdfs:label "code value" ; + schema:description "A short textual code that uniquely identifies the value." ; +. + +schema:codingSystem + rdfs:label "coding system" ; + schema:description "The coding system, e.g. 'ICD-10'." ; +. + +schema:colleague + rdfs:label "colleague" ; + schema:description "A colleague of the person." ; +. + +schema:colleagues + rdfs:label "colleagues" ; + schema:description "A colleague of the person." ; +. + +schema:collection + rdfs:label "collection" ; + schema:description "A sub property of object. The collection target of the action." ; +. + +schema:collectionSize + rdfs:label "collection size"@en ; + schema:description "The number of items in the [[Collection]]."@en ; +. + +schema:color + rdfs:label "color" ; + schema:description "The color of the product." ; +. + +schema:colorist + rdfs:label "colorist" ; + schema:description "The individual who adds color to inked drawings." ; +. + +schema:comment + rdfs:label "comment" ; + schema:description "Comments, typically from users." ; +. + +schema:commentCount + rdfs:label "comment count" ; + schema:description "The number of comments this CreativeWork (e.g. Article, Question or Answer) has received. This is most applicable to works published in Web sites with commenting system; additional comments may exist elsewhere." ; +. + +schema:commentText + rdfs:label "comment text" ; + schema:description "The text of the UserComment." ; +. + +schema:commentTime + rdfs:label "comment time" ; + schema:description "The time at which the UserComment was made." ; +. + +schema:competencyRequired + rdfs:label "competency required" ; + schema:description "Knowledge, skill, ability or personal attribute that must be demonstrated by a person or other entity in order to do something such as earn an Educational Occupational Credential or understand a LearningResource." ; +. + +schema:competitor + rdfs:label "competitor" ; + schema:description "A competitor in a sports event." ; +. + +schema:composer + rdfs:label "composer" ; + schema:description "The person or organization who wrote a composition, or who is the composer of a work performed at some event." ; +. + +schema:comprisedOf + rdfs:label "comprised of" ; + schema:description "Specifying something physically contained by something else. Typically used here for the underlying anatomical structures, such as organs, that comprise the anatomical system." ; +. + +schema:conditionsOfAccess + rdfs:label "conditions of access" ; + schema:description "Conditions that affect the availability of, or method(s) of access to, an item. Typically used for real world items such as an [[ArchiveComponent]] held by an [[ArchiveOrganization]]. This property is not suitable for use as a general Web access control mechanism. It is expressed only in natural language.\\n\\nFor example \"Available by appointment from the Reading Room\" or \"Accessible only from logged-in accounts \". " ; +. + +schema:confirmationNumber + rdfs:label "confirmation number" ; + schema:description "A number that confirms the given order or payment has been received." ; +. + +schema:connectedTo + rdfs:label "connected to" ; + schema:description "Other anatomical structures to which this structure is connected." ; +. + +schema:constrainingProperty + rdfs:label "constraining property" ; + schema:description """Indicates a property used as a constraint to define a [[StatisticalPopulation]] with respect to the set of entities + corresponding to an indicated type (via [[populationType]]).""" ; +. + +schema:contactOption + rdfs:label "contact option" ; + schema:description "An option available on this contact point (e.g. a toll-free number or support for hearing-impaired callers)." ; +. + +schema:contactPoint + rdfs:label "contact point" ; + schema:description "A contact point for a person or organization." ; +. + +schema:contactPoints + rdfs:label "contact points" ; + schema:description "A contact point for a person or organization." ; +. + +schema:contactType + rdfs:label "contact type" ; + schema:description "A person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point." ; +. + +schema:contactlessPayment + rdfs:label "contactless payment" ; + schema:description "A secure method for consumers to purchase products or services via debit, credit or smartcards by using RFID or NFC technology." ; +. + +schema:containedIn + rdfs:label "contained in" ; + schema:description "The basic containment relation between a place and one that contains it." ; +. + +schema:containedInPlace + rdfs:label "contained in place" ; + schema:description "The basic containment relation between a place and one that contains it." ; +. + +schema:containsPlace + rdfs:label "contains place" ; + schema:description "The basic containment relation between a place and another that it contains." ; +. + +schema:containsSeason + rdfs:label "contains season" ; + schema:description "A season that is part of the media series." ; +. + +schema:contentLocation + rdfs:label "content location" ; + schema:description "The location depicted or described in the content. For example, the location in a photograph or painting." ; +. + +schema:contentRating + rdfs:label "content rating" ; + schema:description "Official rating of a piece of content—for example,'MPAA PG-13'." ; +. + +schema:contentReferenceTime + rdfs:label "content reference time" ; + schema:description "The specific time described by a creative work, for works (e.g. articles, video objects etc.) that emphasise a particular moment within an Event." ; +. + +schema:contentSize + rdfs:label "content size" ; + schema:description "File size in (mega/kilo) bytes." ; +. + +schema:contentType + rdfs:label "content type" ; + schema:description "The supported content type(s) for an EntryPoint response." ; +. + +schema:contentUrl + rdfs:label "content url" ; + schema:description "Actual bytes of the media object, for example the image file or video file." ; +. + +schema:contraindication + rdfs:label "contraindication" ; + schema:description "A contraindication for this therapy." ; +. + +schema:contributor + rdfs:label "contributor" ; + schema:description "A secondary contributor to the CreativeWork or Event." ; +. + +schema:cookTime + rdfs:label "cook time" ; + schema:description "The time it takes to actually cook the dish, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:cookingMethod + rdfs:label "cooking method" ; + schema:description "The method of cooking, such as Frying, Steaming, ..." ; +. + +schema:copyrightHolder + rdfs:label "copyright holder" ; + schema:description "The party holding the legal copyright to the CreativeWork." ; +. + +schema:copyrightNotice + rdfs:label "copyright notice" ; + schema:description "Text of a notice appropriate for describing the copyright aspects of this Creative Work, ideally indicating the owner of the copyright for the Work." ; +. + +schema:copyrightYear + rdfs:label "copyright year" ; + schema:description "The year during which the claimed copyright for the CreativeWork was first asserted." ; +. + +schema:correction + rdfs:label "correction" ; + schema:description "Indicates a correction to a [[CreativeWork]], either via a [[CorrectionComment]], textually or in another document." ; +. + +schema:correctionsPolicy + rdfs:label "corrections policy" ; + schema:description "For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors." ; +. + +schema:costCategory + rdfs:label "cost category" ; + schema:description "The category of cost, such as wholesale, retail, reimbursement cap, etc." ; +. + +schema:costCurrency + rdfs:label "cost currency" ; + schema:description "The currency (in 3-letter of the drug cost. See: http://en.wikipedia.org/wiki/ISO_4217. " ; +. + +schema:costOrigin + rdfs:label "cost origin" ; + schema:description "Additional details to capture the origin of the cost data. For example, 'Medicare Part B'." ; +. + +schema:costPerUnit + rdfs:label "cost per unit" ; + schema:description "The cost per unit of the drug." ; +. + +schema:countriesNotSupported + rdfs:label "countries not supported" ; + schema:description "Countries for which the application is not supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code." ; +. + +schema:countriesSupported + rdfs:label "countries supported" ; + schema:description "Countries for which the application is supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code." ; +. + +schema:countryOfAssembly + rdfs:label "country of assembly" ; + schema:description "The place where the product was assembled." ; +. + +schema:countryOfLastProcessing + rdfs:label "countryOf last processing" ; + schema:description "The place where the item (typically [[Product]]) was last processed and tested before importation." ; +. + +schema:countryOfOrigin + rdfs:label "country of origin" ; + schema:description """The country of origin of something, including products as well as creative works such as movie and TV content. + +In the case of TV and movie, this would be the country of the principle offices of the production company or individual responsible for the movie. For other kinds of [[CreativeWork]] it is difficult to provide fully general guidance, and properties such as [[contentLocation]] and [[locationCreated]] may be more applicable. + +In the case of products, the country of origin of the product. The exact interpretation of this may vary by context and product type, and cannot be fully enumerated here.""" ; +. + +schema:course + rdfs:label "course" ; + schema:description "A sub property of location. The course where this action was taken." ; +. + +schema:courseCode + rdfs:label "course code" ; + schema:description "The identifier for the [[Course]] used by the course [[provider]] (e.g. CS101 or 6.001)." ; +. + +schema:courseMode + rdfs:label "course mode" ; + schema:description "The medium or means of delivery of the course instance or the mode of study, either as a text label (e.g. \"online\", \"onsite\" or \"blended\"; \"synchronous\" or \"asynchronous\"; \"full-time\" or \"part-time\") or as a URL reference to a term from a controlled vocabulary (e.g. https://ceds.ed.gov/element/001311#Asynchronous )." ; +. + +schema:coursePrerequisites + rdfs:label "course prerequisites" ; + schema:description "Requirements for taking the Course. May be completion of another [[Course]] or a textual description like \"permission of instructor\". Requirements may be a pre-requisite competency, referenced using [[AlignmentObject]]." ; +. + +schema:courseWorkload + rdfs:label "course workload" ; + schema:description "The amount of work expected of students taking the course, often provided as a figure per week or per month, and may be broken down by type. For example, \"2 hours of lectures, 1 hour of lab work and 3 hours of independent study per week\"." ; +. + +schema:coverageEndTime + rdfs:label "coverage end time" ; + schema:description "The time when the live blog will stop covering the Event. Note that coverage may continue after the Event concludes." ; +. + +schema:coverageStartTime + rdfs:label "coverage start time" ; + schema:description "The time when the live blog will begin covering the Event. Note that coverage may begin before the Event's start time. The LiveBlogPosting may also be created before coverage begins." ; +. + +schema:creativeWorkStatus + rdfs:label "creative work status" ; + schema:description "The status of a creative work in terms of its stage in a lifecycle. Example terms include Incomplete, Draft, Published, Obsolete. Some organizations define a set of terms for the stages of their publication lifecycle." ; +. + +schema:creator + rdfs:label "creator" ; + schema:description "The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork." ; +. + +schema:credentialCategory + rdfs:label "credential category" ; + schema:description "The category or type of credential being described, for example \"degree”, “certificate”, “badge”, or more specific term." ; +. + +schema:creditText + rdfs:label "credit text" ; + schema:description "Text that can be used to credit person(s) and/or organization(s) associated with a published Creative Work." ; +. + +schema:creditedTo + rdfs:label "credited to" ; + schema:description "The group the release is credited to if different than the byArtist. For example, Red and Blue is credited to \"Stefani Germanotta Band\", but by Lady Gaga." ; +. + +schema:cssSelector + rdfs:label "css selector" ; + schema:description "A CSS selector, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"." ; +. + +schema:currenciesAccepted + rdfs:label "currencies accepted" ; + schema:description "The currency accepted.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"." ; +. + +schema:currency + rdfs:label "currency" ; + schema:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"." ; +. + +schema:currentExchangeRate + rdfs:label "current exchange rate" ; + schema:description "The current price of a currency." ; +. + +schema:customer + rdfs:label "customer" ; + schema:description "Party placing the order or paying the invoice." ; +. + +schema:customerRemorseReturnFees + rdfs:label "customerRemorse return fees" ; + schema:description "The type of return fees if the product is returned due to customer remorse." ; +. + +schema:customerRemorseReturnLabelSource + rdfs:label "customerRemorseReturn label source" ; + schema:description "The method (from an enumeration) by which the customer obtains a return shipping label for a product returned due to customer remorse." ; +. + +schema:customerRemorseReturnShippingFeesAmount + rdfs:label "customerRemorseReturnShipping fees amount" ; + schema:description "The amount of shipping costs if a product is returned due to customer remorse. Applicable when property [[customerRemorseReturnFees]] equals [[ReturnShippingFees]]." ; +. + +schema:cutoffTime + rdfs:label "cutoff time" ; + schema:description "Order cutoff time allows merchants to describe the time after which they will no longer process orders received on that day. For orders processed after cutoff time, one day gets added to the delivery time estimate. This property is expected to be most typically used via the [[ShippingRateSettings]] publication pattern. The time is indicated using the ISO-8601 Time format, e.g. \"23:30:00-05:00\" would represent 6:30 pm Eastern Standard Time (EST) which is 5 hours behind Coordinated Universal Time (UTC)." ; +. + +schema:cvdCollectionDate + rdfs:label "cvd collection date" ; + schema:description "collectiondate - Date for which patient counts are reported." ; +. + +schema:cvdFacilityCounty + rdfs:label "cvd facility county" ; + schema:description "Name of the County of the NHSN facility that this data record applies to. Use [[cvdFacilityId]] to identify the facility. To provide other details, [[healthcareReportingData]] can be used on a [[Hospital]] entry." ; +. + +schema:cvdFacilityId + rdfs:label "cvd facility id" ; + schema:description "Identifier of the NHSN facility that this data record applies to. Use [[cvdFacilityCounty]] to indicate the county. To provide other details, [[healthcareReportingData]] can be used on a [[Hospital]] entry." ; +. + +schema:cvdNumBeds + rdfs:label "cvd num beds" ; + schema:description "numbeds - HOSPITAL INPATIENT BEDS: Inpatient beds, including all staffed, licensed, and overflow (surge) beds used for inpatients." ; +. + +schema:cvdNumBedsOcc + rdfs:label "cvdNum beds occ" ; + schema:description "numbedsocc - HOSPITAL INPATIENT BED OCCUPANCY: Total number of staffed inpatient beds that are occupied." ; +. + +schema:cvdNumC19Died + rdfs:label "cvd num c19died" ; + schema:description "numc19died - DEATHS: Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location." ; +. + +schema:cvdNumC19HOPats + rdfs:label "cvd num c19hopats" ; + schema:description "numc19hopats - HOSPITAL ONSET: Patients hospitalized in an NHSN inpatient care location with onset of suspected or confirmed COVID-19 14 or more days after hospitalization." ; +. + +schema:cvdNumC19HospPats + rdfs:label "cvdNum c19hosp pats" ; + schema:description "numc19hosppats - HOSPITALIZED: Patients currently hospitalized in an inpatient care location who have suspected or confirmed COVID-19." ; +. + +schema:cvdNumC19MechVentPats + rdfs:label "cvdNumC19Mech vent pats" ; + schema:description "numc19mechventpats - HOSPITALIZED and VENTILATED: Patients hospitalized in an NHSN inpatient care location who have suspected or confirmed COVID-19 and are on a mechanical ventilator." ; +. + +schema:cvdNumC19OFMechVentPats + rdfs:label "cvdNumC19OFMech vent pats" ; + schema:description "numc19ofmechventpats - ED/OVERFLOW and VENTILATED: Patients with suspected or confirmed COVID-19 who are in the ED or any overflow location awaiting an inpatient bed and on a mechanical ventilator." ; +. + +schema:cvdNumC19OverflowPats + rdfs:label "cvdNum c19overflow pats" ; + schema:description "numc19overflowpats - ED/OVERFLOW: Patients with suspected or confirmed COVID-19 who are in the ED or any overflow location awaiting an inpatient bed." ; +. + +schema:cvdNumICUBeds + rdfs:label "cvd num icubeds" ; + schema:description "numicubeds - ICU BEDS: Total number of staffed inpatient intensive care unit (ICU) beds." ; +. + +schema:cvdNumICUBedsOcc + rdfs:label "cvdNum icubeds occ" ; + schema:description "numicubedsocc - ICU BED OCCUPANCY: Total number of staffed inpatient ICU beds that are occupied." ; +. + +schema:cvdNumTotBeds + rdfs:label "cvdNum tot beds" ; + schema:description "numtotbeds - ALL HOSPITAL BEDS: Total number of all Inpatient and outpatient beds, including all staffed,ICU, licensed, and overflow (surge) beds used for inpatients or outpatients." ; +. + +schema:cvdNumVent + rdfs:label "cvd num vent" ; + schema:description "numvent - MECHANICAL VENTILATORS: Total number of ventilators available." ; +. + +schema:cvdNumVentUse + rdfs:label "cvdNum vent use" ; + schema:description "numventuse - MECHANICAL VENTILATORS IN USE: Total number of ventilators in use." ; +. + +schema:dataFeedElement + rdfs:label "data feed element" ; + schema:description "An item within in a data feed. Data feeds may have many elements." ; +. + +schema:dataset + rdfs:label "dataset" ; + schema:description "A dataset contained in this catalog." ; +. + +schema:datasetTimeInterval + rdfs:label "dataset time interval" ; + schema:description "The range of temporal applicability of a dataset, e.g. for a 2011 census dataset, the year 2011 (in ISO 8601 time interval format)." ; +. + +schema:dateCreated + rdfs:label "date created" ; + schema:description "The date on which the CreativeWork was created or the item was added to a DataFeed." ; +. + +schema:dateDeleted + rdfs:label "date deleted" ; + schema:description "The datetime the item was removed from the DataFeed." ; +. + +schema:dateIssued + rdfs:label "date issued" ; + schema:description "The date the ticket was issued." ; +. + +schema:dateModified + rdfs:label "date modified" ; + schema:description "The date on which the CreativeWork was most recently modified or when the item's entry was modified within a DataFeed." ; +. + +schema:datePosted + rdfs:label "date posted" ; + schema:description "Publication date of an online listing." ; +. + +schema:datePublished + rdfs:label "date published" ; + schema:description "Date of first broadcast/publication." ; +. + +schema:dateRead + rdfs:label "date read" ; + schema:description "The date/time at which the message has been read by the recipient if a single recipient exists." ; +. + +schema:dateReceived + rdfs:label "date received" ; + schema:description "The date/time the message was received if a single recipient exists." ; +. + +schema:dateSent + rdfs:label "date sent" ; + schema:description "The date/time at which the message was sent." ; +. + +schema:dateVehicleFirstRegistered + rdfs:label "dateVehicle first registered" ; + schema:description "The date of the first registration of the vehicle with the respective public authorities." ; +. + +schema:dateline + rdfs:label "dateline" ; + schema:description """A [dateline](https://en.wikipedia.org/wiki/Dateline) is a brief piece of text included in news articles that describes where and when the story was written or filed though the date is often omitted. Sometimes only a placename is provided. + +Structured representations of dateline-related information can also be expressed more explicitly using [[locationCreated]] (which represents where a work was created e.g. where a news report was written). For location depicted or described in the content, use [[contentLocation]]. + +Dateline summaries are oriented more towards human readers than towards automated processing, and can vary substantially. Some examples: "BEIRUT, Lebanon, June 2.", "Paris, France", "December 19, 2017 11:43AM Reporting from Washington", "Beijing/Moscow", "QUEZON CITY, Philippines". + """ ; +. + +schema:dayOfWeek + rdfs:label "day of week" ; + schema:description "The day of the week for which these opening hours are valid." ; +. + +schema:deathDate + rdfs:label "death date" ; + schema:description "Date of death." ; +. + +schema:deathPlace + rdfs:label "death place" ; + schema:description "The place where the person died." ; +. + +schema:defaultValue + rdfs:label "default value" ; + schema:description "The default value of the input. For properties that expect a literal, the default is a literal value, for properties that expect an object, it's an ID reference to one of the current values." ; +. + +schema:deliveryAddress + rdfs:label "delivery address" ; + schema:description "Destination address." ; +. + +schema:deliveryLeadTime + rdfs:label "delivery lead time" ; + schema:description "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup." ; +. + +schema:deliveryMethod + rdfs:label "delivery method" ; + schema:description "A sub property of instrument. The method of delivery." ; +. + +schema:deliveryStatus + rdfs:label "delivery status" ; + schema:description "New entry added as the package passes through each leg of its journey (from shipment to final delivery)." ; +. + +schema:deliveryTime + rdfs:label "delivery time" ; + schema:description "The total delay between the receipt of the order and the goods reaching the final customer." ; +. + +schema:department + rdfs:label "department" ; + schema:description "A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe." ; +. + +schema:departureAirport + rdfs:label "departure airport" ; + schema:description "The airport where the flight originates." ; +. + +schema:departureBoatTerminal + rdfs:label "departure boat terminal" ; + schema:description "The terminal or port from which the boat departs." ; +. + +schema:departureBusStop + rdfs:label "departure bus stop" ; + schema:description "The stop or station from which the bus departs." ; +. + +schema:departureGate + rdfs:label "departure gate" ; + schema:description "Identifier of the flight's departure gate." ; +. + +schema:departurePlatform + rdfs:label "departure platform" ; + schema:description "The platform from which the train departs." ; +. + +schema:departureStation + rdfs:label "departure station" ; + schema:description "The station from which the train departs." ; +. + +schema:departureTerminal + rdfs:label "departure terminal" ; + schema:description "Identifier of the flight's departure terminal." ; +. + +schema:departureTime + rdfs:label "departure time" ; + schema:description "The expected departure time." ; +. + +schema:dependencies + rdfs:label "dependencies" ; + schema:description "Prerequisites needed to fulfill steps in article." ; +. + +schema:depth + rdfs:label "depth" ; + schema:description "The depth of the item." ; +. + +schema:description + rdfs:label "description" ; + schema:description "A description of the item." ; +. + +schema:device + rdfs:label "device" ; + schema:description "Device required to run the application. Used in cases where a specific make/model is required to run the application." ; +. + +schema:diagnosis + rdfs:label "diagnosis" ; + schema:description "One or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process." ; +. + +schema:diagram + rdfs:label "diagram" ; + schema:description "An image containing a diagram that illustrates the structure and/or its component substructures and/or connections with other structures." ; +. + +schema:diet + rdfs:label "diet" ; + schema:description "A sub property of instrument. The diet used in this action." ; +. + +schema:dietFeatures + rdfs:label "diet features" ; + schema:description "Nutritional information specific to the dietary plan. May include dietary recommendations on what foods to avoid, what foods to consume, and specific alterations/deviations from the USDA or other regulatory body's approved dietary guidelines." ; +. + +schema:differentialDiagnosis + rdfs:label "differential diagnosis" ; + schema:description "One of a set of differential diagnoses for the condition. Specifically, a closely-related or competing diagnosis typically considered later in the cognitive process whereby this medical condition is distinguished from others most likely responsible for a similar collection of signs and symptoms to reach the most parsimonious diagnosis or diagnoses in a patient." ; +. + +schema:directApply + rdfs:label "direct apply" ; + schema:description "Indicates whether an [[url]] that is associated with a [[JobPosting]] enables direct application for the job, via the posting website. A job posting is considered to have directApply of [[True]] if an application process for the specified job can be directly initiated via the url(s) given (noting that e.g. multiple internet domains might nevertheless be involved at an implementation level). A value of [[False]] is appropriate if there is no clear path to applying directly online for the specified job, navigating directly from the JobPosting url(s) supplied." ; +. + +schema:director + rdfs:label "director" ; + schema:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip." ; +. + +schema:directors + rdfs:label "directors" ; + schema:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip." ; +. + +schema:disambiguatingDescription + rdfs:label "disambiguating description" ; + schema:description "A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation." ; +. + +schema:discount + rdfs:label "discount" ; + schema:description "Any discount applied (to an Order)." ; +. + +schema:discountCode + rdfs:label "discount code" ; + schema:description "Code used to redeem a discount." ; +. + +schema:discountCurrency + rdfs:label "discount currency" ; + schema:description "The currency of the discount.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"." ; +. + +schema:discusses + rdfs:label "discusses" ; + schema:description "Specifies the CreativeWork associated with the UserComment." ; +. + +schema:discussionUrl + rdfs:label "discussion url" ; + schema:description "A link to the page containing the comments of the CreativeWork." ; +. + +schema:diseasePreventionInfo + rdfs:label "disease prevention info" ; + schema:description "Information about disease prevention." ; +. + +schema:diseaseSpreadStatistics + rdfs:label "disease spread statistics" ; + schema:description """Statistical information about the spread of a disease, either as [[WebContent]], or + described directly as a [[Dataset]], or the specific [[Observation]]s in the dataset. When a [[WebContent]] URL is + provided, the page indicated might also contain more such markup.""" ; +. + +schema:dissolutionDate + rdfs:label "dissolution date" ; + schema:description "The date that this organization was dissolved." ; +. + +schema:distance + rdfs:label "distance" ; + schema:description "The distance travelled, e.g. exercising or travelling." ; +. + +schema:distinguishingSign + rdfs:label "distinguishing sign" ; + schema:description "One of a set of signs and symptoms that can be used to distinguish this diagnosis from others in the differential diagnosis." ; +. + +schema:distribution + rdfs:label "distribution" ; + schema:description "A downloadable form of this dataset, at a specific location, in a specific format." ; +. + +schema:diversityPolicy + rdfs:label "diversity policy" ; + schema:description "Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data." ; +. + +schema:diversityStaffingReport + rdfs:label "diversity staffing report" ; + schema:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported." ; +. + +schema:documentation + rdfs:label "documentation" ; + schema:description "Further documentation describing the Web API in more detail." ; +. + +schema:doesNotShip + rdfs:label "does not ship" ; + schema:description "Indicates when shipping to a particular [[shippingDestination]] is not available." ; +. + +schema:domainIncludes + rdfs:label "domain includes" ; + schema:description "Relates a property to a class that is (one of) the type(s) the property is expected to be used on." ; +. + +schema:domiciledMortgage + rdfs:label "domiciled mortgage" ; + schema:description "Whether borrower is a resident of the jurisdiction where the property is located." ; +. + +schema:doorTime + rdfs:label "door time" ; + schema:description "The time admission will commence." ; +. + +schema:dosageForm + rdfs:label "dosage form" ; + schema:description "A dosage form in which this drug/supplement is available, e.g. 'tablet', 'suspension', 'injection'." ; +. + +schema:doseSchedule + rdfs:label "dose schedule" ; + schema:description "A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used." ; +. + +schema:doseUnit + rdfs:label "dose unit" ; + schema:description "The unit of the dose, e.g. 'mg'." ; +. + +schema:doseValue + rdfs:label "dose value" ; + schema:description "The value of the dose, e.g. 500." ; +. + +schema:downPayment + rdfs:label "down payment" ; + schema:description "a type of payment made in cash during the onset of the purchase of an expensive good/service. The payment typically represents only a percentage of the full purchase price." ; +. + +schema:downloadUrl + rdfs:label "download url" ; + schema:description "If the file can be downloaded, URL to download the binary." ; +. + +schema:downvoteCount + rdfs:label "downvote count" ; + schema:description "The number of downvotes this question, answer or comment has received from the community." ; +. + +schema:drainsTo + rdfs:label "drains to" ; + schema:description "The vasculature that the vein drains into." ; +. + +schema:driveWheelConfiguration + rdfs:label "drive wheel configuration" ; + schema:description "The drive wheel configuration, i.e. which roadwheels will receive torque from the vehicle's engine via the drivetrain." ; +. + +schema:dropoffLocation + rdfs:label "dropoff location" ; + schema:description "Where a rental car can be dropped off." ; +. + +schema:dropoffTime + rdfs:label "dropoff time" ; + schema:description "When a rental car can be dropped off." ; +. + +schema:drug + rdfs:label "drug" ; + schema:description "Specifying a drug or medicine used in a medication procedure." ; +. + +schema:drugClass + rdfs:label "drug class" ; + schema:description "The class of drug this belongs to (e.g., statins)." ; +. + +schema:drugUnit + rdfs:label "drug unit" ; + schema:description "The unit in which the drug is measured, e.g. '5 mg tablet'." ; +. + +schema:duns + rdfs:label "duns" ; + schema:description "The Dun & Bradstreet DUNS number for identifying an organization or business person." ; +. + +schema:duplicateTherapy + rdfs:label "duplicate therapy" ; + schema:description "A therapy that duplicates or overlaps this one." ; +. + +schema:duration + rdfs:label "duration" ; + schema:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:durationOfWarranty + rdfs:label "duration of warranty" ; + schema:description "The duration of the warranty promise. Common unitCode values are ANN for year, MON for months, or DAY for days." ; +. + +schema:duringMedia + rdfs:label "during media" ; + schema:description "A media object representing the circumstances while performing this direction." ; +. + +schema:earlyPrepaymentPenalty + rdfs:label "early prepayment penalty" ; + schema:description "The amount to be paid as a penalty in the event of early payment of the loan." ; +. + +schema:editEIDR + rdfs:label "edit eidr" ; + schema:description """An [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing a specific edit / edition for a work of film or television. + +For example, the motion picture known as "Ghostbusters" whose [[titleEIDR]] is "10.5240/7EC7-228A-510A-053E-CBB8-J", has several edits e.g. "10.5240/1F2A-E1C5-680A-14C6-E76B-I" and "10.5240/8A35-3BEE-6497-5D12-9E4F-3". + +Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. +""" ; +. + +schema:editor + rdfs:label "editor" ; + schema:description "Specifies the Person who edited the CreativeWork." ; +. + +schema:eduQuestionType + rdfs:label "edu question type" ; + schema:description "For questions that are part of learning resources (e.g. Quiz), eduQuestionType indicates the format of question being given. Example: \"Multiple choice\", \"Open ended\", \"Flashcard\"." ; +. + +schema:educationRequirements + rdfs:label "education requirements" ; + schema:description "Educational background needed for the position or Occupation." ; +. + +schema:educationalAlignment + rdfs:label "educational alignment" ; + schema:description """An alignment to an established educational framework. + +This property should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency.""" ; +. + +schema:educationalCredentialAwarded + rdfs:label "educational credential awarded" ; + schema:description "A description of the qualification, award, certificate, diploma or other educational credential awarded as a consequence of successful completion of this course or program." ; +. + +schema:educationalFramework + rdfs:label "educational framework" ; + schema:description "The framework to which the resource being described is aligned." ; +. + +schema:educationalLevel + rdfs:label "educational level" ; + schema:description "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators." ; +. + +schema:educationalProgramMode + rdfs:label "educational program mode" ; + schema:description "Similar to courseMode, The medium or means of delivery of the program as a whole. The value may either be a text label (e.g. \"online\", \"onsite\" or \"blended\"; \"synchronous\" or \"asynchronous\"; \"full-time\" or \"part-time\") or a URL reference to a term from a controlled vocabulary (e.g. https://ceds.ed.gov/element/001311#Asynchronous )." ; +. + +schema:educationalRole + rdfs:label "educational role" ; + schema:description "An educationalRole of an EducationalAudience." ; +. + +schema:educationalUse + rdfs:label "educational use" ; + schema:description "The purpose of a work in the context of education; for example, 'assignment', 'group work'." ; +. + +schema:elevation + rdfs:label "elevation" ; + schema:description "The elevation of a location ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)). Values may be of the form 'NUMBER UNIT_OF_MEASUREMENT' (e.g., '1,000 m', '3,200 ft') while numbers alone should be assumed to be a value in meters." ; +. + +schema:eligibilityToWorkRequirement + rdfs:label "eligibilityTo work requirement" ; + schema:description "The legal requirements such as citizenship, visa and other documentation required for an applicant to this job." ; +. + +schema:eligibleCustomerType + rdfs:label "eligible customer type" ; + schema:description "The type(s) of customers for which the given offer is valid." ; +. + +schema:eligibleDuration + rdfs:label "eligible duration" ; + schema:description "The duration for which the given offer is valid." ; +. + +schema:eligibleQuantity + rdfs:label "eligible quantity" ; + schema:description "The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity." ; +. + +schema:eligibleRegion + rdfs:label "eligible region" ; + schema:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\\n\\nSee also [[ineligibleRegion]]. + """ ; +. + +schema:eligibleTransactionVolume + rdfs:label "eligible transaction volume" ; + schema:description "The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount." ; +. + +schema:email + rdfs:label "email" ; + schema:description "Email address." ; +. + +schema:embedUrl + rdfs:label "embed url" ; + schema:description "A URL pointing to a player for a specific video. In general, this is the information in the ```src``` element of an ```embed``` tag and should not be the same as the content of the ```loc``` tag." ; +. + +schema:embeddedTextCaption + rdfs:label "embedded text caption" ; + schema:description "Represents textual captioning from a [[MediaObject]], e.g. text of a 'meme'." ; +. + +schema:emissionsCO2 + rdfs:label "emissions co2" ; + schema:description "The CO2 emissions in g/km. When used in combination with a QuantitativeValue, put \"g/km\" into the unitText property of that value, since there is no UN/CEFACT Common Code for \"g/km\"." ; +. + +schema:employee + rdfs:label "employee" ; + schema:description "Someone working for this organization." ; +. + +schema:employees + rdfs:label "employees" ; + schema:description "People working for this organization." ; +. + +schema:employerOverview + rdfs:label "employer overview" ; + schema:description "A description of the employer, career opportunities and work environment for this position." ; +. + +schema:employmentType + rdfs:label "employment type" ; + schema:description "Type of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship)." ; +. + +schema:employmentUnit + rdfs:label "employment unit" ; + schema:description "Indicates the department, unit and/or facility where the employee reports and/or in which the job is to be performed." ; +. + +schema:encodesBioChemEntity + rdfs:label "encodesBio chem entity" ; + schema:description "Another BioChemEntity encoded by this one. " ; +. + +schema:encodesCreativeWork + rdfs:label "encodes creative work" ; + schema:description "The CreativeWork encoded by this media object." ; +. + +schema:encoding + rdfs:label "encoding" ; + schema:description "A media object that encodes this CreativeWork. This property is a synonym for associatedMedia." ; +. + +schema:encodingFormat + rdfs:label "encoding format" ; + schema:description """Media type typically expressed using a MIME format (see [IANA site](http://www.iana.org/assignments/media-types/media-types.xhtml) and [MDN reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)) e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc.). + +In cases where a [[CreativeWork]] has several media type representations, [[encoding]] can be used to indicate each [[MediaObject]] alongside particular [[encodingFormat]] information. + +Unregistered or niche encoding and file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia/Wikidata entry.""" ; +. + +schema:encodingType + rdfs:label "encoding type" ; + schema:description "The supported encoding type(s) for an EntryPoint request." ; +. + +schema:encodings + rdfs:label "encodings" ; + schema:description "A media object that encodes this CreativeWork." ; +. + +schema:endDate + rdfs:label "end date" ; + schema:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))." ; +. + +schema:endOffset + rdfs:label "end offset" ; + schema:description "The end time of the clip expressed as the number of seconds from the beginning of the work." ; +. + +schema:endTime + rdfs:label "end time" ; + schema:description "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions." ; +. + +schema:endorsee + rdfs:label "endorsee" ; + schema:description "A sub property of participant. The person/organization being supported." ; +. + +schema:endorsers + rdfs:label "endorsers" ; + schema:description "People or organizations that endorse the plan." ; +. + +schema:energyEfficiencyScaleMax + rdfs:label "energyEfficiency scale max" ; + schema:description "Specifies the most energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++." ; +. + +schema:energyEfficiencyScaleMin + rdfs:label "energyEfficiency scale min" ; + schema:description "Specifies the least energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++." ; +. + +schema:engineDisplacement + rdfs:label "engine displacement" ; + schema:description "The volume swept by all of the pistons inside the cylinders of an internal combustion engine in a single movement. \\n\\nTypical unit code(s): CMQ for cubic centimeter, LTR for liters, INQ for cubic inches\\n* Note 1: You can link to information about how the given value has been determined using the [[valueReference]] property.\\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:enginePower + rdfs:label "engine power" ; + schema:description """The power of the vehicle's engine. + Typical unit code(s): KWT for kilowatt, BHP for brake horsepower, N12 for metric horsepower (PS, with 1 PS = 735,49875 W)\\n\\n* Note 1: There are many different ways of measuring an engine's power. For an overview, see [http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes](http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes).\\n* Note 2: You can link to information about how the given value has been determined using the [[valueReference]] property.\\n* Note 3: You can use [[minValue]] and [[maxValue]] to indicate ranges.""" ; +. + +schema:engineType + rdfs:label "engine type" ; + schema:description "The type of engine or engines powering the vehicle." ; +. + +schema:entertainmentBusiness + rdfs:label "entertainment business" ; + schema:description "A sub property of location. The entertainment business where the action occurred." ; +. + +schema:epidemiology + rdfs:label "epidemiology" ; + schema:description "The characteristics of associated patients, such as age, gender, race etc." ; +. + +schema:episode + rdfs:label "episode" ; + schema:description "An episode of a tv, radio or game media within a series or season." ; +. + +schema:episodeNumber + rdfs:label "episode number" ; + schema:description "Position of the episode within an ordered group of episodes." ; +. + +schema:episodes + rdfs:label "episodes" ; + schema:description "An episode of a TV/radio series or season." ; +. + +schema:equal + rdfs:label "equal" ; + schema:description "This ordering relation for qualitative values indicates that the subject is equal to the object." ; +. + +schema:error + rdfs:label "error" ; + schema:description "For failed actions, more information on the cause of the failure." ; +. + +schema:estimatedCost + rdfs:label "estimated cost" ; + schema:description "The estimated cost of the supply or supplies consumed when performing instructions." ; +. + +schema:estimatedFlightDuration + rdfs:label "estimated flight duration" ; + schema:description "The estimated time the flight will take." ; +. + +schema:estimatedSalary + rdfs:label "estimated salary" ; + schema:description "An estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value." ; +. + +schema:estimatesRiskOf + rdfs:label "estimates risk of" ; + schema:description "The condition, complication, or symptom whose risk is being estimated." ; +. + +schema:ethicsPolicy + rdfs:label "ethics policy" ; + schema:description "Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization." ; +. + +schema:event + rdfs:label "event" ; + schema:description "Upcoming or past event associated with this place, organization, or action." ; +. + +schema:eventAttendanceMode + rdfs:label "event attendance mode" ; + schema:description "The eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix." ; +. + +schema:eventSchedule + rdfs:label "event schedule" ; + schema:description """Associates an [[Event]] with a [[Schedule]]. There are circumstances where it is preferable to share a schedule for a series of + repeating events rather than data on the individual events themselves. For example, a website or application might prefer to publish a schedule for a weekly + gym class rather than provide data on every event. A schedule could be processed by applications to add forthcoming events to a calendar. An [[Event]] that + is associated with a [[Schedule]] using this property should not have [[startDate]] or [[endDate]] properties. These are instead defined within the associated + [[Schedule]], this avoids any ambiguity for clients using the data. The property might have repeated values to specify different schedules, e.g. for different months + or seasons.""" ; +. + +schema:eventStatus + rdfs:label "event status" ; + schema:description "An eventStatus of an event represents its status; particularly useful when an event is cancelled or rescheduled." ; +. + +schema:events + rdfs:label "events" ; + schema:description "Upcoming or past events associated with this place or organization." ; +. + +schema:evidenceLevel + rdfs:label "evidence level" ; + schema:description "Strength of evidence of the data used to formulate the guideline (enumerated)." ; +. + +schema:evidenceOrigin + rdfs:label "evidence origin" ; + schema:description "Source of the data used to formulate the guidance, e.g. RCT, consensus opinion, etc." ; +. + +schema:exampleOfWork + rdfs:label "example of work" ; + schema:description "A creative work that this work is an example/instance/realization/derivation of." ; +. + +schema:exceptDate + rdfs:label "except date" ; + schema:description """Defines a [[Date]] or [[DateTime]] during which a scheduled [[Event]] will not take place. The property allows exceptions to + a [[Schedule]] to be specified. If an exception is specified as a [[DateTime]] then only the event that would have started at that specific date and time + should be excluded from the schedule. If an exception is specified as a [[Date]] then any event that is scheduled for that 24 hour period should be + excluded from the schedule. This allows a whole day to be excluded from the schedule without having to itemise every scheduled event.""" ; +. + +schema:exchangeRateSpread + rdfs:label "exchange rate spread" ; + schema:description "The difference between the price at which a broker or other intermediary buys and sells foreign currency." ; +. + +schema:executableLibraryName + rdfs:label "executable library name" ; + schema:description "Library file name e.g., mscorlib.dll, system.web.dll." ; +. + +schema:exerciseCourse + rdfs:label "exercise course" ; + schema:description "A sub property of location. The course where this action was taken." ; +. + +schema:exercisePlan + rdfs:label "exercise plan" ; + schema:description "A sub property of instrument. The exercise plan used on this action." ; +. + +schema:exerciseRelatedDiet + rdfs:label "exercise related diet" ; + schema:description "A sub property of instrument. The diet used in this action." ; +. + +schema:exerciseType + rdfs:label "exercise type" ; + schema:description "Type(s) of exercise or activity, such as strength training, flexibility training, aerobics, cardiac rehabilitation, etc." ; +. + +schema:exifData + rdfs:label "exif data" ; + schema:description "exif data for this object." ; +. + +schema:expectedArrivalFrom + rdfs:label "expected arrival from" ; + schema:description "The earliest date the package may arrive." ; +. + +schema:expectedArrivalUntil + rdfs:label "expected arrival until" ; + schema:description "The latest date the package may arrive." ; +. + +schema:expectedPrognosis + rdfs:label "expected prognosis" ; + schema:description "The likely outcome in either the short term or long term of the medical condition." ; +. + +schema:expectsAcceptanceOf + rdfs:label "expects acceptance of" ; + schema:description "An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it." ; +. + +schema:experienceInPlaceOfEducation + rdfs:label "experienceInPlace of education" ; + schema:description "Indicates whether a [[JobPosting]] will accept experience (as indicated by [[OccupationalExperienceRequirements]]) in place of its formal educational qualifications (as indicated by [[educationRequirements]]). If true, indicates that satisfying one of these requirements is sufficient." ; +. + +schema:experienceRequirements + rdfs:label "experience requirements" ; + schema:description "Description of skills and experience needed for the position or Occupation." ; +. + +schema:expertConsiderations + rdfs:label "expert considerations" ; + schema:description "Medical expert advice related to the plan." ; +. + +schema:expires + rdfs:label "expires" ; + schema:description "Date the content expires and is no longer useful or available. For example a [[VideoObject]] or [[NewsArticle]] whose availability or relevance is time-limited, or a [[ClaimReview]] fact check whose publisher wants to indicate that it may no longer be relevant (or helpful to highlight) after some date." ; +. + +schema:expressedIn + rdfs:label "expressed in" ; + schema:description "Tissue, organ, biological sample, etc in which activity of this gene has been observed experimentally. For example brain, digestive system." ; +. + +schema:familyName + rdfs:label "family name" ; + schema:description "Family name. In the U.S., the last name of a Person." ; +. + +schema:fatContent + rdfs:label "fat content" ; + schema:description "The number of grams of fat." ; +. + +schema:faxNumber + rdfs:label "fax number" ; + schema:description "The fax number." ; +. + +schema:featureList + rdfs:label "feature list" ; + schema:description "Features or modules provided by this application (and possibly required by other applications)." ; +. + +schema:feesAndCommissionsSpecification + rdfs:label "feesAnd commissions specification" ; + schema:description "Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization." ; +. + +schema:fiberContent + rdfs:label "fiber content" ; + schema:description "The number of grams of fiber." ; +. + +schema:fileFormat + rdfs:label "file format" ; + schema:description "Media type, typically MIME format (see [IANA site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of the content e.g. application/zip of a SoftwareApplication binary. In cases where a CreativeWork has several media type representations, 'encoding' can be used to indicate each MediaObject alongside particular fileFormat information. Unregistered or niche file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia entry." ; +. + +schema:fileSize + rdfs:label "file size" ; + schema:description "Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB will be assumed." ; +. + +schema:financialAidEligible + rdfs:label "financial aid eligible" ; + schema:description "A financial aid type or program which students may use to pay for tuition or fees associated with the program." ; +. + +schema:firstAppearance + rdfs:label "first appearance" ; + schema:description "Indicates the first known occurence of a [[Claim]] in some [[CreativeWork]]." ; +. + +schema:firstPerformance + rdfs:label "first performance" ; + schema:description "The date and place the work was first performed." ; +. + +schema:flightDistance + rdfs:label "flight distance" ; + schema:description "The distance of the flight." ; +. + +schema:flightNumber + rdfs:label "flight number" ; + schema:description "The unique identifier for a flight including the airline IATA code. For example, if describing United flight 110, where the IATA code for United is 'UA', the flightNumber is 'UA110'." ; +. + +schema:floorLevel + rdfs:label "floor level" ; + schema:description """The floor level for an [[Accommodation]] in a multi-storey building. Since counting + systems [vary internationally](https://en.wikipedia.org/wiki/Storey#Consecutive_number_floor_designations), the local system should be used where possible.""" ; +. + +schema:floorLimit + rdfs:label "floor limit" ; + schema:description "A floor limit is the amount of money above which credit card transactions must be authorized." ; +. + +schema:floorSize + rdfs:label "floor size" ; + schema:description """The size of the accommodation, e.g. in square meter or squarefoot. +Typical unit code(s): MTK for square meter, FTK for square foot, or YDK for square yard """ ; +. + +schema:followee + rdfs:label "followee" ; + schema:description "A sub property of object. The person or organization being followed." ; +. + +schema:follows + rdfs:label "follows" ; + schema:description "The most generic uni-directional social relation." ; +. + +schema:followup + rdfs:label "followup" ; + schema:description "Typical or recommended followup care after the procedure is performed." ; +. + +schema:foodEstablishment + rdfs:label "food establishment" ; + schema:description "A sub property of location. The specific food establishment where the action occurred." ; +. + +schema:foodEvent + rdfs:label "food event" ; + schema:description "A sub property of location. The specific food event where the action occurred." ; +. + +schema:foodWarning + rdfs:label "food warning" ; + schema:description "Any precaution, guidance, contraindication, etc. related to consumption of specific foods while taking this drug." ; +. + +schema:founder + rdfs:label "founder" ; + schema:description "A person who founded this organization." ; +. + +schema:founders + rdfs:label "founders" ; + schema:description "A person who founded this organization." ; +. + +schema:foundingDate + rdfs:label "founding date" ; + schema:description "The date that this organization was founded." ; +. + +schema:foundingLocation + rdfs:label "founding location" ; + schema:description "The place where the Organization was founded." ; +. + +schema:free + rdfs:label "free" ; + schema:description "A flag to signal that the item, event, or place is accessible for free." ; +. + +schema:freeShippingThreshold + rdfs:label "free shipping threshold" ; + schema:description "A monetary value above which (or equal to) the shipping rate becomes free. Intended to be used via an [[OfferShippingDetails]] with [[shippingSettingsLink]] matching this [[ShippingRateSettings]]." ; +. + +schema:frequency + rdfs:label "frequency" ; + schema:description "How often the dose is taken, e.g. 'daily'." ; +. + +schema:fromLocation + rdfs:label "from location" ; + schema:description "A sub property of location. The original location of the object or the agent before the action." ; +. + +schema:fuelCapacity + rdfs:label "fuel capacity" ; + schema:description "The capacity of the fuel tank or in the case of electric cars, the battery. If there are multiple components for storage, this should indicate the total of all storage of the same type.\\n\\nTypical unit code(s): LTR for liters, GLL of US gallons, GLI for UK / imperial gallons, AMH for ampere-hours (for electrical vehicles)." ; +. + +schema:fuelConsumption + rdfs:label "fuel consumption" ; + schema:description "The amount of fuel consumed for traveling a particular distance or temporal duration with the given vehicle (e.g. liters per 100 km).\\n\\n* Note 1: There are unfortunately no standard unit codes for liters per 100 km. Use [[unitText]] to indicate the unit of measurement, e.g. L/100 km.\\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\\n* Note 3: Often, the absolute value is useful only when related to driving speed (\"at 80 km/h\") or usage pattern (\"city traffic\"). You can use [[valueReference]] to link the value for the fuel consumption to another value." ; +. + +schema:fuelEfficiency + rdfs:label "fuel efficiency" ; + schema:description "The distance traveled per unit of fuel used; most commonly miles per gallon (mpg) or kilometers per liter (km/L).\\n\\n* Note 1: There are unfortunately no standard unit codes for miles per gallon or kilometers per liter. Use [[unitText]] to indicate the unit of measurement, e.g. mpg or km/L.\\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\\n* Note 3: Often, the absolute value is useful only when related to driving speed (\"at 80 km/h\") or usage pattern (\"city traffic\"). You can use [[valueReference]] to link the value for the fuel economy to another value." ; +. + +schema:fuelType + rdfs:label "fuel type" ; + schema:description "The type of fuel suitable for the engine or engines of the vehicle. If the vehicle has only one engine, this property can be attached directly to the vehicle." ; +. + +schema:functionalClass + rdfs:label "functional class" ; + schema:description "The degree of mobility the joint allows." ; +. + +schema:fundedItem + rdfs:label "funded item" ; + schema:description "Indicates an item funded or sponsored through a [[Grant]]." ; +. + +schema:funder + rdfs:label "funder" ; + schema:description "A person or organization that supports (sponsors) something through some kind of financial contribution." ; +. + +schema:game + rdfs:label "game" ; + schema:description "Video game which is played on this server." ; +. + +schema:gameItem + rdfs:label "game item" ; + schema:description "An item is an object within the game world that can be collected by a player or, occasionally, a non-player character." ; +. + +schema:gameLocation + rdfs:label "game location" ; + schema:description "Real or fictional location of the game (or part of game)." ; +. + +schema:gamePlatform + rdfs:label "game platform" ; + schema:description "The electronic systems used to play video games." ; +. + +schema:gameServer + rdfs:label "game server" ; + schema:description "The server on which it is possible to play the game." ; +. + +schema:gameTip + rdfs:label "game tip" ; + schema:description "Links to tips, tactics, etc." ; +. + +schema:gender + rdfs:label "gender" ; + schema:description "Gender of something, typically a [[Person]], but possibly also fictional characters, animals, etc. While https://schema.org/Male and https://schema.org/Female may be used, text strings are also acceptable for people who do not identify as a binary gender. The [[gender]] property can also be used in an extended sense to cover e.g. the gender of sports teams. As with the gender of individuals, we do not try to enumerate all possibilities. A mixed-gender [[SportsTeam]] can be indicated with a text value of \"Mixed\"." ; +. + +schema:genre + rdfs:label "genre" ; + schema:description "Genre of the creative work, broadcast channel or group." ; +. + +schema:geo + rdfs:label "geo" ; + schema:description "The geo coordinates of the place." ; +. + +schema:geoContains + rdfs:label "geo contains" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. \"a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoCoveredBy + rdfs:label "geo covered by" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoCovers + rdfs:label "geo covers" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. \"Every point of b is a point of (the interior or boundary of) a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoCrosses + rdfs:label "geo crosses" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: \"a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoDisjoint + rdfs:label "geo disjoint" ; + schema:description "Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: they have no point in common. They form a set of disconnected geometries.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM))" ; +. + +schema:geoEquals + rdfs:label "geo equals" ; + schema:description "Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). \"Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other\" (a symmetric relationship)" ; +. + +schema:geoIntersects + rdfs:label "geo intersects" ; + schema:description "Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoMidpoint + rdfs:label "geo midpoint" ; + schema:description "Indicates the GeoCoordinates at the centre of a GeoShape e.g. GeoCircle." ; +. + +schema:geoOverlaps + rdfs:label "geo overlaps" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geoRadius + rdfs:label "geo radius" ; + schema:description "Indicates the approximate radius of a GeoCircle (metres unless indicated otherwise via Distance notation)." ; +. + +schema:geoTouches + rdfs:label "geo touches" ; + schema:description "Represents spatial relations in which two geometries (or the places they represent) touch: they have at least one boundary point in common, but no interior points.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM) )" ; +. + +schema:geoWithin + rdfs:label "geo within" ; + schema:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)." ; +. + +schema:geographicArea + rdfs:label "geographic area" ; + schema:description "The geographic area associated with the audience." ; +. + +schema:gettingTestedInfo + rdfs:label "getting tested info" ; + schema:description "Information about getting tested (for a [[MedicalCondition]]), e.g. in the context of a pandemic." ; +. + +schema:givenName + rdfs:label "given name" ; + schema:description "Given name. In the U.S., the first name of a Person." ; +. + +schema:globalLocationNumber + rdfs:label "global location number" ; + schema:description "The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations." ; +. + +schema:governmentBenefitsInfo + rdfs:label "government benefits info" ; + schema:description "governmentBenefitsInfo provides information about government benefits associated with a SpecialAnnouncement." ; +. + +schema:gracePeriod + rdfs:label "grace period" ; + schema:description "The period of time after any due date that the borrower has to fulfil its obligations before a default (failure to pay) is deemed to have occurred." ; +. + +schema:grantee + rdfs:label "grantee" ; + schema:description "The person, organization, contact point, or audience that has been granted this permission." ; +. + +schema:greater + rdfs:label "greater" ; + schema:description "This ordering relation for qualitative values indicates that the subject is greater than the object." ; +. + +schema:greaterOrEqual + rdfs:label "greater or equal" ; + schema:description "This ordering relation for qualitative values indicates that the subject is greater than or equal to the object." ; +. + +schema:gtin + rdfs:label "gtin" ; + schema:description """A Global Trade Item Number ([GTIN](https://www.gs1.org/standards/id-keys/gtin)). GTINs identify trade items, including products and services, using numeric identification codes. The [[gtin]] property generalizes the earlier [[gtin8]], [[gtin12]], [[gtin13]], and [[gtin14]] properties. The GS1 [digital link specifications](https://www.gs1.org/standards/Digital-Link/) express GTINs as URLs. A correct [[gtin]] value should be a valid GTIN, which means that it should be an all-numeric string of either 8, 12, 13 or 14 digits, or a "GS1 Digital Link" URL based on such a string. The numeric component should also have a [valid GS1 check digit](https://www.gs1.org/services/check-digit-calculator) and meet the other rules for valid GTINs. See also [GS1's GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) and [Wikipedia](https://en.wikipedia.org/wiki/Global_Trade_Item_Number) for more details. Left-padding of the gtin values is not required or encouraged. + """ ; +. + +schema:gtin12 + rdfs:label "gtin12" ; + schema:description "The GTIN-12 code of the product, or the product to which the offer refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a U.P.C. Company Prefix, Item Reference, and Check Digit used to identify trade items. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details." ; +. + +schema:gtin13 + rdfs:label "gtin13" ; + schema:description "The GTIN-13 code of the product, or the product to which the offer refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former 12-digit UPC codes can be converted into a GTIN-13 code by simply adding a preceding zero. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details." ; +. + +schema:gtin14 + rdfs:label "gtin14" ; + schema:description "The GTIN-14 code of the product, or the product to which the offer refers. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details." ; +. + +schema:gtin8 + rdfs:label "gtin8" ; + schema:description "The GTIN-8 code of the product, or the product to which the offer refers. This code is also known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details." ; +. + +schema:guideline + rdfs:label "guideline" ; + schema:description "A medical guideline related to this entity." ; +. + +schema:guidelineDate + rdfs:label "guideline date" ; + schema:description "Date on which this guideline's recommendation was made." ; +. + +schema:guidelineSubject + rdfs:label "guideline subject" ; + schema:description "The medical conditions, treatments, etc. that are the subject of the guideline." ; +. + +schema:handlingTime + rdfs:label "handling time" ; + schema:description "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup. Typical properties: minValue, maxValue, unitCode (d for DAY). This is by common convention assumed to mean business days (if a unitCode is used, coded as \"d\"), i.e. only counting days when the business normally operates." ; +. + +schema:hasBioChemEntityPart + rdfs:label "hasBioChem entity part" ; + schema:description "Indicates a BioChemEntity that (in some sense) has this BioChemEntity as a part. " ; +. + +schema:hasBioPolymerSequence + rdfs:label "hasBio polymer sequence" ; + schema:description "A symbolic representation of a BioChemEnity. For example, a nucleotide sequence of a Gene or an amino acid sequence of a Protein." ; +. + +schema:hasBroadcastChannel + rdfs:label "has broadcast channel" ; + schema:description "A broadcast channel of a broadcast service." ; +. + +schema:hasCategoryCode + rdfs:label "has category code" ; + schema:description "A Category code contained in this code set." ; +. + +schema:hasCourse + rdfs:label "has course" ; + schema:description "A course or class that is one of the learning opportunities that constitute an educational / occupational program. No information is implied about whether the course is mandatory or optional; no guarantee is implied about whether the course will be available to everyone on the program." ; +. + +schema:hasCourseInstance + rdfs:label "has course instance" ; + schema:description "An offering of the course at a specific time and place or through specific media or mode of study or to a specific section of students." ; +. + +schema:hasCredential + rdfs:label "has credential" ; + schema:description "A credential awarded to the Person or Organization." ; +. + +schema:hasDefinedTerm + rdfs:label "has defined term" ; + schema:description "A Defined Term contained in this term set." ; +. + +schema:hasDeliveryMethod + rdfs:label "has delivery method" ; + schema:description "Method used for delivery or shipping." ; +. + +schema:hasDigitalDocumentPermission + rdfs:label "hasDigital document permission" ; + schema:description "A permission related to the access to this document (e.g. permission to read or write an electronic document). For a public document, specify a grantee with an Audience with audienceType equal to \"public\"." ; +. + +schema:hasDriveThroughService + rdfs:label "hasDrive through service" ; + schema:description "Indicates whether some facility (e.g. [[FoodEstablishment]], [[CovidTestingFacility]]) offers a service that can be used by driving through in a car. In the case of [[CovidTestingFacility]] such facilities could potentially help with social distancing from other potentially-infected users." ; +. + +schema:hasEnergyConsumptionDetails + rdfs:label "hasEnergy consumption details" ; + schema:description "Defines the energy efficiency Category (also known as \"class\" or \"rating\") for a product according to an international energy efficiency standard." ; +. + +schema:hasEnergyEfficiencyCategory + rdfs:label "hasEnergy efficiency category" ; + schema:description "Defines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard." ; +. + +schema:hasHealthAspect + rdfs:label "has health aspect" ; + schema:description "Indicates the aspect or aspects specifically addressed in some [[HealthTopicContent]]. For example, that the content is an overview, or that it talks about treatment, self-care, treatments or their side-effects." ; +. + +schema:hasMap + rdfs:label "has map" ; + schema:description "A URL to a map of the place." ; +. + +schema:hasMeasurement + rdfs:label "has measurement" ; + schema:description "A product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings." ; +. + +schema:hasMenu + rdfs:label "has menu" ; + schema:description "Either the actual menu as a structured representation, as text, or a URL of the menu." ; +. + +schema:hasMenuItem + rdfs:label "has menu item" ; + schema:description "A food or drink item contained in a menu or menu section." ; +. + +schema:hasMenuSection + rdfs:label "has menu section" ; + schema:description "A subgrouping of the menu (by dishes, course, serving time period, etc.)." ; +. + +schema:hasMerchantReturnPolicy + rdfs:label "hasMerchant return policy" ; + schema:description "Specifies a MerchantReturnPolicy that may be applicable." ; +. + +schema:hasMolecularFunction + rdfs:label "has molecular function" ; + schema:description "Molecular function performed by this BioChemEntity; please use PropertyValue if you want to include any evidence." ; +. + +schema:hasOccupation + rdfs:label "has occupation" ; + schema:description "The Person's occupation. For past professions, use Role for expressing dates." ; +. + +schema:hasOfferCatalog + rdfs:label "has offer catalog" ; + schema:description "Indicates an OfferCatalog listing for this Organization, Person, or Service." ; +. + +schema:hasPOS + rdfs:label "has pos" ; + schema:description "Points-of-Sales operated by the organization or person." ; +. + +schema:hasPart + rdfs:label "has part" ; + schema:description "Indicates an item or CreativeWork that is part of this item, or CreativeWork (in some sense)." ; +. + +schema:hasRepresentation + rdfs:label "has representation" ; + schema:description "A common representation such as a protein sequence or chemical structure for this entity. For images use schema.org/image." ; +. + +schema:hasVariant + rdfs:label "has variant" ; + schema:description "Indicates a [[Product]] that is a member of this [[ProductGroup]] (or [[ProductModel]])." ; +. + +schema:headline + rdfs:label "headline" ; + schema:description "Headline of the article." ; +. + +schema:healthCondition + rdfs:label "health condition" ; + schema:description "Specifying the health condition(s) of a patient, medical study, or other target audience." ; +. + +schema:healthPlanCoinsuranceOption + rdfs:label "healthPlan coinsurance option" ; + schema:description "Whether the coinsurance applies before or after deductible, etc. TODO: Is this a closed set?" ; +. + +schema:healthPlanCoinsuranceRate + rdfs:label "healthPlan coinsurance rate" ; + schema:description "Whether The rate of coinsurance expressed as a number between 0.0 and 1.0." ; +. + +schema:healthPlanCopay + rdfs:label "health plan copay" ; + schema:description "Whether The copay amount." ; +. + +schema:healthPlanCopayOption + rdfs:label "healthPlan copay option" ; + schema:description "Whether the copay is before or after deductible, etc. TODO: Is this a closed set?" ; +. + +schema:healthPlanCostSharing + rdfs:label "healthPlan cost sharing" ; + schema:description "Whether The costs to the patient for services under this network or formulary." ; +. + +schema:healthPlanDrugOption + rdfs:label "healthPlan drug option" ; + schema:description "TODO." ; +. + +schema:healthPlanDrugTier + rdfs:label "healthPlan drug tier" ; + schema:description "The tier(s) of drugs offered by this formulary or insurance plan." ; +. + +schema:healthPlanId + rdfs:label "health plan id" ; + schema:description "The 14-character, HIOS-generated Plan ID number. (Plan IDs must be unique, even across different markets.)" ; +. + +schema:healthPlanMarketingUrl + rdfs:label "healthPlan marketing url" ; + schema:description "The URL that goes directly to the plan brochure for the specific standard plan or plan variation." ; +. + +schema:healthPlanNetworkId + rdfs:label "healthPlan network id" ; + schema:description "Name or unique ID of network. (Networks are often reused across different insurance plans)." ; +. + +schema:healthPlanNetworkTier + rdfs:label "healthPlan network tier" ; + schema:description "The tier(s) for this network." ; +. + +schema:healthPlanPharmacyCategory + rdfs:label "healthPlan pharmacy category" ; + schema:description "The category or type of pharmacy associated with this cost sharing." ; +. + +schema:healthcareReportingData + rdfs:label "healthcare reporting data" ; + schema:description "Indicates data describing a hospital, e.g. a CDC [[CDCPMDRecord]] or as some kind of [[Dataset]]." ; +. + +schema:height + rdfs:label "height" ; + schema:description "The height of the item." ; +. + +schema:highPrice + rdfs:label "high price" ; + schema:description "The highest price of all offers available.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:hiringOrganization + rdfs:label "hiring organization" ; + schema:description "Organization offering the job position." ; +. + +schema:holdingArchive + rdfs:label "holding archive"@en ; + schema:description "[[ArchiveOrganization]] that holds, keeps or maintains the [[ArchiveComponent]]."@en ; +. + +schema:homeLocation + rdfs:label "home location" ; + schema:description "A contact location for a person's residence." ; +. + +schema:homeTeam + rdfs:label "home team" ; + schema:description "The home team in a sports event." ; +. + +schema:honorificPrefix + rdfs:label "honorific prefix" ; + schema:description "An honorific prefix preceding a Person's name such as Dr/Mrs/Mr." ; +. + +schema:honorificSuffix + rdfs:label "honorific suffix" ; + schema:description "An honorific suffix following a Person's name such as M.D. /PhD/MSCSW." ; +. + +schema:hospitalAffiliation + rdfs:label "hospital affiliation" ; + schema:description "A hospital with which the physician or office is affiliated." ; +. + +schema:hostingOrganization + rdfs:label "hosting organization" ; + schema:description "The organization (airline, travelers' club, etc.) the membership is made with." ; +. + +schema:hoursAvailable + rdfs:label "hours available" ; + schema:description "The hours during which this service or contact is available." ; +. + +schema:howPerformed + rdfs:label "how performed" ; + schema:description "How the procedure is performed." ; +. + +schema:httpMethod + rdfs:label "http method" ; + schema:description "An HTTP method that specifies the appropriate HTTP method for a request to an HTTP EntryPoint. Values are capitalized strings as used in HTTP." ; +. + +schema:iataCode + rdfs:label "iata code" ; + schema:description "IATA identifier for an airline or airport." ; +. + +schema:icaoCode + rdfs:label "icao code" ; + schema:description "ICAO identifier for an airport." ; +. + +schema:identifier + rdfs:label "identifier" ; + schema:description """The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. + """ ; +. + +schema:identifyingExam + rdfs:label "identifying exam" ; + schema:description "A physical examination that can identify this sign." ; +. + +schema:identifyingTest + rdfs:label "identifying test" ; + schema:description "A diagnostic test that can identify this sign." ; +. + +schema:illustrator + rdfs:label "illustrator" ; + schema:description "The illustrator of the book." ; +. + +schema:image + rdfs:label "image" ; + schema:description "An image of the item. This can be a [[URL]] or a fully described [[ImageObject]]." ; +. + +schema:imagingTechnique + rdfs:label "imaging technique" ; + schema:description "Imaging technique used." ; +. + +schema:inAlbum + rdfs:label "in album" ; + schema:description "The album to which this recording belongs." ; +. + +schema:inBroadcastLineup + rdfs:label "in broadcast lineup" ; + schema:description "The CableOrSatelliteService offering the channel." ; +. + +schema:inChI + rdfs:label "in chi" ; + schema:description "Non-proprietary identifier for molecular entity that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations." ; +. + +schema:inChIKey + rdfs:label "in ch ikey" ; + schema:description "InChIKey is a hashed version of the full InChI (using the SHA-256 algorithm)." ; +. + +schema:inCodeSet + rdfs:label "in code set" ; + schema:description "A [[CategoryCodeSet]] that contains this category code." ; +. + +schema:inDefinedTermSet + rdfs:label "inDefined term set" ; + schema:description "A [[DefinedTermSet]] that contains this term." ; +. + +schema:inLanguage + rdfs:label "in language" ; + schema:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]." ; +. + +schema:inPlaylist + rdfs:label "in playlist" ; + schema:description "The playlist to which this recording belongs." ; +. + +schema:inProductGroupWithID + rdfs:label "inProductGroup with id" ; + schema:description "Indicates the [[productGroupID]] for a [[ProductGroup]] that this product [[isVariantOf]]. " ; +. + +schema:inStoreReturnsOffered + rdfs:label "inStore returns offered" ; + schema:description "Are in-store returns offered? (for more advanced return methods use the [[returnMethod]] property)" ; +. + +schema:inSupportOf + rdfs:label "in support of" ; + schema:description "Qualification, candidature, degree, application that Thesis supports." ; +. + +schema:incentiveCompensation + rdfs:label "incentive compensation" ; + schema:description "Description of bonus and commission compensation aspects of the job." ; +. + +schema:incentives + rdfs:label "incentives" ; + schema:description "Description of bonus and commission compensation aspects of the job." ; +. + +schema:includedComposition + rdfs:label "included composition" ; + schema:description "Smaller compositions included in this work (e.g. a movement in a symphony)." ; +. + +schema:includedDataCatalog + rdfs:label "included data catalog" ; + schema:description "A data catalog which contains this dataset (this property was previously 'catalog', preferred name is now 'includedInDataCatalog')." ; +. + +schema:includedInDataCatalog + rdfs:label "includedIn data catalog" ; + schema:description "A data catalog which contains this dataset." ; +. + +schema:includedInHealthInsurancePlan + rdfs:label "includedInHealth insurance plan" ; + schema:description "The insurance plans that cover this drug." ; +. + +schema:includedRiskFactor + rdfs:label "included risk factor" ; + schema:description "A modifiable or non-modifiable risk factor included in the calculation, e.g. age, coexisting condition." ; +. + +schema:includesAttraction + rdfs:label "includes attraction" ; + schema:description "Attraction located at destination." ; +. + +schema:includesHealthPlanFormulary + rdfs:label "includesHealth plan formulary" ; + schema:description "Formularies covered by this plan." ; +. + +schema:includesHealthPlanNetwork + rdfs:label "includesHealth plan network" ; + schema:description "Networks covered by this plan." ; +. + +schema:includesObject + rdfs:label "includes object" ; + schema:description "This links to a node or nodes indicating the exact quantity of the products included in an [[Offer]] or [[ProductCollection]]." ; +. + +schema:increasesRiskOf + rdfs:label "increases risk of" ; + schema:description "The condition, complication, etc. influenced by this factor." ; +. + +schema:industry + rdfs:label "industry" ; + schema:description "The industry associated with the job position." ; +. + +schema:ineligibleRegion + rdfs:label "ineligible region" ; + schema:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. + """ ; +. + +schema:infectiousAgent + rdfs:label "infectious agent" ; + schema:description "The actual infectious agent, such as a specific bacterium." ; +. + +schema:infectiousAgentClass + rdfs:label "infectious agent class" ; + schema:description "The class of infectious agent (bacteria, prion, etc.) that causes the disease." ; +. + +schema:ingredients + rdfs:label "ingredients" ; + schema:description "A single ingredient used in the recipe, e.g. sugar, flour or garlic." ; +. + +schema:inker + rdfs:label "inker" ; + schema:description "The individual who traces over the pencil drawings in ink after pencils are complete." ; +. + +schema:insertion + rdfs:label "insertion" ; + schema:description "The place of attachment of a muscle, or what the muscle moves." ; +. + +schema:installUrl + rdfs:label "install url" ; + schema:description "URL at which the app may be installed, if different from the URL of the item." ; +. + +schema:instructor + rdfs:label "instructor" ; + schema:description "A person assigned to instruct or provide instructional assistance for the [[CourseInstance]]." ; +. + +schema:instrument + rdfs:label "instrument" ; + schema:description "The object that helped the agent perform the action. e.g. John wrote a book with *a pen*." ; +. + +schema:intensity + rdfs:label "intensity" ; + schema:description "Quantitative measure gauging the degree of force involved in the exercise, for example, heartbeats per minute. May include the velocity of the movement." ; +. + +schema:interactingDrug + rdfs:label "interacting drug" ; + schema:description "Another drug that is known to interact with this drug in a way that impacts the effect of this drug or causes a risk to the patient. Note: disease interactions are typically captured as contraindications." ; +. + +schema:interactionCount + rdfs:label "interaction count" ; + schema:description "This property is deprecated, alongside the UserInteraction types on which it depended." ; +. + +schema:interactionService + rdfs:label "interaction service" ; + schema:description "The WebSite or SoftwareApplication where the interactions took place." ; +. + +schema:interactionStatistic + rdfs:label "interaction statistic" ; + schema:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used." ; +. + +schema:interactionType + rdfs:label "interaction type" ; + schema:description "The Action representing the type of interaction. For up votes, +1s, etc. use [[LikeAction]]. For down votes use [[DislikeAction]]. Otherwise, use the most specific Action." ; +. + +schema:interactivityType + rdfs:label "interactivity type" ; + schema:description "The predominant mode of learning supported by the learning resource. Acceptable values are 'active', 'expositive', or 'mixed'." ; +. + +schema:interestRate + rdfs:label "interest rate" ; + schema:description "The interest rate, charged or paid, applicable to the financial product. Note: This is different from the calculated annualPercentageRate." ; +. + +schema:interpretedAsClaim + rdfs:label "interpreted as claim" ; + schema:description "Used to indicate a specific claim contained, implied, translated or refined from the content of a [[MediaObject]] or other [[CreativeWork]]. The interpreting party can be indicated using [[claimInterpreter]]." ; +. + +schema:inventoryLevel + rdfs:label "inventory level" ; + schema:description "The current approximate inventory level for the item or items." ; +. + +schema:inverseOf + rdfs:label "inverse of" ; + schema:description "Relates a property to a property that is its inverse. Inverse properties relate the same pairs of items to each other, but in reversed direction. For example, the 'alumni' and 'alumniOf' properties are inverseOf each other. Some properties don't have explicit inverses; in these situations RDFa and JSON-LD syntax for reverse properties can be used." ; +. + +schema:isAcceptingNewPatients + rdfs:label "isAccepting new patients" ; + schema:description "Whether the provider is accepting new patients." ; +. + +schema:isAccessibleForFree + rdfs:label "isAccessible for free" ; + schema:description "A flag to signal that the item, event, or place is accessible for free." ; +. + +schema:isAccessoryOrSparePartFor + rdfs:label "isAccessoryOrSpare part for" ; + schema:description "A pointer to another product (or multiple products) for which this product is an accessory or spare part." ; +. + +schema:isAvailableGenerically + rdfs:label "is available generically" ; + schema:description "True if the drug is available in a generic form (regardless of name)." ; +. + +schema:isBasedOn + rdfs:label "is based on" ; + schema:description "A resource from which this work is derived or from which it is a modification or adaption." ; +. + +schema:isBasedOnUrl + rdfs:label "isBased on url" ; + schema:description "A resource that was used in the creation of this resource. This term can be repeated for multiple sources. For example, http://example.com/great-multiplication-intro.html." ; +. + +schema:isConsumableFor + rdfs:label "is consumable for" ; + schema:description "A pointer to another product (or multiple products) for which this product is a consumable." ; +. + +schema:isEncodedByBioChemEntity + rdfs:label "isEncodedByBio chem entity" ; + schema:description "Another BioChemEntity encoding by this one." ; +. + +schema:isFamilyFriendly + rdfs:label "is family friendly" ; + schema:description "Indicates whether this content is family friendly." ; +. + +schema:isGift + rdfs:label "is gift" ; + schema:description "Was the offer accepted as a gift for someone other than the buyer." ; +. + +schema:isInvolvedInBiologicalProcess + rdfs:label "isInvolvedIn biological process" ; + schema:description "Biological process this BioChemEntity is involved in; please use PropertyValue if you want to include any evidence." ; +. + +schema:isLiveBroadcast + rdfs:label "is live broadcast" ; + schema:description "True if the broadcast is of a live event." ; +. + +schema:isLocatedInSubcellularLocation + rdfs:label "isLocatedIn subcellular location" ; + schema:description "Subcellular location where this BioChemEntity is located; please use PropertyValue if you want to include any evidence." ; +. + +schema:isPartOf + rdfs:label "is part of" ; + schema:description "Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of." ; +. + +schema:isPartOfBioChemEntity + rdfs:label "isPartOfBio chem entity" ; + schema:description "Indicates a BioChemEntity that is (in some sense) a part of this BioChemEntity. " ; +. + +schema:isPlanForApartment + rdfs:label "isPlan for apartment" ; + schema:description "Indicates some accommodation that this floor plan describes." ; +. + +schema:isProprietary + rdfs:label "is proprietary" ; + schema:description "True if this item's name is a proprietary/brand name (vs. generic name)." ; +. + +schema:isRelatedTo + rdfs:label "is related to" ; + schema:description "A pointer to another, somehow related product (or multiple products)." ; +. + +schema:isResizable + rdfs:label "is resizable" ; + schema:description "Whether the 3DModel allows resizing. For example, room layout applications often do not allow 3DModel elements to be resized to reflect reality." ; +. + +schema:isSimilarTo + rdfs:label "is similar to" ; + schema:description "A pointer to another, functionally similar product (or multiple products)." ; +. + +schema:isUnlabelledFallback + rdfs:label "is unlabelled fallback" ; + schema:description "This can be marked 'true' to indicate that some published [[DeliveryTimeSettings]] or [[ShippingRateSettings]] are intended to apply to all [[OfferShippingDetails]] published by the same merchant, when referenced by a [[shippingSettingsLink]] in those settings. It is not meaningful to use a 'true' value for this property alongside a transitTimeLabel (for [[DeliveryTimeSettings]]) or shippingLabel (for [[ShippingRateSettings]]), since this property is for use with unlabelled settings." ; +. + +schema:isVariantOf + rdfs:label "is variant of" ; + schema:description "Indicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group." ; +. + +schema:isbn + rdfs:label "isbn" ; + schema:description "The ISBN of the book." ; +. + +schema:isicV4 + rdfs:label "isic v4" ; + schema:description "The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place." ; +. + +schema:isrcCode + rdfs:label "isrc code" ; + schema:description "The International Standard Recording Code for the recording." ; +. + +schema:issn + rdfs:label "issn" ; + schema:description "The International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication." ; +. + +schema:issueNumber + rdfs:label "issue number" ; + schema:description "Identifies the issue of publication; for example, \"iii\" or \"2\"." ; +. + +schema:issuedBy + rdfs:label "issued by" ; + schema:description "The organization issuing the ticket or permit." ; +. + +schema:issuedThrough + rdfs:label "issued through" ; + schema:description "The service through with the permit was granted." ; +. + +schema:iswcCode + rdfs:label "iswc code" ; + schema:description "The International Standard Musical Work Code for the composition." ; +. + +schema:item + rdfs:label "item" ; + schema:description "An entity represented by an entry in a list or data feed (e.g. an 'artist' in a list of 'artists')’." ; +. + +schema:itemCondition + rdfs:label "item condition" ; + schema:description "A predefined value from OfferItemCondition specifying the condition of the product or service, or the products or services included in the offer. Also used for product return policies to specify the condition of products accepted for returns." ; +. + +schema:itemDefectReturnFees + rdfs:label "itemDefect return fees" ; + schema:description "The type of return fees for returns of defect products." ; +. + +schema:itemDefectReturnLabelSource + rdfs:label "itemDefectReturn label source" ; + schema:description "The method (from an enumeration) by which the customer obtains a return shipping label for a defect product." ; +. + +schema:itemDefectReturnShippingFeesAmount + rdfs:label "itemDefectReturnShipping fees amount" ; + schema:description "Amount of shipping costs for defect product returns. Applicable when property [[itemDefectReturnFees]] equals [[ReturnShippingFees]]." ; +. + +schema:itemListElement + rdfs:label "item list element" ; + schema:description "For itemListElement values, you can use simple strings (e.g. \"Peter\", \"Paul\", \"Mary\"), existing entities, or use ListItem.\\n\\nText values are best if the elements in the list are plain strings. Existing entities are best for a simple, unordered list of existing things in your data. ListItem is used with ordered lists when you want to provide additional context about the element in that list or when the same item might be in different places in different lists.\\n\\nNote: The order of elements in your mark-up is not sufficient for indicating the order or elements. Use ListItem with a 'position' property in such cases." ; +. + +schema:itemListOrder + rdfs:label "item list order" ; + schema:description "Type of ordering (e.g. Ascending, Descending, Unordered)." ; +. + +schema:itemLocation + rdfs:label "item location"@en ; + schema:description "Current location of the item."@en ; +. + +schema:itemOffered + rdfs:label "item offered" ; + schema:description "An item being offered (or demanded). The transactional nature of the offer or demand is documented using [[businessFunction]], e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer." ; +. + +schema:itemReviewed + rdfs:label "item reviewed" ; + schema:description "The item that is being reviewed/rated." ; +. + +schema:itemShipped + rdfs:label "item shipped" ; + schema:description "Item(s) being shipped." ; +. + +schema:itinerary + rdfs:label "itinerary" ; + schema:description "Destination(s) ( [[Place]] ) that make up a trip. For a trip where destination order is important use [[ItemList]] to specify that order (see examples)." ; +. + +schema:iupacName + rdfs:label "iupac name" ; + schema:description "Systematic method of naming chemical compounds as recommended by the International Union of Pure and Applied Chemistry (IUPAC)." ; +. + +schema:jobBenefits + rdfs:label "job benefits" ; + schema:description "Description of benefits associated with the job." ; +. + +schema:jobImmediateStart + rdfs:label "job immediate start" ; + schema:description "An indicator as to whether a position is available for an immediate start." ; +. + +schema:jobLocation + rdfs:label "job location" ; + schema:description "A (typically single) geographic location associated with the job position." ; +. + +schema:jobLocationType + rdfs:label "job location type" ; + schema:description "A description of the job location (e.g TELECOMMUTE for telecommute jobs)." ; +. + +schema:jobStartDate + rdfs:label "job start date" ; + schema:description "The date on which a successful applicant for this job would be expected to start work. Choose a specific date in the future or use the jobImmediateStart property to indicate the position is to be filled as soon as possible." ; +. + +schema:jobTitle + rdfs:label "job title" ; + schema:description "The job title of the person (for example, Financial Manager)." ; +. + +schema:jurisdiction + rdfs:label "jurisdiction" ; + schema:description "Indicates a legal jurisdiction, e.g. of some legislation, or where some government service is based." ; +. + +schema:keywords + rdfs:label "keywords" ; + schema:description "Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas." ; +. + +schema:knownVehicleDamages + rdfs:label "known vehicle damages" ; + schema:description "A textual description of known damages, both repaired and unrepaired." ; +. + +schema:knows + rdfs:label "knows" ; + schema:description "The most generic bi-directional social/work relation." ; +. + +schema:knowsAbout + rdfs:label "knows about" ; + schema:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions." ; +. + +schema:knowsLanguage + rdfs:label "knows language" ; + schema:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47)." ; +. + +schema:labelDetails + rdfs:label "label details" ; + schema:description "Link to the drug's label details." ; +. + +schema:landlord + rdfs:label "landlord" ; + schema:description "A sub property of participant. The owner of the real estate property." ; +. + +schema:language + rdfs:label "language" ; + schema:description "A sub property of instrument. The language used on this action." ; +. + +schema:lastReviewed + rdfs:label "last reviewed" ; + schema:description "Date on which the content on this web page was last reviewed for accuracy and/or completeness." ; +. + +schema:latitude + rdfs:label "latitude" ; + schema:description "The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))." ; +. + +schema:layoutImage + rdfs:label "layout image" ; + schema:description "A schematic image showing the floorplan layout." ; +. + +schema:learningResourceType + rdfs:label "learning resource type" ; + schema:description "The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'." ; +. + +schema:leaseLength + rdfs:label "lease length" ; + schema:description "Length of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property." ; +. + +schema:legalName + rdfs:label "legal name" ; + schema:description "The official name of the organization, e.g. the registered company name." ; +. + +schema:legalStatus + rdfs:label "legal status" ; + schema:description "The drug or supplement's legal status, including any controlled substance schedules that apply." ; +. + +schema:legislationApplies + rdfs:label "legislation applies" ; + schema:description "Indicates that this legislation (or part of a legislation) somehow transfers another legislation in a different legislative context. This is an informative link, and it has no legal value. For legally-binding links of transposition, use the legislationTransposes property. For example an informative consolidated law of a European Union's member state \"applies\" the consolidated version of the European Directive implemented in it." ; +. + +schema:legislationChanges + rdfs:label "legislation changes" ; + schema:description "Another legislation that this legislation changes. This encompasses the notions of amendment, replacement, correction, repeal, or other types of change. This may be a direct change (textual or non-textual amendment) or a consequential or indirect change. The property is to be used to express the existence of a change relationship between two acts rather than the existence of a consolidated version of the text that shows the result of the change. For consolidation relationships, use the legislationConsolidates property." ; +. + +schema:legislationConsolidates + rdfs:label "legislation consolidates" ; + schema:description "Indicates another legislation taken into account in this consolidated legislation (which is usually the product of an editorial process that revises the legislation). This property should be used multiple times to refer to both the original version or the previous consolidated version, and to the legislations making the change." ; +. + +schema:legislationDate + rdfs:label "legislation date" ; + schema:description "The date of adoption or signature of the legislation. This is the date at which the text is officially aknowledged to be a legislation, even though it might not even be published or in force." ; +. + +schema:legislationDateVersion + rdfs:label "legislation date version" ; + schema:description "The point-in-time at which the provided description of the legislation is valid (e.g. : when looking at the law on the 2016-04-07 (= dateVersion), I get the consolidation of 2015-04-12 of the \"National Insurance Contributions Act 2015\")" ; +. + +schema:legislationIdentifier + rdfs:label "legislation identifier" ; + schema:description "An identifier for the legislation. This can be either a string-based identifier, like the CELEX at EU level or the NOR in France, or a web-based, URL/URI identifier, like an ELI (European Legislation Identifier) or an URN-Lex." ; +. + +schema:legislationJurisdiction + rdfs:label "legislation jurisdiction" ; + schema:description "The jurisdiction from which the legislation originates." ; +. + +schema:legislationLegalForce + rdfs:label "legislation legal force" ; + schema:description "Whether the legislation is currently in force, not in force, or partially in force." ; +. + +schema:legislationLegalValue + rdfs:label "legislation legal value" ; + schema:description "The legal value of this legislation file. The same legislation can be written in multiple files with different legal values. Typically a digitally signed PDF have a \"stronger\" legal value than the HTML file of the same act." ; +. + +schema:legislationPassedBy + rdfs:label "legislation passed by" ; + schema:description "The person or organization that originally passed or made the law : typically parliament (for primary legislation) or government (for secondary legislation). This indicates the \"legal author\" of the law, as opposed to its physical author." ; +. + +schema:legislationResponsible + rdfs:label "legislation responsible" ; + schema:description "An individual or organization that has some kind of responsibility for the legislation. Typically the ministry who is/was in charge of elaborating the legislation, or the adressee for potential questions about the legislation once it is published." ; +. + +schema:legislationTransposes + rdfs:label "legislation transposes" ; + schema:description "Indicates that this legislation (or part of legislation) fulfills the objectives set by another legislation, by passing appropriate implementation measures. Typically, some legislations of European Union's member states or regions transpose European Directives. This indicates a legally binding link between the 2 legislations." ; +. + +schema:legislationType + rdfs:label "legislation type" ; + schema:description "The type of the legislation. Examples of values are \"law\", \"act\", \"directive\", \"decree\", \"regulation\", \"statutory instrument\", \"loi organique\", \"règlement grand-ducal\", etc., depending on the country." ; +. + +schema:leiCode + rdfs:label "lei code" ; + schema:description "An organization identifier that uniquely identifies a legal entity as defined in ISO 17442." ; +. + +schema:lender + rdfs:label "lender" ; + schema:description "A sub property of participant. The person that lends the object being borrowed." ; +. + +schema:lesser + rdfs:label "lesser" ; + schema:description "This ordering relation for qualitative values indicates that the subject is lesser than the object." ; +. + +schema:lesserOrEqual + rdfs:label "lesser or equal" ; + schema:description "This ordering relation for qualitative values indicates that the subject is lesser than or equal to the object." ; +. + +schema:letterer + rdfs:label "letterer" ; + schema:description "The individual who adds lettering, including speech balloons and sound effects, to artwork." ; +. + +schema:license + rdfs:label "license" ; + schema:description "A license document that applies to this content, typically indicated by URL." ; +. + +schema:line + rdfs:label "line" ; + schema:description "A line is a point-to-point path consisting of two or more points. A line is expressed as a series of two or more point objects separated by space." ; +. + +schema:linkRelationship + rdfs:label "link relationship" ; + schema:description "Indicates the relationship type of a Web link. " ; +. + +schema:liveBlogUpdate + rdfs:label "live blog update" ; + schema:description "An update to the LiveBlog." ; +. + +schema:loanMortgageMandateAmount + rdfs:label "loanMortgage mandate amount" ; + schema:description "Amount of mortgage mandate that can be converted into a proper mortgage at a later stage." ; +. + +schema:loanPaymentAmount + rdfs:label "loan payment amount" ; + schema:description "The amount of money to pay in a single payment." ; +. + +schema:loanPaymentFrequency + rdfs:label "loan payment frequency" ; + schema:description "Frequency of payments due, i.e. number of months between payments. This is defined as a frequency, i.e. the reciprocal of a period of time." ; +. + +schema:loanRepaymentForm + rdfs:label "loan repayment form" ; + schema:description "A form of paying back money previously borrowed from a lender. Repayment usually takes the form of periodic payments that normally include part principal plus interest in each payment." ; +. + +schema:loanTerm + rdfs:label "loan term" ; + schema:description "The duration of the loan or credit agreement." ; +. + +schema:loanType + rdfs:label "loan type" ; + schema:description "The type of a loan or credit." ; +. + +schema:location + rdfs:label "location" ; + schema:description "The location of, for example, where an event is happening, where an organization is located, or where an action takes place." ; +. + +schema:locationCreated + rdfs:label "location created" ; + schema:description "The location where the CreativeWork was created, which may not be the same as the location depicted in the CreativeWork." ; +. + +schema:lodgingUnitDescription + rdfs:label "lodging unit description" ; + schema:description "A full description of the lodging unit." ; +. + +schema:lodgingUnitType + rdfs:label "lodging unit type" ; + schema:description "Textual description of the unit type (including suite vs. room, size of bed, etc.)." ; +. + +schema:logo + rdfs:label "logo" ; + schema:description "An associated logo." ; +. + +schema:longitude + rdfs:label "longitude" ; + schema:description "The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))." ; +. + +schema:loser + rdfs:label "loser" ; + schema:description "A sub property of participant. The loser of the action." ; +. + +schema:lowPrice + rdfs:label "low price" ; + schema:description "The lowest price of all offers available.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:lyricist + rdfs:label "lyricist" ; + schema:description "The person who wrote the words." ; +. + +schema:lyrics + rdfs:label "lyrics" ; + schema:description "The words in the song." ; +. + +schema:mainContentOfPage + rdfs:label "mainContent of page" ; + schema:description "Indicates if this web page element is the main subject of the page." ; +. + +schema:mainEntity + rdfs:label "main entity" ; + schema:description "Indicates the primary entity described in some page or other CreativeWork." ; +. + +schema:mainEntityOfPage + rdfs:label "mainEntity of page" ; + schema:description "Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details." ; +. + +schema:maintainer + rdfs:label "maintainer" ; + schema:description """A maintainer of a [[Dataset]], software package ([[SoftwareApplication]]), or other [[Project]]. A maintainer is a [[Person]] or [[Organization]] that manages contributions to, and/or publication of, some (typically complex) artifact. It is common for distributions of software and data to be based on "upstream" sources. When [[maintainer]] is applied to a specific version of something e.g. a particular version or packaging of a [[Dataset]], it is always possible that the upstream source has a different maintainer. The [[isBasedOn]] property can be used to indicate such relationships between datasets to make the different maintenance roles clear. Similarly in the case of software, a package may have dedicated maintainers working on integration into software distributions such as Ubuntu, as well as upstream maintainers of the underlying work. + """ ; +. + +schema:makesOffer + rdfs:label "makes offer" ; + schema:description "A pointer to products or services offered by the organization or person." ; +. + +schema:manufacturer + rdfs:label "manufacturer" ; + schema:description "The manufacturer of the product." ; +. + +schema:map + rdfs:label "map" ; + schema:description "A URL to a map of the place." ; +. + +schema:mapType + rdfs:label "map type" ; + schema:description "Indicates the kind of Map, from the MapCategoryType Enumeration." ; +. + +schema:maps + rdfs:label "maps" ; + schema:description "A URL to a map of the place." ; +. + +schema:marginOfError + rdfs:label "margin of error" ; + schema:description "A marginOfError for an [[Observation]]." ; +. + +schema:masthead + rdfs:label "masthead" ; + schema:description "For a [[NewsMediaOrganization]], a link to the masthead page or a page listing top editorial management." ; +. + +schema:material + rdfs:label "material" ; + schema:description "A material that something is made from, e.g. leather, wool, cotton, paper." ; +. + +schema:materialExtent + rdfs:label "material extent"@en ; + schema:description "The quantity of the materials being described or an expression of the physical space they occupy."@en ; +. + +schema:mathExpression + rdfs:label "math expression" ; + schema:description "A mathematical expression (e.g. 'x^2-3x=0') that may be solved for a specific variable, simplified, or transformed. This can take many formats, e.g. LaTeX, Ascii-Math, or math as you would write with a keyboard." ; +. + +schema:maxPrice + rdfs:label "max price" ; + schema:description "The highest price if the price is a range." ; +. + +schema:maxValue + rdfs:label "max value" ; + schema:description "The upper value of some characteristic or property." ; +. + +schema:maximumAttendeeCapacity + rdfs:label "maximum attendee capacity" ; + schema:description "The total number of individuals that may attend an event or venue." ; +. + +schema:maximumEnrollment + rdfs:label "maximum enrollment" ; + schema:description "The maximum number of students who may be enrolled in the program." ; +. + +schema:maximumIntake + rdfs:label "maximum intake" ; + schema:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority." ; +. + +schema:maximumPhysicalAttendeeCapacity + rdfs:label "maximumPhysical attendee capacity" ; + schema:description "The maximum physical attendee capacity of an [[Event]] whose [[eventAttendanceMode]] is [[OfflineEventAttendanceMode]] (or the offline aspects, in the case of a [[MixedEventAttendanceMode]]). " ; +. + +schema:maximumVirtualAttendeeCapacity + rdfs:label "maximumVirtual attendee capacity" ; + schema:description "The maximum physical attendee capacity of an [[Event]] whose [[eventAttendanceMode]] is [[OnlineEventAttendanceMode]] (or the online aspects, in the case of a [[MixedEventAttendanceMode]]). " ; +. + +schema:mealService + rdfs:label "meal service" ; + schema:description "Description of the meals that will be provided or available for purchase." ; +. + +schema:measuredProperty + rdfs:label "measured property" ; + schema:description "The measuredProperty of an [[Observation]], either a schema.org property, a property from other RDF-compatible systems e.g. W3C RDF Data Cube, or schema.org extensions such as [GS1's](https://www.gs1.org/voc/?show=properties)." ; +. + +schema:measuredValue + rdfs:label "measured value" ; + schema:description "The measuredValue of an [[Observation]]." ; +. + +schema:measurementTechnique + rdfs:label "measurement technique" ; + schema:description """A technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), +corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. + +For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: "mass spectrometry" or "nmr spectroscopy" or "colorimetry" or "immunofluorescence". + +If the [[variableMeasured]] is "depression rating", the [[measurementTechnique]] could be "Zung Scale" or "HAM-D" or "Beck Depression Inventory". + +If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. + """ ; +. + +schema:mechanismOfAction + rdfs:label "mechanism of action" ; + schema:description "The specific biochemical interaction through which this drug or supplement produces its pharmacological effect." ; +. + +schema:mediaAuthenticityCategory + rdfs:label "media authenticity category" ; + schema:description "Indicates a MediaManipulationRatingEnumeration classification of a media object (in the context of how it was published or shared)." ; +. + +schema:mediaItemAppearance + rdfs:label "media item appearance" ; + schema:description "In the context of a [[MediaReview]], indicates specific media item(s) that are grouped using a [[MediaReviewItem]]." ; +. + +schema:median + rdfs:label "median" ; + schema:description "The median value." ; +. + +schema:medicalAudience + rdfs:label "medical audience" ; + schema:description "Medical audience for page." ; +. + +schema:medicalSpecialty + rdfs:label "medical specialty" ; + schema:description "A medical specialty of the provider." ; +. + +schema:medicineSystem + rdfs:label "medicine system" ; + schema:description "The system of medicine that includes this MedicalEntity, for example 'evidence-based', 'homeopathic', 'chiropractic', etc." ; +. + +schema:meetsEmissionStandard + rdfs:label "meets emission standard" ; + schema:description "Indicates that the vehicle meets the respective emission standard." ; +. + +schema:member + rdfs:label "member" ; + schema:description "A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals." ; +. + +schema:memberOf + rdfs:label "member of" ; + schema:description "An Organization (or ProgramMembership) to which this Person or Organization belongs." ; +. + +schema:members + rdfs:label "members" ; + schema:description "A member of this organization." ; +. + +schema:membershipNumber + rdfs:label "membership number" ; + schema:description "A unique identifier for the membership." ; +. + +schema:membershipPointsEarned + rdfs:label "membership points earned" ; + schema:description "The number of membership points earned by the member. If necessary, the unitText can be used to express the units the points are issued in. (e.g. stars, miles, etc.)" ; +. + +schema:memoryRequirements + rdfs:label "memory requirements" ; + schema:description "Minimum memory requirements." ; +. + +schema:mentions + rdfs:label "mentions" ; + schema:description "Indicates that the CreativeWork contains a reference to, but is not necessarily about a concept." ; +. + +schema:menu + rdfs:label "menu" ; + schema:description "Either the actual menu as a structured representation, as text, or a URL of the menu." ; +. + +schema:menuAddOn + rdfs:label "menu add on" ; + schema:description "Additional menu item(s) such as a side dish of salad or side order of fries that can be added to this menu item. Additionally it can be a menu section containing allowed add-on menu items for this menu item." ; +. + +schema:merchant + rdfs:label "merchant" ; + schema:description "'merchant' is an out-dated term for 'seller'." ; +. + +schema:merchantReturnDays + rdfs:label "merchant return days" ; + schema:description "Specifies either a fixed return date or the number of days (from the delivery date) that a product can be returned. Used when the [[returnPolicyCategory]] property is specified as [[MerchantReturnFiniteReturnWindow]]." ; +. + +schema:merchantReturnLink + rdfs:label "merchant return link" ; + schema:description "Specifies a Web page or service by URL, for product returns." ; +. + +schema:messageAttachment + rdfs:label "message attachment" ; + schema:description "A CreativeWork attached to the message." ; +. + +schema:mileageFromOdometer + rdfs:label "mileage from odometer" ; + schema:description "The total distance travelled by the particular vehicle since its initial production, as read from its odometer.\\n\\nTypical unit code(s): KMT for kilometers, SMI for statute miles" ; +. + +schema:minPrice + rdfs:label "min price" ; + schema:description "The lowest price if the price is a range." ; +. + +schema:minValue + rdfs:label "min value" ; + schema:description "The lower value of some characteristic or property." ; +. + +schema:minimumPaymentDue + rdfs:label "minimum payment due" ; + schema:description "The minimum payment required at this time." ; +. + +schema:missionCoveragePrioritiesPolicy + rdfs:label "missionCoverage priorities policy" ; + schema:description "For a [[NewsMediaOrganization]], a statement on coverage priorities, including any public agenda or stance on issues." ; +. + +schema:model + rdfs:label "model" ; + schema:description "The model of the product. Use with the URL of a ProductModel or a textual representation of the model identifier. The URL of the ProductModel can be from an external source. It is recommended to additionally provide strong product identifiers via the gtin8/gtin13/gtin14 and mpn properties." ; +. + +schema:modelDate + rdfs:label "model date" ; + schema:description "The release date of a vehicle model (often used to differentiate versions of the same make and model)." ; +. + +schema:modifiedTime + rdfs:label "modified time" ; + schema:description "The date and time the reservation was modified." ; +. + +schema:molecularFormula + rdfs:label "molecular formula" ; + schema:description "The empirical formula is the simplest whole number ratio of all the atoms in a molecule." ; +. + +schema:molecularWeight + rdfs:label "molecular weight" ; + schema:description "This is the molecular weight of the entity being described, not of the parent. Units should be included in the form '<Number> <unit>', for example '12 amu' or as '<QuantitativeValue>." ; +. + +schema:monoisotopicMolecularWeight + rdfs:label "monoisotopic molecular weight" ; + schema:description "The monoisotopic mass is the sum of the masses of the atoms in a molecule using the unbound, ground-state, rest mass of the principal (most abundant) isotope for each element instead of the isotopic average mass. Please include the units the form '<Number> <unit>', for example '770.230488 g/mol' or as '<QuantitativeValue>." ; +. + +schema:monthlyMinimumRepaymentAmount + rdfs:label "monthlyMinimum repayment amount" ; + schema:description "The minimum payment is the lowest amount of money that one is required to pay on a credit card statement each month." ; +. + +schema:monthsOfExperience + rdfs:label "months of experience" ; + schema:description "Indicates the minimal number of months of experience required for a position." ; +. + +schema:mpn + rdfs:label "mpn" ; + schema:description "The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers." ; +. + +schema:multipleValues + rdfs:label "multiple values" ; + schema:description "Whether multiple values are allowed for the property. Default is false." ; +. + +schema:muscleAction + rdfs:label "muscle action" ; + schema:description "The movement the muscle generates." ; +. + +schema:musicArrangement + rdfs:label "music arrangement" ; + schema:description "An arrangement derived from the composition." ; +. + +schema:musicBy + rdfs:label "music by" ; + schema:description "The composer of the soundtrack." ; +. + +schema:musicCompositionForm + rdfs:label "music composition form" ; + schema:description "The type of composition (e.g. overture, sonata, symphony, etc.)." ; +. + +schema:musicGroupMember + rdfs:label "music group member" ; + schema:description "A member of a music group—for example, John, Paul, George, or Ringo." ; +. + +schema:musicReleaseFormat + rdfs:label "music release format" ; + schema:description "Format of this release (the type of recording media used, ie. compact disc, digital media, LP, etc.)." ; +. + +schema:musicalKey + rdfs:label "musical key" ; + schema:description "The key, mode, or scale this composition uses." ; +. + +schema:naics + rdfs:label "naics" ; + schema:description "The North American Industry Classification System (NAICS) code for a particular organization or business person." ; +. + +schema:name + rdfs:label "name" ; + schema:description "The name of the item." ; +. + +schema:namedPosition + rdfs:label "named position" ; + schema:description "A position played, performed or filled by a person or organization, as part of an organization. For example, an athlete in a SportsTeam might play in the position named 'Quarterback'." ; +. + +schema:nationality + rdfs:label "nationality" ; + schema:description "Nationality of the person." ; +. + +schema:naturalProgression + rdfs:label "natural progression" ; + schema:description "The expected progression of the condition if it is not treated and allowed to progress naturally." ; +. + +schema:negativeNotes + rdfs:label "negative notes" ; + schema:description "Indicates, in the context of a [[Review]] (e.g. framed as 'pro' vs 'con' considerations), negative considerations - either as unstructured text, or a list." ; +. + +schema:nerve + rdfs:label "nerve" ; + schema:description "The underlying innervation associated with the muscle." ; +. + +schema:nerveMotor + rdfs:label "nerve motor" ; + schema:description "The neurological pathway extension that involves muscle control." ; +. + +schema:netWorth + rdfs:label "net worth" ; + schema:description "The total financial value of the person as calculated by subtracting assets from liabilities." ; +. + +schema:newsUpdatesAndGuidelines + rdfs:label "newsUpdates and guidelines" ; + schema:description "Indicates a page with news updates and guidelines. This could often be (but is not required to be) the main page containing [[SpecialAnnouncement]] markup on a site." ; +. + +schema:nextItem + rdfs:label "next item" ; + schema:description "A link to the ListItem that follows the current one." ; +. + +schema:noBylinesPolicy + rdfs:label "no bylines policy" ; + schema:description "For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement explaining when authors of articles are not named in bylines." ; +. + +schema:nonEqual + rdfs:label "non equal" ; + schema:description "This ordering relation for qualitative values indicates that the subject is not equal to the object." ; +. + +schema:nonProprietaryName + rdfs:label "non proprietary name" ; + schema:description "The generic name of this drug or supplement." ; +. + +schema:nonprofitStatus + rdfs:label "nonprofit status" ; + schema:description "nonprofit Status indicates the legal status of a non-profit organization in its primary place of business." ; +. + +schema:normalRange + rdfs:label "normal range" ; + schema:description "Range of acceptable values for a typical patient, when applicable." ; +. + +schema:nsn + rdfs:label "nsn" ; + schema:description "Indicates the [NATO stock number](https://en.wikipedia.org/wiki/NATO_Stock_Number) (nsn) of a [[Product]]. " ; +. + +schema:numAdults + rdfs:label "num adults" ; + schema:description "The number of adults staying in the unit." ; +. + +schema:numChildren + rdfs:label "num children" ; + schema:description "The number of children staying in the unit." ; +. + +schema:numConstraints + rdfs:label "num constraints" ; + schema:description "Indicates the number of constraints (not counting [[populationType]]) defined for a particular [[StatisticalPopulation]]. This helps applications understand if they have access to a sufficiently complete description of a [[StatisticalPopulation]]." ; +. + +schema:numTracks + rdfs:label "num tracks" ; + schema:description "The number of tracks in this album or playlist." ; +. + +schema:numberOfAccommodationUnits + rdfs:label "numberOf accommodation units" ; + schema:description "Indicates the total (available plus unavailable) number of accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAvailableAccommodationUnits]]." ; +. + +schema:numberOfAirbags + rdfs:label "number of airbags" ; + schema:description "The number or type of airbags in the vehicle." ; +. + +schema:numberOfAvailableAccommodationUnits + rdfs:label "numberOfAvailable accommodation units" ; + schema:description "Indicates the number of available accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAccommodationUnits]]." ; +. + +schema:numberOfAxles + rdfs:label "number of axles" ; + schema:description "The number of axles.\\n\\nTypical unit code(s): C62" ; +. + +schema:numberOfBathroomsTotal + rdfs:label "numberOf bathrooms total" ; + schema:description "The total integer number of bathrooms in a some [[Accommodation]], following real estate conventions as [documented in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsTotalInteger+Field): \"The simple sum of the number of bathrooms. For example for a property with two Full Bathrooms and one Half Bathroom, the Bathrooms Total Integer will be 3.\". See also [[numberOfRooms]]." ; +. + +schema:numberOfBedrooms + rdfs:label "number of bedrooms" ; + schema:description "The total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]]." ; +. + +schema:numberOfBeds + rdfs:label "number of beds" ; + schema:description "The quantity of the given bed type available in the HotelRoom, Suite, House, or Apartment." ; +. + +schema:numberOfCredits + rdfs:label "number of credits" ; + schema:description "The number of credits or units awarded by a Course or required to complete an EducationalOccupationalProgram." ; +. + +schema:numberOfDoors + rdfs:label "number of doors" ; + schema:description "The number of doors.\\n\\nTypical unit code(s): C62" ; +. + +schema:numberOfEmployees + rdfs:label "number of employees" ; + schema:description "The number of employees in an organization e.g. business." ; +. + +schema:numberOfEpisodes + rdfs:label "number of episodes" ; + schema:description "The number of episodes in this season or series." ; +. + +schema:numberOfForwardGears + rdfs:label "numberOf forward gears" ; + schema:description "The total number of forward gears available for the transmission system of the vehicle.\\n\\nTypical unit code(s): C62" ; +. + +schema:numberOfFullBathrooms + rdfs:label "numberOf full bathrooms" ; + schema:description "Number of full bathrooms - The total number of full and ¾ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsFull field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsFull+Field)." ; +. + +schema:numberOfItems + rdfs:label "number of items" ; + schema:description "The number of items in an ItemList. Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination); in such cases, the numberOfItems would be for the entire list." ; +. + +schema:numberOfLoanPayments + rdfs:label "numberOf loan payments" ; + schema:description "The number of payments contractually required at origination to repay the loan. For monthly paying loans this is the number of months from the contractual first payment date to the maturity date." ; +. + +schema:numberOfPages + rdfs:label "number of pages" ; + schema:description "The number of pages in the book." ; +. + +schema:numberOfPartialBathrooms + rdfs:label "numberOf partial bathrooms" ; + schema:description "Number of partial bathrooms - The total number of half and ¼ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsPartial field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsPartial+Field). " ; +. + +schema:numberOfPlayers + rdfs:label "number of players" ; + schema:description "Indicate how many people can play this game (minimum, maximum, or range)." ; +. + +schema:numberOfPreviousOwners + rdfs:label "numberOf previous owners" ; + schema:description "The number of owners of the vehicle, including the current one.\\n\\nTypical unit code(s): C62" ; +. + +schema:numberOfRooms + rdfs:label "number of rooms" ; + schema:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. +Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.""" ; +. + +schema:numberOfSeasons + rdfs:label "number of seasons" ; + schema:description "The number of seasons in this series." ; +. + +schema:numberedPosition + rdfs:label "numbered position" ; + schema:description "A number associated with a role in an organization, for example, the number on an athlete's jersey." ; +. + +schema:nutrition + rdfs:label "nutrition" ; + schema:description "Nutrition information about the recipe or menu item." ; +. + +schema:object + rdfs:label "object" ; + schema:description "The object upon which the action is carried out, whose state is kept intact or changed. Also known as the semantic roles patient, affected or undergoer (which change their state) or theme (which doesn't). e.g. John read *a book*." ; +. + +schema:observationDate + rdfs:label "observation date" ; + schema:description "The observationDate of an [[Observation]]." ; +. + +schema:observedNode + rdfs:label "observed node" ; + schema:description "The observedNode of an [[Observation]], often a [[StatisticalPopulation]]." ; +. + +schema:occupancy + rdfs:label "occupancy" ; + schema:description """The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). +Typical unit code(s): C62 for person""" ; +. + +schema:occupationLocation + rdfs:label "occupation location" ; + schema:description " The region/country for which this occupational description is appropriate. Note that educational requirements and qualifications can vary between jurisdictions." ; +. + +schema:occupationalCategory + rdfs:label "occupational category" ; + schema:description """A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\\n +Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC.""" ; +. + +schema:occupationalCredentialAwarded + rdfs:label "occupational credential awarded" ; + schema:description "A description of the qualification, award, certificate, diploma or other occupational credential awarded as a consequence of successful completion of this course or program." ; +. + +schema:offerCount + rdfs:label "offer count" ; + schema:description "The number of offers for the product." ; +. + +schema:offeredBy + rdfs:label "offered by" ; + schema:description "A pointer to the organization or person making the offer." ; +. + +schema:offers + rdfs:label "offers" ; + schema:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. + """ ; +. + +schema:offersPrescriptionByMail + rdfs:label "offersPrescription by mail" ; + schema:description "Whether prescriptions can be delivered by mail." ; +. + +schema:openingHours + rdfs:label "opening hours" ; + schema:description "The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ',' separating each day. Day or time ranges are specified using a hyphen '-'.\\n\\n* Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```.\\n* Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. \\n* Here is an example: <time itemprop=\"openingHours\" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>.\\n* If a business is open 7 days a week, then it can be specified as <time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time>." ; +. + +schema:openingHoursSpecification + rdfs:label "opening hours specification" ; + schema:description "The opening hours of a certain place." ; +. + +schema:opens + rdfs:label "opens" ; + schema:description "The opening hour of the place or service on the given day(s) of the week." ; +. + +schema:operatingSystem + rdfs:label "operating system" ; + schema:description "Operating systems supported (Windows 7, OSX 10.6, Android 1.6)." ; +. + +schema:opponent + rdfs:label "opponent" ; + schema:description "A sub property of participant. The opponent on this action." ; +. + +schema:option + rdfs:label "option" ; + schema:description "A sub property of object. The options subject to this action." ; +. + +schema:orderDate + rdfs:label "order date" ; + schema:description "Date order was placed." ; +. + +schema:orderDelivery + rdfs:label "order delivery" ; + schema:description "The delivery of the parcel related to this order or order item." ; +. + +schema:orderItemNumber + rdfs:label "order item number" ; + schema:description "The identifier of the order item." ; +. + +schema:orderItemStatus + rdfs:label "order item status" ; + schema:description "The current status of the order item." ; +. + +schema:orderNumber + rdfs:label "order number" ; + schema:description "The identifier of the transaction." ; +. + +schema:orderQuantity + rdfs:label "order quantity" ; + schema:description "The number of the item ordered. If the property is not set, assume the quantity is one." ; +. + +schema:orderStatus + rdfs:label "order status" ; + schema:description "The current status of the order." ; +. + +schema:orderedItem + rdfs:label "ordered item" ; + schema:description "The item ordered." ; +. + +schema:organizer + rdfs:label "organizer" ; + schema:description "An organizer of an Event." ; +. + +schema:originAddress + rdfs:label "origin address" ; + schema:description "Shipper's address." ; +. + +schema:originalMediaContextDescription + rdfs:label "originalMedia context description" ; + schema:description "Describes, in a [[MediaReview]] when dealing with [[DecontextualizedContent]], background information that can contribute to better interpretation of the [[MediaObject]]." ; +. + +schema:originalMediaLink + rdfs:label "original media link" ; + schema:description "Link to the page containing an original version of the content, or directly to an online copy of the original [[MediaObject]] content, e.g. video file." ; +. + +schema:originatesFrom + rdfs:label "originates from" ; + schema:description "The vasculature the lymphatic structure originates, or afferents, from." ; +. + +schema:overdosage + rdfs:label "overdosage" ; + schema:description "Any information related to overdose on a drug, including signs or symptoms, treatments, contact information for emergency response." ; +. + +schema:ownedFrom + rdfs:label "owned from" ; + schema:description "The date and time of obtaining the product." ; +. + +schema:ownedThrough + rdfs:label "owned through" ; + schema:description "The date and time of giving up ownership on the product." ; +. + +schema:ownershipFundingInfo + rdfs:label "ownership funding info" ; + schema:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable." ; +. + +schema:owns + rdfs:label "owns" ; + schema:description "Products owned by the organization or person." ; +. + +schema:pageEnd + rdfs:label "page end" ; + schema:description "The page on which the work ends; for example \"138\" or \"xvi\"." ; +. + +schema:pageStart + rdfs:label "page start" ; + schema:description "The page on which the work starts; for example \"135\" or \"xiii\"." ; +. + +schema:pagination + rdfs:label "pagination" ; + schema:description "Any description of pages that is not separated into pageStart and pageEnd; for example, \"1-6, 9, 55\" or \"10-12, 46-49\"." ; +. + +schema:parent + rdfs:label "parent" ; + schema:description "A parent of this person." ; +. + +schema:parentItem + rdfs:label "parent item" ; + schema:description "The parent of a question, answer or item in general." ; +. + +schema:parentOrganization + rdfs:label "parent organization" ; + schema:description "The larger organization that this organization is a [[subOrganization]] of, if any." ; +. + +schema:parentService + rdfs:label "parent service" ; + schema:description "A broadcast service to which the broadcast service may belong to such as regional variations of a national channel." ; +. + +schema:parentTaxon + rdfs:label "parent taxon" ; + schema:description "Closest parent taxon of the taxon in question." ; +. + +schema:parents + rdfs:label "parents" ; + schema:description "A parents of the person." ; +. + +schema:partOfEpisode + rdfs:label "part of episode" ; + schema:description "The episode to which this clip belongs." ; +. + +schema:partOfInvoice + rdfs:label "part of invoice" ; + schema:description "The order is being paid as part of the referenced Invoice." ; +. + +schema:partOfOrder + rdfs:label "part of order" ; + schema:description "The overall order the items in this delivery were included in." ; +. + +schema:partOfSeason + rdfs:label "part of season" ; + schema:description "The season to which this episode belongs." ; +. + +schema:partOfSeries + rdfs:label "part of series" ; + schema:description "The series to which this episode or season belongs." ; +. + +schema:partOfSystem + rdfs:label "part of system" ; + schema:description "The anatomical or organ system that this structure is part of." ; +. + +schema:partOfTVSeries + rdfs:label "part of tvseries" ; + schema:description "The TV series to which this episode or season belongs." ; +. + +schema:partOfTrip + rdfs:label "part of trip" ; + schema:description "Identifies that this [[Trip]] is a subTrip of another Trip. For example Day 1, Day 2, etc. of a multi-day trip." ; +. + +schema:participant + rdfs:label "participant" ; + schema:description "Other co-agents that participated in the action indirectly. e.g. John wrote a book with *Steve*." ; +. + +schema:partySize + rdfs:label "party size" ; + schema:description "Number of people the reservation should accommodate." ; +. + +schema:passengerPriorityStatus + rdfs:label "passenger priority status" ; + schema:description "The priority status assigned to a passenger for security or boarding (e.g. FastTrack or Priority)." ; +. + +schema:passengerSequenceNumber + rdfs:label "passenger sequence number" ; + schema:description "The passenger's sequence number as assigned by the airline." ; +. + +schema:pathophysiology + rdfs:label "pathophysiology" ; + schema:description "Changes in the normal mechanical, physical, and biochemical functions that are associated with this activity or condition." ; +. + +schema:pattern + rdfs:label "pattern" ; + schema:description "A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported." ; +. + +schema:payload + rdfs:label "payload" ; + schema:description "The permitted weight of passengers and cargo, EXCLUDING the weight of the empty vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: Many databases specify the permitted TOTAL weight instead, which is the sum of [[weight]] and [[payload]]\\n* Note 2: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 3: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 4: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:paymentAccepted + rdfs:label "payment accepted" ; + schema:description "Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc." ; +. + +schema:paymentDue + rdfs:label "payment due" ; + schema:description "The date that payment is due." ; +. + +schema:paymentDueDate + rdfs:label "payment due date" ; + schema:description "The date that payment is due." ; +. + +schema:paymentMethod + rdfs:label "payment method" ; + schema:description "The name of the credit card or other method of payment for the order." ; +. + +schema:paymentMethodId + rdfs:label "payment method id" ; + schema:description "An identifier for the method of payment used (e.g. the last 4 digits of the credit card)." ; +. + +schema:paymentStatus + rdfs:label "payment status" ; + schema:description "The status of payment; whether the invoice has been paid or not." ; +. + +schema:paymentUrl + rdfs:label "payment url" ; + schema:description "The URL for sending a payment." ; +. + +schema:penciler + rdfs:label "penciler" ; + schema:description "The individual who draws the primary narrative artwork." ; +. + +schema:percentile10 + rdfs:label "percentile10" ; + schema:description "The 10th percentile value." ; +. + +schema:percentile25 + rdfs:label "percentile25" ; + schema:description "The 25th percentile value." ; +. + +schema:percentile75 + rdfs:label "percentile75" ; + schema:description "The 75th percentile value." ; +. + +schema:percentile90 + rdfs:label "percentile90" ; + schema:description "The 90th percentile value." ; +. + +schema:performTime + rdfs:label "perform time" ; + schema:description "The length of time it takes to perform instructions or a direction (not including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:performer + rdfs:label "performer" ; + schema:description "A performer at the event—for example, a presenter, musician, musical group or actor." ; +. + +schema:performerIn + rdfs:label "performer in" ; + schema:description "Event that this person is a performer or participant in." ; +. + +schema:performers + rdfs:label "performers" ; + schema:description "The main performer or performers of the event—for example, a presenter, musician, or actor." ; +. + +schema:permissionType + rdfs:label "permission type" ; + schema:description "The type of permission granted the person, organization, or audience." ; +. + +schema:permissions + rdfs:label "permissions" ; + schema:description "Permission(s) required to run the app (for example, a mobile app may require full internet access or may run only on wifi)." ; +. + +schema:permitAudience + rdfs:label "permit audience" ; + schema:description "The target audience for this permit." ; +. + +schema:permittedUsage + rdfs:label "permitted usage" ; + schema:description "Indications regarding the permitted usage of the accommodation." ; +. + +schema:petsAllowed + rdfs:label "pets allowed" ; + schema:description "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value." ; +. + +schema:phoneticText + rdfs:label "phonetic text" ; + schema:description "Representation of a text [[textValue]] using the specified [[speechToTextMarkup]]. For example the city name of Houston in IPA: /ˈhjuːstən/." ; +. + +schema:photo + rdfs:label "photo" ; + schema:description "A photograph of this place." ; +. + +schema:photos + rdfs:label "photos" ; + schema:description "Photographs of this place." ; +. + +schema:physicalRequirement + rdfs:label "physical requirement" ; + schema:description "A description of the types of physical activity associated with the job. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term." ; +. + +schema:physiologicalBenefits + rdfs:label "physiological benefits" ; + schema:description "Specific physiologic benefits associated to the plan." ; +. + +schema:pickupLocation + rdfs:label "pickup location" ; + schema:description "Where a taxi will pick up a passenger or a rental car can be picked up." ; +. + +schema:pickupTime + rdfs:label "pickup time" ; + schema:description "When a taxi will pickup a passenger or a rental car can be picked up." ; +. + +schema:playMode + rdfs:label "play mode" ; + schema:description "Indicates whether this game is multi-player, co-op or single-player. The game can be marked as multi-player, co-op and single-player at the same time." ; +. + +schema:playerType + rdfs:label "player type" ; + schema:description "Player type required—for example, Flash or Silverlight." ; +. + +schema:playersOnline + rdfs:label "players online" ; + schema:description "Number of players on the server." ; +. + +schema:polygon + rdfs:label "polygon" ; + schema:description "A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more space delimited points where the first and final points are identical." ; +. + +schema:populationType + rdfs:label "population type" ; + schema:description "Indicates the populationType common to all members of a [[StatisticalPopulation]]." ; +. + +schema:position + rdfs:label "position" ; + schema:description "The position of an item in a series or sequence of items." ; +. + +schema:positiveNotes + rdfs:label "positive notes" ; + schema:description "Indicates, in the context of a [[Review]] (e.g. framed as 'pro' vs 'con' considerations), positive considerations - either as unstructured text, or a list." ; +. + +schema:possibleComplication + rdfs:label "possible complication" ; + schema:description "A possible unexpected and unfavorable evolution of a medical condition. Complications may include worsening of the signs or symptoms of the disease, extension of the condition to other organ systems, etc." ; +. + +schema:possibleTreatment + rdfs:label "possible treatment" ; + schema:description "A possible treatment to address this condition, sign or symptom." ; +. + +schema:postOfficeBoxNumber + rdfs:label "postOffice box number" ; + schema:description "The post office box number for PO box addresses." ; +. + +schema:postOp + rdfs:label "post op" ; + schema:description "A description of the postoperative procedures, care, and/or followups for this device." ; +. + +schema:postalCode + rdfs:label "postal code" ; + schema:description "The postal code. For example, 94043." ; +. + +schema:postalCodeBegin + rdfs:label "postal code begin" ; + schema:description "First postal code in a range (included)." ; +. + +schema:postalCodeEnd + rdfs:label "postal code end" ; + schema:description "Last postal code in the range (included). Needs to be after [[postalCodeBegin]]." ; +. + +schema:postalCodePrefix + rdfs:label "postal code prefix" ; + schema:description "A defined range of postal codes indicated by a common textual prefix. Used for non-numeric systems such as UK." ; +. + +schema:postalCodeRange + rdfs:label "postal code range" ; + schema:description "A defined range of postal codes." ; +. + +schema:potentialAction + rdfs:label "potential action" ; + schema:description "Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role." ; +. + +schema:potentialUse + rdfs:label "potential use" ; + schema:description "Intended use of the BioChemEntity by humans." ; +. + +schema:preOp + rdfs:label "pre op" ; + schema:description "A description of the workup, testing, and other preparations required before implanting this device." ; +. + +schema:predecessorOf + rdfs:label "predecessor of" ; + schema:description "A pointer from a previous, often discontinued variant of the product to its newer variant." ; +. + +schema:pregnancyCategory + rdfs:label "pregnancy category" ; + schema:description "Pregnancy category of this drug." ; +. + +schema:pregnancyWarning + rdfs:label "pregnancy warning" ; + schema:description "Any precaution, guidance, contraindication, etc. related to this drug's use during pregnancy." ; +. + +schema:prepTime + rdfs:label "prep time" ; + schema:description "The length of time it takes to prepare the items to be used in instructions or a direction, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:preparation + rdfs:label "preparation" ; + schema:description "Typical preparation that a patient must undergo before having the procedure performed." ; +. + +schema:prescribingInfo + rdfs:label "prescribing info" ; + schema:description "Link to prescribing information for the drug." ; +. + +schema:prescriptionStatus + rdfs:label "prescription status" ; + schema:description "Indicates the status of drug prescription eg. local catalogs classifications or whether the drug is available by prescription or over-the-counter, etc." ; +. + +schema:previousItem + rdfs:label "previous item" ; + schema:description "A link to the ListItem that preceeds the current one." ; +. + +schema:previousStartDate + rdfs:label "previous start date" ; + schema:description "Used in conjunction with eventStatus for rescheduled or cancelled events. This property contains the previously scheduled start date. For rescheduled events, the startDate property should be used for the newly scheduled start date. In the (rare) case of an event that has been postponed and rescheduled multiple times, this field may be repeated." ; +. + +schema:price + rdfs:label "price" ; + schema:description """The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\\n\\nUsage guidelines:\\n\\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a "content=" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. + """ ; +. + +schema:priceComponent + rdfs:label "price component" ; + schema:description "This property links to all [[UnitPriceSpecification]] nodes that apply in parallel for the [[CompoundPriceSpecification]] node." ; +. + +schema:priceComponentType + rdfs:label "price component type" ; + schema:description "Identifies a price component (for example, a line item on an invoice), part of the total price for an offer." ; +. + +schema:priceCurrency + rdfs:label "price currency" ; + schema:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"." ; +. + +schema:priceRange + rdfs:label "price range" ; + schema:description "The price range of the business, for example ```$$$```." ; +. + +schema:priceSpecification + rdfs:label "price specification" ; + schema:description "One or more detailed price specifications, indicating the unit price and delivery or payment charges." ; +. + +schema:priceType + rdfs:label "price type" ; + schema:description "Defines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration." ; +. + +schema:priceValidUntil + rdfs:label "price valid until" ; + schema:description "The date after which the price is no longer available." ; +. + +schema:primaryImageOfPage + rdfs:label "primaryImage of page" ; + schema:description "Indicates the main image on the page." ; +. + +schema:primaryPrevention + rdfs:label "primary prevention" ; + schema:description "A preventative therapy used to prevent an initial occurrence of the medical condition, such as vaccination." ; +. + +schema:printColumn + rdfs:label "print column" ; + schema:description "The number of the column in which the NewsArticle appears in the print edition." ; +. + +schema:printEdition + rdfs:label "print edition" ; + schema:description "The edition of the print product in which the NewsArticle appears." ; +. + +schema:printPage + rdfs:label "print page" ; + schema:description "If this NewsArticle appears in print, this field indicates the name of the page on which the article is found. Please note that this field is intended for the exact page name (e.g. A5, B18)." ; +. + +schema:printSection + rdfs:label "print section" ; + schema:description "If this NewsArticle appears in print, this field indicates the print section in which the article appeared." ; +. + +schema:procedure + rdfs:label "procedure" ; + schema:description "A description of the procedure involved in setting up, using, and/or installing the device." ; +. + +schema:procedureType + rdfs:label "procedure type" ; + schema:description "The type of procedure, for example Surgical, Noninvasive, or Percutaneous." ; +. + +schema:processingTime + rdfs:label "processing time" ; + schema:description "Estimated processing time for the service using this channel." ; +. + +schema:processorRequirements + rdfs:label "processor requirements" ; + schema:description "Processor architecture required to run the application (e.g. IA64)." ; +. + +schema:producer + rdfs:label "producer" ; + schema:description "The person or organization who produced the work (e.g. music album, movie, tv/radio series etc.)." ; +. + +schema:produces + rdfs:label "produces" ; + schema:description "The tangible thing generated by the service, e.g. a passport, permit, etc." ; +. + +schema:productGroupID + rdfs:label "product group id" ; + schema:description "Indicates a textual identifier for a ProductGroup." ; +. + +schema:productID + rdfs:label "product id" ; + schema:description "The product identifier, such as ISBN. For example: ``` meta itemprop=\"productID\" content=\"isbn:123-456-789\" ```." ; +. + +schema:productSupported + rdfs:label "product supported" ; + schema:description "The product or service this support contact point is related to (such as product support for a particular product line). This can be a specific product or product line (e.g. \"iPhone\") or a general category of products or services (e.g. \"smartphones\")." ; +. + +schema:productionCompany + rdfs:label "production company" ; + schema:description "The production company or studio responsible for the item e.g. series, video game, episode etc." ; +. + +schema:productionDate + rdfs:label "production date" ; + schema:description "The date of production of the item, e.g. vehicle." ; +. + +schema:proficiencyLevel + rdfs:label "proficiency level" ; + schema:description "Proficiency needed for this content; expected values: 'Beginner', 'Expert'." ; +. + +schema:programMembershipUsed + rdfs:label "program membership used" ; + schema:description "Any membership in a frequent flyer, hotel loyalty program, etc. being applied to the reservation." ; +. + +schema:programName + rdfs:label "program name" ; + schema:description "The program providing the membership." ; +. + +schema:programPrerequisites + rdfs:label "program prerequisites" ; + schema:description "Prerequisites for enrolling in the program." ; +. + +schema:programType + rdfs:label "program type" ; + schema:description "The type of educational or occupational program. For example, classroom, internship, alternance, etc.." ; +. + +schema:programmingLanguage + rdfs:label "programming language" ; + schema:description "The computer programming language." ; +. + +schema:programmingModel + rdfs:label "programming model" ; + schema:description "Indicates whether API is managed or unmanaged." ; +. + +schema:propertyID + rdfs:label "property id" ; + schema:description """A commonly used identifier for the characteristic represented by the property, e.g. a manufacturer or a standard code for a property. propertyID can be +(1) a prefixed string, mainly meant to be used with standards for product properties; (2) a site-specific, non-prefixed string (e.g. the primary key of the property or the vendor-specific id of the property), or (3) +a URL indicating the type of the property, either pointing to an external vocabulary, or a Web resource that describes the property (e.g. a glossary entry). +Standards bodies should promote a standard prefix for the identifiers of properties from their standards.""" ; +. + +schema:proprietaryName + rdfs:label "proprietary name" ; + schema:description "Proprietary name given to the diet plan, typically by its originator or creator." ; +. + +schema:proteinContent + rdfs:label "protein content" ; + schema:description "The number of grams of protein." ; +. + +schema:provider + rdfs:label "provider" ; + schema:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller." ; +. + +schema:providerMobility + rdfs:label "provider mobility" ; + schema:description "Indicates the mobility of a provided service (e.g. 'static', 'dynamic')." ; +. + +schema:providesBroadcastService + rdfs:label "provides broadcast service" ; + schema:description "The BroadcastService offered on this channel." ; +. + +schema:providesService + rdfs:label "provides service" ; + schema:description "The service provided by this channel." ; +. + +schema:publicAccess + rdfs:label "public access" ; + schema:description "A flag to signal that the [[Place]] is open to public visitors. If this property is omitted there is no assumed default boolean value" ; +. + +schema:publicTransportClosuresInfo + rdfs:label "publicTransport closures info" ; + schema:description "Information about public transport closures." ; +. + +schema:publication + rdfs:label "publication" ; + schema:description "A publication event associated with the item." ; +. + +schema:publicationType + rdfs:label "publication type" ; + schema:description "The type of the medical article, taken from the US NLM MeSH publication type catalog. See also [MeSH documentation](http://www.nlm.nih.gov/mesh/pubtypes.html)." ; +. + +schema:publishedBy + rdfs:label "published by" ; + schema:description "An agent associated with the publication event." ; +. + +schema:publishedOn + rdfs:label "published on" ; + schema:description "A broadcast service associated with the publication event." ; +. + +schema:publisher + rdfs:label "publisher" ; + schema:description "The publisher of the creative work." ; +. + +schema:publisherImprint + rdfs:label "publisher imprint" ; + schema:description "The publishing division which published the comic." ; +. + +schema:publishingPrinciples + rdfs:label "publishing principles" ; + schema:description """The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. + +While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. +""" ; +. + +schema:purchaseDate + rdfs:label "purchase date" ; + schema:description "The date the item e.g. vehicle was purchased by the current owner." ; +. + +schema:qualifications + rdfs:label "qualifications" ; + schema:description "Specific qualifications required for this role or Occupation." ; +. + +schema:quarantineGuidelines + rdfs:label "quarantine guidelines" ; + schema:description "Guidelines about quarantine rules, e.g. in the context of a pandemic." ; +. + +schema:query + rdfs:label "query" ; + schema:description "A sub property of instrument. The query used on this action." ; +. + +schema:quest + rdfs:label "quest" ; + schema:description "The task that a player-controlled character, or group of characters may complete in order to gain a reward." ; +. + +schema:question + rdfs:label "question" ; + schema:description "A sub property of object. A question." ; +. + +schema:rangeIncludes + rdfs:label "range includes" ; + schema:description "Relates a property to a class that constitutes (one of) the expected type(s) for values of the property." ; +. + +schema:ratingCount + rdfs:label "rating count" ; + schema:description "The count of total number of ratings." ; +. + +schema:ratingExplanation + rdfs:label "rating explanation" ; + schema:description "A short explanation (e.g. one to two sentences) providing background context and other information that led to the conclusion expressed in the rating. This is particularly applicable to ratings associated with \"fact check\" markup using [[ClaimReview]]." ; +. + +schema:ratingValue + rdfs:label "rating value" ; + schema:description "The rating for the content.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:readBy + rdfs:label "read by" ; + schema:description "A person who reads (performs) the audiobook." ; +. + +schema:readonlyValue + rdfs:label "readonly value" ; + schema:description "Whether or not a property is mutable. Default is false. Specifying this for a property that also has a value makes it act similar to a \"hidden\" input in an HTML form." ; +. + +schema:realEstateAgent + rdfs:label "real estate agent" ; + schema:description "A sub property of participant. The real estate agent involved in the action." ; +. + +schema:recipe + rdfs:label "recipe" ; + schema:description "A sub property of instrument. The recipe/instructions used to perform the action." ; +. + +schema:recipeCategory + rdfs:label "recipe category" ; + schema:description "The category of the recipe—for example, appetizer, entree, etc." ; +. + +schema:recipeCuisine + rdfs:label "recipe cuisine" ; + schema:description "The cuisine of the recipe (for example, French or Ethiopian)." ; +. + +schema:recipeIngredient + rdfs:label "recipe ingredient" ; + schema:description "A single ingredient used in the recipe, e.g. sugar, flour or garlic." ; +. + +schema:recipeInstructions + rdfs:label "recipe instructions" ; + schema:description "A step in making the recipe, in the form of a single item (document, video, etc.) or an ordered list with HowToStep and/or HowToSection items." ; +. + +schema:recipeYield + rdfs:label "recipe yield" ; + schema:description "The quantity produced by the recipe (for example, number of people served, number of servings, etc)." ; +. + +schema:recipient + rdfs:label "recipient" ; + schema:description "A sub property of participant. The participant who is at the receiving end of the action." ; +. + +schema:recognizedBy + rdfs:label "recognized by" ; + schema:description "An organization that acknowledges the validity, value or utility of a credential. Note: recognition may include a process of quality assurance or accreditation." ; +. + +schema:recognizingAuthority + rdfs:label "recognizing authority" ; + schema:description "If applicable, the organization that officially recognizes this entity as part of its endorsed system of medicine." ; +. + +schema:recommendationStrength + rdfs:label "recommendation strength" ; + schema:description "Strength of the guideline's recommendation (e.g. 'class I')." ; +. + +schema:recommendedIntake + rdfs:label "recommended intake" ; + schema:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority." ; +. + +schema:recordLabel + rdfs:label "record label" ; + schema:description "The label that issued the release." ; +. + +schema:recordedAs + rdfs:label "recorded as" ; + schema:description "An audio recording of the work." ; +. + +schema:recordedAt + rdfs:label "recorded at" ; + schema:description "The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event." ; +. + +schema:recordedIn + rdfs:label "recorded in" ; + schema:description "The CreativeWork that captured all or part of this Event." ; +. + +schema:recordingOf + rdfs:label "recording of" ; + schema:description "The composition this track is a recording of." ; +. + +schema:recourseLoan + rdfs:label "recourse loan" ; + schema:description "The only way you get the money back in the event of default is the security. Recourse is where you still have the opportunity to go back to the borrower for the rest of the money." ; +. + +schema:referenceQuantity + rdfs:label "reference quantity" ; + schema:description "The reference quantity for which a certain price applies, e.g. 1 EUR per 4 kWh of electricity. This property is a replacement for unitOfMeasurement for the advanced cases where the price does not relate to a standard unit." ; +. + +schema:referencesOrder + rdfs:label "references order" ; + schema:description "The Order(s) related to this Invoice. One or more Orders may be combined into a single Invoice." ; +. + +schema:refundType + rdfs:label "refund type" ; + schema:description "A refund type, from an enumerated list." ; +. + +schema:regionDrained + rdfs:label "region drained" ; + schema:description "The anatomical or organ system drained by this vessel; generally refers to a specific part of an organ." ; +. + +schema:regionsAllowed + rdfs:label "regions allowed" ; + schema:description "The regions where the media is allowed. If not specified, then it's assumed to be allowed everywhere. Specify the countries in [ISO 3166 format](http://en.wikipedia.org/wiki/ISO_3166)." ; +. + +schema:relatedAnatomy + rdfs:label "related anatomy" ; + schema:description "Anatomical systems or structures that relate to the superficial anatomy." ; +. + +schema:relatedCondition + rdfs:label "related condition" ; + schema:description "A medical condition associated with this anatomy." ; +. + +schema:relatedDrug + rdfs:label "related drug" ; + schema:description "Any other drug related to this one, for example commonly-prescribed alternatives." ; +. + +schema:relatedLink + rdfs:label "related link" ; + schema:description "A link related to this web page, for example to other related web pages." ; +. + +schema:relatedStructure + rdfs:label "related structure" ; + schema:description "Related anatomical structure(s) that are not part of the system but relate or connect to it, such as vascular bundles associated with an organ system." ; +. + +schema:relatedTherapy + rdfs:label "related therapy" ; + schema:description "A medical therapy related to this anatomy." ; +. + +schema:relatedTo + rdfs:label "related to" ; + schema:description "The most generic familial relation." ; +. + +schema:releaseDate + rdfs:label "release date" ; + schema:description "The release date of a product or product model. This can be used to distinguish the exact variant of a product." ; +. + +schema:releaseNotes + rdfs:label "release notes" ; + schema:description "Description of what changed in this version." ; +. + +schema:releaseOf + rdfs:label "release of" ; + schema:description "The album this is a release of." ; +. + +schema:releasedEvent + rdfs:label "released event" ; + schema:description "The place and time the release was issued, expressed as a PublicationEvent." ; +. + +schema:relevantOccupation + rdfs:label "relevant occupation" ; + schema:description "The Occupation for the JobPosting." ; +. + +schema:relevantSpecialty + rdfs:label "relevant specialty" ; + schema:description "If applicable, a medical specialty in which this entity is relevant." ; +. + +schema:remainingAttendeeCapacity + rdfs:label "remaining attendee capacity" ; + schema:description "The number of attendee places for an event that remain unallocated." ; +. + +schema:renegotiableLoan + rdfs:label "renegotiable loan" ; + schema:description "Whether the terms for payment of interest can be renegotiated during the life of the loan." ; +. + +schema:repeatCount + rdfs:label "repeat count" ; + schema:description "Defines the number of times a recurring [[Event]] will take place" ; +. + +schema:repeatFrequency + rdfs:label "repeat frequency" ; + schema:description """Defines the frequency at which [[Event]]s will occur according to a schedule [[Schedule]]. The intervals between + events should be defined as a [[Duration]] of time.""" ; +. + +schema:repetitions + rdfs:label "repetitions" ; + schema:description "Number of times one should repeat the activity." ; +. + +schema:replacee + rdfs:label "replacee" ; + schema:description "A sub property of object. The object that is being replaced." ; +. + +schema:replacer + rdfs:label "replacer" ; + schema:description "A sub property of object. The object that replaces." ; +. + +schema:replyToUrl + rdfs:label "reply to url" ; + schema:description "The URL at which a reply may be posted to the specified UserComment." ; +. + +schema:reportNumber + rdfs:label "report number" ; + schema:description "The number or other unique designator assigned to a Report by the publishing organization." ; +. + +schema:representativeOfPage + rdfs:label "representative of page" ; + schema:description "Indicates whether this image is representative of the content of the page." ; +. + +schema:requiredCollateral + rdfs:label "required collateral" ; + schema:description "Assets required to secure loan or credit repayments. It may take form of third party pledge, goods, financial instruments (cash, securities, etc.)" ; +. + +schema:requiredGender + rdfs:label "required gender" ; + schema:description "Audiences defined by a person's gender." ; +. + +schema:requiredMaxAge + rdfs:label "required max age" ; + schema:description "Audiences defined by a person's maximum age." ; +. + +schema:requiredMinAge + rdfs:label "required min age" ; + schema:description "Audiences defined by a person's minimum age." ; +. + +schema:requiredQuantity + rdfs:label "required quantity" ; + schema:description "The required quantity of the item(s)." ; +. + +schema:requirements + rdfs:label "requirements" ; + schema:description "Component dependency requirements for application. This includes runtime environments and shared libraries that are not included in the application distribution package, but required to run the application (Examples: DirectX, Java or .NET runtime)." ; +. + +schema:requiresSubscription + rdfs:label "requires subscription" ; + schema:description "Indicates if use of the media require a subscription (either paid or free). Allowed values are ```true``` or ```false``` (note that an earlier version had 'yes', 'no')." ; +. + +schema:reservationFor + rdfs:label "reservation for" ; + schema:description "The thing -- flight, event, restaurant,etc. being reserved." ; +. + +schema:reservationId + rdfs:label "reservation id" ; + schema:description "A unique identifier for the reservation." ; +. + +schema:reservationStatus + rdfs:label "reservation status" ; + schema:description "The current status of the reservation." ; +. + +schema:reservedTicket + rdfs:label "reserved ticket" ; + schema:description "A ticket associated with the reservation." ; +. + +schema:responsibilities + rdfs:label "responsibilities" ; + schema:description "Responsibilities associated with this role or Occupation." ; +. + +schema:restPeriods + rdfs:label "rest periods" ; + schema:description "How often one should break from the activity." ; +. + +schema:restockingFee + rdfs:label "restocking fee" ; + schema:description "Use [[MonetaryAmount]] to specify a fixed restocking fee for product returns, or use [[Number]] to specify a percentage of the product price paid by the customer." ; +. + +schema:result + rdfs:label "result" ; + schema:description "The result produced in the action. e.g. John wrote *a book*." ; +. + +schema:resultComment + rdfs:label "result comment" ; + schema:description "A sub property of result. The Comment created or sent as a result of this action." ; +. + +schema:resultReview + rdfs:label "result review" ; + schema:description "A sub property of result. The review that resulted in the performing of the action." ; +. + +schema:returnFees + rdfs:label "return fees" ; + schema:description "The type of return fees for purchased products (for any return reason)" ; +. + +schema:returnLabelSource + rdfs:label "return label source" ; + schema:description "The method (from an enumeration) by which the customer obtains a return shipping label for a product returned for any reason." ; +. + +schema:returnMethod + rdfs:label "return method" ; + schema:description "The type of return method offered, specified from an enumeration." ; +. + +schema:returnPolicyCategory + rdfs:label "return policy category" ; + schema:description "Specifies an applicable return policy (from an enumeration)." ; +. + +schema:returnPolicyCountry + rdfs:label "return policy country" ; + schema:description "The country where the product has to be sent to for returns, for example \"Ireland\" using the [[name]] property of [[Country]]. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1). Note that this can be different from the country where the product was originally shipped from or sent too." ; +. + +schema:returnPolicySeasonalOverride + rdfs:label "returnPolicy seasonal override" ; + schema:description "Seasonal override of a return policy." ; +. + +schema:returnShippingFeesAmount + rdfs:label "returnShipping fees amount" ; + schema:description "Amount of shipping costs for product returns (for any reason). Applicable when property [[returnFees]] equals [[ReturnShippingFees]]." ; +. + +schema:review + rdfs:label "review" ; + schema:description "A review of the item." ; +. + +schema:reviewAspect + rdfs:label "review aspect" ; + schema:description "This Review or Rating is relevant to this part or facet of the itemReviewed." ; +. + +schema:reviewBody + rdfs:label "review body" ; + schema:description "The actual body of the review." ; +. + +schema:reviewCount + rdfs:label "review count" ; + schema:description "The count of total number of reviews." ; +. + +schema:reviewRating + rdfs:label "review rating" ; + schema:description "The rating given in this review. Note that reviews can themselves be rated. The ```reviewRating``` applies to rating given by the review. The [[aggregateRating]] property applies to the review itself, as a creative work." ; +. + +schema:reviewedBy + rdfs:label "reviewed by" ; + schema:description "People or organizations that have reviewed the content on this web page for accuracy and/or completeness." ; +. + +schema:reviews + rdfs:label "reviews" ; + schema:description "Review of the item." ; +. + +schema:riskFactor + rdfs:label "risk factor" ; + schema:description "A modifiable or non-modifiable factor that increases the risk of a patient contracting this condition, e.g. age, coexisting condition." ; +. + +schema:risks + rdfs:label "risks" ; + schema:description "Specific physiologic risks associated to the diet plan." ; +. + +schema:roleName + rdfs:label "role name" ; + schema:description "A role played, performed or filled by a person or organization. For example, the team of creators for a comic book might fill the roles named 'inker', 'penciller', and 'letterer'; or an athlete in a SportsTeam might play in the position named 'Quarterback'." ; +. + +schema:roofLoad + rdfs:label "roof load" ; + schema:description "The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]]\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:rsvpResponse + rdfs:label "rsvp response" ; + schema:description "The response (yes, no, maybe) to the RSVP." ; +. + +schema:runsTo + rdfs:label "runs to" ; + schema:description "The vasculature the lymphatic structure runs, or efferents, to." ; +. + +schema:runtime + rdfs:label "runtime" ; + schema:description "Runtime platform or script interpreter dependencies (Example - Java v1, Python2.3, .Net Framework 3.0)." ; +. + +schema:runtimePlatform + rdfs:label "runtime platform" ; + schema:description "Runtime platform or script interpreter dependencies (Example - Java v1, Python2.3, .Net Framework 3.0)." ; +. + +schema:rxcui + rdfs:label "rxcui" ; + schema:description "The RxCUI drug identifier from RXNORM." ; +. + +schema:safetyConsideration + rdfs:label "safety consideration" ; + schema:description "Any potential safety concern associated with the supplement. May include interactions with other drugs and foods, pregnancy, breastfeeding, known adverse reactions, and documented efficacy of the supplement." ; +. + +schema:salaryCurrency + rdfs:label "salary currency" ; + schema:description "The currency (coded using [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) ) used for the main salary information in this job posting or for this employee." ; +. + +schema:salaryUponCompletion + rdfs:label "salary upon completion" ; + schema:description "The expected salary upon completing the training." ; +. + +schema:sameAs + rdfs:label "same as" ; + schema:description "URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website." ; +. + +schema:sampleType + rdfs:label "sample type" ; + schema:description "What type of code sample: full (compile ready) solution, code snippet, inline code, scripts, template." ; +. + +schema:saturatedFatContent + rdfs:label "saturated fat content" ; + schema:description "The number of grams of saturated fat." ; +. + +schema:scheduleTimezone + rdfs:label "schedule timezone" ; + schema:description "Indicates the timezone for which the time(s) indicated in the [[Schedule]] are given. The value provided should be among those listed in the IANA Time Zone Database." ; +. + +schema:scheduledPaymentDate + rdfs:label "scheduled payment date" ; + schema:description "The date the invoice is scheduled to be paid." ; +. + +schema:scheduledTime + rdfs:label "scheduled time" ; + schema:description "The time the object is scheduled to." ; +. + +schema:schemaVersion + rdfs:label "schema version" ; + schema:description """Indicates (by URL or string) a particular version of a schema used in some CreativeWork. This property was created primarily to + indicate the use of a specific schema.org release, e.g. ```10.0``` as a simple string, or more explicitly via URL, ```https://schema.org/docs/releases.html#v10.0```. There may be situations in which other schemas might usefully be referenced this way, e.g. ```http://dublincore.org/specifications/dublin-core/dces/1999-07-02/``` but this has not been carefully explored in the community.""" ; +. + +schema:schoolClosuresInfo + rdfs:label "school closures info" ; + schema:description "Information about school closures." ; +. + +schema:screenCount + rdfs:label "screen count" ; + schema:description "The number of screens in the movie theater." ; +. + +schema:screenshot + rdfs:label "screenshot" ; + schema:description "A link to a screenshot image of the app." ; +. + +schema:sdDatePublished + rdfs:label "sd date published" ; + schema:description "Indicates the date on which the current structured data was generated / published. Typically used alongside [[sdPublisher]]" ; +. + +schema:sdLicense + rdfs:label "sd license" ; + schema:description "A license document that applies to this structured data, typically indicated by URL." ; +. + +schema:sdPublisher + rdfs:label "sd publisher" ; + schema:description """Indicates the party responsible for generating and publishing the current structured data markup, typically in cases where the structured data is derived automatically from existing published content but published on a different site. For example, student projects and open data initiatives often re-publish existing content with more explicitly structured metadata. The +[[sdPublisher]] property helps make such practices more explicit.""" ; +. + +schema:season + rdfs:label "season" ; + schema:description "A season in a media series." ; +. + +schema:seasonNumber + rdfs:label "season number" ; + schema:description "Position of the season within an ordered group of seasons." ; +. + +schema:seasons + rdfs:label "seasons" ; + schema:description "A season in a media series." ; +. + +schema:seatNumber + rdfs:label "seat number" ; + schema:description "The location of the reserved seat (e.g., 27)." ; +. + +schema:seatRow + rdfs:label "seat row" ; + schema:description "The row location of the reserved seat (e.g., B)." ; +. + +schema:seatSection + rdfs:label "seat section" ; + schema:description "The section location of the reserved seat (e.g. Orchestra)." ; +. + +schema:seatingCapacity + rdfs:label "seating capacity" ; + schema:description "The number of persons that can be seated (e.g. in a vehicle), both in terms of the physical space available, and in terms of limitations set by law.\\n\\nTypical unit code(s): C62 for persons " ; +. + +schema:seatingType + rdfs:label "seating type" ; + schema:description "The type/class of the seat." ; +. + +schema:secondaryPrevention + rdfs:label "secondary prevention" ; + schema:description "A preventative therapy used to prevent reoccurrence of the medical condition after an initial episode of the condition." ; +. + +schema:securityClearanceRequirement + rdfs:label "security clearance requirement" ; + schema:description "A description of any security clearance requirements of the job." ; +. + +schema:securityScreening + rdfs:label "security screening" ; + schema:description "The type of security screening the passenger is subject to." ; +. + +schema:seeks + rdfs:label "seeks" ; + schema:description "A pointer to products or services sought by the organization or person (demand)." ; +. + +schema:seller + rdfs:label "seller" ; + schema:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider." ; +. + +schema:sender + rdfs:label "sender" ; + schema:description "A sub property of participant. The participant who is at the sending end of the action." ; +. + +schema:sensoryRequirement + rdfs:label "sensory requirement" ; + schema:description "A description of any sensory requirements and levels necessary to function on the job, including hearing and vision. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term." ; +. + +schema:sensoryUnit + rdfs:label "sensory unit" ; + schema:description "The neurological pathway extension that inputs and sends information to the brain or spinal cord." ; +. + +schema:serialNumber + rdfs:label "serial number" ; + schema:description "The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer." ; +. + +schema:seriousAdverseOutcome + rdfs:label "serious adverse outcome" ; + schema:description "A possible serious complication and/or serious side effect of this therapy. Serious adverse outcomes include those that are life-threatening; result in death, disability, or permanent damage; require hospitalization or prolong existing hospitalization; cause congenital anomalies or birth defects; or jeopardize the patient and may require medical or surgical intervention to prevent one of the outcomes in this definition." ; +. + +schema:serverStatus + rdfs:label "server status" ; + schema:description "Status of a game server." ; +. + +schema:servesCuisine + rdfs:label "serves cuisine" ; + schema:description "The cuisine of the restaurant." ; +. + +schema:serviceArea + rdfs:label "service area" ; + schema:description "The geographic area where the service is provided." ; +. + +schema:serviceAudience + rdfs:label "service audience" ; + schema:description "The audience eligible for this service." ; +. + +schema:serviceLocation + rdfs:label "service location" ; + schema:description "The location (e.g. civic structure, local business, etc.) where a person can go to access the service." ; +. + +schema:serviceOperator + rdfs:label "service operator" ; + schema:description "The operating organization, if different from the provider. This enables the representation of services that are provided by an organization, but operated by another organization like a subcontractor." ; +. + +schema:serviceOutput + rdfs:label "service output" ; + schema:description "The tangible thing generated by the service, e.g. a passport, permit, etc." ; +. + +schema:servicePhone + rdfs:label "service phone" ; + schema:description "The phone number to use to access the service." ; +. + +schema:servicePostalAddress + rdfs:label "service postal address" ; + schema:description "The address for accessing the service by mail." ; +. + +schema:serviceSmsNumber + rdfs:label "service sms number" ; + schema:description "The number to access the service by text message." ; +. + +schema:serviceType + rdfs:label "service type" ; + schema:description "The type of service being offered, e.g. veterans' benefits, emergency relief, etc." ; +. + +schema:serviceUrl + rdfs:label "service url" ; + schema:description "The website to access the service." ; +. + +schema:servingSize + rdfs:label "serving size" ; + schema:description "The serving size, in terms of the number of volume or mass." ; +. + +schema:sha256 + rdfs:label "sha256" ; + schema:description "The [SHA-2](https://en.wikipedia.org/wiki/SHA-2) SHA256 hash of the content of the item. For example, a zero-length input has value 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'" ; +. + +schema:sharedContent + rdfs:label "shared content" ; + schema:description "A CreativeWork such as an image, video, or audio clip shared as part of this posting." ; +. + +schema:shippingDestination + rdfs:label "shipping destination" ; + schema:description "indicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges." ; +. + +schema:shippingDetails + rdfs:label "shipping details" ; + schema:description "Indicates information about the shipping policies and options associated with an [[Offer]]." ; +. + +schema:shippingLabel + rdfs:label "shipping label" ; + schema:description "Label to match an [[OfferShippingDetails]] with a [[ShippingRateSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)." ; +. + +schema:shippingRate + rdfs:label "shipping rate" ; + schema:description "The shipping rate is the cost of shipping to the specified destination. Typically, the maxValue and currency values (of the [[MonetaryAmount]]) are most appropriate." ; +. + +schema:shippingSettingsLink + rdfs:label "shipping settings link" ; + schema:description "Link to a page containing [[ShippingRateSettings]] and [[DeliveryTimeSettings]] details." ; +. + +schema:sibling + rdfs:label "sibling" ; + schema:description "A sibling of the person." ; +. + +schema:siblings + rdfs:label "siblings" ; + schema:description "A sibling of the person." ; +. + +schema:signDetected + rdfs:label "sign detected" ; + schema:description "A sign detected by the test." ; +. + +schema:signOrSymptom + rdfs:label "sign or symptom" ; + schema:description "A sign or symptom of this condition. Signs are objective or physically observable manifestations of the medical condition while symptoms are the subjective experience of the medical condition." ; +. + +schema:significance + rdfs:label "significance" ; + schema:description "The significance associated with the superficial anatomy; as an example, how characteristics of the superficial anatomy can suggest underlying medical conditions or courses of treatment." ; +. + +schema:significantLink + rdfs:label "significant link" ; + schema:description "One of the more significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most." ; +. + +schema:significantLinks + rdfs:label "significant links" ; + schema:description "The most significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most." ; +. + +schema:size + rdfs:label "size" ; + schema:description "A standardized size of a product or creative work, specified either through a simple textual string (for example 'XL', '32Wx34L'), a QuantitativeValue with a unitCode, or a comprehensive and structured [[SizeSpecification]]; in other cases, the [[width]], [[height]], [[depth]] and [[weight]] properties may be more applicable. " ; +. + +schema:sizeGroup + rdfs:label "size group" ; + schema:description "The size group (also known as \"size type\") for a product's size. Size groups are common in the fashion industry to define size segments and suggested audiences for wearable products. Multiple values can be combined, for example \"men's big and tall\", \"petite maternity\" or \"regular\"" ; +. + +schema:sizeSystem + rdfs:label "size system" ; + schema:description "The size system used to identify a product's size. Typically either a standard (for example, \"GS1\" or \"ISO-EN13402\"), country code (for example \"US\" or \"JP\"), or a measuring system (for example \"Metric\" or \"Imperial\")." ; +. + +schema:skills + rdfs:label "skills" ; + schema:description "A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or to work in this occupation." ; +. + +schema:sku + rdfs:label "sku" ; + schema:description "The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers." ; +. + +schema:slogan + rdfs:label "slogan" ; + schema:description "A slogan or motto associated with the item." ; +. + +schema:smiles + rdfs:label "smiles" ; + schema:description "A specification in form of a line notation for describing the structure of chemical species using short ASCII strings. Double bond stereochemistry \\ indicators may need to be escaped in the string in formats where the backslash is an escape character." ; +. + +schema:smokingAllowed + rdfs:label "smoking allowed" ; + schema:description "Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room." ; +. + +schema:sodiumContent + rdfs:label "sodium content" ; + schema:description "The number of milligrams of sodium." ; +. + +schema:softwareAddOn + rdfs:label "software add on" ; + schema:description "Additional content for a software application." ; +. + +schema:softwareHelp + rdfs:label "software help" ; + schema:description "Software application help." ; +. + +schema:softwareRequirements + rdfs:label "software requirements" ; + schema:description "Component dependency requirements for application. This includes runtime environments and shared libraries that are not included in the application distribution package, but required to run the application (Examples: DirectX, Java or .NET runtime)." ; +. + +schema:softwareVersion + rdfs:label "software version" ; + schema:description "Version of the software instance." ; +. + +schema:sourceOrganization + rdfs:label "source organization" ; + schema:description "The Organization on whose behalf the creator was working." ; +. + +schema:sourcedFrom + rdfs:label "sourced from" ; + schema:description "The neurological pathway that originates the neurons." ; +. + +schema:spatial + rdfs:label "spatial" ; + schema:description """The "spatial" property can be used in cases when more specific properties +(e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are not known to be appropriate.""" ; +. + +schema:spatialCoverage + rdfs:label "spatial coverage" ; + schema:description """The spatialCoverage of a CreativeWork indicates the place(s) which are the focus of the content. It is a subproperty of + contentLocation intended primarily for more technical and detailed materials. For example with a Dataset, it indicates + areas that the dataset describes: a dataset of New York weather would have spatialCoverage which was the place: the state of New York.""" ; +. + +schema:speakable + rdfs:label "speakable" ; + schema:description """Indicates sections of a Web page that are particularly 'speakable' in the sense of being highlighted as being especially appropriate for text-to-speech conversion. Other sections of a page may also be usefully spoken in particular circumstances; the 'speakable' property serves to indicate the parts most likely to be generally useful for speech. + +The *speakable* property can be repeated an arbitrary number of times, with three kinds of possible 'content-locator' values: + +1.) *id-value* URL references - uses *id-value* of an element in the page being annotated. The simplest use of *speakable* has (potentially relative) URL values, referencing identified sections of the document concerned. + +2.) CSS Selectors - addresses content in the annotated page, eg. via class attribute. Use the [[cssSelector]] property. + +3.) XPaths - addresses content via XPaths (assuming an XML view of the content). Use the [[xpath]] property. + + +For more sophisticated markup of speakable sections beyond simple ID references, either CSS selectors or XPath expressions to pick out document section(s) as speakable. For this +we define a supporting type, [[SpeakableSpecification]] which is defined to be a possible value of the *speakable* property. + """ ; +. + +schema:specialCommitments + rdfs:label "special commitments" ; + schema:description "Any special commitments associated with this job posting. Valid entries include VeteranCommit, MilitarySpouseCommit, etc." ; +. + +schema:specialOpeningHoursSpecification + rdfs:label "specialOpening hours specification" ; + schema:description """The special opening hours of a certain place.\\n\\nUse this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. + """ ; +. + +schema:specialty + rdfs:label "specialty" ; + schema:description "One of the domain specialities to which this web page's content applies." ; +. + +schema:speechToTextMarkup + rdfs:label "speechTo text markup" ; + schema:description "Form of markup used. eg. [SSML](https://www.w3.org/TR/speech-synthesis11) or [IPA](https://www.wikidata.org/wiki/Property:P898)." ; +. + +schema:speed + rdfs:label "speed" ; + schema:description "The speed range of the vehicle. If the vehicle is powered by an engine, the upper limit of the speed range (indicated by [[maxValue]] should be the maximum speed achievable under regular conditions.\\n\\nTypical unit code(s): KMH for km/h, HM for mile per hour (0.447 04 m/s), KNT for knot\\n\\n*Note 1: Use [[minValue]] and [[maxValue]] to indicate the range. Typically, the minimal value is zero.\\n* Note 2: There are many different ways of measuring the speed range. You can link to information about how the given value has been determined using the [[valueReference]] property." ; +. + +schema:spokenByCharacter + rdfs:label "spoken by character" ; + schema:description "The (e.g. fictional) character, Person or Organization to whom the quotation is attributed within the containing CreativeWork." ; +. + +schema:sponsor + rdfs:label "sponsor" ; + schema:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event." ; +. + +schema:sport + rdfs:label "sport" ; + schema:description "A type of sport (e.g. Baseball)." ; +. + +schema:sportsActivityLocation + rdfs:label "sports activity location" ; + schema:description "A sub property of location. The sports activity location where this action occurred." ; +. + +schema:sportsEvent + rdfs:label "sports event" ; + schema:description "A sub property of location. The sports event where this action occurred." ; +. + +schema:sportsTeam + rdfs:label "sports team" ; + schema:description "A sub property of participant. The sports team that participated on this action." ; +. + +schema:spouse + rdfs:label "spouse" ; + schema:description "The person's spouse." ; +. + +schema:stage + rdfs:label "stage" ; + schema:description "The stage of the condition, if applicable." ; +. + +schema:stageAsNumber + rdfs:label "stage as number" ; + schema:description "The stage represented as a number, e.g. 3." ; +. + +schema:starRating + rdfs:label "star rating" ; + schema:description "An official rating for a lodging business or food establishment, e.g. from national associations or standards bodies. Use the author property to indicate the rating organization, e.g. as an Organization with name such as (e.g. HOTREC, DEHOGA, WHR, or Hotelstars)." ; +. + +schema:startDate + rdfs:label "start date" ; + schema:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))." ; +. + +schema:startOffset + rdfs:label "start offset" ; + schema:description "The start time of the clip expressed as the number of seconds from the beginning of the work." ; +. + +schema:startTime + rdfs:label "start time" ; + schema:description "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions." ; +. + +schema:status + rdfs:label "status" ; + schema:description "The status of the study (enumerated)." ; +. + +schema:steeringPosition + rdfs:label "steering position" ; + schema:description "The position of the steering wheel or similar device (mostly for cars)." ; +. + +schema:step + rdfs:label "step" ; + schema:description "A single step item (as HowToStep, text, document, video, etc.) or a HowToSection." ; +. + +schema:stepValue + rdfs:label "step value" ; + schema:description "The stepValue attribute indicates the granularity that is expected (and required) of the value in a PropertyValueSpecification." ; +. + +schema:steps + rdfs:label "steps" ; + schema:description "A single step item (as HowToStep, text, document, video, etc.) or a HowToSection (originally misnamed 'steps'; 'step' is preferred)." ; +. + +schema:storageRequirements + rdfs:label "storage requirements" ; + schema:description "Storage requirements (free space required)." ; +. + +schema:streetAddress + rdfs:label "street address" ; + schema:description "The street address. For example, 1600 Amphitheatre Pkwy." ; +. + +schema:strengthUnit + rdfs:label "strength unit" ; + schema:description "The units of an active ingredient's strength, e.g. mg." ; +. + +schema:strengthValue + rdfs:label "strength value" ; + schema:description "The value of an active ingredient's strength, e.g. 325." ; +. + +schema:structuralClass + rdfs:label "structural class" ; + schema:description "The name given to how bone physically connects to each other." ; +. + +schema:study + rdfs:label "study" ; + schema:description "A medical study or trial related to this entity." ; +. + +schema:studyDesign + rdfs:label "study design" ; + schema:description "Specifics about the observational study design (enumerated)." ; +. + +schema:studyLocation + rdfs:label "study location" ; + schema:description "The location in which the study is taking/took place." ; +. + +schema:studySubject + rdfs:label "study subject" ; + schema:description "A subject of the study, i.e. one of the medical conditions, therapies, devices, drugs, etc. investigated by the study." ; +. + +schema:subEvent + rdfs:label "sub event" ; + schema:description "An Event that is part of this event. For example, a conference event includes many presentations, each of which is a subEvent of the conference." ; +. + +schema:subEvents + rdfs:label "sub events" ; + schema:description "Events that are a part of this event. For example, a conference event includes many presentations, each subEvents of the conference." ; +. + +schema:subOrganization + rdfs:label "sub organization" ; + schema:description "A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific 'department' property." ; +. + +schema:subReservation + rdfs:label "sub reservation" ; + schema:description "The individual reservations included in the package. Typically a repeated property." ; +. + +schema:subStageSuffix + rdfs:label "sub stage suffix" ; + schema:description "The substage, e.g. 'a' for Stage IIIa." ; +. + +schema:subStructure + rdfs:label "sub structure" ; + schema:description "Component (sub-)structure(s) that comprise this anatomical structure." ; +. + +schema:subTest + rdfs:label "sub test" ; + schema:description "A component test of the panel." ; +. + +schema:subTrip + rdfs:label "sub trip" ; + schema:description "Identifies a [[Trip]] that is a subTrip of this Trip. For example Day 1, Day 2, etc. of a multi-day trip." ; +. + +schema:subjectOf + rdfs:label "subject of" ; + schema:description "A CreativeWork or Event about this Thing." ; +. + +schema:subtitleLanguage + rdfs:label "subtitle language" ; + schema:description "Languages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47)." ; +. + +schema:successorOf + rdfs:label "successor of" ; + schema:description "A pointer from a newer variant of a product to its previous, often discontinued predecessor." ; +. + +schema:sugarContent + rdfs:label "sugar content" ; + schema:description "The number of grams of sugar." ; +. + +schema:suggestedAge + rdfs:label "suggested age" ; + schema:description "The age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers." ; +. + +schema:suggestedAnswer + rdfs:label "suggested answer" ; + schema:description "An answer (possibly one of several, possibly incorrect) to a Question, e.g. on a Question/Answer site." ; +. + +schema:suggestedGender + rdfs:label "suggested gender" ; + schema:description "The suggested gender of the intended person or audience, for example \"male\", \"female\", or \"unisex\"." ; +. + +schema:suggestedMaxAge + rdfs:label "suggested max age" ; + schema:description "Maximum recommended age in years for the audience or user." ; +. + +schema:suggestedMeasurement + rdfs:label "suggested measurement" ; + schema:description "A suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products." ; +. + +schema:suggestedMinAge + rdfs:label "suggested min age" ; + schema:description "Minimum recommended age in years for the audience or user." ; +. + +schema:suitableForDiet + rdfs:label "suitable for diet" ; + schema:description "Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc." ; +. + +schema:superEvent + rdfs:label "super event" ; + schema:description "An event that this event is a part of. For example, a collection of individual music performances might each have a music festival as their superEvent." ; +. + +schema:supersededBy + rdfs:label "superseded by" ; + schema:description "Relates a term (i.e. a property, class or enumeration) to one that supersedes it." ; +. + +schema:supply + rdfs:label "supply" ; + schema:description "A sub-property of instrument. A supply consumed when performing instructions or a direction." ; +. + +schema:supplyTo + rdfs:label "supply to" ; + schema:description "The area to which the artery supplies blood." ; +. + +schema:supportingData + rdfs:label "supporting data" ; + schema:description "Supporting data for a SoftwareApplication." ; +. + +schema:surface + rdfs:label "surface" ; + schema:description "A material used as a surface in some artwork, e.g. Canvas, Paper, Wood, Board, etc." ; +. + +schema:target + rdfs:label "target" ; + schema:description "Indicates a target EntryPoint for an Action." ; +. + +schema:targetCollection + rdfs:label "target collection" ; + schema:description "A sub property of object. The collection target of the action." ; +. + +schema:targetDescription + rdfs:label "target description" ; + schema:description "The description of a node in an established educational framework." ; +. + +schema:targetName + rdfs:label "target name" ; + schema:description "The name of a node in an established educational framework." ; +. + +schema:targetPlatform + rdfs:label "target platform" ; + schema:description "Type of app development: phone, Metro style, desktop, XBox, etc." ; +. + +schema:targetPopulation + rdfs:label "target population" ; + schema:description "Characteristics of the population for which this is intended, or which typically uses it, e.g. 'adults'." ; +. + +schema:targetProduct + rdfs:label "target product" ; + schema:description "Target Operating System / Product to which the code applies. If applies to several versions, just the product name can be used." ; +. + +schema:targetUrl + rdfs:label "target url" ; + schema:description "The URL of a node in an established educational framework." ; +. + +schema:taxID + rdfs:label "tax id" ; + schema:description "The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain." ; +. + +schema:taxonRank + rdfs:label "taxon rank" ; + schema:description "The taxonomic rank of this taxon given preferably as a URI from a controlled vocabulary – (typically the ranks from TDWG TaxonRank ontology or equivalent Wikidata URIs)." ; +. + +schema:taxonomicRange + rdfs:label "taxonomic range" ; + schema:description "The taxonomic grouping of the organism that expresses, encodes, or in someway related to the BioChemEntity." ; +. + +schema:teaches + rdfs:label "teaches" ; + schema:description "The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term." ; +. + +schema:telephone + rdfs:label "telephone" ; + schema:description "The telephone number." ; +. + +schema:temporal + rdfs:label "temporal" ; + schema:description """The "temporal" property can be used in cases where more specific properties +(e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]], [[datePublished]]) are not known to be appropriate.""" ; +. + +schema:temporalCoverage + rdfs:label "temporal coverage" ; + schema:description """The temporalCoverage of a CreativeWork indicates the period that the content applies to, i.e. that it describes, either as a DateTime or as a textual string indicating a time period in [ISO 8601 time interval format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In + the case of a Dataset it will typically indicate the relevant time period in a precise notation (e.g. for a 2011 census dataset, the year 2011 would be written "2011/2012"). Other forms of content e.g. ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their temporalCoverage in broader terms - textually or via well-known URL. + Written works such as books may sometimes have precise temporal coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601 interval format format via "1939/1945". + +Open-ended date ranges can be written with ".." in place of the end date. For example, "2015-11/.." indicates a range beginning in November 2015 and with no specified final date. This is tentative and might be updated in future when ISO 8601 is officially updated.""" ; +. + +schema:termCode + rdfs:label "term code" ; + schema:description "A code that identifies this [[DefinedTerm]] within a [[DefinedTermSet]]" ; +. + +schema:termDuration + rdfs:label "term duration" ; + schema:description "The amount of time in a term as defined by the institution. A term is a length of time where students take one or more classes. Semesters and quarters are common units for term." ; +. + +schema:termsOfService + rdfs:label "terms of service" ; + schema:description "Human-readable terms of service documentation." ; +. + +schema:termsPerYear + rdfs:label "terms per year" ; + schema:description "The number of times terms of study are offered per year. Semesters and quarters are common units for term. For example, if the student can only take 2 semesters for the program in one year, then termsPerYear should be 2." ; +. + +schema:text + rdfs:label "text" ; + schema:description "The textual content of this CreativeWork." ; +. + +schema:textValue + rdfs:label "text value" ; + schema:description "Text value being annotated." ; +. + +schema:thumbnail + rdfs:label "thumbnail" ; + schema:description "Thumbnail image for an image or video." ; +. + +schema:thumbnailUrl + rdfs:label "thumbnail url" ; + schema:description "A thumbnail image relevant to the Thing." ; +. + +schema:tickerSymbol + rdfs:label "ticker symbol" ; + schema:description "The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022." ; +. + +schema:ticketNumber + rdfs:label "ticket number" ; + schema:description "The unique identifier for the ticket." ; +. + +schema:ticketToken + rdfs:label "ticket token" ; + schema:description "Reference to an asset (e.g., Barcode, QR code image or PDF) usable for entrance." ; +. + +schema:ticketedSeat + rdfs:label "ticketed seat" ; + schema:description "The seat associated with the ticket." ; +. + +schema:timeOfDay + rdfs:label "time of day" ; + schema:description "The time of day the program normally runs. For example, \"evenings\"." ; +. + +schema:timeRequired + rdfs:label "time required" ; + schema:description "Approximate or typical time it takes to work with or through this learning resource for the typical intended target audience, e.g. 'PT30M', 'PT1H25M'." ; +. + +schema:timeToComplete + rdfs:label "time to complete" ; + schema:description "The expected length of time to complete the program if attending full-time." ; +. + +schema:tissueSample + rdfs:label "tissue sample" ; + schema:description "The type of tissue sample required for the test." ; +. + +schema:title + rdfs:label "title" ; + schema:description "The title of the job." ; +. + +schema:titleEIDR + rdfs:label "title eidr" ; + schema:description """An [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing at the most general/abstract level, a work of film or television. + +For example, the motion picture known as "Ghostbusters" has a titleEIDR of "10.5240/7EC7-228A-510A-053E-CBB8-J". This title (or work) may have several variants, which EIDR calls "edits". See [[editEIDR]]. + +Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. +""" ; +. + +schema:toLocation + rdfs:label "to location" ; + schema:description "A sub property of location. The final location of the object or the agent after the action." ; +. + +schema:toRecipient + rdfs:label "to recipient" ; + schema:description "A sub property of recipient. The recipient who was directly sent the message." ; +. + +schema:tocContinuation + rdfs:label "toc continuation" ; + schema:description "A [[HyperTocEntry]] can have a [[tocContinuation]] indicated, which is another [[HyperTocEntry]] that would be the default next item to play or render." ; +. + +schema:tocEntry + rdfs:label "toc entry" ; + schema:description "Indicates a [[HyperTocEntry]] in a [[HyperToc]]." ; +. + +schema:tongueWeight + rdfs:label "tongue weight" ; + schema:description "The permitted vertical load (TWR) of a trailer attached to the vehicle. Also referred to as Tongue Load Rating (TLR) or Vertical Load Rating (VLR)\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:tool + rdfs:label "tool" ; + schema:description "A sub property of instrument. An object used (but not consumed) when performing instructions or a direction." ; +. + +schema:torque + rdfs:label "torque" ; + schema:description "The torque (turning force) of the vehicle's engine.\\n\\nTypical unit code(s): NU for newton metre (N m), F17 for pound-force per foot, or F48 for pound-force per inch\\n\\n* Note 1: You can link to information about how the given value has been determined (e.g. reference RPM) using the [[valueReference]] property.\\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:totalJobOpenings + rdfs:label "total job openings" ; + schema:description "The number of positions open for this job posting. Use a positive integer. Do not use if the number of positions is unclear or not known." ; +. + +schema:totalPaymentDue + rdfs:label "total payment due" ; + schema:description "The total amount due." ; +. + +schema:totalPrice + rdfs:label "total price" ; + schema:description "The total price for the reservation or ticket, including applicable taxes, shipping, etc.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:totalTime + rdfs:label "total time" ; + schema:description "The total time required to perform instructions or a direction (including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)." ; +. + +schema:tourBookingPage + rdfs:label "tour booking page" ; + schema:description "A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate." ; +. + +schema:touristType + rdfs:label "tourist type" ; + schema:description "Attraction suitable for type(s) of tourist. eg. Children, visitors from a particular country, etc. " ; +. + +schema:track + rdfs:label "track" ; + schema:description "A music recording (track)—usually a single song. If an ItemList is given, the list should contain items of type MusicRecording." ; +. + +schema:trackingNumber + rdfs:label "tracking number" ; + schema:description "Shipper tracking number." ; +. + +schema:trackingUrl + rdfs:label "tracking url" ; + schema:description "Tracking url for the parcel delivery." ; +. + +schema:tracks + rdfs:label "tracks" ; + schema:description "A music recording (track)—usually a single song." ; +. + +schema:trailer + rdfs:label "trailer" ; + schema:description "The trailer of a movie or tv/radio series, season, episode, etc." ; +. + +schema:trailerWeight + rdfs:label "trailer weight" ; + schema:description "The permitted weight of a trailer attached to the vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:trainName + rdfs:label "train name" ; + schema:description "The name of the train (e.g. The Orient Express)." ; +. + +schema:trainNumber + rdfs:label "train number" ; + schema:description "The unique identifier for the train." ; +. + +schema:trainingSalary + rdfs:label "training salary" ; + schema:description "The estimated salary earned while in the program." ; +. + +schema:transFatContent + rdfs:label "trans fat content" ; + schema:description "The number of grams of trans fat." ; +. + +schema:transcript + rdfs:label "transcript" ; + schema:description "If this MediaObject is an AudioObject or VideoObject, the transcript of that object." ; +. + +schema:transitTime + rdfs:label "transit time" ; + schema:description "The typical delay the order has been sent for delivery and the goods reach the final customer. Typical properties: minValue, maxValue, unitCode (d for DAY)." ; +. + +schema:transitTimeLabel + rdfs:label "transit time label" ; + schema:description "Label to match an [[OfferShippingDetails]] with a [[DeliveryTimeSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)." ; +. + +schema:translationOfWork + rdfs:label "translation of work" ; + schema:description "The work that this work has been translated from. e.g. 物种起源 is a translationOf “On the Origin of Species”" ; +. + +schema:translator + rdfs:label "translator" ; + schema:description "Organization or person who adapts a creative work to different languages, regional differences and technical requirements of a target market, or that translates during some event." ; +. + +schema:transmissionMethod + rdfs:label "transmission method" ; + schema:description "How the disease spreads, either as a route or vector, for example 'direct contact', 'Aedes aegypti', etc." ; +. + +schema:travelBans + rdfs:label "travel bans" ; + schema:description "Information about travel bans, e.g. in the context of a pandemic." ; +. + +schema:trialDesign + rdfs:label "trial design" ; + schema:description "Specifics about the trial design (enumerated)." ; +. + +schema:tributary + rdfs:label "tributary" ; + schema:description "The anatomical or organ system that the vein flows into; a larger structure that the vein connects to." ; +. + +schema:typeOfBed + rdfs:label "type of bed" ; + schema:description "The type of bed to which the BedDetail refers, i.e. the type of bed available in the quantity indicated by quantity." ; +. + +schema:typeOfGood + rdfs:label "type of good" ; + schema:description "The product that this structured value is referring to." ; +. + +schema:typicalAgeRange + rdfs:label "typical age range" ; + schema:description "The typical expected age range, e.g. '7-9', '11-'." ; +. + +schema:typicalCreditsPerTerm + rdfs:label "typicalCredits per term" ; + schema:description "The number of credits or units a full-time student would be expected to take in 1 term however 'term' is defined by the institution." ; +. + +schema:typicalTest + rdfs:label "typical test" ; + schema:description "A medical test typically performed given this condition." ; +. + +schema:underName + rdfs:label "under name" ; + schema:description "The person or organization the reservation or ticket is for." ; +. + +schema:unitCode + rdfs:label "unit code" ; + schema:description "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon." ; +. + +schema:unitText + rdfs:label "unit text" ; + schema:description """A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for +unitCode.""" ; +. + +schema:unnamedSourcesPolicy + rdfs:label "unnamed sources policy" ; + schema:description "For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required." ; +. + +schema:unsaturatedFatContent + rdfs:label "unsaturated fat content" ; + schema:description "The number of grams of unsaturated fat." ; +. + +schema:uploadDate + rdfs:label "upload date" ; + schema:description "Date when this media object was uploaded to this site." ; +. + +schema:upvoteCount + rdfs:label "upvote count" ; + schema:description "The number of upvotes this question, answer or comment has received from the community." ; +. + +schema:url + rdfs:label "url" ; + schema:description "URL of the item." ; +. + +schema:urlTemplate + rdfs:label "url template" ; + schema:description "An url template (RFC6570) that will be used to construct the target of the execution of the action." ; +. + +schema:usageInfo + rdfs:label "usage info" ; + schema:description """The schema.org [[usageInfo]] property indicates further information about a [[CreativeWork]]. This property is applicable both to works that are freely available and to those that require payment or other transactions. It can reference additional information e.g. community expectations on preferred linking and citation conventions, as well as purchasing details. For something that can be commercially licensed, usageInfo can provide detailed, resource-specific information about licensing options. + +This property can be used alongside the license property which indicates license(s) applicable to some piece of content. The usageInfo property can provide information about other licensing options, e.g. acquiring commercial usage rights for an image that is also available under non-commercial creative commons licenses.""" ; +. + +schema:usedToDiagnose + rdfs:label "used to diagnose" ; + schema:description "A condition the test is used to diagnose." ; +. + +schema:userInteractionCount + rdfs:label "user interaction count" ; + schema:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication." ; +. + +schema:usesDevice + rdfs:label "uses device" ; + schema:description "Device used to perform the test." ; +. + +schema:usesHealthPlanIdStandard + rdfs:label "usesHealthPlan id standard" ; + schema:description "The standard for interpreting thePlan ID. The preferred is \"HIOS\". See the Centers for Medicare & Medicaid Services for more details." ; +. + +schema:utterances + rdfs:label "utterances" ; + schema:description "Text of an utterances (spoken words, lyrics etc.) that occurs at a certain section of a media object, represented as a [[HyperTocEntry]]." ; +. + +schema:validFor + rdfs:label "valid for" ; + schema:description "The duration of validity of a permit or similar thing." ; +. + +schema:validFrom + rdfs:label "valid from" ; + schema:description "The date when the item becomes valid." ; +. + +schema:validIn + rdfs:label "valid in" ; + schema:description "The geographic area where a permit or similar thing is valid." ; +. + +schema:validThrough + rdfs:label "valid through" ; + schema:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours." ; +. + +schema:validUntil + rdfs:label "valid until" ; + schema:description "The date when the item is no longer valid." ; +. + +schema:value + rdfs:label "value" ; + schema:description "The value of the quantitative value or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator." ; +. + +schema:valueAddedTaxIncluded + rdfs:label "valueAdded tax included" ; + schema:description "Specifies whether the applicable value-added tax (VAT) is included in the price specification or not." ; +. + +schema:valueMaxLength + rdfs:label "value max length" ; + schema:description "Specifies the allowed range for number of characters in a literal value." ; +. + +schema:valueMinLength + rdfs:label "value min length" ; + schema:description "Specifies the minimum allowed range for number of characters in a literal value." ; +. + +schema:valueName + rdfs:label "value name" ; + schema:description "Indicates the name of the PropertyValueSpecification to be used in URL templates and form encoding in a manner analogous to HTML's input@name." ; +. + +schema:valuePattern + rdfs:label "value pattern" ; + schema:description "Specifies a regular expression for testing literal values according to the HTML spec." ; +. + +schema:valueReference + rdfs:label "value reference" ; + schema:description "A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement." ; +. + +schema:valueRequired + rdfs:label "value required" ; + schema:description "Whether the property must be filled in to complete the action. Default is false." ; +. + +schema:variableMeasured + rdfs:label "variable measured" ; + schema:description "The variableMeasured property can indicate (repeated as necessary) the variables that are measured in some dataset, either described as text or as pairs of identifier and description using PropertyValue." ; +. + +schema:variantCover + rdfs:label "variant cover" ; + schema:description """A description of the variant cover + for the issue, if the issue is a variant printing. For example, "Bryan Hitch + Variant Cover" or "2nd Printing Variant".""" ; +. + +schema:variesBy + rdfs:label "varies by" ; + schema:description "Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. \"color\"; terms defined elsewhere can be referenced with their URIs." ; +. + +schema:vatID + rdfs:label "vat id" ; + schema:description "The Value-added Tax ID of the organization or person." ; +. + +schema:vehicleConfiguration + rdfs:label "vehicle configuration" ; + schema:description "A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'." ; +. + +schema:vehicleEngine + rdfs:label "vehicle engine" ; + schema:description "Information about the engine or engines of the vehicle." ; +. + +schema:vehicleIdentificationNumber + rdfs:label "vehicle identification number" ; + schema:description "The Vehicle Identification Number (VIN) is a unique serial number used by the automotive industry to identify individual motor vehicles." ; +. + +schema:vehicleInteriorColor + rdfs:label "vehicle interior color" ; + schema:description "The color or color combination of the interior of the vehicle." ; +. + +schema:vehicleInteriorType + rdfs:label "vehicle interior type" ; + schema:description "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.). While most interior types are characterized by the material used, an interior type can also be based on vehicle usage or target audience." ; +. + +schema:vehicleModelDate + rdfs:label "vehicle model date" ; + schema:description "The release date of a vehicle model (often used to differentiate versions of the same make and model)." ; +. + +schema:vehicleSeatingCapacity + rdfs:label "vehicle seating capacity" ; + schema:description "The number of passengers that can be seated in the vehicle, both in terms of the physical space available, and in terms of limitations set by law.\\n\\nTypical unit code(s): C62 for persons." ; +. + +schema:vehicleSpecialUsage + rdfs:label "vehicle special usage" ; + schema:description "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school, or as a taxi. The legislation in many countries requires this information to be revealed when offering a car for sale." ; +. + +schema:vehicleTransmission + rdfs:label "vehicle transmission" ; + schema:description "The type of component used for transmitting the power from a rotating power source to the wheels or other relevant component(s) (\"gearbox\" for cars)." ; +. + +schema:vendor + rdfs:label "vendor" ; + schema:description "'vendor' is an earlier term for 'seller'." ; +. + +schema:verificationFactCheckingPolicy + rdfs:label "verificationFact checking policy" ; + schema:description "Disclosure about verification and fact-checking processes for a [[NewsMediaOrganization]] or other fact-checking [[Organization]]." ; +. + +schema:version + rdfs:label "version" ; + schema:description "The version of the CreativeWork embodied by a specified resource." ; +. + +schema:video + rdfs:label "video" ; + schema:description "An embedded video object." ; +. + +schema:videoFormat + rdfs:label "video format" ; + schema:description "The type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.)." ; +. + +schema:videoFrameSize + rdfs:label "video frame size" ; + schema:description "The frame size of the video." ; +. + +schema:videoQuality + rdfs:label "video quality" ; + schema:description "The quality of the video." ; +. + +schema:volumeNumber + rdfs:label "volume number" ; + schema:description "Identifies the volume of publication or multi-part work; for example, \"iii\" or \"2\"." ; +. + +schema:warning + rdfs:label "warning" ; + schema:description "Any FDA or other warnings about the drug (text or URL)." ; +. + +schema:warranty + rdfs:label "warranty" ; + schema:description "The warranty promise(s) included in the offer." ; +. + +schema:warrantyPromise + rdfs:label "warranty promise" ; + schema:description "The warranty promise(s) included in the offer." ; +. + +schema:warrantyScope + rdfs:label "warranty scope" ; + schema:description "The scope of the warranty promise." ; +. + +schema:webCheckinTime + rdfs:label "web checkin time" ; + schema:description "The time when a passenger can check into the flight online." ; +. + +schema:webFeed + rdfs:label "web feed" ; + schema:description "The URL for a feed, e.g. associated with a podcast series, blog, or series of date-stamped updates. This is usually RSS or Atom." ; +. + +schema:weight + rdfs:label "weight" ; + schema:description "The weight of the product or person." ; +. + +schema:weightTotal + rdfs:label "weight total" ; + schema:description "The permitted total weight of the loaded vehicle, including passengers and cargo and the weight of the empty vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges." ; +. + +schema:wheelbase + rdfs:label "wheelbase" ; + schema:description "The distance between the centers of the front and rear wheels.\\n\\nTypical unit code(s): CMT for centimeters, MTR for meters, INH for inches, FOT for foot/feet" ; +. + +schema:width + rdfs:label "width" ; + schema:description "The width of the item." ; +. + +schema:winner + rdfs:label "winner" ; + schema:description "A sub property of participant. The winner of the action." ; +. + +schema:wordCount + rdfs:label "word count" ; + schema:description "The number of words in the text of the Article." ; +. + +schema:workExample + rdfs:label "work example" ; + schema:description "Example/instance/realization/derivation of the concept of this creative work. eg. The paperback edition, first edition, or eBook." ; +. + +schema:workFeatured + rdfs:label "work featured" ; + schema:description """A work featured in some event, e.g. exhibited in an ExhibitionEvent. + Specific subproperties are available for workPerformed (e.g. a play), or a workPresented (a Movie at a ScreeningEvent).""" ; +. + +schema:workHours + rdfs:label "work hours" ; + schema:description "The typical working hours for this job (e.g. 1st shift, night shift, 8am-5pm)." ; +. + +schema:workLocation + rdfs:label "work location" ; + schema:description "A contact location for a person's place of work." ; +. + +schema:workPerformed + rdfs:label "work performed" ; + schema:description "A work performed in some event, for example a play performed in a TheaterEvent." ; +. + +schema:workPresented + rdfs:label "work presented" ; + schema:description "The movie presented during this event." ; +. + +schema:workTranslation + rdfs:label "work translation" ; + schema:description "A work that is a translation of the content of this work. e.g. 西遊記 has an English workTranslation “Journey to the West”,a German workTranslation “Monkeys Pilgerfahrt” and a Vietnamese translation Tây du ký bình khảo." ; +. + +schema:workload + rdfs:label "workload" ; + schema:description "Quantitative measure of the physiologic output of the exercise; also referred to as energy expenditure." ; +. + +schema:worksFor + rdfs:label "works for" ; + schema:description "Organizations that the person works for." ; +. + +schema:worstRating + rdfs:label "worst rating" ; + schema:description "The lowest value allowed in this rating system. If worstRating is omitted, 1 is assumed." ; +. + +schema:xpath + rdfs:label "xpath" ; + schema:description "An XPath, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"." ; +. + +schema:yearBuilt + rdfs:label "year built" ; + schema:description "The year an [[Accommodation]] was constructed. This corresponds to the [YearBuilt field in RESO](https://ddwiki.reso.org/display/DDW17/YearBuilt+Field). " ; +. + +schema:yearlyRevenue + rdfs:label "yearly revenue" ; + schema:description "The size of the business in annual revenue." ; +. + +schema:yearsInOperation + rdfs:label "years in operation" ; + schema:description "The age of the business." ; +. + +schema:yield + rdfs:label "yield" ; + schema:description "The quantity that results by performing instructions. For example, a paper airplane, 10 personalized candles." ; +. + diff --git a/prez/reference_data/annotations/shacl-annotations.ttl b/prez/reference_data/annotations/shacl-annotations.ttl new file mode 100644 index 00000000..69702aca --- /dev/null +++ b/prez/reference_data/annotations/shacl-annotations.ttl @@ -0,0 +1,923 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX sh: + +sh: + rdfs:label "W3C Shapes Constraint Language (SHACL) Vocabulary"@en ; + schema:description "This vocabulary defines terms used in SHACL, the W3C Shapes Constraint Language."@en ; +. + +sh:AbstractResult + rdfs:label "Abstract result"@en ; + schema:description "The base class of validation results, typically not instantiated directly."@en ; +. + +sh:AndConstraintComponent + rdfs:label "And constraint component"@en ; + schema:description "A constraint component that can be used to test whether a value node conforms to all members of a provided list of shapes."@en ; +. + +sh:BlankNode + rdfs:label "Blank node"@en ; + schema:description "The node kind of all blank nodes."@en ; +. + +sh:BlankNodeOrIRI + rdfs:label "Blank node or IRI"@en ; + schema:description "The node kind of all blank nodes or IRIs."@en ; +. + +sh:BlankNodeOrLiteral + rdfs:label "Blank node or literal"@en ; + schema:description "The node kind of all blank nodes or literals."@en ; +. + +sh:ClassConstraintComponent + rdfs:label "Class constraint component"@en ; + schema:description "A constraint component that can be used to verify that each value node is an instance of a given type."@en ; +. + +sh:ClosedConstraintComponent + rdfs:label "Closed constraint component"@en ; + schema:description "A constraint component that can be used to indicate that focus nodes must only have values for those properties that have been explicitly enumerated via sh:property/sh:path."@en ; +. + +sh:ConstraintComponent + rdfs:label "Constraint component"@en ; + schema:description "The class of constraint components."@en ; +. + +sh:DatatypeConstraintComponent + rdfs:label "Datatype constraint component"@en ; + schema:description "A constraint component that can be used to restrict the datatype of all value nodes."@en ; +. + +sh:DisjointConstraintComponent + rdfs:label "Disjoint constraint component"@en ; + schema:description "A constraint component that can be used to verify that the set of value nodes is disjoint with the the set of nodes that have the focus node as subject and the value of a given property as predicate."@en ; +. + +sh:EqualsConstraintComponent + rdfs:label "Equals constraint component"@en ; + schema:description "A constraint component that can be used to verify that the set of value nodes is equal to the set of nodes that have the focus node as subject and the value of a given property as predicate."@en ; +. + +sh:ExpressionConstraintComponent + rdfs:label "Expression constraint component"@en ; + schema:description "A constraint component that can be used to verify that a given node expression produces true for all value nodes."@en ; +. + +sh:Function + rdfs:label "Function"@en ; + schema:description "The class of SHACL functions."@en ; +. + +sh:HasValueConstraintComponent + rdfs:label "Has-value constraint component"@en ; + schema:description "A constraint component that can be used to verify that one of the value nodes is a given RDF node."@en ; +. + +sh:IRI + rdfs:label "IRI"@en ; + schema:description "The node kind of all IRIs."@en ; +. + +sh:IRIOrLiteral + rdfs:label "IRI or literal"@en ; + schema:description "The node kind of all IRIs or literals."@en ; +. + +sh:InConstraintComponent + rdfs:label "In constraint component"@en ; + schema:description "A constraint component that can be used to exclusively enumerate the permitted value nodes."@en ; +. + +sh:Info + rdfs:label "Info"@en ; + schema:description "The severity for an informational validation result."@en ; +. + +sh:JSConstraint + rdfs:label "JavaScript-based constraint"@en ; + schema:description "The class of constraints backed by a JavaScript function."@en ; +. + +sh:JSConstraintComponent + rdfs:label "JavaScript constraint component"@en ; + schema:description "A constraint component with the parameter sh:js linking to a sh:JSConstraint containing a sh:script."@en ; +. + +sh:JSExecutable + rdfs:label "JavaScript executable"@en ; + schema:description "Abstract base class of resources that declare an executable JavaScript."@en ; +. + +sh:JSFunction + rdfs:label "JavaScript function"@en ; + schema:description "The class of SHACL functions that execute a JavaScript function when called."@en ; +. + +sh:JSLibrary + rdfs:label "JavaScript library"@en ; + schema:description "Represents a JavaScript library, typically identified by one or more URLs of files to include."@en ; +. + +sh:JSRule + rdfs:label "JavaScript rule"@en ; + schema:description "The class of SHACL rules expressed using JavaScript."@en ; +. + +sh:JSTarget + rdfs:label "JavaScript target"@en ; + schema:description "The class of targets that are based on JavaScript functions."@en ; +. + +sh:JSTargetType + rdfs:label "JavaScript target type"@en ; + schema:description "The (meta) class for parameterizable targets that are based on JavaScript functions."@en ; +. + +sh:JSValidator + rdfs:label "JavaScript validator"@en ; + schema:description "A SHACL validator based on JavaScript. This can be used to declare SHACL constraint components that perform JavaScript-based validation when used."@en ; +. + +sh:LanguageInConstraintComponent + rdfs:label "Language-in constraint component"@en ; + schema:description "A constraint component that can be used to enumerate language tags that all value nodes must have."@en ; +. + +sh:LessThanConstraintComponent + rdfs:label "Less-than constraint component"@en ; + schema:description "A constraint component that can be used to verify that each value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate."@en ; +. + +sh:LessThanOrEqualsConstraintComponent + rdfs:label "less-than-or-equals constraint component"@en ; + schema:description "A constraint component that can be used to verify that every value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate."@en ; +. + +sh:Literal + rdfs:label "Literal"@en ; + schema:description "The node kind of all literals."@en ; +. + +sh:MaxCountConstraintComponent + rdfs:label "Max-count constraint component"@en ; + schema:description "A constraint component that can be used to restrict the maximum number of value nodes."@en ; +. + +sh:MaxExclusiveConstraintComponent + rdfs:label "Max-exclusive constraint component"@en ; + schema:description "A constraint component that can be used to restrict the range of value nodes with a maximum exclusive value."@en ; +. + +sh:MaxInclusiveConstraintComponent + rdfs:label "Max-inclusive constraint component"@en ; + schema:description "A constraint component that can be used to restrict the range of value nodes with a maximum inclusive value."@en ; +. + +sh:MaxLengthConstraintComponent + rdfs:label "Max-length constraint component"@en ; + schema:description "A constraint component that can be used to restrict the maximum string length of value nodes."@en ; +. + +sh:MinCountConstraintComponent + rdfs:label "Min-count constraint component"@en ; + schema:description "A constraint component that can be used to restrict the minimum number of value nodes."@en ; +. + +sh:MinExclusiveConstraintComponent + rdfs:label "Min-exclusive constraint component"@en ; + schema:description "A constraint component that can be used to restrict the range of value nodes with a minimum exclusive value."@en ; +. + +sh:MinInclusiveConstraintComponent + rdfs:label "Min-inclusive constraint component"@en ; + schema:description "A constraint component that can be used to restrict the range of value nodes with a minimum inclusive value."@en ; +. + +sh:MinLengthConstraintComponent + rdfs:label "Min-length constraint component"@en ; + schema:description "A constraint component that can be used to restrict the minimum string length of value nodes."@en ; +. + +sh:NodeConstraintComponent + rdfs:label "Node constraint component"@en ; + schema:description "A constraint component that can be used to verify that all value nodes conform to the given node shape."@en ; +. + +sh:NodeKind + rdfs:label "Node kind"@en ; + schema:description "The class of all node kinds, including sh:BlankNode, sh:IRI, sh:Literal or the combinations of these: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral."@en ; +. + +sh:NodeKindConstraintComponent + rdfs:label "Node-kind constraint component"@en ; + schema:description "A constraint component that can be used to restrict the RDF node kind of each value node."@en ; +. + +sh:NodeShape + rdfs:label "Node shape"@en ; + schema:description "A node shape is a shape that specifies constraint that need to be met with respect to focus nodes."@en ; +. + +sh:NotConstraintComponent + rdfs:label "Not constraint component"@en ; + schema:description "A constraint component that can be used to verify that value nodes do not conform to a given shape."@en ; +. + +sh:OrConstraintComponent + rdfs:label "Or constraint component"@en ; + schema:description "A constraint component that can be used to restrict the value nodes so that they conform to at least one out of several provided shapes."@en ; +. + +sh:Parameter + rdfs:label "Parameter"@en ; + schema:description "The class of parameter declarations, consisting of a path predicate and (possibly) information about allowed value type, cardinality and other characteristics."@en ; +. + +sh:Parameterizable + rdfs:label "Parameterizable"@en ; + schema:description "Superclass of components that can take parameters, especially functions and constraint components."@en ; +. + +sh:PatternConstraintComponent + rdfs:label "Pattern constraint component"@en ; + schema:description "A constraint component that can be used to verify that every value node matches a given regular expression."@en ; +. + +sh:PrefixDeclaration + rdfs:label "Prefix declaration"@en ; + schema:description "The class of prefix declarations, consisting of pairs of a prefix with a namespace."@en ; +. + +sh:PropertyConstraintComponent + rdfs:label "Property constraint component"@en ; + schema:description "A constraint component that can be used to verify that all value nodes conform to the given property shape."@en ; +. + +sh:PropertyGroup + rdfs:label "Property group"@en ; + schema:description "Instances of this class represent groups of property shapes that belong together."@en ; +. + +sh:PropertyShape + rdfs:label "Property shape"@en ; + schema:description "A property shape is a shape that specifies constraints on the values of a focus node for a given property or path."@en ; +. + +sh:QualifiedMaxCountConstraintComponent + rdfs:label "Qualified-max-count constraint component"@en ; + schema:description "A constraint component that can be used to verify that a specified maximum number of value nodes conforms to a given shape."@en ; +. + +sh:QualifiedMinCountConstraintComponent + rdfs:label "Qualified-min-count constraint component"@en ; + schema:description "A constraint component that can be used to verify that a specified minimum number of value nodes conforms to a given shape."@en ; +. + +sh:ResultAnnotation + rdfs:label "Result annotation"@en ; + schema:description "A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result."@en ; +. + +sh:Rule + rdfs:label "Rule"@en ; + schema:description "The class of SHACL rules. Never instantiated directly."@en ; +. + +sh:SPARQLAskExecutable + rdfs:label "SPARQL ASK executable"@en ; + schema:description "The class of SPARQL executables that are based on an ASK query."@en ; +. + +sh:SPARQLAskValidator + rdfs:label "SPARQL ASK validator"@en ; + schema:description "The class of validators based on SPARQL ASK queries. The queries are evaluated for each value node and are supposed to return true if the given node conforms."@en ; +. + +sh:SPARQLConstraint + rdfs:label "SPARQL constraint"@en ; + schema:description "The class of constraints based on SPARQL SELECT queries."@en ; +. + +sh:SPARQLConstraintComponent + rdfs:label "SPARQL constraint component"@en ; + schema:description "A constraint component that can be used to define constraints based on SPARQL queries."@en ; +. + +sh:SPARQLConstructExecutable + rdfs:label "SPARQL CONSTRUCT executable"@en ; + schema:description "The class of SPARQL executables that are based on a CONSTRUCT query."@en ; +. + +sh:SPARQLExecutable + rdfs:label "SPARQL executable"@en ; + schema:description "The class of resources that encapsulate a SPARQL query."@en ; +. + +sh:SPARQLFunction + rdfs:label "SPARQL function"@en ; + schema:description "A function backed by a SPARQL query - either ASK or SELECT."@en ; +. + +sh:SPARQLRule + rdfs:label "SPARQL CONSTRUCT rule"@en ; + schema:description "The class of SHACL rules based on SPARQL CONSTRUCT queries."@en ; +. + +sh:SPARQLSelectExecutable + rdfs:label "SPARQL SELECT executable"@en ; + schema:description "The class of SPARQL executables based on a SELECT query."@en ; +. + +sh:SPARQLSelectValidator + rdfs:label "SPARQL SELECT validator"@en ; + schema:description "The class of validators based on SPARQL SELECT queries. The queries are evaluated for each focus node and are supposed to produce bindings for all focus nodes that do not conform."@en ; +. + +sh:SPARQLTarget + rdfs:label "SPARQL target"@en ; + schema:description "The class of targets that are based on SPARQL queries."@en ; +. + +sh:SPARQLTargetType + rdfs:label "SPARQL target type"@en ; + schema:description "The (meta) class for parameterizable targets that are based on SPARQL queries."@en ; +. + +sh:SPARQLUpdateExecutable + rdfs:label "SPARQL UPDATE executable"@en ; + schema:description "The class of SPARQL executables based on a SPARQL UPDATE."@en ; +. + +sh:Severity + rdfs:label "Severity"@en ; + schema:description "The class of validation result severity levels, including violation and warning levels."@en ; +. + +sh:Shape + rdfs:label "Shape"@en ; + schema:description "A shape is a collection of constraints that may be targeted for certain nodes."@en ; +. + +sh:Target + rdfs:label "Target"@en ; + schema:description "The base class of targets such as those based on SPARQL queries."@en ; +. + +sh:TargetType + rdfs:label "Target type"@en ; + schema:description "The (meta) class for parameterizable targets. Instances of this are instantiated as values of the sh:target property."@en ; +. + +sh:TripleRule + rdfs:label "A rule based on triple (subject, predicate, object) pattern."@en ; +. + +sh:UniqueLangConstraintComponent + rdfs:label "Unique-languages constraint component"@en ; + schema:description "A constraint component that can be used to specify that no pair of value nodes may use the same language tag."@en ; +. + +sh:ValidationReport + rdfs:label "Validation report"@en ; + schema:description "The class of SHACL validation reports."@en ; +. + +sh:ValidationResult + rdfs:label "Validation result"@en ; + schema:description "The class of validation results."@en ; +. + +sh:Validator + rdfs:label "Validator"@en ; + schema:description "The class of validators, which provide instructions on how to process a constraint definition. This class serves as base class for the SPARQL-based validators and other possible implementations."@en ; +. + +sh:Violation + rdfs:label "Violation"@en ; + schema:description "The severity for a violation validation result."@en ; +. + +sh:Warning + rdfs:label "Warning"@en ; + schema:description "The severity for a warning validation result."@en ; +. + +sh:XoneConstraintComponent + rdfs:label "Exactly one constraint component"@en ; + schema:description "A constraint component that can be used to restrict the value nodes so that they conform to exactly one out of several provided shapes."@en ; +. + +sh:alternativePath + rdfs:label "alternative path"@en ; + schema:description "The (single) value of this property must be a list of path elements, representing the elements of alternative paths."@en ; +. + +sh:and + rdfs:label "and"@en ; + schema:description "RDF list of shapes to validate the value nodes against."@en ; +. + +sh:annotationProperty + rdfs:label "annotation property"@en ; + schema:description "The annotation property that shall be set."@en ; +. + +sh:annotationValue + rdfs:label "annotation value"@en ; + schema:description "The (default) values of the annotation property."@en ; +. + +sh:annotationVarName + rdfs:label "annotation variable name"@en ; + schema:description "The name of the SPARQL variable from the SELECT clause that shall be used for the values."@en ; +. + +sh:ask + rdfs:label "ask"@en ; + schema:description "The SPARQL ASK query to execute."@en ; +. + +sh:class + rdfs:label "class"@en ; + schema:description "The type that all value nodes must have."@en ; +. + +sh:closed + rdfs:label "closed"@en ; + schema:description "If set to true then the shape is closed."@en ; +. + +sh:condition + rdfs:label "condition"@en ; + schema:description "The shapes that the focus nodes need to conform to before a rule is executed on them."@en ; +. + +sh:conforms + rdfs:label "conforms"@en ; + schema:description "True if the validation did not produce any validation results, and false otherwise."@en ; +. + +sh:construct + rdfs:label "construct"@en ; + schema:description "The SPARQL CONSTRUCT query to execute."@en ; +. + +sh:datatype + rdfs:label "datatype"@en ; + schema:description "Specifies an RDF datatype that all value nodes must have."@en ; +. + +sh:deactivated + rdfs:label "deactivated"@en ; + schema:description "If set to true then all nodes conform to this."@en ; +. + +sh:declare + rdfs:label "declare"@en ; + schema:description "Links a resource with its namespace prefix declarations."@en ; +. + +sh:defaultValue + rdfs:label "default value"@en ; + schema:description "A default value for a property, for example for user interface tools to pre-populate input fields."@en ; +. + +sh:description + rdfs:label "description"@en ; + schema:description "Human-readable descriptions for the property in the context of the surrounding shape."@en ; +. + +sh:detail + rdfs:label "detail"@en ; + schema:description "Links a result with other results that provide more details, for example to describe violations against nested shapes."@en ; +. + +sh:disjoint + rdfs:label "disjoint"@en ; + schema:description "Specifies a property where the set of values must be disjoint with the value nodes."@en ; +. + +sh:entailment + rdfs:label "entailment"@en ; + schema:description "An entailment regime that indicates what kind of inferencing is required by a shapes graph."@en ; +. + +sh:equals + rdfs:label "equals"@en ; + schema:description "Specifies a property that must have the same values as the value nodes."@en ; +. + +sh:expression + rdfs:label "expression"@en ; + schema:description "The node expression that must return true for the value nodes."@en ; +. + +sh:filterShape + rdfs:label "filter shape"@en ; + schema:description "The shape that all input nodes of the expression need to conform to."@en ; +. + +sh:flags + rdfs:label "flags"@en ; + schema:description "An optional flag to be used with regular expression pattern matching."@en ; +. + +sh:focusNode + rdfs:label "focus node"@en ; + schema:description "The focus node that was validated when the result was produced."@en ; +. + +sh:group + rdfs:label "group"@en ; + schema:description "Can be used to link to a property group to indicate that a property shape belongs to a group of related property shapes."@en ; +. + +sh:hasValue + rdfs:label "has value"@en ; + schema:description "Specifies a value that must be among the value nodes."@en ; +. + +sh:ignoredProperties + rdfs:label "ignored properties"@en ; + schema:description "An optional RDF list of properties that are also permitted in addition to those explicitly enumerated via sh:property/sh:path."@en ; +. + +sh:in + rdfs:label "in"@en ; + schema:description "Specifies a list of allowed values so that each value node must be among the members of the given list."@en ; +. + +sh:intersection + rdfs:label "intersection"@en ; + schema:description "A list of node expressions that shall be intersected."@en ; +. + +sh:inversePath + rdfs:label "inverse path"@en ; + schema:description "The (single) value of this property represents an inverse path (object to subject)."@en ; +. + +sh:js + rdfs:label "JavaScript constraint"@en ; + schema:description "Constraints expressed in JavaScript." ; +. + +sh:jsFunctionName + rdfs:label "JavaScript function name"@en ; + schema:description "The name of the JavaScript function to execute."@en ; +. + +sh:jsLibrary + rdfs:label "JavaScript library"@en ; + schema:description "Declares which JavaScript libraries are needed to execute this."@en ; +. + +sh:jsLibraryURL + rdfs:label "JavaScript library URL"@en ; + schema:description "Declares the URLs of a JavaScript library. This should be the absolute URL of a JavaScript file. Implementations may redirect those to local files."@en ; +. + +sh:labelTemplate + rdfs:label "label template"@en ; + schema:description "Outlines how human-readable labels of instances of the associated Parameterizable shall be produced. The values can contain {?paramName} as placeholders for the actual values of the given parameter."@en ; +. + +sh:languageIn + rdfs:label "language in"@en ; + schema:description "Specifies a list of language tags that all value nodes must have."@en ; +. + +sh:lessThan + rdfs:label "less than"@en ; + schema:description "Specifies a property that must have smaller values than the value nodes."@en ; +. + +sh:lessThanOrEquals + rdfs:label "less than or equals"@en ; + schema:description "Specifies a property that must have smaller or equal values than the value nodes."@en ; +. + +sh:maxCount + rdfs:label "max count"@en ; + schema:description "Specifies the maximum number of values in the set of value nodes."@en ; +. + +sh:maxExclusive + rdfs:label "max exclusive"@en ; + schema:description "Specifies the maximum exclusive value of each value node."@en ; +. + +sh:maxInclusive + rdfs:label "max inclusive"@en ; + schema:description "Specifies the maximum inclusive value of each value node."@en ; +. + +sh:maxLength + rdfs:label "max length"@en ; + schema:description "Specifies the maximum string length of each value node."@en ; +. + +sh:message + rdfs:label "message"@en ; + schema:description "A human-readable message (possibly with placeholders for variables) explaining the cause of the result."@en ; +. + +sh:minCount + rdfs:label "min count"@en ; + schema:description "Specifies the minimum number of values in the set of value nodes."@en ; +. + +sh:minExclusive + rdfs:label "min exclusive"@en ; + schema:description "Specifies the minimum exclusive value of each value node."@en ; +. + +sh:minInclusive + rdfs:label "min inclusive"@en ; + schema:description "Specifies the minimum inclusive value of each value node."@en ; +. + +sh:minLength + rdfs:label "min length"@en ; + schema:description "Specifies the minimum string length of each value node."@en ; +. + +sh:name + rdfs:label "name"@en ; + schema:description "Human-readable labels for the property in the context of the surrounding shape."@en ; +. + +sh:namespace + rdfs:label "namespace"@en ; + schema:description "The namespace associated with a prefix in a prefix declaration."@en ; +. + +sh:node + rdfs:label "node"@en ; + schema:description "Specifies the node shape that all value nodes must conform to."@en ; +. + +sh:nodeKind + rdfs:label "node kind"@en ; + schema:description "Specifies the node kind (e.g. IRI or literal) each value node."@en ; +. + +sh:nodeValidator + rdfs:label "shape validator"@en ; + schema:description "The validator(s) used to evaluate a constraint in the context of a node shape."@en ; +. + +sh:nodes + rdfs:label "nodes"@en ; + schema:description "The node expression producing the input nodes of a filter shape expression."@en ; +. + +sh:not + rdfs:label "not"@en ; + schema:description "Specifies a shape that the value nodes must not conform to."@en ; +. + +sh:object + rdfs:label "object"@en ; + schema:description "An expression producing the nodes that shall be inferred as objects."@en ; +. + +sh:oneOrMorePath + rdfs:label "one or more path"@en ; + schema:description "The (single) value of this property represents a path that is matched one or more times."@en ; +. + +sh:optional + rdfs:label "optional"@en ; + schema:description "Indicates whether a parameter is optional."@en ; +. + +sh:or + rdfs:label "or"@en ; + schema:description "Specifies a list of shapes so that the value nodes must conform to at least one of the shapes."@en ; +. + +sh:order + rdfs:label "order"@en ; + schema:description "Specifies the relative order of this compared to its siblings. For example use 0 for the first, 1 for the second."@en ; +. + +sh:parameter + rdfs:label "parameter"@en ; + schema:description "The parameters of a function or constraint component."@en ; +. + +sh:path + rdfs:label "path"@en ; + schema:description "Specifies the property path of a property shape."@en ; +. + +sh:pattern + rdfs:label "pattern"@en ; + schema:description "Specifies a regular expression pattern that the string representations of the value nodes must match."@en ; +. + +sh:predicate + rdfs:label "predicate"@en ; + schema:description "An expression producing the properties that shall be inferred as predicates."@en ; +. + +sh:prefix + rdfs:label "prefix"@en ; + schema:description "The prefix of a prefix declaration."@en ; +. + +sh:prefixes + rdfs:label "prefixes"@en ; + schema:description "The prefixes that shall be applied before parsing the associated SPARQL query."@en ; +. + +sh:property + rdfs:label "property"@en ; + schema:description "Links a shape to its property shapes."@en ; +. + +sh:propertyValidator + rdfs:label "property validator"@en ; + schema:description "The validator(s) used to evaluate a constraint in the context of a property shape."@en ; +. + +sh:qualifiedMaxCount + rdfs:label "qualified max count"@en ; + schema:description "The maximum number of value nodes that can conform to the shape."@en ; +. + +sh:qualifiedMinCount + rdfs:label "qualified min count"@en ; + schema:description "The minimum number of value nodes that must conform to the shape."@en ; +. + +sh:qualifiedValueShape + rdfs:label "qualified value shape"@en ; + schema:description "The shape that a specified number of values must conform to."@en ; +. + +sh:qualifiedValueShapesDisjoint + rdfs:label "qualified value shapes disjoint"@en ; + schema:description "Can be used to mark the qualified value shape to be disjoint with its sibling shapes."@en ; +. + +sh:result + rdfs:label "result"@en ; + schema:description "The validation results contained in a validation report."@en ; +. + +sh:resultAnnotation + rdfs:label "result annotation"@en ; + schema:description "Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query."@en ; +. + +sh:resultMessage + rdfs:label "result message"@en ; + schema:description "Human-readable messages explaining the cause of the result."@en ; +. + +sh:resultPath + rdfs:label "result path"@en ; + schema:description "The path of a validation result, based on the path of the validated property shape."@en ; +. + +sh:resultSeverity + rdfs:label "result severity"@en ; + schema:description "The severity of the result, e.g. warning."@en ; +. + +sh:returnType + rdfs:label "return type"@en ; + schema:description "The expected type of values returned by the associated function."@en ; +. + +sh:rule + rdfs:label "rule"@en ; + schema:description "The rules linked to a shape."@en ; +. + +sh:select + rdfs:label "select"@en ; + schema:description "The SPARQL SELECT query to execute."@en ; +. + +sh:severity + rdfs:label "severity"@en ; + schema:description "Defines the severity that validation results produced by a shape must have. Defaults to sh:Violation."@en ; +. + +sh:shapesGraph + rdfs:label "shapes graph"@en ; + schema:description "Shapes graphs that should be used when validating this data graph."@en ; +. + +sh:shapesGraphWellFormed + rdfs:label "shapes graph well-formed"@en ; + schema:description "If true then the validation engine was certain that the shapes graph has passed all SHACL syntax requirements during the validation process."@en ; +. + +sh:sourceConstraint + rdfs:label "source constraint"@en ; + schema:description "The constraint that was validated when the result was produced."@en ; +. + +sh:sourceConstraintComponent + rdfs:label "source constraint component"@en ; + schema:description "The constraint component that is the source of the result."@en ; +. + +sh:sourceShape + rdfs:label "source shape"@en ; + schema:description "The shape that is was validated when the result was produced."@en ; +. + +sh:sparql + rdfs:label "constraint (in SPARQL)"@en ; + schema:description "Links a shape with SPARQL constraints."@en ; +. + +sh:subject + rdfs:label "subject"@en ; + schema:description "An expression producing the resources that shall be inferred as subjects."@en ; +. + +sh:suggestedShapesGraph + rdfs:label "suggested shapes graph"@en ; + schema:description "Suggested shapes graphs for this ontology. The values of this property may be used in the absence of specific sh:shapesGraph statements."@en ; +. + +sh:target + rdfs:label "target"@en ; + schema:description "Links a shape to a target specified by an extension language, for example instances of sh:SPARQLTarget."@en ; +. + +sh:targetClass + rdfs:label "target class"@en ; + schema:description "Links a shape to a class, indicating that all instances of the class must conform to the shape."@en ; +. + +sh:targetNode + rdfs:label "target node"@en ; + schema:description "Links a shape to individual nodes, indicating that these nodes must conform to the shape."@en ; +. + +sh:targetObjectsOf + rdfs:label "target objects of"@en ; + schema:description "Links a shape to a property, indicating that all all objects of triples that have the given property as their predicate must conform to the shape."@en ; +. + +sh:targetSubjectsOf + rdfs:label "target subjects of"@en ; + schema:description "Links a shape to a property, indicating that all subjects of triples that have the given property as their predicate must conform to the shape."@en ; +. + +sh:this + rdfs:label "this"@en ; + schema:description "A node expression that represents the current focus node."@en ; +. + +sh:union + rdfs:label "union"@en ; + schema:description "A list of node expressions that shall be used together."@en ; +. + +sh:uniqueLang + rdfs:label "unique languages"@en ; + schema:description "Specifies whether all node values must have a unique (or no) language tag."@en ; +. + +sh:update + rdfs:label "update"@en ; + schema:description "The SPARQL UPDATE to execute."@en ; +. + +sh:validator + rdfs:label "validator"@en ; + schema:description "The validator(s) used to evaluate constraints of either node or property shapes."@en ; +. + +sh:value + rdfs:label "value"@en ; + schema:description "An RDF node that has caused the result."@en ; +. + +sh:xone + rdfs:label "exactly one"@en ; + schema:description "Specifies a list of shapes so that the value nodes must conform to exactly one of the shapes."@en ; +. + +sh:zeroOrMorePath + rdfs:label "zero or more path"@en ; + schema:description "The (single) value of this property represents a path that is matched zero or more times."@en ; +. + +sh:zeroOrOnePath + rdfs:label "zero or one path"@en ; + schema:description "The (single) value of this property represents a path that is matched zero or one times."@en ; +. + diff --git a/prez/reference_data/annotations/skos-annotations.ttl b/prez/reference_data/annotations/skos-annotations.ttl new file mode 100644 index 00000000..30641b3f --- /dev/null +++ b/prez/reference_data/annotations/skos-annotations.ttl @@ -0,0 +1,194 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX skos: + + + rdfs:label "SKOS Vocabulary"@en ; + rdfs:seeAlso ; + schema:description "An RDF vocabulary for describing the basic structure and content of concept schemes such as thesauri, classification schemes, subject heading lists, taxonomies, 'folksonomies', other types of controlled vocabulary, and also concept schemes embedded in glossaries and terminologies."@en ; +. + +skos:Collection + rdfs:label "Collection"@en ; + schema:description "A meaningful collection of concepts."@en ; +. + +skos:Concept + rdfs:label "Concept"@en ; + schema:description "An idea or notion; a unit of thought."@en ; +. + +skos:ConceptScheme + rdfs:label "Concept Scheme"@en ; + schema:description "A set of concepts, optionally including statements about semantic relationships between those concepts."@en ; +. + +skos:OrderedCollection + rdfs:label "Ordered Collection"@en ; + schema:description "An ordered collection of concepts, where both the grouping and the ordering are meaningful."@en ; +. + +skos:altLabel + rdfs:label "alternative label"@en ; + schema:description + "An alternative lexical label for a resource."@en , + "The range of skos:altLabel is the class of RDF plain literals."@en , + "skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise disjoint properties."@en ; +. + +skos:broadMatch + rdfs:label "has broader match"@en ; + schema:description "skos:broadMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes."@en ; +. + +skos:broader + rdfs:label "has broader"@en ; + schema:description + "Broader concepts are typically rendered as parents in a concept hierarchy (tree)."@en , + "Relates a concept to a concept that is more general in meaning."@en ; +. + +skos:broaderTransitive + rdfs:label "has broader transitive"@en ; + schema:description "skos:broaderTransitive is a transitive superproperty of skos:broader." ; +. + +skos:changeNote + rdfs:label "change note"@en ; + schema:description "A note about a modification to a concept."@en ; +. + +skos:closeMatch + rdfs:label "has close match"@en ; + schema:description "skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of \"compound errors\" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property."@en ; +. + +skos:definition + rdfs:label "definition"@en ; + schema:description "A statement or formal explanation of the meaning of a concept."@en ; +. + +skos:editorialNote + rdfs:label "editorial note"@en ; + schema:description "A note for an editor, translator or maintainer of the vocabulary."@en ; +. + +skos:exactMatch + rdfs:label "has exact match"@en ; + schema:description + "skos:exactMatch is disjoint with each of the properties skos:broadMatch and skos:relatedMatch."@en , + "skos:exactMatch is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. skos:exactMatch is a transitive property, and is a sub-property of skos:closeMatch."@en ; +. + +skos:example + rdfs:label "example"@en ; + schema:description "An example of the use of a concept."@en ; +. + +skos:hasTopConcept + rdfs:label "has top concept"@en ; + schema:description "Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme, providing an entry point to these hierarchies."@en ; +. + +skos:hiddenLabel + rdfs:label "hidden label"@en ; + schema:description + "A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations."@en , + "The range of skos:hiddenLabel is the class of RDF plain literals."@en , + "skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise disjoint properties."@en ; +. + +skos:historyNote + rdfs:label "history note"@en ; + schema:description "A note about the past state/use/meaning of a concept."@en ; +. + +skos:inScheme + rdfs:label "is in scheme"@en ; + schema:description "Relates a resource (for example a concept) to a concept scheme in which it is included."@en ; +. + +skos:mappingRelation + rdfs:label "is in mapping relation with"@en ; + schema:description + "Relates two concepts coming, by convention, from different schemes, and that have comparable meanings"@en , + "These concept mapping relations mirror semantic relations, and the data model defined below is similar (with the exception of skos:exactMatch) to the data model defined for semantic relations. A distinct vocabulary is provided for concept mapping relations, to provide a convenient way to differentiate links within a concept scheme from links between concept schemes. However, this pattern of usage is not a formal requirement of the SKOS data model, and relies on informal definitions of best practice."@en ; +. + +skos:member + rdfs:label "has member"@en ; + schema:description "Relates a collection to one of its members."@en ; +. + +skos:memberList + rdfs:label "has member list"@en ; + schema:description + """For any resource, every item in the list given as the value of the + skos:memberList property is also a value of the skos:member property."""@en , + "Relates an ordered collection to the RDF list containing its members."@en ; +. + +skos:narrowMatch + rdfs:label "has narrower match"@en ; + schema:description "skos:narrowMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes."@en ; +. + +skos:narrower + rdfs:label "has narrower"@en ; + schema:description + "Narrower concepts are typically rendered as children in a concept hierarchy (tree)."@en , + "Relates a concept to a concept that is more specific in meaning."@en ; +. + +skos:narrowerTransitive + rdfs:label "has narrower transitive"@en ; + schema:description "skos:narrowerTransitive is a transitive superproperty of skos:narrower." ; +. + +skos:notation + rdfs:label "notation"@en ; + schema:description "A notation, also known as classification code, is a string of characters such as \"T58.5\" or \"303.4833\" used to uniquely identify a concept within the scope of a given concept scheme."@en ; +. + +skos:note + rdfs:label "note"@en ; + schema:description "A general note, for any purpose."@en ; +. + +skos:prefLabel + rdfs:label "preferred label"@en ; + schema:description + "A resource has no more than one value of skos:prefLabel per language tag, and no more than one value of skos:prefLabel without language tag."@en , + "The preferred lexical label for a resource, in a given language."@en , + "The range of skos:prefLabel is the class of RDF plain literals."@en , + """skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise + disjoint properties."""@en ; +. + +skos:related + rdfs:label "has related"@en ; + schema:description + "Relates a concept to a concept with which there is an associative semantic relationship."@en , + "skos:related is disjoint with skos:broaderTransitive"@en ; +. + +skos:relatedMatch + rdfs:label "has related match"@en ; + schema:description "skos:relatedMatch is used to state an associative mapping link between two conceptual resources in different concept schemes."@en ; +. + +skos:scopeNote + rdfs:label "scope note"@en ; + schema:description "A note that helps to clarify the meaning and/or the use of a concept."@en ; +. + +skos:semanticRelation + rdfs:label "is in semantic relation with"@en ; + schema:description "Links a concept to a concept related by meaning."@en ; +. + +skos:topConceptOf + rdfs:label "is top concept in scheme"@en ; + schema:description "Relates a concept to the concept scheme that it is a top level concept of."@en ; +. + diff --git a/prez/reference_data/annotations/skos-xl-annotations.ttl b/prez/reference_data/annotations/skos-xl-annotations.ttl new file mode 100644 index 00000000..085f4466 --- /dev/null +++ b/prez/reference_data/annotations/skos-xl-annotations.ttl @@ -0,0 +1,43 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX skos: + + + rdfs:label "SKOS XL Vocabulary"@en ; + rdfs:seeAlso ; + schema:description "An RDF vocabulary extending SKOS and allowing the description and linking of lexical entities."@en ; +. + + + rdfs:label "Label"@en ; + schema:description "A special class of lexical entities."@en ; +. + + + rdfs:label "alternative label"@en ; + rdfs:seeAlso skos:altLabel ; + schema:description "The property skosxl:altLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:altLabel."@en ; +. + + + rdfs:label "hidden label"@en ; + rdfs:seeAlso skos:hiddenLabel ; + schema:description "The property skosxl:hiddenLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:hiddenLabel."@en ; +. + + + rdfs:label "label relation"@en ; + schema:description "The property skosxl:labelRelation is used for representing binary ('direct') relations between instances of the class skosxl:Label."@en ; +. + + + rdfs:label "literal form"@en ; + schema:description "The property skosxl:literalForm is used to give the literal form of an skosxl:Label."@en ; +. + + + rdfs:label "preferred label"@en ; + rdfs:seeAlso skos:prefLabel ; + schema:description "The property skosxl:prefLabel is used to associate an skosxl:Label with a skos:Concept. The property is analogous to skos:prefLabel."@en ; +. + diff --git a/prez/reference_data/annotations/sosa-annotations.ttl b/prez/reference_data/annotations/sosa-annotations.ttl new file mode 100644 index 00000000..50f5436f --- /dev/null +++ b/prez/reference_data/annotations/sosa-annotations.ttl @@ -0,0 +1,195 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX sosa: + +sosa: + rdfs:label "Sensor, Observation, Sample, and Actuator (SOSA) Ontology"@en ; + schema:description "This ontology is based on the SSN Ontology by the W3C Semantic Sensor Networks Incubator Group (SSN-XG), together with considerations from the W3C/OGC Spatial Data on the Web Working Group."@en ; +. + +sosa:ActuatableProperty + rdfs:label "Actuatable Property"@en ; + schema:description "An actuatable quality (property, characteristic) of a FeatureOfInterest."@en ; +. + +sosa:Actuation + rdfs:label "Actuation"@en ; + schema:description "An Actuation carries out an (Actuation) Procedure to change the state of the world using an Actuator."@en ; +. + +sosa:Actuator + rdfs:label "Actuator"@en ; + schema:description "A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world."@en ; +. + +sosa:FeatureOfInterest + rdfs:label "Feature Of Interest"@en ; + schema:description "The thing whose property is being estimated or calculated in the course of an Observation to arrive at a Result or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling."@en ; +. + +sosa:ObservableProperty + rdfs:label "Observable Property"@en ; + schema:description "An observable quality (property, characteristic) of a FeatureOfInterest."@en ; +. + +sosa:Observation + rdfs:label "Observation"@en ; + schema:description "Act of carrying out an (Observation) Procedure to estimate or calculate a value of a property of a FeatureOfInterest. Links to a Sensor to describe what made the Observation and how; links to an ObservableProperty to describe what the result is an estimate of, and to a FeatureOfInterest to detail what that property was associated with."@en ; +. + +sosa:Platform + rdfs:label "Platform"@en ; + schema:description "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms."@en ; +. + +sosa:Procedure + rdfs:label "Procedure"@en ; + schema:description "A workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change to the state of the world (via an Actuator). A Procedure is re-usable, and might be involved in many Observations, Samplings, or Actuations. It explains the steps to be carried out to arrive at reproducible results."@en ; +. + +sosa:Result + rdfs:label "Result"@en ; + schema:description "The Result of an Observation, Actuation, or act of Sampling. To store an observation's simple result value one can use the hasSimpleResult property."@en ; +. + +sosa:Sample + rdfs:label "Sample"@en ; + schema:description + "A Sample is the result from an act of Sampling."@en , + "Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made."@en , + "Physical samples are sometimes known as 'specimens'."@en , + """Samples are artifacts of an observational strategy, and have no significant function outside of their role in the observation process. The characteristics of the samples themselves are of little interest, except perhaps to the manager of a sampling campaign. + +A Sample is intended to sample some FatureOfInterest, so there is an expectation of at least one isSampleOf property. However, in some cases the identity, and even the exact type, of the sampled feature may not be known when observations are made using the sampling features."""@en ; +. + +sosa:Sampler + rdfs:label "Sampler"@en ; + schema:description "A device that is used by, or implements, a Sampling Procedure to create or transform one or more samples."@en ; +. + +sosa:Sampling + rdfs:label "Sampling"@en ; + schema:description "An act of Sampling carries out a sampling Procedure to create or transform one or more samples."@en ; +. + +sosa:Sensor + rdfs:label "Sensor"@en ; + schema:description "Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations, and generate a Result. Sensors can be hosted by Platforms."@en ; +. + +sosa:actsOnProperty + rdfs:label "acts on property"@en ; + schema:description "Relation between an Actuation and the property of a FeatureOfInterest it is acting upon."@en ; +. + +sosa:hasFeatureOfInterest + rdfs:label "has feature of interest"@en ; + schema:description "A relation between an Observation and the entity whose quality was observed, or between an Actuation and the entity whose property was modified, or between an act of Sampling and the entity that was sampled."@en ; +. + +sosa:hasResult + rdfs:label "has result"@en ; + schema:description "Relation linking an Observation or Actuation or act of Sampling and a Result or Sample."@en ; +. + +sosa:hasSample + rdfs:label "has sample"@en ; + schema:description "Relation between a FeatureOfInterest and the Sample used to represent it."@en ; +. + +sosa:hasSimpleResult + rdfs:label "has simple result"@en ; + schema:description "The simple value of an Observation or Actuation or act of Sampling."@en ; +. + +sosa:hosts + rdfs:label "hosts"@en ; + schema:description "Relation between a Platform and a Sensor, Actuator, Sampler, or Platform, hosted or mounted on it."@en ; +. + +sosa:isActedOnBy + rdfs:label "is acted on by"@en ; + schema:description "Relation between an ActuatableProperty of a FeatureOfInterest and an Actuation changing its state."@en ; +. + +sosa:isFeatureOfInterestOf + rdfs:label "is feature of interest of"@en ; + schema:description "A relation between a FeatureOfInterest and an Observation about it, an Actuation acting on it, or an act of Sampling that sampled it."@en ; +. + +sosa:isHostedBy + rdfs:label "is hosted by"@en ; + schema:description "Relation between a Sensor, Actuator, Sampler, or Platform, and the Platform that it is mounted on or hosted by."@en ; +. + +sosa:isObservedBy + rdfs:label "is observed by"@en ; + schema:description "Relation between an ObservableProperty and the Sensor able to observe it."@en ; +. + +sosa:isResultOf + rdfs:label "is result of"@en ; + schema:description "Relation linking a Result to the Observation or Actuation or act of Sampling that created or caused it."@en ; +. + +sosa:isSampleOf + rdfs:label "is sample of"@en ; + schema:description "Relation from a Sample to the FeatureOfInterest that it is intended to be representative of."@en ; +. + +sosa:madeActuation + rdfs:label "made actuation"@en ; + schema:description "Relation between an Actuator and the Actuation it has made."@en ; +. + +sosa:madeByActuator + rdfs:label "made by actuator"@en ; + schema:description "Relation linking an Actuation to the Actuator that made that Actuation."@en ; +. + +sosa:madeBySampler + rdfs:label "made by sampler"@en ; + schema:description "Relation linking an act of Sampling to the Sampler (sampling device or entity) that made it."@en ; +. + +sosa:madeBySensor + rdfs:label "made by sensor"@en ; + schema:description "Relation between an Observation and the Sensor which made the Observation."@en ; +. + +sosa:madeObservation + rdfs:label "made observation"@en ; + schema:description "Relation between a Sensor and an Observation made by the Sensor."@en ; +. + +sosa:madeSampling + rdfs:label "made sampling"@en ; + schema:description "Relation between a Sampler (sampling device or entity) and the Sampling act it performed."@en ; +. + +sosa:observedProperty + rdfs:label "observed property"@en ; + schema:description "Relation linking an Observation to the property that was observed. The ObservableProperty should be a property of the FeatureOfInterest (linked by hasFeatureOfInterest) of this Observation."@en ; +. + +sosa:observes + rdfs:label "observes"@en ; + schema:description "Relation between a Sensor and an ObservableProperty that it is capable of sensing."@en ; +. + +sosa:phenomenonTime + rdfs:label "phenomenon time"@en ; + schema:description "The time that the Result of an Observation, Actuation or Sampling applies to the FeatureOfInterest. Not necessarily the same as the resultTime. May be an Interval or an Instant, or some other compound TemporalEntity."@en ; +. + +sosa:resultTime + rdfs:label "result time"@en ; + schema:description "The result time is the instant of time when the Observation, Actuation or Sampling activity was completed."@en ; +. + +sosa:usedProcedure + rdfs:label "used procedure"@en ; + schema:description "A relation to link to a re-usable Procedure used in making an Observation, an Actuation, or a Sample, typically through a Sensor, Actuator or Sampler."@en ; +. + diff --git a/prez/reference_data/annotations/tern-annotations.ttl b/prez/reference_data/annotations/tern-annotations.ttl new file mode 100644 index 00000000..cff23280 --- /dev/null +++ b/prez/reference_data/annotations/tern-annotations.ttl @@ -0,0 +1,622 @@ +PREFIX rdfs: +PREFIX schema: + + + rdfs:label "material sample ID" ; + schema:description "An identifier for the MaterialSample (as opposed to a particular digital record of the material sample). In the absence of a persistent global unique identifier, construct one from a combination of identifiers in the record that will most closely make the materialSampleID globally unique." ; +. + + + rdfs:label "TERN Ontology" ; + rdfs:seeAlso + , + , + ; + schema:description """The TERN Ontology comprises a set of vocabularies for representing plot-based ecological data. It was developed primarily based on the SOSA (Sensor, Observation, Sample, and Actuator) ontology. The TERN Ontology's classes and properties have been tailored to describe terrestrial ecology survey data including flora, vegetation and soil, following the methodologies outlined in the Australian Soil and Land Survey Field Handbook. + + + """ ; +. + + + rdfs:label "Attribute" ; + schema:description "A property-value pair. Same modelling pattern as [schema:PropertyValue](https://schema.org/PropertyValue)." ; +. + + + rdfs:label "Boolean" ; + schema:description "Class to encapsulate a true-or-false value" ; +. + + + rdfs:label "Categorical Value" ; +. + + + rdfs:label "Concept" ; + schema:description "Class to encapsulate a classifier, usually a value from a controlled vocabulary." ; +. + + + rdfs:label "CosmOz Station" ; + rdfs:seeAlso ; + schema:description """CosmOz is the Australian Cosmic-Ray Neutron Soil Moisture Monitoring Network +Beginning in October 2010, CSIRO Land and Water installed cosmic-ray probes at a number of locations around Australia to form the inaugural CosmOz network. These sites were established at instrumented research sites operated by CSIRO and University collaborators to test and validate the operation of this new technology. +These novel probes use cosmic rays originating from outer space to measure average soil moisture over an area of about 30 hectares to depths in the soil of between 10 to 50 cm. This constitutes a quantum leap over conventional on-ground soil moisture sensing technology that can only measure soil moisture content within small volumes of soil. +Each system is comprised of a data logger, neutron detector, satellite telemetry, tipping bucket rain gauge, temperature humidity and pressure sensors and three surface moisture (TDR) probes. The system requires minimal maintenance and is powered by a solar charging system. The entire system is installed on a single mast. Data is logged and transmitted every 60 minutes to the CosmOz database.""" ; +. + + + rdfs:label "Count" ; + schema:description "Class to encapsulate an integer value." ; +. + + + rdfs:label "Dataset" ; + schema:description "A collection of data, published or curated by a single agent, and available for access or download in one or more representations." ; +. + + + rdfs:label "Date" ; +. + + + rdfs:label "Date time" ; +. + + + rdfs:label "Deployment" ; + schema:description "Describes the Deployment of one or more Systems for a particular purpose. Deployment may be done on a Platform."@en ; +. + + + rdfs:label "Digital Camera" ; + schema:description "The model as defined by the manufacturer." ; +. + + + rdfs:label "Dimension" ; + schema:description "The dimension of a 2D square or rectangular feature. Example, the dimension of a rectangular plot [Site](#EcologicalSite). This class should perhaps have specialised classes to express not just square or rectangular features but also others such as circular features." ; +. + + + rdfs:label "Distribution" ; + schema:description "A specific representation of a dataset. A dataset might be available in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail or profiles (which might specify any or all of the above)." ; +. + + + rdfs:label "Earth Observation Satellite" ; + rdfs:seeAlso ; + schema:description "Earth observation satellites are satellites specifically designed to observe Earth from orbit, similar to spy satellites but intended for non-military uses such as environmental monitoring, meteorology, map making etc. Source: Wikipedia, http://en.wikipedia.org/wiki/Earth_observation_satellite Group: Platform_Details Entry_ID: Earth Observation Satellites Group: Platform_Identification Platform_Category: Earth Observation Satellites Short_Name: Earth Observation Satellites End_Group End_Group" ; +. + + + rdfs:label "Ecosystem Processes Site" ; + schema:description "An ecological [Site](#EcologicalSite) that usually hosts a [FluxTower](#FluxTower)." ; +. + + + rdfs:label "Feature of Interest" ; + schema:description "The thing whose property is being estimated or calculated in the course of an Observation to arrive at a Result or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling."@en ; +. + + + rdfs:label "Fixed Platform" ; + schema:description "A fixed platform based on land." ; +. + + + rdfs:label "Flux Tower" ; + schema:description "Across the globe, towers stand among the landscape, with sensors monitoring these eddies for carbon dioxide, water vapor and other gasses. These so-called flux towers collect data on carbon dioxide exchange rates between the earth and atmosphere." ; +. + + + rdfs:label "IRI" ; +. + + + rdfs:label "Input" ; + schema:description "*Input* - Any information that is provided to a [Procedure](#Procedure) for its use." ; +. + + + rdfs:label "Instant" ; +. + + + rdfs:label "Instrument" ; + schema:description "A device or instrument that is used for making measurements or observations." ; +. + + + rdfs:label "Feature which is managed for TERN purposes" ; +. + + + rdfs:label "Material sample" ; + schema:description "A physical result of a sampling (or subsampling) event. In biological collections, the material sample is typically collected, and either preserved or destructively processed." ; +. + + + rdfs:label "Method" ; + rdfs:seeAlso + , + ; + schema:description "A Method describes in detailed steps how a workflow, protocol, plan or algorithm is carried out to make an [Observation](#Observation) or a [Sample](#Sample). It explains the steps to be carried out to arrive at reproducible [Result](#Result)." ; +. + + + rdfs:label "Mobile Platform" ; + schema:description "A moving mobile platform on land, in water or in space." ; +. + + + rdfs:label "Observable Property" ; + schema:description "An observable quality (property, characteristic) of a [FeatureOfInterest](http://w3.org/ns/sosa/FeatureOfInterest). A feature-of-interest refers to a feature whose properties are measured or observed. " ; +. + + + rdfs:label "Observation" ; + schema:description "Act of carrying out an (Observation) [Procedure](#Procedure) to estimate or calculate a value of a property of a [FeatureOfInterest](http://w3.org/ns/sosa/FeatureOfInterest). Links to a [Sensor](http://w3.org/ns/sosa/Sensor) to describe what made the [Observation](#Observation) and how; links to an [ObservableProperty](#ObservableProperty) to describe what the result is an estimate of, and to a [FeatureOfInterest](http://w3.org/ns/sosa/FeatureOfInterest) to detail what that property was associated with." ; +. + + + rdfs:label "Observation collection" ; + schema:description "Collection of one or more observations, whose members share a common value for one or more property" ; +. + + + rdfs:label "Parameter" ; + schema:description "A [FeatureOfInterest's](http://w3.org/ns/sosa/FeatureOfInterest) property or characteristic which an [Observation](#Observation) is measuring using some [Procedure](#Procedure)." ; +. + + + rdfs:label "Percent" ; + schema:description "Class to encapsulate a quantitative measure expressed as a percent value." ; +. + + + rdfs:label "Percent Range" ; + schema:description "Class to encapsulate a quantitative range expressed as in percent values." ; +. + + + rdfs:label "Platform" ; + schema:description "An entity that hosts other entities, particularly [Sensors](#Sensor), [Samplers](#Sampler), and other [Platforms](#Platform)." ; +. + + + rdfs:label "Plot" ; +. + + + rdfs:label "Procedure" ; + schema:description "A workflow, protocol, plan, algorithm, or computational method specifying how to make an [Observation](#Observation), create a [Sample](#Sample), or make a change to the state of the world (via an [Actuator](http://w3.org/ns/sosa/Actuator). A [Procedure](#Procedure) is re-usable, and might be involved in many [Observations](#Observation), [Samplings](#Sampling), or [Actuations](http://w3.org/ns/sosa/Actuation). it explains the steps to be carried out to arrive at reproducible [Results](#Result)." ; +. + + + rdfs:label "Quadrat" ; +. + + + rdfs:label "Quantitative Measure" ; +. + + + rdfs:label "Quantitative range" ; + schema:description "Class to encapsulate a quantitative range." ; +. + + + rdfs:label "RDFDataset" ; +. + + + rdfs:label "Result" ; + schema:description "The result of an [Observation](#Observation), [Actuation](http://w3.org/ns/sosa/Actuation), or act of [Sampling](#Sampling). To store an observation's simple result value one can use the [hasSimpleResult](http://w3.org/ns/sosa/hasSimpleResult) property." ; +. + + + rdfs:label "Sample" ; + schema:description "*A feature which is intended to be representative of a [FeatureOfInterest](http://w3.org/ns/sosa/FeatureOfInterest) on which [Observations](#Observation) may be made. Physical samples are sometimes known as physical specimens." ; +. + + + rdfs:label "Sampler" ; + schema:description "Sampler - A device that is used by, or implements, a (Sampling) [Procedure](#Procedure) to create or transform one or more samples. " ; +. + + + rdfs:label "Sampling" ; + schema:description "An activity of [Sampling](#Sampling) carries out a (Sampling) [Procedure](#Procedure) to create or transform one or more [Samples](#Sample)." ; +. + + + rdfs:label "Sensor" ; + schema:description "Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations, and generate a Result. Sensors can be hosted by Platforms." ; +. + + + rdfs:label "Ecological Site" ; + schema:description "Location where observations may be made. This is a subclass of [Sample](#Sample) because a site should be designed to be representative of an environmental system (which may be an ecosystem or bioregion) or zone (which may be a zone such as a parcel or tract)." ; +. + + + rdfs:label "Site Visit" ; + schema:description "A Site Visit is a discrete time-bounded activity at a [Site](#Site), during which [Sampling](#Sampling) or [Observation](#Observation) activities occur. " ; +. + + + rdfs:label "System" ; +. + + + rdfs:label "Taxon" ; + schema:description "A group of organisms (sensu http://purl.obolibrary.org/obo/OBI_0100026) considered by taxonomists to form a homogeneous unit." ; +. + + + rdfs:label "Text" ; + schema:description "Class to encapsulate a textual value." ; +. + + + rdfs:label "Transect" ; +. + + + rdfs:label "Value" ; +. + + + rdfs:label "area" ; + schema:description "The extent of a [Site](#EcologicalSite) area, e.g., in m2" ; +. + + + rdfs:label "attribute" ; + schema:description "Point to a concept representing the attribute." ; +. + + + rdfs:label "cardinal direction" ; + schema:description "The cardinal direction of the *thing* represented as a string and expressed by cardinal and intercardinal points. " ; +. + + + rdfs:label "centroid point" ; + rdfs:seeAlso ; + schema:description "The centroid point of an object-of-interest." ; +. + + + rdfs:label "date commissioned" ; + schema:description "The date when, e.g., a [Site](#EcologicalSite) is ready to commence its operations, after it is successfully installed and tested." ; +. + + + rdfs:label "date decommissioned" ; + schema:description "The date when, e.g., a [Site](#EcologicalSite) is decommissioned or stopped operating." ; +. + + + rdfs:label "dimension" ; + schema:description "Dimenion in metres." ; +. + + + rdfs:label "domain" ; + schema:description "The domain of the observation." ; +. + + + rdfs:label "equipment" ; + schema:description "Describe the equipment used as text." ; +. + + + rdfs:label "feature type" ; + schema:description "The feature type of a [Feature of Interest](#FeatureofInterest)." ; +. + + + rdfs:label "fluxnet ID" ; + rdfs:seeAlso ; + schema:description "The unique identifier for flux towers registered with FLUXNET." ; +. + + + rdfs:label "global match" ; + schema:description "Link a concept to an upper concept (in the closed system)." ; +. + + + rdfs:label "global value" ; + schema:description "A property that links a concept from a vocabulary to another concept in an authoritative/endorsed vocabulary." ; +. + + + rdfs:label "global vocabulary" ; + schema:description "The global vocabulary refers to the main vocabulary, which takes precedence over other similar vocabularies to promote data harmonisation." ; +. + + + rdfs:label "has attribute" ; + schema:description "Link to an [Attribute](#Attribute)." ; +. + + + rdfs:label "has categorical collection" ; + schema:description "A property that links a concept to a collection containing its categorical values." ; +. + + + rdfs:label "has environmental characteristic" ; + schema:description "The subject has some environmental characteristic. Points to a set of [Observations](#Observation) within an [EnvironmentalCharacteristic](#EnvironmentalCharacteristic)." ; +. + + + rdfs:label "has feature type" ; + schema:description "Links a concept to a feature type." ; +. + + + rdfs:label "has method" ; + schema:description "A property that links a concept to a method." ; +. + + + rdfs:label "has observation" ; + schema:description "Link to an [Observation](#Observation)." ; +. + + + rdfs:label "has observation theme" ; + schema:description "Link a concept to an observation theme." ; +. + + + rdfs:label "has parameter" ; + schema:description "A property that links a concept to a parameter." ; +. + + + rdfs:label "has sampling" ; + schema:description "Link to a [Sampling](#Sampling) instance." ; +. + + + rdfs:label "has sampling point" ; + schema:description "A property that links, e.g., a [Sampling](#Sampling) to a [SamplingPoint](#SamplingPoint)." ; +. + + + rdfs:label "has simple value" ; +. + + + rdfs:label "has site" ; + schema:description "A property that links, e.g., a [SiteVisit](#EcologicalSiteVisit) to a [Site](#EcologicalSite)." ; +. + + + rdfs:label "has site visit" ; + schema:description "A property that links, e.g., a [Site](#EcologicalSite) to a [Site Visit](#EcologicalSiteVisit)." ; +. + + + rdfs:label "has sub activity" ; + schema:description "Link to an [Observation](#Observation) or [Sampling](#Sampling)." ; +. + + + rdfs:label "has value" ; +. + + + rdfs:label "instructions" ; + schema:description "Describe the instructions of the procedure/method." ; +. + + + rdfs:label "instrument type" ; + schema:description "The type of instrument used." ; +. + + + rdfs:label "is attribute of" ; + schema:description "Link from an [Attribute](#Attribute)." ; +. + + + rdfs:label "is global match of" ; + schema:description "An inverse property of [globalMatch](#globalMatch); Links an upper concept to a concept (in the closed system)." ; +. + + + rdfs:label "is sampling point of" ; + schema:description "The inverse property [hasSamplingPoint](#hasSamplingPoint)." ; +. + + + rdfs:label "is site of" ; +. + + + rdfs:label "is site visit of" ; +. + + + rdfs:label "is sub activity of" ; + schema:description "A property that links an activity to its parent activity." ; +. + + + rdfs:label "length" ; + rdfs:seeAlso ; + schema:description "A measure of distance." ; +. + + + rdfs:label "local value" ; +. + + + rdfs:label "local vocabulary" ; +. + + + rdfs:label "location description" ; + schema:description "The description of the location." ; +. + + + rdfs:label "location procedure" ; + schema:description "Link to a procedure used to obtain the location." ; +. + + + rdfs:label "method type" ; + schema:description "A particular method type used to conduct some survey." ; +. + + + rdfs:label "observation type" ; + schema:description "The type of observation." ; +. + + + rdfs:label "polygon" ; + schema:description "The polygon of the subject." ; +. + + + rdfs:label "purpose" ; + schema:description "Describe the purpose of something." ; +. + + + rdfs:label "sample storage location" ; + schema:description "A property that links a [PhysicalSpecimen](#PhysicalSpecimen) to the location [Point](https://w3id.org/tern/ontologies/loc/Point) of where it is stored." ; +. + + + rdfs:label "sampling type" ; + schema:description "The type of sampling act." ; +. + + + rdfs:label "scope" ; + schema:description "Describe the scope of something." ; +. + + + rdfs:label "short name" ; +. + + + rdfs:label "site description" ; + schema:description "Contextual information is collected at each site. This includes measures of slope an aspect, surface strew and lithology, and information on the grazing and fire history of the site (Credit: TERN AusPlots)." ; +. + + + rdfs:label "soil classification" ; + schema:description "The term used to classify the SoilProfile." ; +. + + + rdfs:label "soil horizon classifier" ; + schema:description "Soil horizon classifier as defined in the Australian Soil and Land Survey Field Handbook on page 148." ; +. + + + rdfs:label "stratum" ; + schema:description "A stratum is a distinct, easily seen, layer of foliage and branches of a measurable height." ; +. + + + rdfs:label "sw point" ; + schema:description "The south-west point of the subject." ; +. + + + rdfs:label "taxon" ; + schema:description "Taxon classification." ; +. + + + rdfs:label "transect direction" ; + schema:description "Describes the direction of the transect." ; +. + + + rdfs:label "transect end point" ; + schema:description "Refers to the [tern-loc:Point](https://w3id.org/tern/ontologies/loc/Point) representing the end of a transect." ; +. + + + rdfs:label "transect start point" ; + schema:description "Refers to the [tern-loc:Point](https://w3id.org/tern/ontologies/loc/Point) representing the start of a transect." ; +. + + + rdfs:label "uncertainty" ; + schema:description "Uncertainty for a quantitative value." ; +. + + + rdfs:label "unit" ; + schema:description "Unit of measure." ; +. + + + rdfs:label "used instrument" ; +. + + + rdfs:label "value type" ; + schema:description "Relates a Property to a specialisation of tern:Value." ; +. + + + rdfs:label "vocabulary" ; + schema:description "Controlled vocabulary, taxonomy etc." ; +. + + + rdfs:label "width" ; + rdfs:seeAlso ; + schema:description "The measurement or extent of something from side to side." ; +. + + + rdfs:label "TERN" ; +. + +[] rdfs:label "Anusuriya Devaraju" ; +. + +[] rdfs:label "Habacuc Flores Moreno" ; +. + +[] rdfs:label "Javier Sanchez Gonzalez" ; +. + +[] rdfs:label "Mosheh Eliyahu" ; +. + +[] rdfs:label "Tina Parkhurst" ; +. + +[] rdfs:label "Edmond Chuc" ; +. + +[] rdfs:label "Siddeswara Guru" ; +. + +[] rdfs:label "Simon J.D.Cox" ; +. + +[] rdfs:label "CSIRO" ; +. + diff --git a/prez/reference_data/annotations/time-annotations.ttl b/prez/reference_data/annotations/time-annotations.ttl new file mode 100644 index 00000000..c6913932 --- /dev/null +++ b/prez/reference_data/annotations/time-annotations.ttl @@ -0,0 +1,1022 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX time: +PREFIX xsd: + +xsd:dateTimeStamp + rdfs:label "sello de tiempo"@es ; +. + + + rdfs:label + "OWL-Time"@en , + "Tiempo en OWL"@es ; + rdfs:seeAlso + , + , + ; +. + +time:DateTimeDescription + rdfs:label + "Date-Time description"@en , + "descripción de fecha-tiempo"@es ; + schema:description + "Description of date and time structured with separate values for the various elements of a calendar-clock system. The temporal reference system is fixed to Gregorian Calendar, and the range of year, month, day properties restricted to corresponding XML Schema types xsd:gYear, xsd:gMonth and xsd:gDay, respectively."@en , + "Descripción de fecha y tiempo estructurada con valores separados para los diferentes elementos de un sistema calendario-reloj. El sistema de referencia temporal está fijado al calendario gregoriano, y el rango de las propiedades año, mes, día restringidas a los correspondientes tipos del XML Schema xsd:gYear, xsd:gMonth y xsd:gDay respectivamente."@es ; +. + +time:DateTimeInterval + rdfs:label + "Date-time interval"@en , + "intervalo de fecha-hora"@es ; + schema:description + "DateTimeInterval is a subclass of ProperInterval, defined using the multi-element DateTimeDescription."@en , + "'intervalo de fecha-hora' es una subclase de 'intervalo propio', definida utilizando el multi-elemento 'descripción de fecha-hora'."@es ; +. + +time:DayOfWeek + rdfs:label + "Day of week"@en , + "día de la semana"@es ; + schema:description + "The day of week"@en , + "El día de la semana"@es ; +. + +time:Duration + rdfs:label + "duración de tiempo" , + "Time duration"@en ; + schema:description + "Duration of a temporal extent expressed as a number scaled by a temporal unit"@en , + "Duración de una extensión temporal expresada como un número escalado por una unidad temporal."@es ; +. + +time:DurationDescription + rdfs:label + "Duration description"@en , + "descripción de duración"@es ; + schema:description + "Description of temporal extent structured with separate values for the various elements of a calendar-clock system. The temporal reference system is fixed to Gregorian Calendar, and the range of each of the numeric properties is restricted to xsd:decimal"@en , + "Descripción de extensión temporal estructurada con valores separados para los distintos elementos de un sistema de horario-calendario. El sistema de referencia temporal se fija al calendario gregoriano, y el intervalo de cada una de las propiedades numéricas se restringe a xsd:decimal."@es ; +. + +time:Friday + rdfs:label + "الجمعة"@ar , + "Freitag"@de , + "Friday"@en , + "Viernes"@es , + "Vendredi"@fr , + "Venerdì"@it , + "金曜日"@ja , + "Vrijdag"@nl , + "Piątek"@pl , + "Sexta-feira"@pt , + "Пятница"@ru , + "星期五"@zh ; +. + +time:GeneralDateTimeDescription + rdfs:label + "Generalized date-time description"@en , + "descripción de fecha-hora generalizada"@es ; + schema:description + "Descripción de fecha y hora estructurada con valores separados para los distintos elementos de un sistema calendario-reloj." , + "Description of date and time structured with separate values for the various elements of a calendar-clock system"@en , + "Descripción de fecha y hora estructurada con valores separados para los distintos elementos de un sistema calendario-reloj."@es ; +. + +time:GeneralDurationDescription + rdfs:label + "Generalized duration description"@en , + "descripción de duración generalizada"@es ; + schema:description + "Description of temporal extent structured with separate values for the various elements of a calendar-clock system."@en , + "Descripción de extensión temporal estructurada con valores separados para los distintos elementos de un sistema de horario-calendario."@es ; +. + +time:Instant + rdfs:label + "Time instant"@en , + "instante de tiempo."@es ; + schema:description + "A temporal entity with zero extent or duration"@en , + "Una entidad temporal con una extensión o duración cero."@es ; +. + +time:Interval + rdfs:label + "Time interval"@en , + "intervalo de tiempo"@es ; + schema:description + "A temporal entity with an extent or duration"@en , + "Una entidad temporal con una extensión o duración."@es ; +. + +time:January + rdfs:label "January" ; +. + +time:Monday + rdfs:label + "الاثنين"@ar , + "Montag"@de , + "Monday"@en , + "Lunes"@es , + "Lundi"@fr , + "Lunedì"@it , + "月曜日"@ja , + "Maandag"@nl , + "Poniedziałek"@pl , + "Segunda-feira"@pt , + "Понедельник"@ru , + "星期一"@zh ; +. + +time:MonthOfYear + rdfs:label + "Month of year"@en , + "mes del año"@es ; + schema:description + "The month of the year"@en , + "El mes del año."@es ; +. + +time:ProperInterval + rdfs:label + "Proper interval"@en , + "intervalo propio"@es ; + schema:description + "A temporal entity with non-zero extent or duration, i.e. for which the value of the beginning and end are different"@en , + "Una entidad temporal con extensión o duración distinta de cero, es decir, para la cual los valores de principio y fin del intervalo son diferentes."@es ; +. + +time:Saturday + rdfs:label + "السبت"@ar , + "Samstag"@de , + "Saturday"@en , + "Sábado"@es , + "Samedi"@fr , + "Sabato"@it , + "土曜日"@ja , + "Zaterdag"@nl , + "Sobota"@pl , + "Sábado"@pt , + "Суббота"@ru , + "星期六"@zh ; +. + +time:Sunday + rdfs:label + "الأحد (يوم)"@ar , + "Sonntag"@de , + "Sunday"@en , + "Domingo"@es , + "Dimanche"@fr , + "Domenica"@it , + "日曜日"@ja , + "Zondag"@nl , + "Niedziela"@pl , + "Domingo"@pt , + "Воскресенье"@ru , + "星期日"@zh ; +. + +time:TRS + rdfs:label + "Temporal Reference System"@en , + "sistema de referencia temporal"@es ; + schema:description + """A temporal reference system, such as a temporal coordinate system (with an origin, direction, and scale), a calendar-clock combination, or a (possibly hierarchical) ordinal system. + +This is a stub class, representing the set of all temporal reference systems."""@en , + """Un sistema de referencia temporal, tal como un sistema de coordenadas temporales (con un origen, una dirección y una escala), una combinación calendario-reloj, o un sistema ordinal (posiblemente jerárquico). + Esta clase comodín representa el conjunto de todos los sistemas de referencia temporal."""@es , + """Un sistema de referencia temporal, tal como un sistema de coordenadas temporales (con un origen, una dirección y una escala), una combinación calendario-reloj, o un sistema ordinal (posiblemente jerárquico). + Esta clase comodín representa el conjunto de todos los sistemas de referencia temporal."""@es ; +. + +time:TemporalDuration + rdfs:label + "Temporal duration"@en , + "duración temporal"@es ; + schema:description + "Time extent; duration of a time interval separate from its particular start position"@en , + "Extensión de tiempo; duración de un intervalo de tiempo independiente de su posición de inicio particular."@es ; +. + +time:TemporalEntity + rdfs:label + "Temporal entity"@en , + "entidad temporal"@es ; + schema:description + "A temporal interval or instant."@en , + "Un intervalo temporal o un instante."@es ; +. + +time:TemporalPosition + rdfs:label + "Temporal position"@en , + "posición temporal"@es ; + schema:description + "A position on a time-line"@en , + "Una posición sobre una línea de tiempo."@es ; +. + +time:TemporalUnit + rdfs:label + "Temporal unit"@en , + "unidad de tiempo"@es ; + schema:description + "A standard duration, which provides a scale factor for a time extent, or the granularity or precision for a time position."@en , + "Una duración estándar, que proporciona un factor de escala para una extensión de tiempo, o la granularidad o precisión para una posición de tiempo."@es ; +. + +time:Thursday + rdfs:label + "الخميس"@ar , + "Donnerstag"@de , + "Thursday"@en , + "Jueves"@es , + "Jeudi"@fr , + "Giovedì"@it , + "木曜日"@ja , + "Donderdag"@nl , + "Czwartek"@pl , + "Quinta-feira"@pt , + "Четверг"@ru , + "星期四"@zh ; +. + +time:TimePosition + rdfs:label + "Time position"@en , + "posición de tiempo"@es ; + schema:description + "A temporal position described using either a (nominal) value from an ordinal reference system, or a (numeric) value in a temporal coordinate system. "@en , + "Una posición temporal descrita utilizando bien un valor (nominal) de un sistema de referencia ordinal, o un valor (numérico) en un sistema de coordenadas temporales."@es ; +. + +time:TimeZone + rdfs:label + "Time Zone"@en , + "huso horario"@es ; + schema:description + """A Time Zone specifies the amount by which the local time is offset from UTC. + A time zone is usually denoted geographically (e.g. Australian Eastern Daylight Time), with a constant value in a given region. +The region where it applies and the offset from UTC are specified by a locally recognised governing authority."""@en , + """Un huso horario especifica la cantidad en que la hora local está desplazada con respecto a UTC. + Un huso horario normalmente se denota geográficamente (p.ej. el horario de verano del este de Australia), con un valor constante en una región dada. + La región donde aplica y el desplazamiento desde UTC las especifica una autoridad gubernamental localmente reconocida."""@es , + """Un huso horario especifica la cantidad en que la hora local está desplazada con respecto a UTC. + Un huso horario normalmente se denota geográficamente (p.ej. el horario de verano del este de Australia), con un valor constante en una región dada. + La región donde aplica y el desplazamiento desde UTC las especifica una autoridad gubernamental localmente reconocida."""@es ; +. + +time:Tuesday + rdfs:label + "الثلاثاء"@ar , + "Dienstag"@de , + "Tuesday"@en , + "Martes"@es , + "Mardi"@fr , + "Martedì"@it , + "火曜日"@ja , + "Dinsdag"@nl , + "Wtorek"@pl , + "Terça-feira"@pt , + "Вторник"@ru , + "星期二"@zh ; +. + +time:Wednesday + rdfs:label + "الأربعاء"@ar , + "Mittwoch"@de , + "Wednesday"@en , + "Miércoles"@es , + "Mercredi"@fr , + "Mercoledì"@it , + "水曜日"@ja , + "Woensdag"@nl , + "Środa"@pl , + "Quarta-feira"@pt , + "Среда"@ru , + "星期三"@zh ; +. + +time:Year + rdfs:label + "سنة"@ar , + "Jahr"@de , + "Year"@en , + "Año"@es , + "Année (calendrier)"@fr , + "Anno"@it , + "年"@ja , + "Jaar"@nl , + "Rok"@pl , + "Ano"@pt , + "Год"@ru , + "年"@zh ; + schema:description "Year duration" ; +. + +time:after + rdfs:label + "after"@en , + "después"@es ; + schema:description + "Gives directionality to time. If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2."@en , + "Asume una dirección en el tiempo. Si una entidad temporal T1 está después de otra entidad temporal T2, entonces el principio de T1 está después del final de T2."@es ; +. + +time:before + rdfs:label + "before"@en , + "antes"@es ; + schema:description + "Gives directionality to time. If a temporal entity T1 is before another temporal entity T2, then the end of T1 is before the beginning of T2. Thus, \"before\" can be considered to be basic to instants and derived for intervals."@en , + "Asume una dirección en el tiempo. Si una entidad temporal T1 está antes que otra entidad temporal T2, entonces el final de T1 está antes que el principio de T2. Así, \"antes\" se puede considerar básica para instantes y derivada para intervalos."@es ; +. + +time:day + rdfs:label + "day"@en , + "día"@es ; + schema:description + """Day position in a calendar-clock system. + +The range of this property is not specified, so can be replaced by any specific representation of a calendar day from any calendar. """@en , + "Posición de día en un sistema calendario-reloj."@es , + """Posición de día en un sistema calendario-reloj. + +El rango de esta propiedad no está especificado, por tanto, se puede reemplazar por una representación específica de un día de calendario de cualquier calendario."""@es ; +. + +time:dayOfWeek + rdfs:label + "day of week"@en , + "día de la semana"@es ; + schema:description + "El día de la semana, cuyo valor es un miembro de la clase 'día de la semana'." , + "The day of week, whose value is a member of the class time:DayOfWeek"@en , + "El día de la semana, cuyo valor es un miembro de la clase 'día de la semana'."@es ; +. + +time:dayOfYear + rdfs:label + "day of year"@en , + "día del año"@es ; + schema:description + "The number of the day within the year"@en , + "El número de día en el año."@es ; +. + +time:days + rdfs:label + "days duration"@en , + "duración en días"@es ; + schema:description + "length of, or element of the length of, a temporal extent expressed in days"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en días."@es ; +. + +time:generalDay + rdfs:label + "Generalized day"@en , + "Día generalizado"@es ; + schema:description + """Day of month - formulated as a text string with a pattern constraint to reproduce the same lexical form as gDay, except that values up to 99 are permitted, in order to support calendars with more than 31 days in a month. +Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type."""@en , + """Día del mes - formulado como una cadena de texto con una restricción patrón para reproducir la misma forma léxica que gDay, excepto que se permiten valores hasta el 99, con el propósito de proporcionar soporte a calendarios con meses con más de 31 días. + Nótese que el espacio de valores no está definido, por tanto, un procesador genérico de OWL2 no puede computar relaciones de orden de valores de este tipo."""@es ; +. + +time:generalMonth + rdfs:label + "Generalized month"@en , + "Mes generalizado"@es ; + schema:description + """Month of year - formulated as a text string with a pattern constraint to reproduce the same lexical form as gMonth, except that values up to 20 are permitted, in order to support calendars with more than 12 months in the year. +Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type."""@en , + """Mes del año - formulado como una cadena de texto con una restricción patrón para reproducir la misma forma léxica que gMonth, excepto que se permiten valores hasta el 20, con el propósito de proporcionar soporte a calendarios con años con más de 12 meses. + Nótese que el espacio de valores no está definido, por tanto, un procesador genérico de OWL2 no puede computar relaciones de orden de valores de este tipo."""@es ; +. + +time:generalYear + rdfs:label + "Generalized year"@en , + "Año generalizado"@es ; + schema:description + """Year number - formulated as a text string with a pattern constraint to reproduce the same lexical form as gYear, but not restricted to values from the Gregorian calendar. +Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type."""@en , + """Número de año - formulado como una cadena de texto con una restricción patrón para reproducir la misma forma léxica que gYear, aunque no está restringido a valores del calendario gregoriano. + Nótese que el espacio de valores no está definido, por tanto, un procesador genérico de OWL2 no puede computar relaciones de orden de valores de este tipo."""@es ; +. + +time:hasBeginning + rdfs:label + "has beginning"@en , + "tiene principio"@es ; + schema:description + "Beginning of a temporal entity"@en , + "Beginning of a temporal entity."@en , + "Comienzo de una entidad temporal."@es ; +. + +time:hasDateTimeDescription + rdfs:label + "has Date-Time description"@en , + "tiene descripción fecha-hora"@es ; + schema:description + "Value of DateTimeInterval expressed as a structured value. The beginning and end of the interval coincide with the limits of the shortest element in the description."@en , + "Valor de intervalo de fecha-hora expresado como un valor estructurado. El principio y el final del intervalo coincide con los límites del elemento más corto en la descripción."@es ; +. + +time:hasDuration + rdfs:label + "has duration"@en , + "tiene duración"@es ; + schema:description + "Duration of a temporal entity, event or activity, or thing, expressed as a scaled value"@en , + "Duration of a temporal entity, expressed as a scaled value or nominal value"@en , + "Duración de una entidad temporal, evento o actividad, o cosa, expresada como un valor escalado."@es , + "Duración de una entidad temporal, expresada como un valor escalado o un valor nominal."@es ; +. + +time:hasDurationDescription + rdfs:label + "has duration description"@en , + "tiene descripción de duración"@es ; + schema:description + "Duration of a temporal entity, expressed using a structured description"@en , + "Duración de una entidad temporal, expresada utilizando una descripción estructurada."@es ; +. + +time:hasEnd + rdfs:label + "has end"@en , + "tiene fin"@es ; + schema:description + "End of a temporal entity."@en , + "Final de una entidad temporal."@es ; +. + +time:hasTRS + rdfs:label + "Temporal reference system used"@en , + "sistema de referencia temporal utilizado"@es ; + schema:description + "The temporal reference system used by a temporal position or extent description. "@en , + "El sistema de referencia temporal utilizado por una posición temporal o descripción de extensión."@es ; +. + +time:hasTemporalDuration + rdfs:label + "has temporal duration"@en , + "tiene duración temporal"@es ; + schema:description + "Duration of a temporal entity."@en , + "Duración de una entidad temporal."@es ; +. + +time:hasTime + rdfs:label + "has time"@en , + "tiene tiempo"@es ; + schema:description + "Supports the association of a temporal entity (instant or interval) to any thing"@en , + "Proporciona soporte a la asociación de una entidad temporal (instante o intervalo) a cualquier cosa."@es ; +. + +time:hasXSDDuration + rdfs:label + "has XSD duration"@en , + "tiene duración XSD"@es ; + schema:description + "Extent of a temporal entity, expressed using xsd:duration"@en , + "Extensión de una entidad temporal, expresada utilizando xsd:duration."@es ; +. + +time:hour + rdfs:label + "hour"@en , + "hora"@es ; + schema:description + "Hour position in a calendar-clock system."@en , + "Posición de hora en un sistema calendario-reloj."@es ; +. + +time:hours + rdfs:label + "hours duration"@en , + "duración en horas"@es ; + schema:description + "length of, or element of the length of, a temporal extent expressed in hours"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en horas."@es ; +. + +time:inDateTime + rdfs:label + "in date-time description"@en , + "en descripción de fecha-hora"@es ; + schema:description + "Position of an instant, expressed using a structured description"@en , + "Posición de un instante, expresada utilizando una descripción estructurada."@es ; +. + +time:inTemporalPosition + rdfs:label + "Temporal position"@en , + "posición temporal"@es ; + schema:description + "Position of a time instant"@en , + "Posición de un instante de tiempo."@es ; +. + +time:inTimePosition + rdfs:label + "Time position"@en , + "posición de tiempo"@es ; + schema:description + "Position of a time instant expressed as a TimePosition"@en , + "Position of an instant, expressed as a temporal coordinate or nominal value"@en , + "Posición de un instante, expresada como una coordenada temporal o un valor nominal."@es ; +. + +time:inXSDDate + rdfs:label + "in XSD date"@en , + "en fecha XSD"@es ; + schema:description + "Position of an instant, expressed using xsd:date"@en , + "Posición de un instante, expresado utilizando xsd:date."@es ; +. + +time:inXSDDateTime + rdfs:label + "in XSD Date-Time"@en , + "en fecha-tiempo XSD"@es ; + schema:description + "Position of an instant, expressed using xsd:dateTime"@en , + "Posición de un instante, expresado utilizando xsd:dateTime."@es ; +. + +time:inXSDDateTimeStamp + rdfs:label + "in XSD Date-Time-Stamp"@en , + "en fecha-sello de tiempo XSD"@es ; + schema:description + "Position of an instant, expressed using xsd:dateTimeStamp"@en , + "Posición de un instante, expresado utilizando xsd:dateTimeStamp."@es ; +. + +time:inXSDgYear + rdfs:label + "in XSD g-Year"@en , + "en año gregoriano XSD"@es ; + schema:description + "Position of an instant, expressed using xsd:gYear"@en , + "Posición de un instante, expresado utilizando xsd:gYear."@es ; +. + +time:inXSDgYearMonth + rdfs:label + "in XSD g-YearMonth"@en , + "en año-mes gregoriano XSD"@es ; + schema:description + "Position of an instant, expressed using xsd:gYearMonth"@en , + "Posición de un instante, expresado utilizando xsd:gYearMonth."@es ; +. + +time:inside + rdfs:label + "has time instant inside"@en , + "tiene instante de tiempo dentro"@es ; + schema:description + "An instant that falls inside the interval. It is not intended to include beginnings and ends of intervals."@en , + "Un instante que cae dentro del intervalo. Se asume que no es ni el principio ni el final de ningún intervalo."@es ; +. + +time:intervalAfter + rdfs:label + "interval after"@en , + "intervalo posterior"@es ; + schema:description + "Si un intervalo propio T1 es posterior a otro intervalo propio T2, entonces el principio de T1 está después que el final de T2." , + "If a proper interval T1 is intervalAfter another proper interval T2, then the beginning of T1 is after the end of T2."@en , + "Si un intervalo propio T1 es posterior a otro intervalo propio T2, entonces el principio de T1 está después que el final de T2."@es ; +. + +time:intervalBefore + rdfs:label + "interval before"@en , + "intervalo anterior"@es ; + schema:description + "If a proper interval T1 is intervalBefore another proper interval T2, then the end of T1 is before the beginning of T2."@en , + "Si un intervalo propio T1 está antes que otro intervalo propio T2, entonces el final de T1 está antes que el principio de T2."@es ; +. + +time:intervalContains + rdfs:label + "interval contains"@en , + "intervalo contiene"@es ; + schema:description + "If a proper interval T1 is intervalContains another proper interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is after the end of T2."@en , + "Si un intervalo propio T1 contiene otro intervalo propio T2, entonces el principio de T1 está antes que el principio de T2, y el final de T1 está después del final de T2."@es ; +. + +time:intervalDisjoint + rdfs:label + "interval disjoint"@en , + "intervalo disjunto"@es ; + schema:description + "If a proper interval T1 is intervalDisjoint another proper interval T2, then the beginning of T1 is after the end of T2, or the end of T1 is before the beginning of T2, i.e. the intervals do not overlap in any way, but their ordering relationship is not known."@en , + "Si un intervalo propio T1 es disjunto con otro intervalo propio T2, entonces el principio de T1 está después del final de T2, o el final de T1 está antes que el principio de T2, es decir, los intervalos no se solapan de ninguna forma, aunque su relación de orden no se conozca."@es ; +. + +time:intervalDuring + rdfs:label + "interval during"@en , + "intervalo durante"@es ; + schema:description + "If a proper interval T1 is intervalDuring another proper interval T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en , + "Si un intervalo propio T1 está durante otro intervalo propio T2, entonces del principio de T1 está después del principio de T2, y el final de T1 está antes que el final de T2."@es ; +. + +time:intervalEquals + rdfs:label + "interval equals"@en , + "intervalo igual"@es ; + schema:description + "If a proper interval T1 is intervalEquals another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2."@en , + "Si un intervalo propio T1 es igual a otro intervalo propio T2, entonces el principio de T1 coincide con el principio de T2, y el final de T1 coincide con el final de T2."@es ; +. + +time:intervalFinishedBy + rdfs:label + "interval finished by"@en , + "intervalo terminado por"@es ; + schema:description + "If a proper interval T1 is intervalFinishedBy another proper interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is coincident with the end of T2."@en , + "Si un intervalo propio T1 está terminado por otro intervalo propio T2, entonces el principio de T1 está antes que el principio de T2, y el final de T1 coincide con el final de T2."@es ; +. + +time:intervalFinishes + rdfs:label + "interval finishes"@en , + "intervalo termina"@es ; + schema:description + "If a proper interval T1 is intervalFinishes another proper interval T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is coincident with the end of T2."@en , + "Si un intervalo propio T1 termina otro intervalo propio T2, entonces del principio de T1 está después del principio de T2, y el final de T1 coincide con el final de T2."@es ; +. + +time:intervalIn + rdfs:label + "interval in"@en , + "intervalo interior"@es ; + schema:description + "If a proper interval T1 is intervalIn another proper interval T2, then the beginning of T1 is after the beginning of T2 or is coincident with the beginning of T2, and the end of T1 is before the end of T2, or is coincident with the end of T2, except that end of T1 may not be coincident with the end of T2 if the beginning of T1 is coincident with the beginning of T2."@en , + "Si un intervalo propio T1 es un intervalo interior a otro intervalo propio T2, entonces el principio de T1 está después del principio de T2 o coincide con el principio de T2, y el final de T1 está antes que el final de T2, o coincide con el final de T2, excepto que el final de T1 puede no coincidir con el final de T2 si el principio de T1 coincide con el principio de T2."@es ; +. + +time:intervalMeets + rdfs:label + "interval meets"@en , + "intervalo se encuentra"@es ; + schema:description + "If a proper interval T1 is intervalMeets another proper interval T2, then the end of T1 is coincident with the beginning of T2."@en , + "Si un intervalo propio T1 se encuentra con otro intervalo propio T2, entonces el final de T1 coincide con el principio de T2."@es ; +. + +time:intervalMetBy + rdfs:label + "interval met by"@en , + "intervalo encontrado por"@es ; + schema:description + "If a proper interval T1 is intervalMetBy another proper interval T2, then the beginning of T1 is coincident with the end of T2."@en , + "Si un intervalo propio T1 es 'intervalo encontrado por' otro intervalo propio T2, entonces el principio de T1 coincide con el final de T2."@es ; +. + +time:intervalOverlappedBy + rdfs:label + "interval overlapped by"@en , + "intervalo solapado por"@es ; + schema:description + "If a proper interval T1 is intervalOverlappedBy another proper interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2."@en , + "Si un intervalo propio T1 es 'intervalo solapado por' otro intervalo propio T2, entonces el principio de T1 es posterior al principio de T2, y el principio de T1 es anterior al final de T2, y el final de T1 es posterior al final de T2."@es ; +. + +time:intervalOverlaps + rdfs:label + "interval overlaps"@en , + "intervalo se solapa"@es ; + schema:description + "If a proper interval T1 is intervalOverlaps another proper interval T2, then the beginning of T1 is before the beginning of T2, the end of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en , + "Asume una dirección en el tiempo. Si una entidad temporal T1 está después de otra entidad temporal T2, entonces el principio de T1 está después del final de T2."@es , + "Si un intervalo propio T1 se solapa con otro intervalo propio T2, entonces el principio de T1 es anterior al principio de T2, el final de T1 es posterior al principio de T2, y el final de T1 es anterior al final de T2."@es ; +. + +time:intervalStartedBy + rdfs:label "interval started by"@en ; + schema:description + "If a proper interval T1 is intervalStarted another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is after the end of T2."@en , + "Si un intervalo propio T1 es empezado por otro intervalo propio T2, entonces el principio de T1 coincide con el principio de T2, y el final de T1 es posterior al final de T2."@es ; +. + +time:intervalStarts + rdfs:label + "interval starts"@en , + "intervalo empieza"@es ; + schema:description + "If a proper interval T1 is intervalStarts another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is before the end of T2."@en , + "Si un intervalo propio T1 empieza otro intervalo propio T2, entonces del principio de T1 con el final de T2, y el final de T1 es anterior al final de T2."@es , + "Si un intervalo propio T1 empieza otro intervalo propio T2, entonces del principio de T1 con el principio de T2, y el final de T1 es anterior al final de T2."@es ; +. + +time:minute + rdfs:label + "minute"@en , + "minuto"@es ; + schema:description + "Minute position in a calendar-clock system."@en , + "Posición de minuto en un sistema calendario-reloj."@es ; +. + +time:minutes + rdfs:label + "minutes"@en , + "minutos"@es ; + schema:description + "length, or element of, a temporal extent expressed in minutes"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en minutos."@es ; +. + +time:month + rdfs:label + "month"@en , + "mes"@es ; + schema:description + """Month position in a calendar-clock system. + +The range of this property is not specified, so can be replaced by any specific representation of a calendar month from any calendar. """@en , + """Posición de mes en un sistema calendario-reloj. + El rango de esta propiedad no está especificado, por tanto, se puede reemplazar por cualquier representación específica de un mes de calendario de un calendario cualquiera."""@es , + """Posición de mes en un sistema calendario-reloj. + El rango de esta propiedad no está especificado, por tanto, se puede reemplazar por cualquier representación específica de un mes de calendario de un calendario cualquiera."""@es ; +. + +time:monthOfYear + rdfs:label + "month of year"@en , + "mes del año"@es ; + schema:description + "The month of the year, whose value is a member of the class time:MonthOfYear"@en , + "El mes del año, cuyo valor es un miembro de la clase 'mes del año'."@es ; +. + +time:months + rdfs:label + "months duration"@en , + "duración en meses"@es ; + schema:description + "length of, or element of the length of, a temporal extent expressed in months"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en meses."@es ; +. + +time:nominalPosition + rdfs:label + "Name of temporal position"@en , + "nombre de posición temporal"@es ; + schema:description + "The (nominal) value indicating temporal position in an ordinal reference system "@en , + "El valor (nominal) que indica posición temporal en un sistema de referencia ordinal."@es ; +. + +time:numericDuration + rdfs:label + "Numeric value of temporal duration"@en , + "valor numérico de duración temporal"@es ; + schema:description + "Value of a temporal extent expressed as a decimal number scaled by a temporal unit"@en , + "Valor de una extensión temporal expresada como un número decimal escalado por una unidad de tiempo."@es ; +. + +time:numericPosition + rdfs:label + "Numeric value of temporal position"@en , + "valor numérico de posición temporal"@es ; + schema:description + "The (numeric) value indicating position within a temporal coordinate system "@en , + "El valor (numérico) que indica posición temporal en un sistema de referencia ordinal."@es ; +. + +time:second + rdfs:label + "second"@en , + "segundo"@es ; + schema:description + "Second position in a calendar-clock system."@en , + "Posición de segundo en un sistema calendario-reloj."@es ; +. + +time:seconds + rdfs:label + "seconds duration"@en , + "duración en segundos"@es ; + rdfs:seeAlso ; + schema:description + "length of, or element of the length of, a temporal extent expressed in seconds"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en segundos."@es ; +. + +time:timeZone + rdfs:label + "in time zone"@en , + "en huso horario"@es ; + schema:description "The time zone for clock elements in the temporal position"@en ; +. + +time:unitDay + rdfs:label + "يوماً ما"@ar , + "Tag"@de , + "Day (unit of temporal duration)"@en , + "day"@en , + "día"@es , + "jour"@fr , + "giorno"@it , + "ある日"@jp , + "언젠가"@kr , + "dag"@nl , + "doba"@pl , + "dia"@pt , + "一天"@zh ; +. + +time:unitHour + rdfs:label + "один час\"@ru" , + "ساعة واحدة"@ar , + "Stunde"@de , + "Hour (unit of temporal duration)"@en , + "hour"@en , + "hora"@es , + "heure"@fr , + "ora"@it , + "一時間"@jp , + "한 시간"@kr , + "uur"@nl , + "godzina"@pl , + "hora"@pt , + "一小時"@zh ; +. + +time:unitMinute + rdfs:label + "دقيقة واحدة"@ar , + "Minute"@de , + "Minute (unit of temporal duration)"@en , + "minute"@en , + "minuto"@es , + "minute"@fr , + "minuto"@it , + "一分"@jp , + "분"@kr , + "minuut"@nl , + "minuta"@pl , + "minuto"@pt , + "одна минута"@ru , + "等一下"@zh ; +. + +time:unitMonth + rdfs:label + "شهر واحد"@ar , + "Monat"@de , + "Month (unit of temporal duration)"@en , + "month"@en , + "mes"@es , + "mois"@fr , + "mese"@it , + "一か月"@jp , + "한달"@kr , + "maand"@nl , + "miesiąc"@pl , + "один месяц"@ru , + "一個月"@zh ; +. + +time:unitSecond + rdfs:label + "ثانية واحدة"@ar , + "Sekunde"@de , + "Second (unit of temporal duration)"@en , + "second"@en , + "segundo"@es , + "seconde"@fr , + "secondo"@it , + "一秒"@jp , + "일초"@kr , + "seconde"@nl , + "Sekundę"@pl , + "segundo"@pt , + "一秒"@zh ; +. + +time:unitType + rdfs:label + "temporal unit type"@en , + "tipo de unidad temporal"@es ; + schema:description + "The temporal unit which provides the precision of a date-time value or scale of a temporal extent"@en , + "La unidad de tiempo que proporciona la precisión de un valor fecha-hora o la escala de una extensión temporal."@es ; +. + +time:unitWeek + rdfs:label + "سبوع واحد"@ar , + "Woche"@de , + "Week (unit of temporal duration)"@en , + "week"@en , + "semana"@es , + "semaine"@fr , + "settimana"@it , + "一週間"@jp , + "일주일"@kr , + "week"@nl , + "tydzień"@pl , + "semana"@pt , + "одна неделя"@ru , + "一周"@zh ; +. + +time:unitYear + rdfs:label + "سنة واحدة"@ar , + "Jahr"@de , + "Year (unit of temporal duration)"@en , + "year"@en , + "un año"@es , + "an"@fr , + "anno"@it , + "1年"@jp , + "1 년"@kr , + "jaar"@nl , + "rok"@pl , + "ano"@pt , + "один год"@ru , + "一年"@zh ; +. + +time:week + rdfs:label + "week"@en , + "semana"@es ; + schema:description + "Week number within the year."@en , + "Número de semana en el año."@es ; +. + +time:weeks + rdfs:label + "weeks duration"@en , + "duración en semanas"@es ; + schema:description + "length of, or element of the length of, a temporal extent expressed in weeks"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en semanas."@es ; +. + +time:xsdDateTime + rdfs:label + "has XSD date-time"@en , + "tiene fecha-hora XSD"@es ; + schema:description + "Value of DateTimeInterval expressed as a compact value."@en , + "Valor de 'intervalo de fecha-hora' expresado como un valor compacto."@es ; +. + +time:year + rdfs:label "year"@en ; + schema:description + """Year position in a calendar-clock system. + +The range of this property is not specified, so can be replaced by any specific representation of a calendar year from any calendar. """@en , + """Posición de año en un sistema calendario-reloj. + +l rango de esta propiedad no está especificado, por tanto, se puede reemplazar por cualquier representación específica de un año de calendario de un calendario cualquiera."""@es ; +. + +time:years + rdfs:label + "years duration"@en , + "duración en años"@es ; + schema:description + "length of, or element of the length of, a temporal extent expressed in years"@en , + "Longitud de, o elemento de la longitud de, una extensión temporal expresada en años."@es ; +. + diff --git a/prez/reference_data/annotations/void-annotations.ttl b/prez/reference_data/annotations/void-annotations.ttl new file mode 100644 index 00000000..5dd87140 --- /dev/null +++ b/prez/reference_data/annotations/void-annotations.ttl @@ -0,0 +1,186 @@ +PREFIX rdfs: +PREFIX schema: +PREFIX void: + +void:Dataset + rdfs:label "dataset" ; + schema:description "A set of RDF triples that are published, maintained or aggregated by a single provider." ; +. + +void:DatasetDescription + rdfs:label "dataset description" ; + schema:description "A web resource whose foaf:primaryTopic or foaf:topics include void:Datasets." ; +. + +void:Linkset + rdfs:label "linkset" ; + schema:description "A collection of RDF links between two void:Datasets." ; +. + +void:TechnicalFeature + rdfs:label "technical feature" ; + schema:description "A technical feature of a void:Dataset, such as a supported RDF serialization format." ; +. + +void:class + rdfs:label "class" ; + schema:description "The rdfs:Class that is the rdf:type of all entities in a class-based partition." ; +. + +void:classPartition + rdfs:label "class partition" ; + schema:description "A subset of a void:Dataset that contains only the entities of a certain rdfs:Class." ; +. + +void:classes + rdfs:label "classes" ; + schema:description "The total number of distinct classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset." ; +. + +void:dataDump + rdfs:label "Data Dump" ; + schema:description "An RDF dump, partial or complete, of a void:Dataset." ; +. + +void:distinctObjects + rdfs:label "distinct objects" ; + schema:description "The total number of distinct objects in a void:Dataset. In other words, the number of distinct resources that occur in the object position of triples in the dataset. Literals are included in this count." ; +. + +void:distinctSubjects + rdfs:label "distinct subjects" ; + schema:description "The total number of distinct subjects in a void:Dataset. In other words, the number of distinct resources that occur in the subject position of triples in the dataset." ; +. + +void:documents + rdfs:label "number of documents" ; + schema:description "The total number of documents, for datasets that are published as a set of individual documents, such as RDF/XML documents or RDFa-annotated web pages. Non-RDF documents, such as web pages in HTML or images, are usually not included in this count. This property is intended for datasets where the total number of triples or entities is hard to determine. void:triples or void:entities should be preferred where practical." ; +. + +void:entities + rdfs:label "number of entities" ; + schema:description "The total number of entities that are described in a void:Dataset." ; +. + +void:exampleResource + rdfs:label "example resource of dataset" ; +. + +void:feature + rdfs:label "feature" ; +. + +void:inDataset + rdfs:label "in dataset" ; + schema:description "Points to the void:Dataset that a document is a part of." ; +. + +void:linkPredicate + rdfs:label "a link predicate" ; +. + +void:objectsTarget + rdfs:label "Objects Target" ; + schema:description "The dataset describing the objects of the triples contained in the Linkset." ; +. + +void:openSearchDescription + rdfs:label "open search description" ; + schema:description "An OpenSearch description document for a free-text search service over a void:Dataset." ; +. + +void:properties + rdfs:label "number of properties" ; + schema:description "The total number of distinct properties in a void:Dataset. In other words, the number of distinct resources that occur in the predicate position of triples in the dataset." ; +. + +void:property + rdfs:label "property" ; + schema:description "The rdf:Property that is the predicate of all triples in a property-based partition." ; +. + +void:propertyPartition + rdfs:label "property partition" ; + schema:description "A subset of a void:Dataset that contains only the triples of a certain rdf:Property." ; +. + +void:rootResource + rdfs:label "root resource" ; + schema:description "A top concept or entry point for a void:Dataset that is structured in a tree-like fashion. All resources in a dataset can be reached by following links from its root resources in a small number of steps." ; +. + +void:sparqlEndpoint + rdfs:label "has a SPARQL endpoint at" ; +. + +void:subjectsTarget + rdfs:label "Subjects Target" ; + schema:description "The dataset describing the subjects of triples contained in the Linkset." ; +. + +void:subset + rdfs:label "has subset" ; +. + +void:target + rdfs:label "Target" ; + schema:description "One of the two datasets linked by the Linkset." ; +. + +void:triples + rdfs:label "number of triples" ; + schema:description "The total number of triples contained in a void:Dataset." ; +. + +void:uriLookupEndpoint + rdfs:label "has an URI look-up endpoint at" ; + schema:description "Defines a simple URI look-up protocol for accessing a dataset." ; +. + +void:uriRegexPattern + rdfs:label "has URI regular expression pattern" ; + schema:description "Defines a regular expression pattern matching URIs in the dataset." ; +. + +void:uriSpace + rdfs:label "URI space" ; + schema:description "A URI that is a common string prefix of all the entity URIs in a void:Dataset." ; +. + +void:vocabulary + rdfs:label "vocabulary" ; + schema:description "A vocabulary that is used in the dataset." ; +. + + + rdfs:label "Vocabulary of Interlinked Datasets (VoID)" ; + schema:description "The Vocabulary of Interlinked Datasets (VoID) is an RDF Schema vocabulary for expressing metadata about RDF datasets. It is intended as a bridge between the publishers and users of RDF data, with applications ranging from data discovery to cataloging and archiving of datasets. This document provides a formal definition of the new RDF classes and properties introduced for VoID. It is a companion to the main specification document for VoID, Describing Linked Datasets with the VoID Vocabulary." ; +. + +[] rdfs:label "Digital Enterprise Research Institute, NUI Galway" ; + rdfs:seeAlso + , + ; +. + +[] rdfs:label "Richard Cyganiak" ; +. + +[] rdfs:label "Jun Zhao" ; +. + +[] rdfs:label "Department of Zoology, University of Oxford" ; +. + +[] rdfs:label "Keith Alexander" ; +. + +[] rdfs:label "Talis" ; +. + +[] rdfs:label "Michael Hausenblas" ; +. + +[] rdfs:label "LiDRC" ; +. + diff --git a/prez/reference_data/context_ontologies/dcat.nq b/prez/reference_data/context_ontologies/dcat.nq new file mode 100755 index 00000000..c1270034 --- /dev/null +++ b/prez/reference_data/context_ontologies/dcat.nq @@ -0,0 +1,1342 @@ + . + . + "A curated collection of metadata about resources (e.g., datasets and data services in the context of a data catalog)."@en . + "En udvalgt og arrangeret samling af metadata om ressourcer (fx datasæt og datatjenester i kontekst af et datakatalog). "@da . + "Una colección curada de metadatos sobre recursos (por ejemplo, conjuntos de datos y servicios de datos en el contexto de un catálogo de datos)."@es . + "Una raccolta curata di metadati sulle risorse (ad es. sui dataset e relativi servizi nel contesto di cataloghi di dati)."@it . + "Une collection élaborée de métadonnées sur les jeux de données"@fr . + "Řízená kolekce metadat o datových sadách a datových službách"@cs . + "Μια επιμελημένη συλλογή μεταδεδομένων περί συνόλων δεδομένων"@el . + "مجموعة من توصيفات قوائم البيانات"@ar . + "データ・カタログは、データセットに関するキュレートされたメタデータの集合です。"@ja . + . + "Catalog"@en . + "Catalogo"@it . + "Catalogue"@fr . + "Catálogo"@es . + "Katalog"@cs . + "Katalog"@da . + "Κατάλογος"@el . + "فهرس قوائم البيانات"@ar . + "カタログ"@ja . + . + "A curated collection of metadata about resources (e.g., datasets and data services in the context of a data catalog)."@en . + "En samling af metadata om ressourcer (fx datasæt og datatjenester i kontekst af et datakatalog)."@da . + "Una colección curada de metadatos sobre recursos (por ejemplo, conjuntos de datos y servicios de datos en el contexto de un catálogo de datos)."@es . + "Una raccolta curata di metadati sulle risorse (ad es. sui dataset e relativi servizi nel contesto di cataloghi di dati)."@it . + "Une collection élaborée de métadonnées sur les jeux de données."@fr . + "Řízená kolekce metadat o datových sadách a datových službách."@cs . + "Μια επιμελημένη συλλογή μεταδεδομένων περί συνόλων δεδομένων."@el . + "مجموعة من توصيفات قوائم البيانات"@ar . + "データ・カタログは、データセットに関するキュレートされたメタデータの集合です。"@ja . + "English, Italian, Spanish definitions updated in this revision. Multilingual text not yet updated."@en . + "A web-based data catalog is typically represented as a single instance of this class."@en . + "Et webbaseret datakatalog repræsenteres typisk ved en enkelt instans af denne klasse."@da . + "Normalmente, un catalogo di dati nel web viene rappresentato come una singola istanza di questa classe."@it . + "Normalmente, un catálogo de datos disponible en la web se representa como una única instancia de esta clase."@es . + "Webový datový katalog je typicky reprezentován jako jedna instance této třídy."@cs . + "Συνήθως, ένας κατάλογος δεδομένων στον Παγκόσμιο Ιστό αναπαρίσταται ως ένα στιγμιότυπο αυτής της κλάσης."@el . + "通常、ウェブ・ベースのデータ・カタログは、このクラスの1つのインスタンスとして表わされます。"@ja . + . + . + "1つのデータセットを記述したデータ・カタログ内のレコード。"@ja . + "A record in a data catalog, describing the registration of a single dataset or data service."@en . + "En post i et datakatalog der beskriver registreringen af et enkelt datasæt eller en datatjeneste."@da . + "Un record in un catalogo di dati che descrive un singolo dataset o servizio di dati."@it . + "Un registre du catalogue ou une entrée du catalogue, décrivant un seul jeu de données."@fr . + "Un registro en un catálogo de datos que describe un solo conjunto de datos o un servicio de datos."@es . + "Záznam v datovém katalogu popisující jednu datovou sadu či datovou službu."@cs . + "Μία καταγραφή ενός καταλόγου, η οποία περιγράφει ένα συγκεκριμένο σύνολο δεδομένων."@el . + . + "Catalog Record"@en . + "Katalogizační záznam"@cs . + "Katalogpost"@da . + "Record di catalogo"@it . + "Registre du catalogue"@fr . + "Registro del catálogo"@es . + "Καταγραφή καταλόγου"@el . + "سجل"@ar . + "カタログ・レコード"@ja . + _:c14n5 . + _:c14n7 . + "1つのデータセットを記述したデータ・カタログ内のレコード。"@ja . + "A record in a data catalog, describing the registration of a single dataset or data service."@en . + "En post i et datakatalog der beskriver registreringen af et enkelt datasæt eller en datatjeneste."@da . + "Un record in un catalogo di dati che descrive un singolo dataset o servizio di dati."@it . + "Un registre du catalogue ou une entrée du catalogue, décrivant un seul jeu de données."@fr . + "Un registro en un catálogo de datos que describe un solo conjunto de datos o un servicio de datos."@es . + "Záznam v datovém katalogu popisující jednu datovou sadu či datovou službu."@cs . + "Μία καταγραφή ενός καταλόγου, η οποία περιγράφει ένα συγκεκριμένο σύνολο δεδομένων."@el . + "English definition updated in this revision. Multilingual text not yet updated except the Spanish one and the Czech one and Italian one."@en . + "C'est une classe facultative et tous les catalogues ne l'utiliseront pas. Cette classe existe pour les catalogues ayant une distinction entre les métadonnées sur le jeu de données et les métadonnées sur une entrée du jeu de données dans le catalogue."@fr . + "Denne klasse er valgfri og ikke alle kataloger vil anvende denne klasse. Den kan anvendes i de kataloger hvor der skelnes mellem metadata om datasættet eller datatjenesten og metadata om selve posten til registreringen af datasættet eller datatjenesten i kataloget. Udgivelsesdatoen for datasættet afspejler for eksempel den dato hvor informationerne oprindeligt blev gjort tilgængelige af udgiveren, hvorimod udgivelsesdatoen for katalogposten er den dato hvor datasættet blev føjet til kataloget. I de tilfælde hvor de to datoer er forskellige eller hvor blot sidstnævnte er kendt, bør udgivelsesdatoen kun angives for katalogposten. Bemærk at W3Cs PROV ontologi gør til muligt at tilføje yderligere proveniensoplysninger eksempelvis om processen eller aktøren involveret i en given ændring af datasættet."@da . + "Esta clase es opcional y no todos los catálogos la utilizarán. Esta clase existe para catálogos que hacen una distinción entre los metadatos acerca de un conjunto de datos o un servicio de datos y los metadatos acerca de una entrada en ese conjunto de datos en el catálogo. Por ejemplo, la propiedad sobre la fecha de la publicación de los datos refleja la fecha en que la información fue originalmente publicada, mientras que la fecha de publicación del registro del catálogo es la fecha en que los datos se agregaron al mismo. En caso en que ambas fechas fueran diferentes, o en que sólo la fecha de publicación del registro del catálogo estuviera disponible, sólo debe especificarse en el registro del catálogo. Tengan en cuenta que la ontología PROV de W3C permite describir otra información sobre la proveniencia de los datos, como por ejemplo detalles del proceso y de los agentes involucrados en algún cambio específico a los datos."@es . + "Questa classe è opzionale e non tutti i cataloghi la utilizzeranno. Esiste per cataloghi in cui si opera una distinzione tra i metadati relativi al dataset ed i metadati relativi alla gestione del dataset nel catalogo. Ad esempio, la proprietà per indicare la data di pubblicazione del dataset rifletterà la data in cui l'informazione è stata originariamente messa a disposizione dalla casa editrice, mentre la data di pubblicazione per il record nel catalogo rifletterà la data in cui il dataset è stato aggiunto al catalogo. Nei casi dove solo quest'ultima sia nota, si utilizzerà esclusivamente la data di pubblicazione relativa al record del catalogo. Si noti che l'Ontologia W3C PROV permette di descrivere ulteriori informazioni sulla provenienza, quali i dettagli del processo, la procedura e l'agente coinvolto in una particolare modifica di un dataset."@it . + "Tato třída je volitelná a ne všechny katalogy ji využijí. Existuje pro katalogy, ve kterých se rozlišují metadata datové sady či datové služby a metadata o záznamu o datové sadě či datové službě v katalogu. Například datum publikace datové sady odráží datum, kdy byla datová sada původně zveřejněna poskytovatelem dat, zatímco datum publikace katalogizačního záznamu je datum zanesení datové sady do katalogu. V případech kdy se obě data liší, nebo je známo jen to druhé, by mělo být specifikováno jen datum publikace katalogizačního záznamu. Všimněte si, že ontologie W3C PROV umožňuje popsat další informace o původu jako například podrobnosti o procesu konkrétní změny datové sady a jeho účastnících."@cs . + "This class is optional and not all catalogs will use it. It exists for catalogs where a distinction is made between metadata about a dataset or data service and metadata about the entry for the dataset or data service in the catalog. For example, the publication date property of the dataset reflects the date when the information was originally made available by the publishing agency, while the publication date of the catalog record is the date when the dataset was added to the catalog. In cases where both dates differ, or where only the latter is known, the publication date should only be specified for the catalog record. Notice that the W3C PROV Ontology allows describing further provenance information such as the details of the process and the agent involved in a particular change to a dataset."@en . + "Αυτή η κλάση είναι προαιρετική και δεν χρησιμοποιείται από όλους τους καταλόγους. Υπάρχει για τις περιπτώσεις καταλόγων όπου γίνεται διαχωρισμός μεταξύ των μεταδεδομένων για το σύνολο των δεδομένων και των μεταδεδομένων για την καταγραφή του συνόλου δεδομένων εντός του καταλόγου. Για παράδειγμα, η ιδιότητα της ημερομηνίας δημοσίευσης του συνόλου δεδομένων δείχνει την ημερομηνία κατά την οποία οι πληροφορίες έγιναν διαθέσιμες από τον φορέα δημοσίευσης, ενώ η ημερομηνία δημοσίευσης της καταγραφής του καταλόγου δείχνει την ημερομηνία που το σύνολο δεδομένων προστέθηκε στον κατάλογο. Σε περιπτώσεις που οι δύο ημερομηνίες διαφέρουν, ή που μόνο η τελευταία είναι γνωστή, η ημερομηνία δημοσίευσης θα πρέπει να δίνεται για την καταγραφή του καταλόγου. Να σημειωθεί πως η οντολογία W3C PROV επιτρέπει την περιγραφή επιπλέον πληροφοριών ιστορικού όπως λεπτομέρειες για τη διαδικασία και τον δράστη που εμπλέκονται σε μία συγκεκριμένη αλλαγή εντός του συνόλου δεδομένων."@el . + "このクラスはオプションで、すべてのカタログがそれを用いるとは限りません。これは、データセットに関するメタデータとカタログ内のデータセットのエントリーに関するメタデータとで区別が行われるカタログのために存在しています。例えば、データセットの公開日プロパティーは、公開機関が情報を最初に利用可能とした日付を示しますが、カタログ・レコードの公開日は、データセットがカタログに追加された日付です。両方の日付が異っていたり、後者だけが分かっている場合は、カタログ・レコードに対してのみ公開日を指定すべきです。W3CのPROVオントロジー[prov-o]を用いれば、データセットに対する特定の変更に関連するプロセスやエージェントの詳細などの、さらに詳しい来歴情報の記述が可能となることに注意してください。"@ja . + . + "A site or end-point providing operations related to the discovery of, access to, or processing functions on, data or related resources."@en . + "Et websted eller endpoint der udstiller operationer relateret til opdagelse af, adgang til eller behandlende funktioner på data eller relaterede ressourcer."@da . + "Umístění či přístupový bod poskytující operace související s hledáním, přistupem k, či výkonem funkcí na datech či souvisejících zdrojích."@cs . + "Un sitio o end-point que provee operaciones relacionadas a funciones de descubrimiento, acceso, o procesamiento de datos o recursos relacionados."@es . + "Un sito o end-point che fornisce operazioni relative alla scoperta, all'accesso o all'elaborazione di funzioni su dati o risorse correlate."@it . + "Data service"@en . + "Datatjeneste"@da . + "Servicio de datos"@es . + "Servizio di dati"@it . + . + . + "Dataservice"@da . + "New class added in DCAT 2.0."@en . + "Nová třída přidaná ve verzi DCAT 2.0."@cs . + "Nueva clase añadida en DCAT 2.0."@es . + "Nuova classe aggiunta in DCAT 2.0."@it . + "Ny klasse tilføjet i DCAT 2.0."@da . + "A site or end-point providing operations related to the discovery of, access to, or processing functions on, data or related resources."@en . + "Et site eller endpoint der udstiller operationer relateret til opdagelse af, adgang til eller behandlende funktioner på data eller relaterede ressourcer."@da . + "Umístění či přístupový bod poskytující operace související s hledáním, přistupem k, či výkonem funkcí na datech či souvisejících zdrojích."@cs . + "Un sitio o end-point que provee operaciones relacionadas a funciones de descubrimiento, acceso, o procesamiento de datos o recursos relacionados."@es . + "Un sito o end-point che fornisce operazioni relative alla scoperta, all'accesso o all'elaborazione di funzioni su dati o risorse correlate."@it . + "Datatjenestetypen kan indikeres ved hjælp af egenskaben dct:type. Værdien kan tages fra kontrollerede udfaldsrum såsom INSPIRE spatial data service vocabulary."@da . + "Druh služby může být indikován vlastností dct:type. Její hodnota může být z řízeného slovníku, kterým je například slovník typů prostorových datových služeb INSPIRE."@cs . + "El tipo de servicio puede indicarse usando la propiedad dct:type. Su valor puede provenir de un vocabulario controlado, como por ejemplo el vocabulario de servicios de datos espaciales de INSPIRE."@es . + "Hvis en dcat:DataService er bundet til en eller flere specifikke datasæt kan dette indikeres ved hjælp af egenskaben dcat:servesDataset. "@da . + "If a dcat:DataService is bound to one or more specified Datasets, they are indicated by the dcat:servesDataset property."@en . + "Il tipo di servizio può essere indicato usando la proprietà dct:type. Il suo valore può essere preso da un vocabolario controllato come il vocabolario dei tipi di servizi per dati spaziali di INSPIRE."@it . + "Pokud je dcat:DataService navázána na jednu či více Datových sad, jsou tyto indikovány vlstností dcat:servesDataset."@cs . + "Se un dcat:DataService è associato a uno o più Dataset specificati, questi sono indicati dalla proprietà dcat:serveDataset."@it . + "Si un dcat:DataService está asociado con uno o más conjuntos de datos especificados, dichos conjuntos de datos pueden indicarse con la propiedad dcat:servesDataset."@es . + "The kind of service can be indicated using the dct:type property. Its value may be taken from a controlled vocabulary such as the INSPIRE spatial data service type vocabulary."@en . + . + . + "1つのエージェントによって公開またはキュレートされ、1つ以上の形式でアクセスまたはダウンロードできるデータの集合。"@ja . + "A collection of data, published or curated by a single source, and available for access or download in one or more representations."@en . + "En samling af data, udgivet eller udvalgt og arrangeret af en enkelt kilde og som er til råde for adgang til eller download af i en eller flere repræsentationer."@da . + "Kolekce dat poskytovaná či řízená jedním zdrojem, která je k dispozici pro přístup či stažení v jednom či více formátech."@cs . + "Raccolta di dati, pubblicati o curati da un'unica fonte, disponibili per l'accesso o il download in uno o più formati."@it . + "Una colección de datos, publicados o conservados por una única fuente, y disponibles para ser accedidos o descargados en uno o más formatos."@es . + "Une collection de données, publiée ou élaborée par une seule source, et disponible pour accès ou téléchargement dans un ou plusieurs formats."@fr . + "Μία συλλογή από δεδομένα, δημοσιευμένη ή επιμελημένη από μία και μόνο πηγή, διαθέσιμη δε προς πρόσβαση ή μεταφόρτωση σε μία ή περισσότερες μορφές."@el . + "قائمة بيانات منشورة أو مجموعة من قبل مصدر ما و متاح الوصول إليها أو تحميلها"@ar . + . + "Conjunto de datos"@es . + "Dataset"@en . + "Dataset"@it . + "Datasæt"@da . + "Datová sada"@cs . + "Jeu de données"@fr . + "Σύνολο Δεδομένων"@el . + "قائمة بيانات"@ar . + "データセット"@ja . + . + "Datasamling"@da . + "2018-02 - odstraněno tvrzení o podtřídě dctype:Dataset, jelikož rozsah dcat:Dataset zahrnuje několik dalších typů ze slovníku dctype."@cs . + "2018-02 - se eliminó el axioma de subclase con dctype:Dataset porque el alcance de dcat:Dataset incluye muchos otros tipos del vocabulario dctype."@es . + "2018-02 - sottoclasse di dctype:Dataset rimosso perché l'ambito di dcat:Dataset include diversi altri tipi dal vocabolario dctype."@it . + "2018-02 - subclass of dctype:Dataset removed because scope of dcat:Dataset includes several other types from the dctype vocabulary."@en . + "2018-02 - subklasse af dctype:Dataset fjernet da scope af dcat:Dataset omfatter flere forskellige typer fra dctype-vokabularet."@da . + "1つのエージェントによって公開またはキュレートされ、1つ以上の形式でアクセスまたはダウンロードできるデータの集合。"@ja . + "A collection of data, published or curated by a single source, and available for access or download in one or more represenations."@en . + "En samling a data, udgivet eller udvalgt og arrangeret af en enkelt kilde og som der er adgang til i en eller flere repræsentationer."@da . + "Kolekce dat poskytovaná či řízená jedním zdrojem, která je k dispozici pro přístup či stažení v jednom či více formátech."@cs . + "Raccolta di dati, pubblicati o curati da un'unica fonte, disponibili per l'accesso o il download in uno o più formati."@it . + "Una colección de datos, publicados o conservados por una única fuente, y disponibles para ser accedidos o descargados en uno o más formatos."@es . + "Une collection de données, publiée ou élaborée par une seule source, et disponible pour accès ou téléchargement dans un ou plusieurs formats."@fr . + "Μία συλλογή από δεδομένα, δημοσιευμένη ή επιμελημένη από μία και μόνο πηγή, διαθέσιμη δε προς πρόσβαση ή μεταφόρτωση σε μία ή περισσότερες μορφές."@el . + "قائمة بيانات منشورة أو مجموعة من قبل مصدر ما و متاح الوصول إليها أو تحميلها"@ar . + "2020-03-16 A new scopenote added and need to be translated"@en . + "Cette classe représente le jeu de données publié par le fournisseur de données. Dans les cas où une distinction est nécessaire entre le jeu de donénes et son entrée dans le catalogue, la classe registre de données peut être utilisée pour ce dernier."@fr . + "Denne klasse beskriver det konceptuelle datasæt. En eller flere repræsentationer kan være tilgængelige med forskellige skematiske opsætninger, formater eller serialiseringer."@da . + "Denne klasse repræsenterer det konkrete datasæt som det udgives af datasætleverandøren. I de tilfælde hvor det er nødvendigt at skelne mellem det konkrete datasæt og dets registrering i kataloget (fordi metadata såsom ændringsdato og vedligeholder er forskellige), så kan klassen katalogpost anvendes. "@da . + "Esta clase representa el conjunto de datos publicados. En los casos donde es necesario distinguir entre el conjunto de datos y su entrada en el catálogo de datos, se debe utilizar la clase 'registro del catálogo'."@es . + "Questa classe descrive il dataset dal punto di vista concettuale. Possono essere disponibili una o più rappresentazioni, con diversi layout e formati schematici o serializzazioni."@it . + "Questa classe rappresenta il dataset come pubblicato dall’editore. Nel caso in cui sia necessario operare una distinzione fra i metadati originali del dataset e il record dei metadati ad esso associato nel catalogo (ad esempio, per distinguere la data di modifica del dataset da quella del dataset nel catalogo) si può impiegare la classe catalog record."@it . + "Tato třída reprezentuje datovou sadu tak, jak je publikována poskytovatelem dat. V případě potřeby rozlišení datové sady a jejího katalogizačního záznamu (jelikož metadata jako datum modifikace se mohou lišit) pro něj může být použita třída \"katalogizační záznam\"."@cs . + "The notion of dataset in DCAT is broad and inclusive, with the intention of accommodating resource types arising from all communities. Data comes in many forms including numbers, text, pixels, imagery, sound and other multi-media, and potentially other types, any of which might be collected into a dataset."@en . + "This class describes the conceptual dataset. One or more representations might be available, with differing schematic layouts and formats or serializations."@en . + "This class represents the actual dataset as published by the dataset provider. In cases where a distinction between the actual dataset and its entry in the catalog is necessary (because metadata such as modification date and maintainer might differ), the catalog record class can be used for the latter."@en . + "Η κλάση αυτή αναπαριστά το σύνολο δεδομένων αυτό καθ'εαυτό, όπως έχει δημοσιευθεί από τον εκδότη. Σε περιπτώσεις όπου είναι απαραίτητος ο διαχωρισμός μεταξύ του συνόλου δεδομένων και της καταγραφής αυτού στον κατάλογο (γιατί μεταδεδομένα όπως η ημερομηνία αλλαγής και ο συντηρητής μπορεί να διαφέρουν) η κλάση της καταγραφής καταλόγου μπορεί να χρησιμοποιηθεί για το τελευταίο."@el . + "このクラスは、データセットの公開者が公開する実際のデータセットを表わします。カタログ内の実際のデータセットとそのエントリーとの区別が必要な場合(修正日と維持者などのメタデータが異なるかもしれないので)は、後者にcatalog recordというクラスを使用できます。"@ja . + . + . + "A specific representation of a dataset. A dataset might be available in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail or profiles (which might specify any or all of the above)."@en . + "En specifik repræsentation af et datasæt. Et datasæt kan være tilgængelig i mange serialiseringer der kan variere på forskellige vis, herunder sprog, medietype eller format, systemorganisering, tidslig- og geografisk opløsning, detaljeringsniveau eller profiler (der kan specificere en eller flere af ovenstående)."@da . + "Konkrétní reprezentace datové sady. Datová sada může být dostupná v různých serializacích, které se mohou navzájem lišit různými způsoby, mimo jiné přirozeným jazykem, media-typem či formátem, schematickou organizací, časovým a prostorovým rozlišením, úrovní detailu či profily (které mohou specifikovat některé či všechny tyto rozdíly)."@cs . + "Rappresenta una forma disponibile e specifica del dataset. Ciascun dataset può essere disponibile in forme differenti, che possono rappresentare formati diversi o diversi punti di accesso per un dataset. Esempi di distribuzioni sono un file CSV scaricabile, una API o un RSS feed."@it . + "Représente une forme spécifique d'un jeu de données. Caque jeu de données peut être disponible sous différentes formes, celles-ci pouvant représenter différents formats du jeu de données ou différents endpoint. Des exemples de distribution sont des fichirs CSV, des API ou des flux RSS."@fr . + "Una representación específica de los datos. Cada conjunto de datos puede estar disponible en formas diferentes, las cuáles pueden variar en distintas formas, incluyendo el idioma, 'media-type' o formato, organización esquemática, resolución temporal y espacial, nivel de detalle o perfiles (que pueden especificar cualquiera o todas las diferencias anteriores)."@es . + "Αναπαριστά μία συγκεκριμένη διαθέσιμη μορφή ενός συνόλου δεδομένων. Κάθε σύνολο δεδομενων μπορεί να είναι διαθέσιμο σε διαφορετικές μορφές, οι μορφές αυτές μπορεί να αναπαριστούν διαφορετικές μορφές αρχείων ή διαφορετικά σημεία διάθεσης. Παραδείγματα διανομών συμπεριλαμβάνουν ένα μεταφορτώσιμο αρχείο μορφής CSV, ένα API ή ένα RSS feed."@el . + "شكل محدد لقائمة البيانات يمكن الوصول إليه. قائمة بيانات ما يمكن أن تكون متاحه باشكال و أنواع متعددة. ملف يمكن تحميله أو واجهة برمجية يمكن من خلالها الوصول إلى البيانات هي أمثلة على ذلك."@ar . + "データセットの特定の利用可能な形式を表わします。各データセットは、異なる形式で利用できることがあり、これらの形式は、データセットの異なる形式や、異なるエンドポイントを表わす可能性があります。配信の例には、ダウンロード可能なCSVファイル、API、RSSフィードが含まれます。"@ja . + . + "Distribuce"@cs . + "Distribución"@es . + "Distribution"@da . + "Distribution"@en . + "Distribution"@fr . + "Distribuzione"@it . + "Διανομή"@el . + "التوزيع"@ar . + "配信"@ja . + "Datadistribution"@da . + "Datamanifestation"@da . + "Datarepræsentation"@da . + "Dataudstilling"@da . + "A specific representation of a dataset. A dataset might be available in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail or profiles (which might specify any or all of the above)."@en . + "En specifik repræsentation af et datasæt. Et datasæt kan være tilgængelig i mange serialiseringer der kan variere på forskellige vis, herunder sprog, medietype eller format, systemorganisering, tidslig- og geografisk opløsning, detaljeringsniveau eller profiler (der kan specificere en eller flere af ovenstående)."@da . + "Konkrétní reprezentace datové sady. Datová sada může být dostupná v různých serializacích, které se mohou navzájem lišit různými způsoby, mimo jiné přirozeným jazykem, media-typem či formátem, schematickou organizací, časovým a prostorovým rozlišením, úrovní detailu či profily (které mohou specifikovat některé či všechny tyto rozdíly)."@cs . + "Rappresenta una forma disponibile e specifica del dataset. Ciascun dataset può essere disponibile in forme differenti, che possono rappresentare formati diversi o diversi punti di accesso per un dataset. Esempi di distribuzioni sono un file CSV scaricabile, una API o un RSS feed."@it . + "Représente une forme spécifique d'un jeu de données. Caque jeu de données peut être disponible sous différentes formes, celles-ci pouvant représenter différents formats du jeu de données ou différents endpoint. Des exemples de distribution sont des fichirs CSV, des API ou des flux RSS."@fr . + "Una representación específica de los datos. Cada conjunto de datos puede estar disponible en formas diferentes, las cuáles pueden variar en distintas formas, incluyendo el idioma, 'media-type' o formato, organización esquemática, resolución temporal y espacial, nivel de detalle o perfiles (que pueden especificar cualquiera o todas las diferencias anteriores)."@es . + "Αναπαριστά μία συγκεκριμένη διαθέσιμη μορφή ενός συνόλου δεδομένων. Κάθε σύνολο δεδομενων μπορεί να είναι διαθέσιμο σε διαφορετικές μορφές, οι μορφές αυτές μπορεί να αναπαριστούν διαφορετικές μορφές αρχείων ή διαφορετικά σημεία διάθεσης. Παραδείγματα διανομών συμπεριλαμβάνουν ένα μεταφορτώσιμο αρχείο μορφής CSV, ένα API ή ένα RSS feed."@el . + "شكل محدد لقائمة البيانات يمكن الوصول إليه. قائمة بيانات ما يمكن أن تكون متاحه باشكال و أنواع متعددة. ملف يمكن تحميله أو واجهة برمجية يمكن من خلالها الوصول إلى البيانات هي أمثلة على ذلك."@ar . + "データセットの特定の利用可能な形式を表わします。各データセットは、異なる形式で利用できることがあり、これらの形式は、データセットの異なる形式や、異なるエンドポイントを表わす可能性があります。配信の例には、ダウンロード可能なCSVファイル、API、RSSフィードが含まれます。"@ja . + "Ceci représente une disponibilité générale du jeu de données, et implique qu'il n'existe pas d'information sur la méthode d'accès réelle des données, par exple, si c'est un lien de téléchargement direct ou à travers une page Web."@fr . + "Denne klasse repræsenterer datasættets overordnede tilgængelighed og giver ikke oplysninger om hvilken metode der kan anvendes til at få adgang til data, dvs. om adgang til datasættet realiseres ved direkte download, API eller via et websted. Anvendelsen af egenskaben dcat:downloadURL indikerer at distributionen kan downloades direkte."@da . + "Esta clase representa una disponibilidad general de un conjunto de datos, e implica que no existe información acerca del método de acceso real a los datos, i.e., si es un enlace de descarga directa o a través de una página Web."@es . + "Questa classe rappresenta una disponibilità generale di un dataset e non implica alcuna informazione sul metodo di accesso effettivo ai dati, ad esempio se si tratta di un accesso a download diretto, API, o attraverso una pagina Web. L'utilizzo della proprietà dcat:downloadURL indica distribuzioni direttamente scaricabili."@it . + "This represents a general availability of a dataset it implies no information about the actual access method of the data, i.e. whether by direct download, API, or through a Web page. The use of dcat:downloadURL property indicates directly downloadable distributions."@en . + "Toto popisuje obecnou dostupnost datové sady. Neimplikuje žádnou informaci o skutečné metodě přístupu k datům, tj. zda jsou přímo ke stažení, skrze API či přes webovou stránku. Použití vlastnosti dcat:downloadURL indikuje přímo stažitelné distribuce."@cs . + "Αυτό αναπαριστά μία γενική διαθεσιμότητα ενός συνόλου δεδομένων και δεν υπονοεί τίποτα περί του πραγματικού τρόπου πρόσβασης στα δεδομένα, αν είναι άμεσα μεταφορτώσιμα, μέσω API ή μέσω μίας ιστοσελίδας. Η χρήση της ιδιότητας dcat:downloadURL δείχνει μόνο άμεσα μεταφορτώσιμες διανομές."@el . + "これは、データセットの一般的な利用可能性を表わし、データの実際のアクセス方式に関する情報(つまり、直接ダウンロードなのか、APIなのか、ウェブページを介したものなのか)を意味しません。dcat:downloadURLプロパティーの使用は、直接ダウンロード可能な配信を意味します。"@ja . + . + "An association class for attaching additional information to a relationship between DCAT Resources."@en . + "Asociační třída pro připojení dodatečných informací ke vztahu mezi zdroji DCAT."@cs . + "En associationsklasse til brug for tilknytning af yderligere information til en relation mellem DCAT-ressourcer."@da . + "Una clase de asociación para adjuntar información adicional a una relación entre recursos DCAT."@es . + "Una classe di associazione per il collegamento di informazioni aggiuntive a una relazione tra le risorse DCAT."@it . + "Relación"@es . + "Relation"@da . + "Relationship"@en . + "Relazione"@it . + "Vztah"@cs . + "New class added in DCAT 2.0."@en . + "Nová třída přidaná ve verzi DCAT 2.0."@cs . + "Nueva clase añadida en DCAT 2.0."@es . + "Nuova classe aggiunta in DCAT 2.0."@it . + "Ny klasse i DCAT 2.0."@da . + "An association class for attaching additional information to a relationship between DCAT Resources."@en . + "Asociační třída pro připojení dodatečných informací ke vztahu mezi zdroji DCAT."@cs . + "En associationsklasse til brug for tilknytning af yderligere information til en relation mellem DCAT-ressourcer."@da . + "Una clase de asociación para adjuntar información adicional a una relación entre recursos DCAT."@es . + "Una classe di associazione per il collegamento di informazioni aggiuntive a una relazione tra le risorse DCAT."@it . + "Anvendes til at karakterisere en relation mellem datasæt, og potentielt andre ressourcer, hvor relationen er kendt men ikke tilstrækkeligt beskrevet af de standardiserede egenskaber i Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) eller PROV-O-egenskaber (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@da . + "Používá se pro charakterizaci vztahu mezi datovými sadami a případně i jinými zdroji, kde druh vztahu je sice znám, ale není přiměřeně charakterizován standardními vlastnostmi slovníku Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) či vlastnostmi slovníku PROV-O (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@cs . + "Se usa para caracterizar la relación entre conjuntos de datos, y potencialmente otros recursos, donde la naturaleza de la relación se conoce pero no está caracterizada adecuadamente con propiedades del estándar 'Dublin Core' (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) or PROV-O properties (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@es . + "Use to characterize a relationship between datasets, and potentially other resources, where the nature of the relationship is known but is not adequately characterized by the standard Dublin Core properties (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) or PROV-O properties (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@en . + "Viene utilizzato per caratterizzare la relazione tra insiemi di dati, e potenzialmente altri tipi di risorse, nei casi in cui la natura della relazione è nota ma non adeguatamente caratterizzata dalle proprietà dello standard 'Dublin Core' (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:require, dct:isRequiredBy) o dalle propietà fornite da PROV-O (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov: hadPrimarySource, prov:alternateOf, prov:specializationOf)."@it . + . + "Recurso publicado o curado por un agente único."@es . + "Resource published or curated by a single agent."@en . + "Ressource udgivet eller udvalgt og arrangeret af en enkelt aktør."@da . + "Risorsa pubblicata o curata da un singolo agente."@it . + "Zdroj publikovaný či řízený jediným činitelem."@cs . + "Catalogued resource"@en . + "Katalogiseret ressource"@da . + "Katalogizovaný zdroj"@cs . + "Recurso catalogado"@es . + "Risorsa catalogata"@it . + "New class added in DCAT 2.0."@en . + "Nová třída přidaná ve verzi DCAT 2.0."@cs . + "Nueva clase agregada en DCAT 2.0."@es . + "Nuova classe aggiunta in DCAT 2.0."@it . + "Ny klasse i DCAT 2.0."@da . + "Recurso publicado o curado por un agente único."@es . + "Resource published or curated by a single agent."@en . + "Ressource udgivet eller udvalgt og arrangeret af en enkelt aktør."@da . + "Risorsa pubblicata o curata da un singolo agente."@it . + "Zdroj publikovaný či řízený jediným činitelem."@cs . + "Klassen for alle katalogiserede ressourcer, den overordnede klasse for dcat:Dataset, dcat:DataService, dcat:Catalog og enhvert medlem af et dcat:Catalog. Denne klasse bærer egenskaber der gælder alle katalogiserede ressourcer, herunder dataset og datatjenester. Det anbefales kraftigt at mere specifikke subklasser oprettes. Når der beskrives ressourcer der ikke er dcat:Dataset eller dcat:DataService, anbefales det at oprette passende subklasser af dcat:Resource eller at dcat:Resource anvendes sammen med egenskaben dct:type til opmærkning med en specifik typeangivelse."@da . + "La clase de todos los recursos catalogados, la superclase de dcat:Dataset, dcat:DataService, dcat:Catalog y cualquier otro miembro de un dcat:Catalog. Esta clase tiene propiedades comunes a todos los recursos catalogados, incluyendo conjuntos de datos y servicios de datos. Se recomienda fuertemente que se use una clase más específica. Cuando se describe un recurso que no es un dcat:Dataset o dcat:DataService, se recomienda crear una sub-clase apropiada de dcat:Resource, o usar dcat:Resource con la propiedad dct:type to indicar el tipo específico."@es . + "La classe di tutte le risorse catalogate, la Superclasse di dcat:Dataset, dcat:DataService, dcat:Catalog e qualsiasi altro membro di dcat:Catalog. Questa classe porta proprietà comuni a tutte le risorse catalogate, inclusi set di dati e servizi dati. Si raccomanda vivamente di utilizzare una sottoclasse più specifica. Quando si descrive una risorsa che non è un dcat:Dataset o dcat:DataService, si raccomanda di creare una sottoclasse di dcat:Resource appropriata, o utilizzare dcat:Resource con la proprietà dct:type per indicare il tipo specifico."@it . + "The class of all catalogued resources, the Superclass of dcat:Dataset, dcat:DataService, dcat:Catalog and any other member of a dcat:Catalog. This class carries properties common to all catalogued resources, including datasets and data services. It is strongly recommended to use a more specific sub-class. When describing a resource which is not a dcat:Dataset or dcat:DataService, it is recommended to create a suitable sub-class of dcat:Resource, or use dcat:Resource with the dct:type property to indicate the specific type."@en . + "Třída všech katalogizovaných zdrojů, nadtřída dcat:Dataset, dcat:DataService, dcat:Catalog a všech ostatních členů dcat:Catalog. Tato třída nese vlastnosti společné všem katalogizovaným zdrojům včetně datových sad a datových služeb. Je silně doporučeno používat specifičtější podtřídy, pokud je to možné. Při popisu zdroje, který není ani dcat:Dataset, ani dcat:DataService se doporučuje vytvořit odpovídající podtřídu dcat:Resrouce a nebo použít dcat:Resource s vlastností dct:type pro určení konkrétního typu."@cs . + "dcat:Resource er et udvidelsespunkt der tillader oprettelsen af enhver type af kataloger. Yderligere subklasser kan defineres i en DCAT-profil eller i en applikation til kataloger med andre typer af ressourcer."@da . + "dcat:Resource es un punto de extensión que permite la definición de cualquier tipo de catálogo. Se pueden definir subclases adicionales en perfil de DCAT o una aplicación para catálogos de otro tipo de recursos."@es . + "dcat:Resource is an extension point that enables the definition of any kind of catalog. Additional subclasses may be defined in a DCAT profile or application for catalogs of other kinds of resources."@en . + "dcat:Resource je bod pro rozšíření umožňující definici různých druhů katalogů. Další podtřídy lze definovat v profilech DCAT či aplikacích pro katalogy zdrojů jiných druhů."@cs . + "dcat:Resource è un punto di estensione che consente la definizione di qualsiasi tipo di catalogo. Sottoclassi aggiuntive possono essere definite in un profilo DCAT o in un'applicazione per cataloghi di altri tipi di risorse."@it . + . + "A role is the function of a resource or agent with respect to another resource, in the context of resource attribution or resource relationships."@en . + "En rolle er den funktion en ressource eller aktør har i forhold til en anden ressource, i forbindelse med ressourcekreditering eller ressourcerelationer."@da . + "Role je funkce zdroje či agenta ve vztahu k jinému zdroji, v kontextu přiřazení zdrojů či vztahů mezi zdroji."@cs . + "Un rol es la función de un recurso o agente con respecto a otro recuros, en el contexto de atribución del recurso o de las relaciones entre recursos."@es . + "Un ruolo è la funzione di una risorsa o di un agente rispetto ad un'altra risorsa, nel contesto dell'attribuzione delle risorse o delle relazioni tra risorse."@it . + "Rol"@es . + "Role"@cs . + "Role"@en . + "Rolle"@da . + "Ruolo"@it . + . + . + "New class added in DCAT 2.0."@en . + "Nová třída přidaná ve verzi DCAT 2.0."@cs . + "Nueva clase agregada en DCAT 2.0."@es . + "Nuova classe aggiunta in DCAT 2.0."@it . + "Ny klasse tilføjet i DCAT 2.0."@en . + "A role is the function of a resource or agent with respect to another resource, in the context of resource attribution or resource relationships."@en . + "En rolle er den funktion en ressource eller aktør har i forhold til en anden ressource, i forbindelse med ressourcekreditering eller ressourcerelationer."@da . + "Role je funkce zdroje či agenta ve vztahu k jinému zdroji, v kontextu přiřazení zdrojů či vztahů mezi zdroji."@cs . + "Un rol es la función de un recurso o agente con respecto a otro recuros, en el contexto de atribución del recurso o de las relaciones entre recursos."@es . + "Un ruolo è la funzione di una risorsa o di un agente rispetto ad un'altra risorsa, nel contesto dell'attribuzione delle risorse o delle relazioni tra risorse."@it . + "Incluída en DCAT para complementar prov:Role (cuyo uso está limitado a roles en el contexto de una actividad, ya que es el rango es prov:hadRole)."@es . + "Introdotta in DCAT per completare prov:Role (il cui uso è limitato ai ruoli nel contesto di un'attività, in conseguenza alla definizione del codominio di prov:hadRole)."@it . + "Introduced into DCAT to complement prov:Role (whose use is limited to roles in the context of an activity, as the range of prov:hadRole)."@en . + "Introduceret i DCAT for at supplere prov:Role (hvis anvendelse er begrænset til roller i forbindelse med en aktivitet, som er rækkevidde for prov:hadRole)."@da . + "Přidáno do DCAT pro doplnění třídy prov:Role (jejíž užití je omezeno na role v kontextu aktivit, jakožto obor hodnot vlastnosti prov:hadRole)."@cs . + "Anvendes i forbindelse med kvalificerede krediteringer til at angive aktørens rolle i forhold til en entitet. Det anbefales at værdierne styres som et kontrolleret udfaldsrum med aktørroller, såsom http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@da . + "Anvendes i forbindelse med kvalificerede relationer til at specificere en entitets rolle i forhold til en anden entitet. Det anbefales at værdierne styres med et kontrolleret udfaldsrum for for entitetsroller såsom: ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode; IANA Registry of Link Relations https://www.iana.org/assignments/link-relation; DataCite metadata schema; MARC relators https://id.loc.gov/vocabulary/relators."@da . + "Použito v kvalifikovaném přiřazení pro specifikaci role Agenta ve vztahu k Entitě. Je doporučeno množinu hodnot spravovat jako řízený slovník rolí agentů, jako například http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@cs . + "Použito v kvalifikovaném vztahu pro specifikaci role Entity ve vztahu k jiné Entitě. Je doporučeno množinu hodnot spravovat jako řízený slovník rolí entit, jako například ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode, IANA Registry of Link Relations https://www.iana.org/assignments/link-relation, DataCite metadata schema, či MARC relators https://id.loc.gov/vocabulary/relators."@cs . + "Se usa en una atribución cualificada para especificar el rol de un Agente con respecto a una Entidad. Se recomienda que los valores se administren como un vocabulario controlado de roles de agente, como por ejemplo http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@es . + "Se usa en una relación cualificada para especificar el rol de una Entidad con respecto a otra Entidad. Se recomienda que los valores se administren como los valores de un vocabulario controlado de roles de entidad como por ejemplo: ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode; IANA Registry of Link Relations https://www.iana.org/assignments/link-relation; el esquema de metadatos de DataCite; MARC relators https://id.loc.gov/vocabulary/relators."@es . + "Used in a qualified-attribution to specify the role of an Agent with respect to an Entity. It is recommended that the values be managed as a controlled vocabulary of agent roles, such as http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@en . + "Used in a qualified-relation to specify the role of an Entity with respect to another Entity. It is recommended that the values be managed as a controlled vocabulary of entity roles such as: ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode; IANA Registry of Link Relations https://www.iana.org/assignments/link-relation; DataCite metadata schema; MARC relators https://id.loc.gov/vocabulary/relators."@en . + "Utilizzato in un'attribuzione qualificata per specificare il ruolo di un agente rispetto a un'entità. Si consiglia di attribuire i valori considerando un vocabolario controllato dei ruoli dell'agente, ad esempio http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@it . + "Utilizzato in una relazione qualificata per specificare il ruolo di un'entità rispetto a un'altra entità. Si raccomanda che il valore sia preso da un vocabolario controllato di ruoli di entità come ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode, IANA Registry of Link Relations https://www.iana.org/assignments/link-relation, DataCite metadata schema, o MARC relators https://id.loc.gov/vocabulary/relators."@it . + . + "A site or end-point that gives access to the distribution of the dataset."@en . + "Et websted eller endpoint der giver adgang til en repræsentation af datasættet."@da . + "Umístění či přístupový bod zpřístupňující distribuci datové sady."@cs . + "Un sitio o end-point que da acceso a la distribución de un conjunto de datos."@es . + "Un sito o end-point che dà accesso alla distribuzione del set di dati."@it . + "data access service"@en . + "dataadgangstjeneste"@da . + "servicio de acceso de datos"@es . + "servizio di accesso ai dati"@it . + "služba pro přístup k datům"@cs . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "A site or end-point that gives access to the distribution of the dataset."@en . + "Et websted eller endpoint der giver adgang til en repræsentation af datasættet."@da . + "Umístění či přístupový bod zpřístupňující distribuci datové sady."@cs . + "Un sitio o end-point que da acceso a la distribución de un conjunto de datos."@es . + "Un sito o end-point che dà accesso alla distribuzione del set di dati."@it . + . + . + "A URL of a resource that gives access to a distribution of the dataset. E.g. landing page, feed, SPARQL endpoint. Use for all cases except a simple download link, in which case downloadURL is preferred."@en . + "Ceci peut être tout type d'URL qui donne accès à une distribution du jeu de données. Par exemple, un lien à une page HTML contenant un lien au jeu de données, un Flux RSS, un point d'accès SPARQL. Utilisez le lorsque votre catalogue ne contient pas d'information sur quoi il est ou quand ce n'est pas téléchargeable."@fr . + "En URL for en ressource som giver adgang til en repræsentation af datsættet. Fx destinationsside, feed, SPARQL-endpoint. Anvendes i alle sammenhænge undtagen til angivelse af et simpelt download link hvor anvendelse af egenskaben downloadURL foretrækkes."@da . + "Puede ser cualquier tipo de URL que de acceso a una distribución del conjunto de datos, e.g., página de destino, descarga, URL feed, punto de acceso SPARQL. Esta propriedad se debe usar cuando su catálogo de datos no tiene información sobre donde está o cuando no se puede descargar."@es . + "URL zdroje, přes které je přístupná distribuce datové sady. Příkladem může být vstupní stránka, RSS kanál či SPARQL endpoint. Použijte ve všech případech kromě URL souboru ke stažení, pro které je lepší použít dcat:downloadURL."@cs . + "Un URL di una risorsa che consente di accedere a una distribuzione del set di dati. Per esempio, pagina di destinazione, feed, endpoint SPARQL. Da utilizzare per tutti i casi, tranne quando si tratta di un semplice link per il download nel qual caso è preferito downloadURL."@it . + "Μπορεί να είναι οποιουδήποτε είδους URL που δίνει πρόσβαση στη διανομή ενός συνόλου δεδομένων. Π.χ. ιστοσελίδα αρχικής πρόσβασης, μεταφόρτωση, feed URL, σημείο διάθεσης SPARQL. Να χρησιμοποιείται όταν ο κατάλογος δεν περιέχει πληροφορίες εαν πρόκειται ή όχι για μεταφορτώσιμο αρχείο."@el . + "أي رابط يتيح الوصول إلى البيانات. إذا كان الرابط هو ربط مباشر لملف يمكن تحميله استخدم الخاصية downloadURL"@ar . + "データセットの配信にアクセス権を与えるランディング・ページ、フィード、SPARQLエンドポイント、その他の種類の資源。"@ja . + . + . + "URL d'accès"@fr . + "URL de acceso"@es . + "URL πρόσβασης"@el . + "access address"@en . + "adgangsadresse"@da . + "indirizzo di accesso"@it . + "přístupová adresa"@cs . + "رابط وصول"@ar . + "アクセスURL"@ja . + . + _:c14n29 . + "adgangsURL"@da . + "A URL of a resource that gives access to a distribution of the dataset. E.g. landing page, feed, SPARQL endpoint. Use for all cases except a simple download link, in which case downloadURL is preferred."@en . + "Ceci peut être tout type d'URL qui donne accès à une distribution du jeu de données. Par exemple, un lien à une page HTML contenant un lien au jeu de données, un Flux RSS, un point d'accès SPARQL. Utilisez le lorsque votre catalogue ne contient pas d'information sur quoi il est ou quand ce n'est pas téléchargeable."@fr . + "En URL for en ressource som giver adgang til en repræsentation af datsættet. Fx destinationsside, feed, SPARQL-endpoint. Anvendes i alle sammenhænge undtagen til angivelse af et simpelt download link hvor anvendelse af egenskaben downloadURL foretrækkes."@da . + "Puede ser cualquier tipo de URL que de acceso a una distribución del conjunto de datos, e.g., página de destino, descarga, URL feed, punto de acceso SPARQL. Esta propriedad se debe usar cuando su catálogo de datos no tiene información sobre donde está o cuando no se puede descargar."@es . + "URL zdroje, přes které je přístupná distribuce datové sady. Příkladem může být vstupní stránka, RSS kanál či SPARQL endpoint. Použijte ve všech případech kromě URL souboru ke stažení, pro které je lepší použít dcat:downloadURL."@cs . + "Un URL di una risorsa che consente di accedere a una distribuzione del set di dati. Per esempio, pagina di destinazione, feed, endpoint SPARQL. Da utilizzare per tutti i casi, tranne quando si tratta di un semplice link per il download nel qual caso è preferito downloadURL."@it . + "Μπορεί να είναι οποιουδήποτε είδους URL που δίνει πρόσβαση στη διανομή ενός συνόλου δεδομένων. Π.χ. ιστοσελίδα αρχικής πρόσβασης, μεταφόρτωση, feed URL, σημείο διάθεσης SPARQL. Να χρησιμοποιείται όταν ο κατάλογος δεν περιέχει πληροφορίες εαν πρόκειται ή όχι για μεταφορτώσιμο αρχείο."@el . + "أي رابط يتيح الوصول إلى البيانات. إذا كان الرابط هو ربط مباشر لملف يمكن تحميله استخدم الخاصية downloadURL"@ar . + "データセットの配信にアクセス権を与えるランディング・ページ、フィード、SPARQLエンドポイント、その他の種類の資源。"@ja . + "Status: English Definition text modified by DCAT revision team, updated Italian and Czech translation provided, translations for other languages pending."@en . + "rdfs:label, rdfs:comment and skos:scopeNote have been modified. Non-english versions except for Italian must be updated."@en . + "El rango es una URL. Si la distribución es accesible solamente través de una página de destino (es decir, si no se conoce una URL de descarga directa), entonces el enlance a la página de destino debe ser duplicado como accessURL en la distribución."@es . + "Hvis en eller flere distributioner kun er tilgængelige via en destinationsside (dvs. en URL til direkte download er ikke kendt), så bør destinationssidelinket gentages som adgangsadresse for distributionen."@da . + "If the distribution(s) are accessible only through a landing page (i.e. direct download URLs are not known), then the landing page link should be duplicated as accessURL on a distribution."@en . + "La valeur est une URL. Si la distribution est accessible seulement au travers d'une page d'atterrissage (c-à-dire on n'ignore une URL de téléchargement direct), alors le lien à la page d'atterrissage doit être dupliqué comee accessURL sur la distribution."@fr . + "Pokud jsou distribuce přístupné pouze přes vstupní stránku (tj. URL pro přímé stažení nejsou známa), pak by URL přístupové stránky mělo být duplikováno ve vlastnosti distribuce accessURL."@cs . + "Se le distribuzioni sono accessibili solo attraverso una pagina web (ad esempio, gli URL per il download diretto non sono noti), allora il link della pagina web deve essere duplicato come accessURL sulla distribuzione."@it . + "Η τιμή είναι ένα URL. Αν η/οι διανομή/ές είναι προσβάσιμη/ες μόνο μέσω μίας ιστοσελίδας αρχικής πρόσβασης (δηλαδή αν δεν υπάρχουν γνωστές διευθύνσεις άμεσης μεταφόρτωσης), τότε ο σύνδεσμος της ιστοσελίδας αρχικής πρόσβασης πρέπει να αναπαραχθεί ως accessURL σε μία διανομή."@el . + "確実にダウンロードでない場合や、ダウンロードかどうかが不明である場合は、downloadURLではなく、accessURLを用いてください。ランディング・ページを通じてしか配信にアクセスできない場合(つまり、直接的なダウンロードURLが不明)は、配信におけるaccessURLとしてランディング・ページのリンクをコピーすべきです(SHOULD)。"@ja . + . + . + . + "bounding box"@da . + "bounding box"@en . + "cuadro delimitador"@es . + "ohraničení oblasti"@cs . + "quadro di delimitazione"@it . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "Propiedad nueva agregada en DCAT 2.0."@es . + "Den geografiske omskrevne firkant af en ressource."@da . + "El cuadro delimitador geográfico para un recurso."@es . + "Il riquadro di delimitazione geografica di una risorsa."@it . + "Ohraničení geografické oblasti zdroje."@cs . + "The geographic bounding box of a resource."@en . + "El rango de esta propiedad es intencionalmente genérico con el propósito de permitir distintas codificaciones geométricas. Por ejemplo, la geometría puede ser codificada como WKT (geosparql:wktLiteral [GeoSPARQL]) o [GML] (geosparql:asGML [GeoSPARQL])."@es . + "Il range di questa proprietà è volutamente generica, con lo scopo di consentire diverse codifiche geometriche. Ad esempio, la geometria potrebbe essere codificata con WKT (geosparql:wktLiteral [GeoSPARQL]) o [GML] (geosparql:asGML [GeoSPARQL])."@it . + "Obor hodnot této vlastnosti je úmyslně obecný, aby umožnil různé kódování geometrií. Geometrie by kupříkladu mohla být kódována jako WKT (geosparql:wktLiteral [GeoSPARQL]) či [GML] (geosparql:asGML [GeoSPARQL])."@cs . + "Rækkevidden for denne egenskab er bevidst generisk defineret med det formål at tillade forskellige kodninger af geometrier. Geometrien kan eksempelvis repræsenteres som WKT (geosparql:asWKT [GeoSPARQL]) eller [GML] (geosparql:asGML [GeoSPARQL])."@da . + "The range of this property is intentionally generic, with the purpose of allowing different geometry encodings. E.g., the geometry could be encoded with as WKT (geosparql:wktLiteral [GeoSPARQL]) or [GML] (geosparql:asGML [GeoSPARQL])."@en . + . + . + "El tamaño de una distribución en bytes."@es . + "La dimensione di una distribuzione in byte."@it . + "La taille de la distribution en octects"@fr . + "Størrelsen af en distributionen angivet i bytes."@da . + "The size of a distribution in bytes."@en . + "Velikost distribuce v bajtech."@cs . + "Το μέγεθος μιας διανομής σε bytes."@el . + "الحجم بالبايتات "@ar . + "バイトによる配信のサイズ。"@ja . + . + . + "byte size"@en . + "bytestørrelse"@da . + "dimensione in byte"@it . + "taille en octects"@fr . + "tamaño en bytes"@es . + "velikost v bajtech"@cs . + "μέγεθος σε bytes"@el . + "الحجم بالبايت"@ar . + "バイト・サイズ"@ja . + . + "El tamaño de una distribución en bytes."@es . + "La dimensione di una distribuzione in byte."@it . + "La taille de la distribution en octects."@fr . + "Størrelsen af en distribution angivet i bytes."@da . + "The size of a distribution in bytes."@en . + "Velikost distribuce v bajtech."@cs . + "Το μέγεθος μιας διανομής σε bytes."@el . + "الحجم بالبايتات "@ar . + "バイトによる配信のサイズ。"@ja . + "Bytestørrelsen kan approximeres hvis den præcise størrelse ikke er kendt. Værdien af dcat:byteSize bør angives som xsd:decimal."@da . + "El tamaño en bytes puede ser aproximado cuando se desconoce el tamaño exacto. El valor literal de dcat:byteSize debe tener tipo 'xsd:decimal'."@es . + "La dimensione in byte può essere approssimata quando non si conosce la dimensione precisa. Il valore di dcat:byteSize dovrebbe essere espresso come un xsd:decimal."@it . + "La taille en octects peut être approximative lorsque l'on ignore la taille réelle. La valeur littérale de dcat:byteSize doit être de type xsd:decimal."@fr . + "The size in bytes can be approximated when the precise size is not known. The literal value of dcat:byteSize should by typed as xsd:decimal."@en . + "Velikost v bajtech může být přibližná, pokud její přesná hodnota není známa. Literál s hodnotou dcat:byteSize by měl mít datový typ xsd:decimal."@cs . + "Το μέγεθος σε bytes μπορεί να προσεγγιστεί όταν η ακριβής τιμή δεν είναι γνωστή. Η τιμή της dcat:byteSize θα πρέπει να δίνεται με τύπο δεδομένων xsd:decimal."@el . + "الحجم يمكن أن يكون تقريبي إذا كان الحجم الدقيق غير معروف"@ar . + "正確なサイズが不明である場合、サイズは、バイトによる近似値を示すことができます。"@ja . + . + "A catalog whose contents are of interest in the context of this catalog."@en . + "Et katalog hvis indhold er relevant i forhold til det aktuelle katalog."@da . + "Katalog, jehož obsah je v kontextu tohoto katalogu zajímavý."@cs . + "Un catalogo i cui contenuti sono di interesse nel contesto di questo catalogo."@it . + "Un catálogo cuyo contenido es de interés en el contexto del catálogo que está siendo descripto."@es . + . + "catalog"@en . + "catalogo"@it . + "catálogo"@es . + "katalog"@cs . + "katalog"@da . + . + . + . + "har delkatalog"@da . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "A catalog whose contents are of interest in the context of this catalog."@en . + "Et katalog hvis indhold er relevant i forhold til det aktuelle katalog."@da . + "Katalog, jehož obsah je v kontextu tohoto katalogu zajímavý."@cs . + "Un catalogo i cui contenuti sono di interesse nel contesto di questo catalogo."@it . + "Un catálogo cuyo contenido es de interés en el contexto del catálogo que está siendo descripto."@es . + . + . + . + "centroid"@cs . + "centroid"@en . + "centroide"@es . + "centroide"@it . + "geometrisk tyngdepunkt"@da . + . + "centroide"@da . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "Det geometrisk tyngdepunkt (centroid) for en ressource."@da . + "El centro geográfico (centroide) de un recurso."@es . + "Geografický střed (centroid) zdroje."@cs . + "Il centro geografico (centroide) di una risorsa."@it . + "The geographic center (centroid) of a resource."@en . + "El rango de esta propiedad es intencionalmente genérico con el objetivo de permitir distintas codificaciones geométricas. Por ejemplo, la geometría puede codificarse como WKT (geosparql:wktLiteral [GeoSPARQL]) o [GML] (geosparql:asGML [GeoSPARQL])."@es . + "Il range di questa proprietà è volutamente generica, con lo scopo di consentire diverse codifiche geometriche. Ad esempio, la geometria potrebbe essere codificata con WKT (geosparql:wktLiteral [GeoSPARQL]) o [GML] (geosparql:asGML [GeoSPARQL])."@it . + "Obor hodnot této vlastnosti je úmyslně obecný, aby umožnil různé kódování geometrií. Geometrie by kupříkladu mohla být kódována jako WKT (geosparql:wktLiteral [GeoSPARQL]) či [GML] (geosparql:asGML [GeoSPARQL])."@cs . + "Rækkevidden for denne egenskab er bevidst generisk definere med det formål at tillade forskellige geokodninger. Geometrien kan eksempelvis repræsenteres som WKT (geosparql:asWKT [GeoSPARQL]) eller [GML] (geosparql:asGML [GeoSPARQL])."@da . + "The range of this property is intentionally generic, with the purpose of allowing different geometry encodings. E.g., the geometry could be encoded with as WKT (geosparql:wktLiteral [GeoSPARQL]) or [GML] (geosparql:asGML [GeoSPARQL])."@en . + . + . + "El formato de la distribución en el que los datos están en forma comprimida, e.g. para reducir el tamaño del archivo a bajar."@es . + "Formát komprese souboru, ve kterém jsou data poskytována v komprimované podobě, např. ke snížení velikosti souboru ke stažení."@cs . + "Il formato di compressione della distribuzione nel quale i dati sono in forma compressa, ad es. per ridurre le dimensioni del file da scaricare."@it . + "Kompressionsformatet for distributionen som indeholder data i et komprimeret format, fx for at reducere størrelsen af downloadfilen."@da . + "The compression format of the distribution in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file."@en . + . + . + "compression format"@en . + "formato de compresión"@es . + "formato di compressione"@it . + "formát komprese"@cs . + "kompressionsformat"@da . + . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "El formato de la distribución en el que los datos están en forma comprimida, e.g. para reducir el tamaño del archivo a bajar."@es . + "Formát komprese souboru, ve kterém jsou data poskytována v komprimované podobě, např. ke snížení velikosti souboru ke stažení."@cs . + "Il formato di compressione della distribuzione nel quale i dati sono in forma compressa, ad es. per ridurre le dimensioni del file da scaricare."@it . + "Kompressionsformatet for distributionen som indeholder data i et komprimeret format, fx for at reducere størrelsen af downloadfilen."@da . + "The compression format of the distribution in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file."@en . + "Denne egenskab kan anvendes når filerne i en distribution er blevet komprimeret, fx i en ZIP-fil. Formatet BØR udtrykkes ved en medietype som defineret i 'IANA media types registry', hvis der optræder en relevant medietype dér: https://www.iana.org/assignments/media-types/."@da . + "Esta propiedad se debe usar cuando los archivos de la distribución están comprimidos, por ejemplo en un archivo ZIP. El formato DEBERÍA expresarse usando un 'media type', tales como los definidos en el registro IANA de 'media types' https://www.iana.org/assignments/media-types/, si está disponibles."@es . + "Questa proprietà deve essere utilizzata quando i file nella distribuzione sono compressi, ad es. in un file ZIP. Il formato DOVREBBE essere espresso usando un tipo di media come definito dal registro dei tipi di media IANA https://www.iana.org/assignments/media-types/, se disponibile."@it . + "Tato vlastnost se použije, když jsou soubory v distribuci komprimovány, např. v ZIP souboru. Formát BY MĚL být vyjádřen pomocí typu média definovaného v registru IANA https://www.iana.org/assignments/media-types/, pokud existuje."@cs . + "This property is to be used when the files in the distribution are compressed, e.g. in a ZIP file. The format SHOULD be expressed using a media type as defined by IANA media types registry https://www.iana.org/assignments/media-types/, if available."@en . + . + . + "Información relevante de contacto para el recurso catalogado. Se recomienda el uso de vCard."@es . + "Informazioni di contatto rilevanti per la risorsa catalogata. Si raccomanda l'uso di vCard."@it . + "Relevant contact information for the catalogued resource. Use of vCard is recommended."@en . + "Relevante kontaktoplysninger for den katalogiserede ressource. Anvendelse af vCard anbefales."@da . + "Relevantní kontaktní informace pro katalogizovaný zdroj. Doporučuje se použít slovník VCard."@cs . + "Relie un jeu de données à une information de contact utile en utilisant VCard."@fr . + "Συνδέει ένα σύνολο δεδομένων με ένα σχετικό σημείο επικοινωνίας, μέσω VCard."@el . + "تربط قائمة البيانات بعنوان اتصال موصف باستخدام VCard"@ar . + "データセットを、VCardを用いて提供されている適切な連絡先情報にリンクします。"@ja . + . + "Punto de contacto"@es . + "contact point"@en . + "kontaktní bod"@cs . + "kontaktpunkt"@da . + "point de contact"@fr . + "punto di contatto"@it . + "σημείο επικοινωνίας"@el . + "عنوان اتصال"@ar . + "窓口"@ja . + . + "Información relevante de contacto para el recurso catalogado. Se recomienda el uso de vCard."@es . + "Informazioni di contatto rilevanti per la risorsa catalogata. Si raccomanda l'uso di vCard."@it . + "Relevant contact information for the catalogued resource. Use of vCard is recommended."@en . + "Relevante kontaktoplysninger for den katalogiserede ressource. Anvendelse af vCard anbefales."@da . + "Relevantní kontaktní informace pro katalogizovaný zdroj. Doporučuje se použít slovník VCard."@cs . + "Relie un jeu de données à une information de contact utile en utilisant VCard."@fr . + "Συνδέει ένα σύνολο δεδομένων με ένα σχετικό σημείο επικοινωνίας, μέσω VCard."@el . + "تربط قائمة البيانات بعنوان اتصال موصف باستخدام VCard"@ar . + "データセットを、VCardを用いて提供されている適切な連絡先情報にリンクします。"@ja . + "Status: English Definition text modified by DCAT revision team, Italian, Spanish and Czech translations provided, other translations pending."@en . + . + . + "A collection of data that is listed in the catalog."@en . + "En samling af data som er opført i kataloget."@da . + "Kolekce dat, která je katalogizována v katalogu."@cs . + "Relie un catalogue à un jeu de données faisant partie de ce catalogue."@fr . + "Un conjunto de datos que se lista en el catálogo."@es . + "Una raccolta di dati che è elencata nel catalogo."@it . + "Συνδέει έναν κατάλογο με ένα σύνολο δεδομένων το οποίο ανήκει στον εν λόγω κατάλογο."@el . + "تربط الفهرس بقائمة بيانات ضمنه"@ar . + "カタログの一部であるデータセット。"@ja . + . + . + "conjunto de datos"@es . + "dataset"@en . + "dataset"@it . + "datasæt"@da . + "datová sada"@cs . + "jeu de données"@fr . + "σύνολο δεδομένων"@el . + "قائمة بيانات"@ar . + "データセット"@ja . + . + . + . + "datasamling"@da . + "har datasæt"@da . + "A collection of data that is listed in the catalog."@en . + "En samling af data som er opført i kataloget."@da . + "Kolekce dat, která je katalogizována v katalogu."@cs . + "Relie un catalogue à un jeu de données faisant partie de ce catalogue."@fr . + "Un conjunto de datos que se lista en el catálogo."@es . + "Una raccolta di dati che è elencata nel catalogo."@it . + "Συνδέει έναν κατάλογο με ένα σύνολο δεδομένων το οποίο ανήκει στον εν λόγω κατάλογο."@el . + "تربط الفهرس بقائمة بيانات ضمنه"@ar . + "カタログの一部であるデータセット。"@ja . + "Status: English Definition text modified by DCAT revision team, Italian, Spanish and Czech translation provided, other translations pending."@en . + . + . + "An available distribution of the dataset."@en . + "Connecte un jeu de données à des distributions disponibles."@fr . + "Dostupná distribuce datové sady."@cs . + "En tilgængelig repræsentation af datasættet."@da . + "Una distribución disponible del conjunto de datos."@es . + "Una distribuzione disponibile per il set di dati."@it . + "Συνδέει ένα σύνολο δεδομένων με μία από τις διαθέσιμες διανομές του."@el . + "تربط قائمة البيانات بطريقة أو بشكل يسمح الوصول الى البيانات"@ar . + "データセットを、その利用可能な配信に接続します。"@ja . + . + . + "distribuce"@cs . + "distribución"@es . + "distribution"@da . + "distribution"@en . + "distribution"@fr . + "distribuzione"@it . + "διανομή"@el . + "توزيع"@ar . + "データセット配信"@ja . + . + . + "har distribution"@da . + "An available distribution of the dataset."@en . + "Connecte un jeu de données à des distributions disponibles."@fr . + "Dostupná distribuce datové sady."@cs . + "En tilgængelig repræsentation af datasættet."@da . + "Una distribución disponible del conjunto de datos."@es . + "Una distribuzione disponibile per il set di dati."@it . + "Συνδέει ένα σύνολο δεδομένων με μία από τις διαθέσιμες διανομές του."@el . + "تربط قائمة البيانات بطريقة أو بشكل يسمح الوصول الى البيانات"@ar . + "データセットを、その利用可能な配信に接続します。"@ja . + "Status: English Definition text modified by DCAT revision team, translations pending (except for Italian, Spanish and Czech)."@en . + . + . + "Ceci est un lien direct à un fichier téléchargeable en un format donnée. Exple fichier CSV ou RDF. Le format est décrit par les propriétés de distribution dct:format et/ou dcat:mediaType."@fr . + "La URL de un archivo descargable en el formato dato. Por ejemplo, archivo CSV o archivo RDF. El formato se describe con las propiedades de la distribución dct:format y/o dcat:mediaType."@es . + "Questo è un link diretto al file scaricabile in un dato formato. E.g. un file CSV o un file RDF. Il formato è descritto dal dct:format e/o dal dcat:mediaType della distribuzione."@it . + "The URL of the downloadable file in a given format. E.g. CSV file or RDF file. The format is indicated by the distribution's dct:format and/or dcat:mediaType."@en . + "URL souboru ke stažení v daném formátu, například CSV nebo RDF soubor. Formát je popsán vlastností distribuce dct:format a/nebo dcat:mediaType."@cs . + "URL til fil der kan downloades i et bestemt format. Fx en CSV-fil eller en RDF-fil. Formatet for distributionen angives ved hjælp af egenskaberne dct:format og/eller dcat:mediaType."@da . + "dcat:downloadURLはdcat:accessURLの特定の形式です。しかし、DCATプロファイルが非ダウンロード・ロケーションに対してのみaccessURLを用いる場合には、より強い分離を課すことを望む可能性があるため、この含意を強化しないように、DCATは、dcat:downloadURLをdcat:accessURLのサブプロパティーであると定義しません。"@ja . + "Είναι ένας σύνδεσμος άμεσης μεταφόρτωσης ενός αρχείου σε μια δεδομένη μορφή. Π.χ. ένα αρχείο CSV ή RDF. Η μορφη αρχείου περιγράφεται από τις ιδιότητες dct:format ή/και dcat:mediaType της διανομής."@el . + "رابط مباشر لملف يمكن تحميله. نوع الملف يتم توصيفه باستخدام الخاصية dct:format dcat:mediaType "@ar . + . + . + "URL de descarga"@es . + "URL de téléchargement"@fr . + "URL di scarico"@it . + "URL souboru ke stažení"@cs . + "URL μεταφόρτωσης"@el . + "download URL"@en . + "downloadURL"@da . + "رابط تحميل"@ar . + "ダウンロードURL"@ja . + . + "Ceci est un lien direct à un fichier téléchargeable en un format donnée. Exple fichier CSV ou RDF. Le format est décrit par les propriétés de distribution dct:format et/ou dcat:mediaType."@fr . + "La URL de un archivo descargable en el formato dato. Por ejemplo, archivo CSV o archivo RDF. El formato se describe con las propiedades de la distribución dct:format y/o dcat:mediaType."@es . + "Questo è un link diretto al file scaricabile in un dato formato. E.g. un file CSV o un file RDF. Il formato è descritto dal dct:format e/o dal dcat:mediaType della distribuzione."@it . + "The URL of the downloadable file in a given format. E.g. CSV file or RDF file. The format is indicated by the distribution's dct:format and/or dcat:mediaType."@en . + "URL souboru ke stažení v daném formátu, například CSV nebo RDF soubor. Formát je popsán vlastností distribuce dct:format a/nebo dcat:mediaType."@cs . + "URL til fil der kan downloades i et bestemt format. Fx en CSV-fil eller en RDF-fil. Formatet for distributionen angives ved hjælp af egenskaberne dct:format og/eller dcat:mediaType."@da . + "dcat:downloadURLはdcat:accessURLの特定の形式です。しかし、DCATプロファイルが非ダウンロード・ロケーションに対してのみaccessURLを用いる場合には、より強い分離を課すことを望む可能性があるため、この含意を強化しないように、DCATは、dcat:downloadURLをdcat:accessURLのサブプロパティーであると定義しません。"@ja . + "Είναι ένας σύνδεσμος άμεσης μεταφόρτωσης ενός αρχείου σε μια δεδομένη μορφή. Π.χ. ένα αρχείο CSV ή RDF. Η μορφη αρχείου περιγράφεται από τις ιδιότητες dct:format ή/και dcat:mediaType της διανομής."@el . + "رابط مباشر لملف يمكن تحميله. نوع الملف يتم توصيفه باستخدام الخاصية dct:format dcat:mediaType "@ar . + "Status: English Definition text modified by DCAT revision team, Italian, Spanish and Czech translation updated, other translations pending."@en . + "rdfs:label, rdfs:comment and/or skos:scopeNote have been modified. Non-english versions must be updated."@en . + "El valor es una URL."@es . + "La valeur est une URL."@fr . + "dcat:downloadURL BY MĚLA být použita pro adresu, ze které je distribuce přímo přístupná, typicky skrze požadavek HTTP Get."@cs . + "dcat:downloadURL BØR anvendes til angivelse af den adresse hvor distributionen er tilgængelig direkte, typisk gennem et HTTP Get request."@da . + "dcat:downloadURL DOVREBBE essere utilizzato per l'indirizzo a cui questa distribuzione è disponibile direttamente, in genere attraverso una richiesta Get HTTP."@it . + "dcat:downloadURL SHOULD be used for the address at which this distribution is available directly, typically through a HTTP Get request."@en . + "Η τιμή είναι ένα URL."@el . + . + . + . + "data di fine"@it . + "datum konce"@cs . + "end date"@en . + "fecha final"@es . + "slutdato"@da . + . + "sluttidspunkt"@da . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab i DCAT 2.0."@da . + "El fin del período."@es . + "Konec doby trvání."@cs . + "La fine del periodo."@it . + "Slutningen på perioden."@da . + "The end of the period."@en . + "El rango de esta propiedad es intencionalmente genérico con el propósito de permitir distintos niveles de precisión temporal para especificar el fin del período. Por ejemplo, puede expresarse como una fecha (xsd:date), una fecha y un tiempo (xsd:dateTime), o un año (xsd:gYear)."@es . + "La range di questa proprietà è volutamente generico, con lo scopo di consentire diversi livelli di precisione temporale per specificare la fine di un periodo. Ad esempio, può essere espresso con una data (xsd:date), una data e un'ora (xsd:dateTime), o un anno (xsd:gYear)."@it . + "Obor hodnot této vlastnosti je úmyslně obecný, aby umožnil různé úrovně časového rozlišení pro specifikaci konce doby trvání. Ten může být kupříkladu vyjádřen datumem (xsd:date), datumem a časem (xsd:dateTime) či rokem (xsd:gYear)."@cs . + "Rækkeviden for denne egenskab er bevidst generisk defineret med det formål at tillade forskellige niveauer af tidslig præcision ifm. angivelse af slutdatoen for en periode. Den kan eksempelvis udtrykkes som en dato (xsd:date), en dato og et tidspunkt (xsd:dateTime), eller et årstal (xsd:gYear)."@da . + "The range of this property is intentionally generic, with the purpose of allowing different level of temporal precision for specifying the end of a period. E.g., it can be expressed with a date (xsd:date), a date and time (xsd:dateTime), or a year (xsd:gYear)."@en . + . + "A description of the service end-point, including its operations, parameters etc."@en . + "En beskrivelse af det pågældende tjenesteendpoint, inklusiv dets operationer, parametre etc."@da . + "Popis přístupového bodu služby včetně operací, parametrů apod."@cs . + "Una descripción del end-point del servicio, incluyendo sus operaciones, parámetros, etc."@es . + "Una descrizione dell'endpoint del servizio, incluse le sue operazioni, parametri, ecc."@it . + . + "descripción del end-point del servicio"@es . + "description of service end-point"@en . + "descrizione dell'endpoint del servizio"@it . + "endpointbeskrivelse"@da . + "popis přístupového bodu služby"@cs . + "New property in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@en . + "Nuova proprietà in DCAT 2.0."@it . + "Ny egenskab i DCAT 2.0."@da . + "A description of the service end-point, including its operations, parameters etc."@en . + "En beskrivelse af det pågældende tjenesteendpoint, inklusiv dets operationer, parametre etc."@da . + "Popis přístupového bodu služby včetně operací, parametrů apod."@cs . + "Una descripción del end-point del servicio, incluyendo sus operaciones, parámetros, etc.."@es . + "Una descrizione dell'endpoint del servizio, incluse le sue operazioni, parametri, ecc."@it . + "An endpoint description may be expressed in a machine-readable form, such as an OpenAPI (Swagger) description, an OGC GetCapabilities response, a SPARQL Service Description, an OpenSearch or WSDL document, a Hydra API description, else in text or some other informal mode if a formal representation is not possible."@en . + "En beskrivelse af et endpoint kan udtrykkes i et maskinlæsbart format, såsom OpenAPI (Swagger)-beskrivelser, et OGC GetCapabilities svar, en SPARQL tjenestebeskrivelse, en OpenSearch- eller et WSDL-dokument, en Hydra-API-beskrivelse, eller i tekstformat eller i et andet uformelt format, hvis en formel repræsentation ikke er mulig."@da . + "Endpointbeskrivelsen giver specifikke oplysninger om den konkrete endpointinstans, mens dct:conformsTo anvendes til at indikere den overordnede standard eller specifikation som endpointet er i overensstemmelse med."@da . + "La descripción del endpoint brinda detalles específicos de la instancia del endpoint, mientras que dct:conformsTo se usa para indicar el estándar general o especificación que implementa el endpoint."@es . + "La descrizione dell'endpoint fornisce dettagli specifici dell'istanza dell'endpoint reale, mentre dct:conformsTo viene utilizzato per indicare lo standard o le specifiche implementate dall'endpoint."@it . + "Popis přístupového bodu dává specifické detaily jeho konkrétní instance, zatímco dct:conformsTo indikuje obecný standard či specifikaci kterou přístupový bod implementuje."@cs . + "Popis přístupového bodu může být vyjádřen ve strojově čitelné formě, například jako popis OpenAPI (Swagger), odpověď služby OGC getCapabilities, pomocí slovníku SPARQL Service Description, jako OpenSearch či WSDL document, jako popis API dle slovníku Hydra, a nebo textově nebo jiným neformálním způsobem, pokud není možno použít formální reprezentaci."@cs . + "The endpoint description gives specific details of the actual endpoint instance, while dct:conformsTo is used to indicate the general standard or specification that the endpoint implements."@en . + "Una descripción del endpoint del servicio puede expresarse en un formato que la máquina puede interpretar, tal como una descripción basada en OpenAPI (Swagger), una respuesta OGC GetCapabilities, una descripción de un servicio SPARQL, un documento OpenSearch o WSDL, una descripción con la Hydra API, o en texto u otro modo informal si la representación formal no es posible."@es . + "Una descrizione dell'endpoint può essere espressa in un formato leggibile dalla macchina, come una descrizione OpenAPI (Swagger), una risposta GetCapabilities OGC, una descrizione del servizio SPARQL, un documento OpenSearch o WSDL, una descrizione API Hydra, o con del testo o qualche altra modalità informale se una rappresentazione formale non è possibile."@it . + . + "Kořenové umístění nebo hlavní přístupový bod služby (IRI přístupné přes Web)."@cs . + "La locazione principale o l'endpoint primario del servizio (un IRI risolvibile via web)."@it . + "La posición raíz o end-point principal del servicio (una IRI web)."@es . + "Rodplaceringen eller det primære endpoint for en tjeneste (en web-resolverbar IRI)."@da . + "The root location or primary endpoint of the service (a web-resolvable IRI)."@en . + . + "end-point del servicio"@es . + "end-point del servizio"@it . + "přístupový bod služby"@cs . + "service end-point"@en . + "tjenesteendpoint"@da . + . + "New property in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà in DCAT 2.0."@it . + "Kořenové umístění nebo hlavní přístupový bod služby (IRI přístupné přes Web)."@cs . + "La locazione principale o l'endpoint primario del servizio (un IRI risolvibile via web)."@it . + "La posición raíz o end-point principal del servicio (una IRI web)."@es . + "Rodplaceringen eller det primære endpoint for en tjeneste (en web-resolverbar IRI)."@da . + "The root location or primary endpoint of the service (a web-resolvable IRI)."@en . + . + "Den funktion en entitet eller aktør har i forhold til en anden ressource."@da . + "Funkce entity či agenta ve vztahu k jiné entitě či zdroji."@cs . + "La función de una entidad o agente con respecto a otra entidad o recurso."@es . + "La funzione di un'entità o un agente rispetto ad un'altra entità o risorsa."@it . + "The function of an entity or agent with respect to another entity or resource."@en . + _:c14n23 . + "haRuolo"@it . + "hadRole"@en . + "havde rolle"@da . + "sehraná role"@cs . + "tiene rol"@it . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Den funktion en entitet eller aktør har i forhold til en anden ressource."@da . + "Funkce entity či agenta ve vztahu k jiné entitě či zdroji."@cs . + "La función de una entidad o agente con respecto a otra entidad o recurso."@es . + "La funzione di un'entità o un agente rispetto ad un'altra entità o risorsa."@it . + "The function of an entity or agent with respect to another entity or resource."@en . + "Agregada en DCAT para complementar prov:hadRole (cuyo uso está limitado a roles en el contexto de una actividad, con dominio prov:Association."@es . + "Introdotta in DCAT per completare prov:hadRole (il cui uso è limitato ai ruoli nel contesto di un'attività, con il dominio di prov:Association."@it . + "Introduced into DCAT to complement prov:hadRole (whose use is limited to roles in the context of an activity, with the domain of prov:Association."@en . + "Introduceret i DCAT for at supplere prov:hadRole (hvis anvendelse er begrænset til roller i forbindelse med en aktivitet med domænet prov:Association)."@da . + "Přidáno do DCAT pro doplnění vlastnosti prov:hadRole (jejíž užití je omezeno na role v kontextu aktivity, s definičním oborem prov:Association)."@cs . + "Kan vendes ved kvalificerede krediteringer til at angive en aktørs rolle i forhold en entitet. Det anbefales at værdierne styres som et kontrolleret udfaldsrum med aktørroller, såsom http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@da . + "May be used in a qualified-attribution to specify the role of an Agent with respect to an Entity. It is recommended that the value be taken from a controlled vocabulary of agent roles, such as http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@en . + "May be used in a qualified-relation to specify the role of an Entity with respect to another Entity. It is recommended that the value be taken from a controlled vocabulary of entity roles such as: ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode; IANA Registry of Link Relations https://www.iana.org/assignments/link-relation; DataCite metadata schema; MARC relators https://id.loc.gov/vocabulary/relators."@en . + "Může být použito v kvalifikovaném přiřazení pro specifikaci role Agenta ve vztahu k Entitě. Je doporučeno hodnotu vybrat z řízeného slovníku rolí agentů, jako například http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@cs . + "Může být použito v kvalifikovaném vztahu pro specifikaci role Entity ve vztahu k jiné Entitě. Je doporučeno použít hodnotu z řízeného slovníku rolí entit, jako například ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode, IANA Registry of Link Relations https://www.iana.org/assignments/link-relation, DataCite metadata schema, MARC relators https://id.loc.gov/vocabulary/relators."@cs . + "Puede usarse en una atribución cualificada para especificar el rol de un Agente con respecto a una Entidad. Se recomienda que el valor sea de un vocabulario controlado de roles de agentes, como por ejemplo http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@es . + "Puede usarse en una atribución cualificada para especificar el rol de una Entidad con respecto a otra Entidad. Se recomienda que su valor se tome de un vocabulario controlado de roles de entidades como por ejemplo: ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode; IANA Registry of Link Relations https://www.iana.org/assignments/link-relation; esquema de metadatos de DataCite; MARC relators https://id.loc.gov/vocabulary/relators."@es . + "Può essere utilizzata in una relazione qualificata per specificare il ruolo di un'entità rispetto a un'altra entità. Si raccomanda che il valore sia preso da un vocabolario controllato di ruoli di entità come ISO 19115 DS_AssociationTypeCode http://registry.it.csiro.au/def/isotc211/DS_AssociationTypeCode, IANA Registry of Link Relations https://www.iana.org/assignments/link-relation, DataCite metadata schema, o MARC relators https://id.loc.gov/vocabulary/relators."@it . + "Può essere utilizzato in un'attribuzione qualificata per specificare il ruolo di un agente rispetto a un'entità. Si raccomanda che il valore sia preso da un vocabolario controllato di ruoli di agente, come ad esempio http://registry.it.csiro.au/def/isotc211/CI_RoleCode."@it . + . + . + "A keyword or tag describing a resource."@en . + "Et nøgleord eller tag til beskrivelse af en ressource."@da . + "Klíčové slovo nebo značka popisující zdroj."@cs . + "Un mot-clé ou étiquette décrivant une ressource."@fr . + "Una palabra clave o etiqueta que describe un recurso."@es . + "Una parola chiave o un'etichetta per descrivere la risorsa."@it . + "Μία λέξη-κλειδί ή μία ετικέτα που περιγράφει το σύνολο δεδομένων."@el . + "كلمة مفتاحيه توصف قائمة البيانات"@ar . + "データセットを記述しているキーワードまたはタグ。"@ja . + . + "keyword"@en . + "klíčové slovo"@cs . + "mot-clés "@fr . + "nøgleord"@da . + "palabra clave"@es . + "parola chiave"@it . + "λέξη-κλειδί"@el . + "كلمة مفتاحية "@ar . + "キーワード/タグ"@ja . + . + . + "A keyword or tag describing a resource."@en . + "Et nøgleord eller tag til beskrivelse af en ressource."@da . + "Klíčové slovo nebo značka popisující zdroj."@cs . + "Un mot-clé ou étiquette décrivant une ressource."@fr . + "Una palabra clave o etiqueta que describe un recurso."@es . + "Una parola chiave o un'etichetta per descrivere la risorsa."@it . + "Μία λέξη-κλειδί ή μία ετικέτα που περιγράφει το σύνολο δεδομένων."@el . + "كلمة مفتاحيه توصف قائمة البيانات"@ar . + "データセットを記述しているキーワードまたはタグ。"@ja . + . + . + "A Web page that can be navigated to in a Web browser to gain access to the catalog, a dataset, its distributions and/or additional information."@en . + "En webside som der kan navigeres til i en webbrowser for at få adgang til kataloget, et datasæt, dets distributioner og/eller yderligere information."@da . + "Una pagina web che può essere navigata per ottenere l'accesso al catalogo, ad un dataset, alle distribuzioni del dataset e/o ad informazioni addizionali."@it . + "Una página web que puede ser visitada en un explorador Web para tener acceso el catálogo, un conjunto de datos, sus distribuciones y/o información adicional."@es . + "Une page Web accessible par un navigateur Web donnant accès au catalogue, un jeu de données, ses distributions et/ou des informations additionnelles."@fr . + "Webová stránka, na kterou lze pro získání přístupu ke katalogu, datové sadě, jejím distribucím a/nebo dalším informacím přistoupit webovým prohlížečem."@cs . + "Μία ιστοσελίδα πλοηγίσιμη μέσω ενός φυλλομετρητή (Web browser) που δίνει πρόσβαση στο σύνολο δεδομένων, τις διανομές αυτού ή/και επιπρόσθετες πληροφορίες."@el . + "صفحة وب يمكن من خلالها الوصول الى قائمة البيانات أو إلى معلومات إضافية متعلقة بها "@ar . + "データセット、その配信および(または)追加情報にアクセスするためにウエブ・ブラウザでナビゲートできるウェブページ。"@ja . + . + "destinationsside"@da . + "landing page"@en . + "page d'atterrissage"@fr . + "pagina di destinazione"@it . + "página de destino"@es . + "vstupní stránka"@cs . + "ιστοσελίδα αρχικής πρόσβασης"@el . + "صفحة وصول"@ar . + "ランディング・ページ"@ja . + . + . + "A Web page that can be navigated to in a Web browser to gain access to the catalog, a dataset, its distributions and/or additional information."@en . + "En webside som en webbrowser kan navigeres til for at få adgang til kataloget, et datasæt, dets distritbutioner og/eller yderligere information."@da . + "Una pagina web che può essere navigata per ottenere l'accesso al catalogo, ad un dataset, alle distribuzioni del dataset e/o ad informazioni addizionali."@it . + "Una página web que puede ser visitada en un explorador Web para tener acceso el catálogo, un conjunto de datos, sus distribuciones y/o información adicional."@es . + "Une page Web accessible par un navigateur Web donnant accès au catalogue, un jeu de données, ses distributions et/ou des informations additionnelles."@fr . + "Webová stránka, na kterou lze pro získání přístupu ke katalogu, datové sadě, jejím distribucím a/nebo dalším informacím přistoupit webovým prohlížečem."@cs . + "Μία ιστοσελίδα πλοηγίσιμη μέσω ενός φυλλομετρητή (Web browser) που δίνει πρόσβαση στο σύνολο δεδομένων, τις διανομές αυτού ή/και επιπρόσθετες πληροφορίες."@el . + "صفحة وب يمكن من خلالها الوصول الى قائمة البيانات أو إلى معلومات إضافية متعلقة بها "@ar . + "データセット、その配信および(または)追加情報にアクセスするためにウエブ・ブラウザでナビゲートできるウェブページ。"@ja . + "Hvis en eller flere distributioner kun er tilgængelige via en destinationsside (dvs. en URL til direkte download er ikke kendt), så bør destinationssidelinket gentages som adgangsadresse for en distribution."@da . + "If the distribution(s) are accessible only through a landing page (i.e. direct download URLs are not known), then the landing page link should be duplicated as accessURL on a distribution."@en . + "Pokud je distribuce dostupná pouze přes vstupní stránku, t.j. přímý URL odkaz ke stažení není znám, URL přístupové stránky by mělo být duplikováno ve vlastnosti distribuce accessURL."@cs . + "Se la distribuzione è accessibile solo attraverso una pagina di destinazione (cioè, un URL di download diretto non è noto), il link alla pagina di destinazione deve essere duplicato come accessURL sulla distribuzione."@it . + "Si la distribución es accesible solamente través de una página de aterrizaje (i.e., no se conoce una URL de descarga directa), entonces el enlance a la página de aterrizaje debe ser duplicado como accessURL sobre la distribución."@es . + "Si la distribution est seulement accessible à travers une page d'atterrissage (exple. pas de connaissance d'URLS de téléchargement direct ), alors le lien de la page d'atterrissage doit être dupliqué comme accessURL sur la distribution."@fr . + "Αν η/οι διανομή/ές είναι προσβάσιμη/ες μόνο μέσω μίας ιστοσελίδας αρχικής πρόσβασης (δηλαδή αν δεν υπάρχουν γνωστές διευθύνσεις άμεσης μεταφόρτωσης), τότε ο σύνδεσμος της ιστοσελίδας αρχικής πρόσβασης πρέπει να αναπαραχθεί ως accessURL σε μία διανομή."@el . + "ランディング・ページを通じてしか配信にアクセスできない場合(つまり、直接的なダウンロードURLが不明)には、配信におけるaccessURLとしてランディング・ページのリンクをコピーすべきです(SHOULD)。"@ja . + . + . + "Cette propriété doit être utilisée quand c'est définit le type de média de la distribution en IANA, sinon dct:format DOIT être utilisé avec différentes valeurs."@fr . + "Esta propiedad debe ser usada cuando está definido el tipo de media de la distribución en IANA, de otra manera dct:format puede ser utilizado con diferentes valores"@es . + "Il tipo di media della distribuzione come definito da IANA"@it . + "Medietypen for distributionen som den er defineret af IANA."@da . + "The media type of the distribution as defined by IANA"@en . + "Typ média distribuce definovaný v IANA."@cs . + "Η ιδιότητα αυτή ΘΑ ΠΡΕΠΕΙ να χρησιμοποιείται όταν ο τύπος μέσου μίας διανομής είναι ορισμένος στο IANA, αλλιώς η ιδιότητα dct:format ΔΥΝΑΤΑΙ να χρησιμοποιηθεί με διαφορετικές τιμές."@el . + "يجب استخدام هذه الخاصية إذا كان نوع الملف معرف ضمن IANA"@ar . + "このプロパティーは、配信のメディア・タイプがIANAで定義されているときに使用すべきで(SHOULD)、そうでない場合には、dct:formatを様々な値と共に使用できます(MAY)。"@ja . + . + . + "media type"@en . + "medietype"@da . + "tipo de media"@es . + "tipo di media"@it . + "typ média"@cs . + "type de média"@fr . + "τύπος μέσου"@el . + "نوع الميديا"@ar . + "メディア・タイプ"@ja . + . + . + "Il range di dcat:mediaType è stato ristretto come parte della revisione di DCAT."@it . + "Obor hodnot dcat:mediaType byl zúžen v této revizi DCAT."@cs . + "The range of dcat:mediaType has been tightened as part of the revision of DCAT."@en . + "Cette propriété doit être utilisée quand c'est définit le type de média de la distribution en IANA, sinon dct:format DOIT être utilisé avec différentes valeurs."@fr . + "Esta propiedad debe ser usada cuando está definido el tipo de media de la distribución en IANA, de otra manera dct:format puede ser utilizado con diferentes valores."@es . + "Il tipo di media della distribuzione come definito da IANA."@it . + "Medietypen for distributionen som den er defineret af IANA."@da . + "The media type of the distribution as defined by IANA."@en . + "Typ média distribuce definovaný v IANA."@cs . + "Η ιδιότητα αυτή ΘΑ ΠΡΕΠΕΙ να χρησιμοποιείται όταν ο τύπος μέσου μίας διανομής είναι ορισμένος στο IANA, αλλιώς η ιδιότητα dct:format ΔΥΝΑΤΑΙ να χρησιμοποιηθεί με διαφορετικές τιμές."@el . + "يجب استخدام هذه الخاصية إذا كان نوع الملف معرف ضمن IANA"@ar . + "このプロパティーは、配信のメディア・タイプがIANAで定義されているときに使用すべきで(SHOULD)、そうでない場合には、dct:formatを様々な値と共に使用できます(MAY)。"@ja . + "Status: English Definition text modified by DCAT revision team, Italian and Czech translation provided, other translations pending. Note some inconsistency on def vs. usage."@en . + "Denne egenskab BØR anvendes hvis distributionens medietype optræder i 'IANA media types registry' https://www.iana.org/assignments/media-types/, ellers KAN egenskaben dct:format anvendes med et andet udfaldsrum."@da . + "Esta propiedad DEBERÍA usarse cuando el 'media type' de la distribución está definido en el registro IANA de 'media types' https://www.iana.org/assignments/media-types/, de lo contrario, dct:format PUEDE usarse con distintos valores."@es . + "Questa proprietà DEVE essere usata quando il tipo di media della distribuzione è definito nel registro dei tipi di media IANA https://www.iana.org/assignments/media-types/, altrimenti dct:format PUO 'essere usato con differenti valori."@it . + "Tato vlastnost BY MĚLA být použita, je-li typ média distribuce definován v registru IANA https://www.iana.org/assignments/media-types/. V ostatních případech MŮŽE být použita vlastnost dct:format s jinými hodnotami."@cs . + "This property SHOULD be used when the media type of the distribution is defined in the IANA media types registry https://www.iana.org/assignments/media-types/, otherwise dct:format MAY be used with different values."@en . + . + . + "Balíčkový formát souboru, ve kterém je jeden či více souborů seskupeno dohromady, např. aby bylo možné stáhnout sadu souvisejících souborů naráz."@cs . + "El formato del archivo en que se agrupan uno o más archivos de datos, e.g. para permitir que un conjunto de archivos relacionados se bajen juntos."@es . + "Format til pakning af data med henblik på distribution af en eller flere relaterede datafiler der samles til en enhed med henblik på samlet distribution. "@da . + "Il formato di impacchettamento della distribuzione in cui uno o più file di dati sono raggruppati insieme, ad es. per abilitare un insieme di file correlati da scaricare insieme."@it . + "The package format of the distribution in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together."@en . + . + . + "formato de empaquetado"@es . + "formato di impacchettamento"@it . + "formát balíčku"@cs . + "packaging format"@en . + "pakkeformat"@da . + . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "Balíčkový formát souboru, ve kterém je jeden či více souborů seskupeno dohromady, např. aby bylo možné stáhnout sadu souvisejících souborů naráz."@cs . + "El formato del archivo en que se agrupan uno o más archivos de datos, e.g. para permitir que un conjunto de archivos relacionados se bajen juntos."@es . + "Il formato di impacchettamento della distribuzione in cui uno o più file di dati sono raggruppati insieme, ad es. per abilitare un insieme di file correlati da scaricare insieme."@it . + "The package format of the distribution in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together."@en . + "Denne egenskab kan anvendes hvis filerne i en distribution er pakket, fx i en TAR-fil, en Frictionless Data Package eller en Bagit-fil. Formatet BØR udtrykkes ved en medietype som defineret i 'IANA media types registry', hvis der optræder en relevant medietype dér: https://www.iana.org/assignments/media-types/."@da . + "Esta propiedad se debe usar cuando los archivos de la distribución están empaquetados, por ejemplo en un archivo TAR, Frictionless Data Package o Bagit. El formato DEBERÍA expresarse usando un 'media type', tales como los definidos en el registro IANA de 'media types' https://www.iana.org/assignments/media-types/, si está disponibles."@es . + "Questa proprietà deve essere utilizzata quando i file nella distribuzione sono impacchettati, ad esempio in un file TAR, Frictionless Data Package o Bagit. Il formato DOVREBBE essere espresso utilizzando un tipo di supporto come definito dal registro dei tipi di media IANA https://www.iana.org/assignments/media-types/, se disponibili."@it . + "Tato vlastnost se použije, když jsou soubory v distribuci zabaleny, např. v souboru TAR, v balíčku Frictionless Data Package nebo v souboru Bagit. Formát BY MĚL být vyjádřen pomocí typu média definovaného v registru IANA https://www.iana.org/assignments/media-types/, pokud existuje."@cs . + "This property to be used when the files in the distribution are packaged, e.g. in a TAR file, a Frictionless Data Package or a Bagit file. The format SHOULD be expressed using a media type as defined by IANA media types registry https://www.iana.org/assignments/media-types/, if available."@en . + . + "Enlace a una descripción de la relación con otro recurso."@es . + "Link a una descrizione di una relazione con un'altra risorsa."@it . + "Link to a description of a relationship with another resource."@en . + "Odkaz na popis vztahu s jiným zdrojem."@cs . + "Reference til en beskrivelse af en relation til en anden ressource."@da . + . + "Kvalificeret relation"@da . + "kvalifikovaný vztah"@cs . + "qualified relation"@en . + "relación calificada"@es . + "relazione qualificata"@it . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "Propiedad nueva añadida en DCAT 2.0."@es . + "Enlace a una descripción de la relación con otro recurso."@es . + "Link a una descrizione di una relazione con un'altra risorsa."@it . + "Link to a description of a relationship with another resource."@en . + "Odkaz na popis vztahu s jiným zdrojem."@cs . + "Reference til en beskrivelse af en relation til en anden ressource."@da . + "Introdotta in DCAT per integrare le altre relazioni qualificate di PROV."@it . + "Introduced into DCAT to complement the other PROV qualified relations. "@en . + "Introduceret i DCAT med henblik på at supplere de øvrige kvalificerede relationer fra PROV. "@da . + "Přidáno do DCAT k doplnění jiných kvalifikovaných vztahů ze slovníku PROV."@cs . + "Se incluyó en DCAT para complementar las relaciones calificadas disponibles en PROV."@es . + "Anvendes til at referere til en anden ressource hvor relationens betydning er kendt men ikke matcher en af de standardiserede egenskaber fra Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) eller PROV-O-egenskaber (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@da . + "Použito pro odkazování na jiný zdroj, kde druh vztahu je znám, ale neodpovídá standardním vlastnostem ze slovníku Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) či slovníku PROV-O (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@cs . + "Se usa para asociar con otro recurso para el cuál la naturaleza de la relación es conocida pero no es ninguna de las propiedades que provee el estándar Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) or PROV-O properties (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@es . + "Used to link to another resource where the nature of the relationship is known but does not match one of the standard Dublin Core properties (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat, dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:requires, dct:isRequiredBy) or PROV-O properties (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@en . + "Viene utilizzato per associarsi a un'altra risorsa nei casi per i quali la natura della relazione è nota ma non è alcuna delle proprietà fornite dallo standard Dublin Core (dct:hasPart, dct:isPartOf, dct:conformsTo, dct:isFormatOf, dct:hasFormat , dct:isVersionOf, dct:hasVersion, dct:replaces, dct:isReplacedBy, dct:references, dct:isReferencedBy, dct:require, dct:isRequiredBy) o dalle proprietà fornite da PROV-O (prov:wasDerivedFrom, prov:wasInfluencedBy, prov:wasQuotedFrom , prov:wasRevisionOf, prov:hadPrimarySource, prov:alternateOf, prov:specializationOf)."@it . + . + . + "A record describing the registration of a single dataset or data service that is part of the catalog."@en . + "Describe la registración de un conjunto de datos o un servicio de datos en el catálogo."@es . + "En post der beskriver registreringen af et enkelt datasæt eller en datatjeneste som er opført i kataloget."@da . + "Propojuje katalog a jeho záznamy."@cs . + "Relie un catalogue à ses registres."@fr . + "Un record che descrive la registrazione di un singolo set di dati o di un servizio dati che fa parte del catalogo."@it . + "Záznam popisující registraci jedné datové sady či datové služby jakožto součásti katalogu."@cs . + "Συνδέει έναν κατάλογο με τις καταγραφές του."@el . + "تربط الفهرس بسجل ضمنه"@ar . + "カタログの一部であるカタログ・レコード。"@ja . + . + . + "post"@da . + "record"@en . + "record"@it . + "registre"@fr . + "registro"@es . + "záznam"@cs . + "καταγραφή"@el . + "سجل"@ar . + "カタログ・レコード"@ja . + . + "har post"@da . + "A record describing the registration of a single dataset or data service that is part of the catalog."@en . + "Describe la registración de un conjunto de datos o un servicio de datos en el catálogo."@es . + "En post der beskriver registreringen af et enkelt datasæt eller en datatjeneste som er opført i kataloget."@da . + "Propojuje katalog a jeho záznamy."@cs . + "Relie un catalogue à ses registres."@fr . + "Un record che descrive la registrazione di un singolo set di dati o di un servizio dati che fa parte del catalogo."@it . + "Záznam popisující registraci jedné datové sady či datové služby jakožto součásti katalogu."@cs . + "Συνδέει έναν κατάλογο με τις καταγραφές του."@el . + "تربط الفهرس بسجل ضمنه"@ar . + "カタログの一部であるカタログ・レコード。"@ja . + "Status: English, Italian, Spanish and Czech Definitions modified by DCAT revision team, other translations pending."@en . + . + "A collection of data that this DataService can distribute."@en . + "En samling af data som denne datatjeneste kan distribuere."@da . + "Kolekce dat, kterou je tato Datová služba schopna poskytnout."@cs . + "Una colección de datos que este Servicio de Datos puede distribuir."@es . + "Una raccolta di dati che questo DataService può distribuire."@it . + . + "datatjeneste for datasæt"@da . + "poskytuje datovou sadu"@cs . + "provee conjunto de datos"@es . + "serve set di dati"@it . + "serves dataset"@en . + . + "distribuerer"@da . + "ekspederer"@da . + "udstiller"@da . + "New property in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà in DCAT 2.0."@it . + "A collection of data that this DataService can distribute."@en . + "En samling af data som denne datatjeneste kan distribuere."@da . + "Kolekce dat, kterou je tato Datová služba schopna poskytnout."@cs . + "Una colección de datos que este Servicio de Datos puede distribuir."@es . + "Una raccolta di dati che questo DataService può distribuire."@it . + . + "A site or endpoint that is listed in the catalog."@en . + "Et websted eller et endpoint som er opført i kataloget."@da . + "Umístění či přístupový bod registrovaný v katalogu."@cs . + "Un sitio o 'endpoint' que está listado en el catálogo."@es . + "Un sito o endpoint elencato nel catalogo."@it . + . + "datatjeneste"@da . + "service"@en . + "servicio"@es . + "servizio"@it . + "služba"@cs . + . + . + . + "har datatjeneste"@da . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad añadida en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "A site or endpoint that is listed in the catalog."@en . + "Et websted eller et endpoint som er opført i kataloget."@da . + "Umístění či přístupový bod registrovaný v katalogu."@cs . + "Un sitio o 'endpoint' que está listado en el catálogo."@es . + "Un sito o endpoint elencato nel catalogo."@it . + . + "mindste geografiske afstand som kan erkendes i et datasæt, målt i meter."@da . + "minimum spatial separation resolvable in a dataset, measured in meters."@en-US . + "minimum spatial separation resolvable in a dataset, measured in metres."@en-GB . + "minimální prostorový rozestup rozeznatelný v datové sadě, měřeno v metrech."@cs . + "mínima separacíon espacial disponible en un conjunto de datos, medida en metros."@es . + "separazione spaziale minima risolvibile in un set di dati, misurata in metri."@it . + "geografisk opløsning (meter)"@da . + "prostorové rozlišení (metry)"@cs . + "resolución espacial (metros)"@es . + "risoluzione spaziale (metros)"@it . + "spatial resolution (meters)"@en-US . + "spatial resolution (metres)"@en-GB . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad añadida en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny genskab tilføjet i DCAT 2.0."@da . + "mindste geografiske afstand som kan resolveres i et datasæt, målt i meter."@da . + "minimum spatial separation resolvable in a dataset, measured in meters."@en-US . + "minimum spatial separation resolvable in a dataset, measured in metres."@en-GB . + "minimální prostorový rozestup rozeznatelný v datové sadě, měřeno v metrech."@cs . + "mínima separacíon espacial disponible en un conjunto de datos, medida en metros."@es . + "separazione spaziale minima risolvibile in un set di dati, misurata in metri."@it . + "Kan optræde i forbindelse med beskrivelse af datasættet eller datasætditributionen, så der er ikke angivet et domæne for egenskaben."@da . + "Might appear in the description of a Dataset or a Distribution, so no domain is specified."@en . + "Může se vyskytnout v popisu Datové sady nebo Distribuce, takže nebyl specifikován definiční obor."@cs . + "Alternative geografiske opløsninger kan leveres som forskellige datasætdistributioner."@da . + "Alternative spatial resolutions might be provided as different dataset distributions."@en . + "Distintas distribuciones de un conjunto de datos pueden tener resoluciones espaciales diferentes."@es . + "Hvis datasættet udgøres af et billede eller et grid, så bør dette svare til afstanden mellem elementerne. For andre typer af spatiale datasæt, vil denne egenskab typisk indikere den mindste afstand mellem elementerne i datasættet."@da . + "If the dataset is an image or grid this should correspond to the spacing of items. For other kinds of spatial dataset, this property will usually indicate the smallest distance between items in the dataset."@en . + "Pokud je datová sada obraz či mřížka, měla by tato vlastnost odpovídat rozestupu položek. Pro ostatní druhy prostorových datových sad bude tato vlastnost obvykle indikovat nejmenší vzdálenost mezi položkami této datové sady."@cs . + "Risoluzioni spaziali alternative possono essere fornite come diverse distribuzioni di set di dati."@it . + "Různá prostorová rozlišení mohou být poskytována jako různé distribuce datové sady."@cs . + "Se il set di dati è un'immagine o una griglia, questo dovrebbe corrispondere alla spaziatura degli elementi. Per altri tipi di set di dati spaziali, questa proprietà di solito indica la distanza minima tra gli elementi nel set di dati."@it . + "Si el conjunto de datos es una imágen o grilla, esta propiedad corresponde al espaciado de los elementos. Para otro tipo de conjunto de datos espaciales, esta propieda usualmente indica la menor distancia entre los elementos de dichos datos."@es . + . + . + . + "data di inizio"@it . + "datum začátku"@cs . + "start date"@en . + "startdato"@da . + . + "starttidspunkt"@da . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad agregada en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "Ny egenskab tilføjet i DCAT 2.0."@da . + "El comienzo del período"@es . + "L'inizio del periodo"@it . + "Start på perioden."@da . + "The start of the period"@en . + "Začátek doby trvání"@cs . + "El rango de esta propiedad es intencionalmente genérico con el propósito de permitir distintos niveles de precisión temporal para especificar el comienzo de un período. Por ejemplo, puede expresarse como una fecha (xsd:date), una fecha y un tiempo (xsd:dateTime), o un año (xsd:gYear)."@es . + "Il range di questa proprietà è volutamente generico, con lo scopo di consentire diversi livelli di precisione temporale per specificare l'inizio di un periodo. Ad esempio, può essere espresso con una data (xsd:date), una data e un'ora (xsd:dateTime), o un anno (xsd:gYear)."@it . + "Obor hodnot této vlastnosti je úmyslně obecný, aby umožnil různé úrovně časového rozlišení pro specifikaci začátku doby trvání. Ten může být kupříkladu vyjádřen datumem (xsd:date), datumem a časem (xsd:dateTime) či rokem (xsd:gYear)."@cs . + "Rækkeviden for denne egenskab er bevidst generisk defineret med det formål at tillade forskellige niveauer af tidslig præcision ifm. angivelse af startdatoen for en periode. Den kan eksempelvis udtrykkes som en dato (xsd:date), en dato og et tidspunkt (xsd:dateTime), eller et årstal (xsd:gYear)."@da . + "The range of this property is intentionally generic, with the purpose of allowing different level of temporal precision for specifying the start of a period. E.g., it can be expressed with a date (xsd:date), a date and time (xsd:dateTime), or a year (xsd:gYear)."@en . + . + "mindste tidsperiode der kan resolveres i datasættet."@da . + "minimum time period resolvable in a dataset."@en . + "minimální doba trvání rozlišitelná v datové sadě."@cs . + "periodo di tempo minimo risolvibile in un set di dati."@it . + "período de tiempo mínimo en el conjunto de datos."@es . + "resolución temporal"@es . + "risoluzione temporale"@it . + "temporal resolution"@en . + "tidslig opløsning"@da . + "časové rozlišení"@cs . + . + "New property added in DCAT 2.0."@en . + "Nová vlastnost přidaná ve verzi DCAT 2.0."@cs . + "Nueva propiedad añadida en DCAT 2.0."@es . + "Nuova proprietà aggiunta in DCAT 2.0."@it . + "mindste tidsperiode der kan resolveres i datasættet."@da . + "minimum time period resolvable in a dataset."@en . + "minimální doba trvání rozlišitelná v datové sadě."@cs . + "periodo di tempo minimo risolvibile in un set di dati."@it . + "período de tiempo mínimo en el conjunto de datos."@es . + "Kan optræde i forbindelse med beskrivelse af datasættet eller datasætditributionen, så der er ikke angivet et domæne for egenskaben."@da . + "Might appear in the description of a Dataset or a Distribution, so no domain is specified."@en . + "Může se vyskytnout v popisu Datové sady nebo Distribuce, takže nebyl specifikován definiční obor."@cs . + "Alternative temporal resolutions might be provided as different dataset distributions."@en . + "Alternative tidslige opløsninger kan leveres som forskellige datasætdistributioner."@da . + "Distintas distribuciones del conjunto de datos pueden tener resoluciones temporales diferentes."@es . + "Hvis datasættet er en tidsserie, så bør denne egenskab svare til afstanden mellem elementerne i tidsserien. For andre typer af datasæt indikerer denne egenskab den mindste tidsforskel mellem elementer i datasættet."@da . + "If the dataset is a time-series this should correspond to the spacing of items in the series. For other kinds of dataset, this property will usually indicate the smallest time difference between items in the dataset."@en . + "Pokud je datová sada časovou řadou, měla by tato vlastnost odpovídat rozestupu položek v řadě. Pro ostatní druhy datových sad bude tato vlastnost obvykle indikovat nejmenší časovou vzdálenost mezi položkami této datové sady."@cs . + "Risoluzioni temporali alternative potrebbero essere fornite come diverse distribuzioni di set di dati."@it . + "Různá časová rozlišení mohou být poskytována jako různé distribuce datové sady."@cs . + "Se il set di dati è una serie temporale, questo dovrebbe corrispondere alla spaziatura degli elementi della serie. Per altri tipi di set di dati, questa proprietà di solito indica la più piccola differenza di tempo tra gli elementi nel set di dati."@it . + "Si el conjunto de datos es una serie temporal, debe corresponder al espaciado de los elementos de la serie. Para otro tipo de conjuntos de datos, esta propiedad indicará usualmente la menor diferencia de tiempo entre elementos en el dataset."@es . + . + . + "A main category of the resource. A resource can have multiple themes."@en . + "Et centralt emne for ressourcen. En ressource kan have flere centrale emner."@da . + "Hlavní téma zdroje. Zdroj může mít více témat."@cs . + "La categoria principale della risorsa. Una risorsa può avere più temi."@it . + "La categoría principal del recurso. Un recurso puede tener varios temas."@es . + "La catégorie principale de la ressource. Une ressource peut avoir plusieurs thèmes."@fr . + "Η κύρια κατηγορία του συνόλου δεδομένων. Ένα σύνολο δεδομένων δύναται να έχει πολλαπλά θέματα."@el . + "التصنيف الرئيسي لقائمة البيانات. قائمة البيانات يمكن أن تملك أكثر من تصنيف رئيسي واحد."@ar . + "データセットの主要カテゴリー。データセットは複数のテーマを持つことができます。"@ja . + . + "emne"@da . + "tema"@es . + "tema"@it . + "theme"@en . + "thème"@fr . + "téma"@cs . + "Θέμα"@el . + "التصنيف"@ar . + "テーマ/カテゴリー"@ja . + . + . + "tema"@da . + "A main category of the resource. A resource can have multiple themes."@en . + "Et centralt emne for ressourcen. En ressource kan have flere centrale emner."@da . + "Hlavní téma zdroje. Zdroj může mít více témat."@cs . + "La categoria principale della risorsa. Una risorsa può avere più temi."@it . + "La categoría principal del recurso. Un recurso puede tener varios temas."@es . + "La catégorie principale de la ressource. Une ressource peut avoir plusieurs thèmes."@fr . + "Η κύρια κατηγορία του συνόλου δεδομένων. Ένα σύνολο δεδομένων δύναται να έχει πολλαπλά θέματα."@el . + "التصنيف الرئيسي لقائمة البيانات. قائمة البيانات يمكن أن تملك أكثر من تصنيف رئيسي واحد."@ar . + "データセットの主要カテゴリー。データセットは複数のテーマを持つことができます。"@ja . + "Status: English Definition text modified by DCAT revision team, all except for Italian and Czech translations are pending."@en . + "El conjunto de skos:Concepts utilizados para categorizar los recursos están organizados en un skos:ConceptScheme que describe todas las categorías y sus relaciones en el catálogo."@es . + "Il set di concetti skos usati per categorizzare le risorse sono organizzati in skos:ConceptScheme che descrive tutte le categorie e le loro relazioni nel catalogo."@it . + "Sada instancí třídy skos:Concept použitá pro kategorizaci zdrojů je organizována do schématu konceptů skos:ConceptScheme, které popisuje všechny kategorie v katalogu a jejich vztahy."@cs . + "Samlingen af begreber (skos:Concept) der anvendes til at emneinddele ressourcer organiseres i et begrebssystem (skos:ConceptScheme) som beskriver alle emnerne og deres relationer i kataloget."@da . + "The set of skos:Concepts used to categorize the resources are organized in a skos:ConceptScheme describing all the categories and their relations in the catalog."@en . + "Un ensemble de skos:Concepts utilisés pour catégoriser les ressources sont organisés en un skos:ConceptScheme décrivant toutes les catégories et ses relations dans le catalogue."@fr . + "Το σετ των skos:Concepts που χρησιμοποιείται για να κατηγοριοποιήσει τα σύνολα δεδομένων είναι οργανωμένο εντός ενός skos:ConceptScheme που περιγράφει όλες τις κατηγορίες και τις σχέσεις αυτών στον κατάλογο."@el . + "データセットを分類するために用いられるskos:Conceptの集合は、カタログのすべてのカテゴリーとそれらの関係を記述しているskos:ConceptSchemeで組織化されます。"@ja . + . + . + . + . + . + "El sistema de organización del conocimiento utilizado para clasificar conjuntos de datos de catálogos."@es . + "Il sistema di organizzazione della conoscenza (KOS) usato per classificare i dataset del catalogo."@it . + "Le systhème d'ogranisation de connaissances utilisé pour classifier les jeux de données du catalogue."@fr . + "Systém organizace znalostí (KOS) použitý pro klasifikaci datových sad v katalogu."@cs . + "The knowledge organization system (KOS) used to classify catalog's datasets."@en . + "Vidensorganiseringssystem (KOS) som anvendes til at klassificere datasæt i kataloget."@da . + "Το σύστημα οργάνωσης γνώσης που χρησιμοποιείται για την κατηγοριοποίηση των συνόλων δεδομένων του καταλόγου."@el . + "لائحة التصنيفات المستخدمه لتصنيف قوائم البيانات ضمن الفهرس"@ar . + "カタログのデータセットを分類するために用いられる知識組織化体系(KOS;knowledge organization system)。"@ja . + . + . + "emnetaksonomi"@da . + "tassonomia dei temi"@it . + "taxonomie de thèmes"@fr . + "taxonomie témat"@cs . + "taxonomía de temas"@es . + "theme taxonomy"@en . + "Ταξινομία θεματικών κατηγοριών."@el . + "قائمة التصنيفات"@ar . + "テーマ"@ja . + . + "temataksonomi"@da . + "El sistema de organización del conocimiento utilizado para clasificar conjuntos de datos de catálogos."@es . + "Il sistema di organizzazione della conoscenza (KOS) usato per classificare i dataset del catalogo."@it . + "Le systhème d'ogranisation de connaissances utilisé pour classifier les jeux de données du catalogue."@fr . + "Systém organizace znalostí (KOS) použitý pro klasifikaci datových sad v katalogu."@cs . + "The knowledge organization system (KOS) used to classify catalog's datasets."@en . + "Vidensorganiseringssystem (KOS) som anvendes til at klassificere datasæt i kataloget."@da . + "Το σύστημα οργάνωσης γνώσης που χρησιμοποιείται για την κατηγοριοποίηση των συνόλων δεδομένων του καταλόγου."@el . + "لائحة التصنيفات المستخدمه لتصنيف قوائم البيانات ضمن الفهرس"@ar . + "カタログのデータセットを分類するために用いられる知識組織化体系(KOS;knowledge organization system)。"@ja . + "Det anbefales at taksonomien organiseres i et skos:ConceptScheme, skos:Collection, owl:Ontology eller lignende, som giver mulighed for at ethvert medlem af taksonomien kan forsynes med en IRI og udgives som linked-data."@da . + "It is recommended that the taxonomy is organized in a skos:ConceptScheme, skos:Collection, owl:Ontology or similar, which allows each member to be denoted by an IRI and published as linked-data."@en . + "Je doporučeno, aby byla taxonomie vyjádřena jako skos:ConceptScheme, skos:Collection, owl:Ontology nebo podobné, aby mohla být každá položka identifikována pomocí IRI a publikována jako propojená data."@cs . + "Se recomienda que la taxonomía se organice como un skos:ConceptScheme, skos:Collection, owl:Ontology o similar, los cuáles permiten que cada miembro se denote con una IRI y se publique como datos enlazados."@es . + "Si raccomanda che la tassonomia sia organizzata in uno skos:ConceptScheme, skos:Collection, owl:Ontology o simili, che permette ad ogni membro di essere indicato da un IRI e pubblicato come linked-data."@it . + _:c14n1 . + _:c14n11 . + _:c14n14 . + _:c14n15 . + _:c14n17 . + _:c14n18 . + _:c14n2 . + _:c14n20 . + _:c14n21 . + _:c14n22 . + _:c14n24 . + _:c14n25 . + _:c14n26 . + _:c14n28 . + _:c14n6 . + _:c14n9 . + _:c14n27 . + _:c14n8 . + . + "2012-04-24"^^ . + "2013-09-20"^^ . + "2013-11-28"^^ . + "2017-12-19"^^ . + "2019" . + "2020-11-30"^^ . + "2021-09-14"^^ . + . + "DCAT er et RDF-vokabular som har til formål at understøtte interoperabilitet mellem datakataloger udgivet på nettet. Ved at anvende DCAT til at beskrive datasæt i datakataloger, kan udgivere øge findbarhed og gøre det gøre det lettere for applikationer at anvende metadata fra forskellige kataloger. Derudover understøttes decentraliseret udstilling af kataloger og fødererede datasætsøgninger på tværs af websider. Aggregerede DCAT-metadata kan fungere som fortegnelsesfiler der kan understøtte digital bevaring. DCAT er defineret på http://www.w3.org/TR/vocab-dcat/. Enhver forskel mellem det normative dokument og dette schema er en fejl i dette schema."@da . + "DCAT es un vocabulario RDF diseñado para facilitar la interoperabilidad entre catálogos de datos publicados en la Web. Utilizando DCAT para describir datos disponibles en catálogos se aumenta la posibilidad de que sean descubiertos y se permite que las aplicaciones consuman fácilmente los metadatos de varios catálogos."@es . + "DCAT est un vocabulaire développé pour faciliter l'interopérabilité entre les jeux de données publiées sur le Web. En utilisant DCAT pour décrire les jeux de données dans les catalogues de données, les fournisseurs de données augmentent leur découverte et permettent que les applications facilement les métadonnées de plusieurs catalogues. Il permet en plus la publication décentralisée des catalogues et facilitent la recherche fédérée des données entre plusieurs sites. Les métadonnées DCAT aggrégées peuvent servir comme un manifeste pour faciliter la préservation digitale des ressources. DCAT est définie à l'adresse http://www.w3.org/TR/vocab-dcat/. Une quelconque version de ce document normatif et ce vocabulaire est une erreur dans ce vocabulaire."@fr . + "DCAT is an RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web. By using DCAT to describe datasets in data catalogs, publishers increase discoverability and enable applications easily to consume metadata from multiple catalogs. It further enables decentralized publishing of catalogs and facilitates federated dataset search across sites. Aggregated DCAT metadata can serve as a manifest file to facilitate digital preservation. DCAT is defined at http://www.w3.org/TR/vocab-dcat/. Any variance between that normative document and this schema is an error in this schema."@en . + "DCAT je RDF slovník navržený pro zprostředkování interoperability mezi datovými katalogy publikovanými na Webu. Poskytovatelé dat používáním slovníku DCAT pro popis datových sad v datových katalozích zvyšují jejich dohledatelnost a umožňují aplikacím konzumovat metadata z více katalogů. Dále je umožňena decentralizovaná publikace katalogů a federované dotazování na datové sady napříč katalogy. Agregovaná DCAT metadata mohou také sloužit jako průvodka umožňující digitální uchování informace. DCAT je definován na http://www.w3.org/TR/vocab-dcat/. Jakýkoliv nesoulad mezi odkazovaným dokumentem a tímto schématem je chybou v tomto schématu."@cs . + "DCAT è un vocabolario RDF progettato per facilitare l'interoperabilità tra i cataloghi di dati pubblicati nel Web. Utilizzando DCAT per descrivere i dataset nei cataloghi di dati, i fornitori migliorano la capacità di individuazione dei dati e abilitano le applicazioni al consumo di dati provenienti da cataloghi differenti. DCAT permette di decentralizzare la pubblicazione di cataloghi e facilita la ricerca federata dei dataset. L'aggregazione dei metadati federati può fungere da file manifesto per facilitare la conservazione digitale. DCAT è definito all'indirizzo http://www.w3.org/TR/vocab-dcat/. Qualsiasi scostamento tra tale definizione normativa e questo schema è da considerarsi un errore di questo schema."@it . + "DCATは、ウェブ上で公開されたデータ・カタログ間の相互運用性の促進を目的とするRDFの語彙です。このドキュメントでは、その利用のために、スキーマを定義し、例を提供します。データ・カタログ内のデータセットを記述するためにDCATを用いると、公開者が、発見可能性を増加させ、アプリケーションが複数のカタログのメタデータを容易に利用できるようになります。さらに、カタログの分散公開を可能にし、複数のサイトにまたがるデータセットの統合検索を促進します。集約されたDCATメタデータは、ディジタル保存を促進するためのマニフェスト・ファイルとして使用できます。"@ja . + "Το DCAT είναι ένα RDF λεξιλόγιο που σχεδιάσθηκε για να κάνει εφικτή τη διαλειτουργικότητα μεταξύ καταλόγων δεδομένων στον Παγκόσμιο Ιστό. Χρησιμοποιώντας το DCAT για την περιγραφή συνόλων δεδομένων, οι εκδότες αυτών αυξάνουν την ανακαλυψιμότητα και επιτρέπουν στις εφαρμογές την εύκολη κατανάλωση μεταδεδομένων από πολλαπλούς καταλόγους. Επιπλέον, δίνει τη δυνατότητα για αποκεντρωμένη έκδοση και διάθεση καταλόγων και επιτρέπει δυνατότητες ενοποιημένης αναζήτησης μεταξύ διαφορετικών πηγών. Συγκεντρωτικά μεταδεδομένα που έχουν περιγραφεί με το DCAT μπορούν να χρησιμοποιηθούν σαν ένα δηλωτικό αρχείο (manifest file) ώστε να διευκολύνουν την ψηφιακή συντήρηση."@el . + "هي أنطولوجية تسهل تبادل البيانات بين مختلف الفهارس على الوب. استخدام هذه الأنطولوجية يساعد على اكتشاف قوائم البيانات المنشورة على الوب و يمكن التطبيقات المختلفة من الاستفادة أتوماتيكيا من البيانات المتاحة من مختلف الفهارس."@ar . + "Datakatalogvokabular"@da . + "El vocabulario de catálogo de datos"@es . + "Il vocabolario del catalogo dei dati"@it . + "Le vocabulaire des jeux de données"@fr . + "Slovník pro datové katalogy"@cs . + "The data catalog vocabulary"@en . + "Το λεξιλόγιο των καταλόγων δεδομένων"@el . + "أنطولوجية فهارس قوائم البيانات"@ar . + "データ・カタログ語彙(DCAT)"@ja . + . + . + . + "Dette er en opdateret kopi af DCAT v. 2.0 som er tilgænglig på https://www.w3.org/ns/dcat.ttl"@da . + "Esta es una copia del vocabulario DCAT v2.0 disponible en https://www.w3.org/ns/dcat.ttl"@es . + "Questa è una copia aggiornata del vocabolario DCAT v2.0 disponibile in https://www.w3.org/ns/dcat.ttl"@en . + "This is an updated copy of v2.0 of the DCAT vocabulary, taken from https://www.w3.org/ns/dcat.ttl"@en . + "Toto je aktualizovaná kopie slovníku DCAT verze 2.0, převzatá z https://www.w3.org/ns/dcat.ttl"@cs . + "English language definitions updated in this revision in line with ED. Multilingual text unevenly updated."@en . + _:c14n0 . + . + "This axiom needed so that Protege loads DCAT2 without errors." . + . + "This axiom needed so that Protege loads DCAT2 without errors." . +_:c14n0 . +_:c14n0 "Government Linked Data WG" . +_:c14n1 . +_:c14n1 . +_:c14n1 "Jakub Klímek" . +_:c14n10 . +_:c14n10 "Refinitiv" . +_:c14n11 . +_:c14n11 "Ghislain Auguste Atemezing" . +_:c14n12 . +_:c14n12 . +_:c14n13 . +_:c14n13 "European Commission, DG DIGIT" . +_:c14n14 _:c14n13 . +_:c14n14 "Vassilios Peristeras" . +_:c14n15 "Martin Alvarez-Espinar" . +_:c14n16 . +_:c14n16 _:c14n12 . +_:c14n17 _:c14n10 . +_:c14n17 "David Browning" . +_:c14n18 "Boris Villazón-Terrazas" . +_:c14n19 . +_:c14n19 . +_:c14n2 . +_:c14n2 . +_:c14n2 . +_:c14n2 "Phil Archer" . +_:c14n20 . +_:c14n20 "Shuji Kamitsuna" . +_:c14n21 _:c14n3 . +_:c14n21 "Rufus Pollock" . +_:c14n22 . +_:c14n22 . +_:c14n22 . +_:c14n22 "Riccardo Albertoni" . +_:c14n23 . +_:c14n23 _:c14n16 . +_:c14n24 "Marios Meimaris" . +_:c14n25 . +_:c14n25 . +_:c14n25 "Makx Dekkers" . +_:c14n26 _:c14n30 . +_:c14n26 . +_:c14n26 . +_:c14n26 "Simon J D Cox" . +_:c14n26 . +_:c14n27 "John Erickson" . +_:c14n28 _:c14n4 . +_:c14n28 . +_:c14n28 . +_:c14n28 "Alejandra Gonzalez-Beltran" . +_:c14n29 . +_:c14n29 _:c14n19 . +_:c14n3 . +_:c14n3 "Open Knowledge Foundation" . +_:c14n30 . +_:c14n30 "Commonwealth Scientific and Industrial Research Organisation" . +_:c14n4 . +_:c14n4 "Science and Technology Facilities Council, UK" . +_:c14n5 . +_:c14n5 . +_:c14n5 . +_:c14n6 . +_:c14n6 . +_:c14n6 "Andrea Perego" . +_:c14n7 . +_:c14n7 "1"^^ . +_:c14n7 . +_:c14n8 . +_:c14n8 "Fadi Maali" . +_:c14n9 "Richard Cyganiak" . diff --git a/prez/reference_data/context_ontologies/dcterms.nq b/prez/reference_data/context_ontologies/dcterms.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/geo.nq b/prez/reference_data/context_ontologies/geo.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/prez-ontology.nq b/prez/reference_data/context_ontologies/prez-ontology.nq new file mode 100755 index 00000000..4692c124 --- /dev/null +++ b/prez/reference_data/context_ontologies/prez-ontology.nq @@ -0,0 +1,21 @@ + "link" . + "count" . + "members" . + "Matched Term" . + "Matched Predicate" . + "Search Result Weight" . + "Default Resource Format" . + "Has Resource Format" . + "Constrains Class" . + "Has Node Shape" . + "Has Default Profile" . + "All Predicate Values" . + "limit" . + "offset" . + "order by" . + "blank node depth" . + "endpoint template" . + "delivers classes" . + "parent endpoint" . + "parent to focus relation" . + "focus to parent relation" . \ No newline at end of file diff --git a/prez/reference_data/context_ontologies/rdf.nq b/prez/reference_data/context_ontologies/rdf.nq new file mode 100755 index 00000000..850501d8 --- /dev/null +++ b/prez/reference_data/context_ontologies/rdf.nq @@ -0,0 +1,127 @@ + "2019-12-16" . + "This is the RDF Schema for the RDF vocabulary terms in the RDF Namespace, defined in RDF 1.1 Concepts." . + "The RDF Concepts Vocabulary (RDF)" . + . + . + "The class of containers of alternatives." . + . + "Alt" . + . + . + "The class of unordered containers." . + . + "Bag" . + . + . + "A class representing a compound literal." . + . + "CompoundLiteral" . + . + . + . + "The datatype of RDF literals storing fragments of HTML content" . + . + "HTML" . + . + . + . + "The datatype of RDF literals storing JSON content." . + . + "JSON" . + . + . + . + "The class of RDF Lists." . + . + "List" . + . + . + "The class of plain (i.e. untyped) literal values, as used in RIF and OWL 2" . + . + "PlainLiteral" . + . + . + . + "The class of RDF properties." . + . + "Property" . + . + . + "The class of ordered containers." . + . + "Seq" . + . + . + "The class of RDF statements." . + . + "Statement" . + . + . + "The datatype of XML literal values." . + . + "XMLLiteral" . + . + . + "The base direction component of a CompoundLiteral." . + . + . + "direction" . + . + . + "The first item in the subject RDF list." . + . + . + "first" . + . + . + "The datatype of language-tagged string values" . + . + "langString" . + . + . + . + "The language component of a CompoundLiteral." . + . + . + "language" . + . + . + "The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it." . + . + "nil" . + . + "The object of the subject RDF statement." . + . + . + "object" . + . + . + "The predicate of the subject RDF statement." . + . + . + "predicate" . + . + . + "The rest of the subject RDF list after the first item." . + . + . + "rest" . + . + . + "The subject of the subject RDF statement." . + . + . + "subject" . + . + . + "The subject is an instance of a class." . + . + . + "type" . + . + . + "Idiomatic property used for structured values." . + . + . + "value" . + . diff --git a/prez/reference_data/context_ontologies/rdfs.nq b/prez/reference_data/context_ontologies/rdfs.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/schema.nq b/prez/reference_data/context_ontologies/schema.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/schemaorg-current-https.nq b/prez/reference_data/context_ontologies/schemaorg-current-https.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/skos.nq b/prez/reference_data/context_ontologies/skos.nq old mode 100644 new mode 100755 diff --git a/prez/reference_data/context_ontologies/xsd.nq b/prez/reference_data/context_ontologies/xsd.nq new file mode 100644 index 00000000..58bc8ff8 --- /dev/null +++ b/prez/reference_data/context_ontologies/xsd.nq @@ -0,0 +1,199 @@ + . + "\n `ENTITIES` represents the `ENTITIES` attribute type from [XML]. The _value\n space_ of `ENTITIES` is the set of finite, non-zero-length sequences of\n `ENTITY` values that have been declared as unparsed entities in a document\n type definition. The _lexical space_ of `ENTITIES` is the set of\n space-separated lists of tokens, of which each token is in the _lexical\n space_ of `ENTITY`. The _item type_ of `ENTITIES` is `ENTITY`. `ENTITIES` is\n derived from `anySimpleType` in two steps: an anonymous list type is\n defined, whose _item type_ is `ENTITY`; this is the _base type_ of `ENTITIES`,\n which restricts its value space to lists with at least one item.\n " . + "ENTITIES" . + . + . + "\n `ENTITY` represents the `ENTITY` attribute type from [XML]. The _value space_\n of `ENTITY` is the set of all strings that match the `NCName` production in\n [Namespaces in XML] and have been declared as an unparsed entity in a\n document type definition. The _lexical space_ of ENTITY is the set of all\n strings that match the NCName production in [Namespaces in XML]. The\n _base type_ of ENTITY is NCName.\n " . + "ENTITY" . + . + . + "\n `ID` represents the `ID` attribute type from [XML]. The _value space_ of `ID` is\n the set of all strings that match the `NCName` production in [Namespaces\n in XML]. The _lexical space_ of `ID` is the set of all strings that match\n the `NCName` production in [Namespaces in XML]. The _base type_ of `ID` is\n `NCName`.\n " . + "ID" . + . + . + "\n `IDREF` represents the `IDREF` attribute type from [XML]. The _value space_ of\n `IDREF` is the set of all strings that match the `NCName` production in\n [Namespaces in XML]. The _lexical space_ of `IDREF` is the set of strings\n that match the `NCName` production in [Namespaces in XML]. The _base type_\n of `IDREF` is `NCName`.\n " . + "IDREF" . + . + . + "\n `IDREFS` represents the `IDREFS` attribute type from [XML]. The _value space_\n of `IDREFS` is the set of finite, non-zero-length sequences of `IDREF`s. The\n _lexical space_ of `IDREFS` is the set of space-separated lists of tokens, of\n which each token is in the _lexical space_ of `IDREF`. The _item type_ of\n `IDREFS` is `IDREF`. `IDREFS` is derived from `anySimpleType` in two steps: an\n anonymous list type is defined, whose _item type_ is `IDREF`; this is the\n _base type_ of `IDREFS`, which restricts its value space to lists with at\n least one item.\n " . + "IDREFS" . + . + . + "\n `NCName` represents XML \"non-colonized\" Names. The _value space_ of `NCName`\n is the set of all strings which match the `NCName` production of\n [Namespaces in XML]. The _lexical space_ of `NCName` is the set of all\n strings which match the `NCName` production of [Namespaces in XML]. The\n _base type_ of `NCName` is `Name`.\n " . + "NCName" . + . + . + "\n `NMTOKEN` represents the `NMTOKEN` attribute type from [XML]. The _value\n space_ of `NMTOKEN` is the set of tokens that match the `Nmtoken` production\n in [XML]. The _lexical space_ of `NMTOKEN` is the set of strings that\n match the Nmtoken production in [XML]. The _base type_ of `NMTOKEN` is\n `token`.\n " . + "NMTOKEN" . + . + . + "\n `NMTOKENS` represents the `NMTOKENS` attribute type from [XML]. The _value\n space_ of `NMTOKENS` is the set of finite, non-zero-length sequences of\n `NMTOKEN`s. The _lexical space_ of `NMTOKENS` is the set of space-separated\n lists of tokens, of which each token is in the _lexical space_ of `NMTOKEN`.\n The _item type_ of `NMTOKENS` is `NMTOKEN`. `NMTOKENS` is derived from\n `anySimpleType` in two steps: an anonymous list type is defined, whose\n _item type_ is `NMTOKEN`; this is the _base type_ of `NMTOKENS`, which\n restricts its value space to lists with at least one item.\n " . + "NMTOKENS" . + . + . + "\n `NOTATION` represents the `NOTATION` attribute type from [XML]. The _value\n space_ of `NOTATION` is the set of `QNames` of notations declared in the\n current schema. The _lexical space_ of `NOTATION` is the set of all names of\n notations declared in the current schema (in the form of `QNames`).\n " . + "NOTATION" . + . + . + "\n `Name` represents XML Names. The _value space_ of `Name` is the set of all\n strings which match the `Name` production of [XML]. The _lexical space_ of\n `Name` is the set of all strings which match the `Name` production of [XML].\n The _base type_ of `Name` is `token`.\n " . + "Name" . + . + . + "\n `QName` represents XML qualified names. The _value space_ of `QName` is the set\n of tuples `{namespace name, local part}`, where namespace name is an `anyURI`\n and local part is an `NCName`. The _lexical space_ of `QName` is the set of\n strings that match the `QName` production of [Namespaces in XML].\n " . + "QName" . + . + . + "\n `anyAtomicType` is a special _restriction_ of `anySimpleType`. The _value_ and\n _lexical spaces_ of `anyAtomicType` are the unions of the _value_ and\n _lexical spaces_ of all the _primitive_ datatypes, and `anyAtomicType` is\n their _base type_.\n " . + "anySimpleType" . + . + . + "\n The definition of `anySimpleType` is a special _restriction_ of `anyType`. The\n _lexical space_ of a`nySimpleType` is the set of all sequences of Unicode\n characters, and its _value space_ includes all _atomic values_ and all\n finite-length lists of zero or more _atomic values_.\n " . + "anySimpleType" . + . + . + "\n The root of the [XML Schema 1.1] datatype heirarchy.\n " . + "anyType" . + . + "\n `anyURI` represents an Internationalized Resource Identifier Reference\n (IRI). An `anyURI` value can be absolute or relative, and may have an\n optional fragment identifier (i.e., it may be an IRI Reference). This\n type should be used when the value fulfills the role of an IRI, as\n defined in [RFC 3987] or its successor(s) in the IETF Standards Track.\n " . + "anyURI" . + . + . + "\n `base64Binary` represents arbitrary Base64-encoded binary data. For\n `base64Binary` data the entire binary stream is encoded using the `Base64`\n Encoding defined in [RFC 3548], which is derived from the encoding\n described in [RFC 2045].\n " . + "base64Binary" . + . + . + "\n `boolean` represents the values of two-valued logic.\n " . + "boolean" . + . + . + "\n `byte` is _derived_ from `short` by setting the value of `maxInclusive` to be\n `127` and `minInclusive` to be `-128`. The _base type_ of `byte` is `short`.\n " . + "byte" . + . + . + "\n `date` represents top-open intervals of exactly one day in length on the\n timelines of `dateTime`, beginning on the beginning moment of each day, up to\n but not including the beginning moment of the next day). For non-timezoned\n values, the top-open intervals disjointly cover the non-timezoned timeline,\n one per day. For timezoned values, the intervals begin at every minute and\n therefore overlap.\n " . + "date" . + . + . + "\n `dateTime` represents instants of time, optionally marked with a particular\n time zone offset. Values representing the same instant but having different\n time zone offsets are equal but not identical.\n " . + "dateTime" . + . + . + "\n The `dateTimeStamp` datatype is _derived_ from `dateTime` by giving the value\n required to its `explicitTimezone` facet. The result is that all values of\n `dateTimeStamp` are required to have explicit time zone offsets and the\n datatype is totally ordered.\n " . + "dateTimeStamp" . + . + . + "\n `dayTimeDuration` is a datatype _derived_ from `duration` by restricting its\n _lexical representations_ to instances of `dayTimeDurationLexicalRep`. The\n _value space_ of `dayTimeDuration` is therefore that of `duration` restricted\n to those whose `months` property is `0`. This results in a `duration` datatype\n which is totally ordered.\n " . + "dayTimeDuration" . + . + . + "\n `decimal` represents a subset of the real numbers, which can be represented\n by decimal numerals. The _value space_ of decimal is the set of numbers\n that can be obtained by dividing an integer by a non-negative power of ten,\n i.e., expressible as `i / 10n` where `i` and `n` are integers and `n ≥ 0`.\n Precision is not reflected in this value space; the number `2.0` is not\n distinct from the number `2.00`. The order relation on `decimal` is the order\n relation on real numbers, restricted to this subset.\n " . + "decimal" . + . + . + "\n The `double` datatype is patterned after the IEEE double-precision 64-bit\n floating point datatype [IEEE 754-2008]. Each floating point datatype has a\n value space that is a subset of the rational numbers. Floating point\n numbers are often used to approximate arbitrary real numbers.\n " . + "double" . + . + . + "\n `duration` is a datatype that represents durations of time. The concept of\n duration being captured is drawn from those of [ISO 8601], specifically\n durations without fixed endpoints. For example, \"15 days\" (whose most\n common lexical representation in duration is `\"'P15D'\"`) is a duration value;\n \"15 days beginning 12 July 1995\" and \"15 days ending 12 July 1995\" are not\n duration values. duration can provide addition and subtraction operations\n between duration values and between duration/dateTime value pairs, and can\n be the result of subtracting dateTime values. However, only addition to\n `dateTime` is required for XML Schema processing and is defined in the\n function `dateTimePlusDuration`.\n " . + "duration" . + . + . + "\n The `float` datatype is patterned after the IEEE single-precision 32-bit\n floating point datatype [IEEE 754-2008]. Its value space is a subset of the\n rational numbers. Floating point numbers are often used to approximate\n arbitrary real numbers.\n " . + "float" . + . + . + "\n `gDay` represents whole days within an arbitrary month—days that recur at the\n same point in each (Gregorian) month. This datatype is used to represent a\n specific day of the month. To indicate, for example, that an employee gets\n a paycheck on the 15th of each month. (Obviously, days beyond 28 cannot\n occur in all months; they are nonetheless permitted, up to 31.)\n " . + "gDay" . + . + . + "\n `gMonth` represents whole (Gregorian) months within an arbitrary year—months\n that recur at the same point in each year. It might be used, for example,\n to say what month annual Thanksgiving celebrations fall in different\n countries (`--11` in the United States, `--10` in Canada, and possibly other\n months in other countries).\n " . + "gMonth" . + . + . + "\n `gMonthDay` represents whole calendar days that recur at the same point in\n each calendar year, or that occur in some arbitrary calendar year.\n (Obviously, days beyond 28 cannot occur in all Februaries; 29 is\n nonetheless permitted.)\n " . + "gMonthDay" . + . + . + "\n `gYear` represents Gregorian calendar years.\n " . + "gYear" . + . + . + "\n `gYearMonth` represents specific whole Gregorian months in specific Gregorian years.\n " . + "gYearMonth" . + . + . + "\n hexBinary` represents arbitrary hex-encoded binary data. \n " . + "hexBinary" . + . + . + "\n `int` is _derived_ from `long` by setting the value of `maxInclusive` to be\n `2147483647` and `minInclusive` to be `-2147483648`. The _base type_ of `int`\n is `long`.\n " . + "int" . + . + . + "\n `integer` is _derived_ from `decimal` by fixing the value of `fractionDigits`\n to be `0` and disallowing the trailing decimal point. This results in the\n standard mathematical concept of the integer numbers. The _value space_ of\n `integer` is the infinite set `{...,-2,-1,0,1,2,...}`. The _base type_ of\n `integer` is `decimal`.\n " . + "integer" . + . + . + "\n `language` represents formal natural language identifiers, as defined by [BCP\n 47] (currently represented by [RFC 4646] and [RFC 4647]) or its\n successor(s). The _value space_ and _lexical space_ of `language` are the set\n of all strings that conform to the pattern `[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*`.\n " . + "language" . + . + . + "\n `long` is _derived_ from `integer` by setting the value of `maxInclusive` to\n be `9223372036854775807` and `minInclusive` to be `-9223372036854775808`. The\n _base type_ of `long` is `integer`.\n " . + "long" . + . + . + "\n `negativeInteger` is _derived_ from `nonPositiveInteger` by setting the value\n of `maxInclusive` to be `-1`. This results in the standard mathematical\n concept of the negative integers. The _value space_ of `negativeInteger` is\n the infinite set `{...,-2,-1}`. The _base type_ of `negativeInteger` is\n `nonPositiveInteger`.\n " . + "negativeInteger" . + . + . + "\n `nonNegativeInteger` is _derived_ from `integer` by setting the value of\n `minInclusive` to be `0`. This results in the standard mathematical concept\n of the non-negative integers. The _value space_ of `nonNegativeInteger` is\n the infinite set `{0,1,2,...}`. The _base type_ of `nonNegativeInteger` is\n `integer`.\n " . + "nonNegativeInteger" . + . + . + "\n `nonPositiveInteger` is _derived_ from `integer` by setting the value of\n `maxInclusive` to be `0`. This results in the standard mathematical concept\n of the non-positive integers. The _value space_ of `nonPositiveInteger` is\n the infinite set `{...,-2,-1,0}`. The _base type_ of `nonPositiveInteger` is\n `integer`.\n " . + "nonPositiveInteger" . + . + . + "\n `normalizedString` represents white space normalized strings. The _value\n space_ of `normalizedString` is the set of strings that do not contain the\n carriage return (`#xD`), line feed (`#xA`) nor tab (`#x9`) characters. The\n _lexical space_ of `normalizedString` is the set of strings that do not\n contain the carriage return (`#xD`), line feed (`#xA`) nor tab (`#x9`)\n characters. The _base type_ of `normalizedString` is `string`.\n " . + "normalizedString" . + . + . + "\n `positiveInteger` is _derived_ from `nonNegativeInteger` by setting the value\n of `minInclusive` to be `1`. This results in the standard mathematical\n concept of the positive integer numbers. The _value space_ of\n `positiveInteger` is the infinite set `{1,2,...}`. The _base type_ of\n `positiveInteger` is `nonNegativeInteger`.\n " . + "positiveInteger" . + . + . + "\n `short` is _derived_ from `int` by setting the value of `maxInclusive` to be\n `32767` and `minInclusive` to be `-32768`. The _base type_ of `short` is `int`.\n " . + "short" . + . + . + "\n The `string` datatype represents character strings in XML.\n " . + "string" . + . + . + "\n `time` represents instants of time that recur at the same point in each\n calendar day, or that occur in some arbitrary calendar day.\n " . + "time" . + . + . + "\n `token` represents tokenized strings. The _value space_ of `token` is the set\n of strings that do not contain the carriage return (`#xD`), line feed (`#xA`)\n nor tab (`#x9`) characters, that have no leading or trailing spaces (`#x20`)\n and that have no internal sequences of two or more spaces. The _lexical\n space_ of `token` is the set of strings that do not contain the carriage\n return (`#xD`), line feed (`#xA`) nor tab (`#x9`) characters, that have no\n leading or trailing spaces (`#x20`) and that have no internal sequences of\n two or more spaces. The _base type_ of `token` is `normalizedString`.\n " . + "token" . + . + . + "\n `unsignedByte` is _derived_ from `unsignedShort` by setting the value of\n `maxInclusive` to be `255`. The _base type_ of `unsignedByte` is\n `unsignedShort`.\n " . + "unsignedByte" . + . + . + "\n `unsignedInt` is _derived_ from `unsignedLong` by setting the value of\n `maxInclusive` to be `4294967295`. The _base type_ of `unsignedInt` is\n `unsignedLong`.\n " . + "unsignedInt" . + . + . + "\n `unsignedLong` is _derived_ from `nonNegativeInteger` by setting the value of\n `maxInclusive` to be `18446744073709551615`. The _base type_ of `unsignedLong`\n is `nonNegativeInteger`.\n " . + "unsignedLong" . + . + . + "\n `unsignedShort` is _derived_ from `unsignedInt` by setting the value of\n `maxInclusive` to be `65535`. The _base type_ of `unsignedShort` is\n `unsignedInt`.\n " . + "unsignedShort" . + . + . + "\n `yearMonthDuration` is a datatype _derived_ from `duration` by restricting its\n _lexical representations_ to instances of `yearMonthDurationLexicalRep`. The\n _value space_ of `yearMonthDuration` is therefore that of `duration`\n restricted to those whose `seconds` property is `0`. This results in a\n `duration` datatype which is totally ordered.\n " . + "yearMonthDuration" . + . diff --git a/prez/reference_data/cql/default_context.json b/prez/reference_data/cql/default_context.json new file mode 100644 index 00000000..4ca742ca --- /dev/null +++ b/prez/reference_data/cql/default_context.json @@ -0,0 +1,24 @@ +{ + "@version": 1.1, + "@base": "http://example.com/", + "@vocab": "http://example.com/vocab/", + "cql": "http://www.opengis.net/doc/IS/cql2/1.0/", + "sf": "http://www.opengis.net/ont/sf#", + "geo": "http://www.opengis.net/ont/geosparql#", + "landsat": "http://example.com/landsat/", + "ro": "http://example.com/ro/", + "args": { + "@container": "@set", + "@id": "cql:args" + }, + "property": { + "@type": "@id", + "@id": "cql:property" + }, + "op": { + "@id": "cql:operator" + }, + "type": { + "@id": "sf:type" + } +} diff --git a/prez/reference_data/cql/geo_function_mapping.py b/prez/reference_data/cql/geo_function_mapping.py new file mode 100755 index 00000000..23c4be3e --- /dev/null +++ b/prez/reference_data/cql/geo_function_mapping.py @@ -0,0 +1,31 @@ +from rdflib import Namespace +from shapely import ( + Polygon, + MultiPolygon, + Point, + MultiPoint, + LineString, + MultiLineString, +) + +GEOF = Namespace("http://www.opengis.net/def/function/geosparql/") + +cql_sparql_spatial_mapping = { + "s_intersects": GEOF.sfIntersects, + "s_within": GEOF.sfWithin, + "s_contains": GEOF.sfContains, + "s_disjoint": GEOF.sfDisjoint, + "s_equals": GEOF.sfEquals, + "s_overlaps": GEOF.sfOverlaps, + "s_touches": GEOF.sfTouches, + "s_crosses": GEOF.sfCrosses, +} + +cql_to_shapely_mapping = { + "Polygon": Polygon, + "MultiPolygon": MultiPolygon, + "Point": Point, + "MultiPoint": MultiPoint, + "LineString": LineString, + "MultiLineString": MultiLineString, +} diff --git a/prez/reference_data/endpoints/catprez_endpoints.ttl b/prez/reference_data/endpoints/catprez_endpoints.ttl deleted file mode 100644 index 83435292..00000000 --- a/prez/reference_data/endpoints/catprez_endpoints.ttl +++ /dev/null @@ -1,40 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX endpoint: -PREFIX ont: -PREFIX prez: -PREFIX rdfs: -PREFIX skos: -PREFIX xsd: - -endpoint:catprez-home a ont:Endpoint ; - ont:endpointTemplate "/c" ; -. - -endpoint:catalog-listing a ont:ListingEndpoint ; - ont:deliversClasses prez:CatalogList ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:baseClass dcat:Catalog ; - ont:endpointTemplate "/c/catalogs" ; -. - -endpoint:catalog a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:catalog-listing ; - ont:deliversClasses dcat:Catalog ; - ont:endpointTemplate "/c/catalogs/$object" ; -. - -endpoint:resource-listing a ont:ListingEndpoint ; - ont:parentEndpoint endpoint:catalog ; - ont:deliversClasses prez:ResourceList ; - ont:baseClass dcat:Resource ; - ont:endpointTemplate "/c/catalogs/$parent_1/resources" ; - ont:ParentToFocusRelation dcterms:hasPart ; -. - -endpoint:resource a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:resource-listing ; - ont:deliversClasses dcat:Resource ; - ont:endpointTemplate "/c/catalogs/$parent_1/resources/$object" ; - ont:ParentToFocusRelation dcterms:hasPart ; -. diff --git a/prez/reference_data/endpoints/endpoint_metadata.ttl b/prez/reference_data/endpoints/endpoint_metadata.ttl new file mode 100644 index 00000000..71a3cc3b --- /dev/null +++ b/prez/reference_data/endpoints/endpoint_metadata.ttl @@ -0,0 +1,80 @@ +@prefix ex: . +@prefix ogce: . +@prefix ont: . +@prefix prez: . +@prefix sys: . + +sys:profile-listing + a ont:ListingEndpoint , ont:SystemEndpoint ; + ont:relevantShapes ex:Profiles ; + . + +sys:profile-object + a ont:ObjectEndpoint , ont:SystemEndpoint ; + ont:relevantShapes ex:Profiles ; + . + +sys:object + a ont:ObjectEndpoint , ont:SystemEndpoint ; + ont:relevantShapes ex:Profiles ; + . + +ogce:cql-get + a ont:ListingEndpoint ; + ont:relevantShapes ex:CQL ; + . + +ogce:cql-post + a ont:ListingEndpoint ; + ont:relevantShapes ex:CQL ; + . + +ogce:catalog-listing + a ont:ListingEndpoint ; + ont:relevantShapes ex:Catalogs ; +. + +ogce:catalog-object + a ont:ObjectEndpoint ; + ont:relevantShapes ex:Catalogs ; +. + +ogce:collection-listing + a ont:ListingEndpoint ; + ont:relevantShapes ex:Collections ; +. + +ogce:collection-object + a ont:ObjectEndpoint ; + ont:relevantShapes ex:Collections ; +. + +ogce:item-listing + a ont:ListingEndpoint ; + ont:relevantShapes ex:Feature , ex:ConceptSchemeConcept , ex:CollectionConcept , ex:Resource ; +. + +ogce:item-object + a ont:ObjectEndpoint ; + ont:relevantShapes ex:Feature , ex:ConceptSchemeConcept , ex:CollectionConcept , ex:Resource ; +. + +ogce:cql-queryables + a ont:ListingEndpoint ; + ont:relevantShapes ex:queryables ; +. + +ogce:search + a ont:ListingEndpoint ; + ont:relevantShapes ex:Search ; +. + +ogce:top-concepts + a ont:ListingEndpoint ; + ont:relevantShapes ex:TopConcepts ; +. + +ogce:narrowers + a ont:ListingEndpoint ; + ont:relevantShapes ex:Narrowers ; +. diff --git a/prez/reference_data/endpoints/endpoint_nodeshapes.ttl b/prez/reference_data/endpoints/endpoint_nodeshapes.ttl new file mode 100644 index 00000000..c72b9885 --- /dev/null +++ b/prez/reference_data/endpoints/endpoint_nodeshapes.ttl @@ -0,0 +1,163 @@ +@prefix ont: . +@prefix dcat: . +@prefix dcterms: . +@prefix ex: . +@prefix geo: . +@prefix prez: . +@prefix prof: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix shext: . +@prefix skos: . +@prefix altr-ext: . + +ex:Catalogs + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:targetClass dcat:Catalog ; + sh:property [ + sh:path dcterms:hasPart ; + sh:or ( + [ sh:class dcat:Resource ] + [ sh:class geo:FeatureCollection ] + [ sh:class skos:ConceptScheme ] + [ sh:class skos:Collection ] + ) ; + ] . + +ex:Collections + a sh:NodeShape ; + ont:hierarchyLevel 2 ; + sh:targetClass geo:FeatureCollection , skos:ConceptScheme , skos:Collection , dcat:Resource ; + sh:property [ + sh:path [ sh:inversePath dcterms:hasPart ] ; + sh:class dcat:Catalog ; + ] . + +ex:Feature + a sh:NodeShape ; + ont:hierarchyLevel 3 ; + sh:targetClass geo:Feature ; + sh:property [ + sh:path [ sh:inversePath rdfs:member ] ; + sh:class geo:FeatureCollection ; + ] , [ + sh:path ( [sh:inversePath rdfs:member ] [ sh:inversePath dcterms:hasPart ] ); + sh:class dcat:Catalog ; + ] . + +ex:ConceptSchemeConcept + a sh:NodeShape ; + ont:hierarchyLevel 3 ; + sh:targetClass skos:Concept ; + sh:property [ + sh:path skos:inScheme ; + sh:class skos:ConceptScheme ; + ] , [ + sh:path ( skos:inScheme [ sh:inversePath dcterms:hasPart ] ); + sh:class dcat:Catalog ; + ] . + +ex:CollectionConcept + a sh:NodeShape ; + ont:hierarchyLevel 3 ; + sh:targetClass skos:Concept ; + sh:property [ + sh:path [ sh:inversePath skos:member ] ; + sh:class skos:Collection ; + ] , [ + sh:path ( [ sh:inversePath skos:member ] [ sh:inversePath dcterms:hasPart ] ); + sh:class dcat:Catalog ; + ] . + +ex:Resource + a sh:NodeShape ; + ont:hierarchyLevel 3 ; + sh:targetClass rdf:Resource ; + sh:property [ + sh:path [ sh:inversePath dcterms:hasPart ] ; + sh:class dcat:Resource ; + ] , [ + sh:path ( [ sh:inversePath dcterms:hasPart ] [ sh:inversePath dcterms:hasPart ] ); + sh:class dcat:Catalog ; + ] . + +ex:Profiles + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:targetClass prof:Profile ; +. + +ex:queryables a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:rule [ sh:subject "?focus_node" ; + sh:predicate ; + sh:object ] ; + ont:deliversClasses prez:QueryablesList ; + sh:target [ sh:select """SELECT DISTINCT ?focus_node + WHERE { + ?s a ?class ; + ?focus_node ?o . + VALUES ?class { + dcat:Catalog + dcat:Dataset + dcat:Resource + skos:ConceptScheme + skos:Collection + skos:Concept + geo:FeatureCollection + geo:Feature + rdf:Resource + } + }""" ] ; + shext:limit 100 ; + shext:offset 0 ; +. + +ex:AltProfilesForListing + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:targetClass prez:ListingProfile ; + sh:property [ + sh:path altr-ext:constrainsClass ; + ] +. + +ex:AltProfilesForObject + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + sh:targetClass prez:ObjectProfile ; + sh:property [ + sh:path altr-ext:constrainsClass ; + ] +. + +ex:Object + a sh:NodeShape ; + ont:hierarchyLevel 1 ; + . + +ex:TopConcepts + a sh:NodeShape ; + sh:targetClass skos:Concept ; + ont:hierarchyLevel 1 ; +. + +ex:Narrowers + a sh:NodeShape ; + sh:targetClass skos:Concept ; + ont:hierarchyLevel 1 ; +. + +ex:CQL + a sh:NodeShape ; + sh:targetClass rdfs:Resource ; + ont:hierarchyLevel 1 ; + . + +ex:Search + a sh:NodeShape ; + sh:targetClass rdfs:Resource ; + ont:hierarchyLevel 1 ; + . \ No newline at end of file diff --git a/prez/reference_data/endpoints/profiles_endpoints.ttl b/prez/reference_data/endpoints/profiles_endpoints.ttl deleted file mode 100644 index 0464dd6c..00000000 --- a/prez/reference_data/endpoints/profiles_endpoints.ttl +++ /dev/null @@ -1,48 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX endpoint: -PREFIX ont: -PREFIX prez: -PREFIX prof: -PREFIX rdfs: -PREFIX skos: -PREFIX xsd: - -endpoint:profiles-home a ont:Endpoint ; - ont:endpointTemplate "/profiles" ; -. - - -endpoint:profiles-listing a ont:Endpoint ; - ont:deliversClasses prez:ProfilesList ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:baseClass prof:Profile ; - ont:endpointTemplate "/profiles" ; -. - -endpoint:profile a ont:Endpoint ; - ont:parentEndpoint endpoint:profiles-listing ; - ont:deliversClasses prof:Profile ; - ont:endpointTemplate "/profiles/$object" ; -. - -endpoint:catprez-profiles-listing a ont:Endpoint ; - ont:deliversClasses prez:ProfilesList ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:baseClass prez:CatPrezProfile ; - ont:endpointTemplate "/c/profiles" ; -. - -endpoint:spaceprez-profiles-listing a ont:Endpoint ; - ont:deliversClasses prez:ProfilesList ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:baseClass prez:SpacePrezProfile ; - ont:endpointTemplate "/s/profiles" ; -. - -endpoint:vocprez-profiles-listing a ont:Endpoint ; - ont:deliversClasses prez:ProfilesList ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:baseClass prez:VocPrezProfile ; - ont:endpointTemplate "/s/profiles" ; -. diff --git a/prez/reference_data/endpoints/spaceprez_endpoints.ttl b/prez/reference_data/endpoints/spaceprez_endpoints.ttl deleted file mode 100644 index c404fe34..00000000 --- a/prez/reference_data/endpoints/spaceprez_endpoints.ttl +++ /dev/null @@ -1,54 +0,0 @@ -PREFIX dcat: -PREFIX endpoint: -PREFIX geo: -PREFIX ont: -PREFIX prez: -PREFIX rdfs: -PREFIX xsd: - -endpoint:spaceprez-home a ont:Endpoint ; - ont:endpointTemplate "/s" ; -. - -endpoint:dataset-listing a ont:ListingEndpoint ; - ont:deliversClasses prez:DatasetList ; - ont:baseClass dcat:Dataset ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:endpointTemplate "/s/datasets" ; -. - -endpoint:dataset a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:dataset-listing ; - ont:deliversClasses dcat:Dataset ; - ont:endpointTemplate "/s/datasets/$object" ; -. - -endpoint:feature-collection-listing a ont:ListingEndpoint ; - ont:parentEndpoint endpoint:dataset ; - ont:baseClass geo:FeatureCollection ; - ont:deliversClasses prez:FeatureCollectionList ; - ont:endpointTemplate "/s/datasets/$parent_1/collections" ; - ont:ParentToFocusRelation rdfs:member ; -. - -endpoint:feature-collection a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:feature-collection-listing ; - ont:deliversClasses geo:FeatureCollection ; - ont:endpointTemplate "/s/datasets/$parent_1/collections/$object" ; - ont:ParentToFocusRelation rdfs:member ; -. - -endpoint:feature-listing a ont:ListingEndpoint ; - ont:parentEndpoint endpoint:feature-collection ; - ont:baseClass geo:Feature ; - ont:deliversClasses prez:FeatureList ; - ont:endpointTemplate "/s/datasets/$parent_2/collections/$parent_1/items" ; - ont:ParentToFocusRelation rdfs:member ; -. - -endpoint:feature a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:feature-listing ; - ont:deliversClasses geo:Feature ; - ont:endpointTemplate "/s/datasets/$parent_2/collections/$parent_1/items/$object" ; - ont:ParentToFocusRelation rdfs:member ; -. diff --git a/prez/reference_data/endpoints/vocprez_endpoints.ttl b/prez/reference_data/endpoints/vocprez_endpoints.ttl deleted file mode 100644 index 5b132657..00000000 --- a/prez/reference_data/endpoints/vocprez_endpoints.ttl +++ /dev/null @@ -1,50 +0,0 @@ -PREFIX endpoint: -PREFIX ont: -PREFIX prez: -PREFIX rdfs: -PREFIX skos: -PREFIX xsd: - -endpoint:vocprez-home a ont:Endpoint ; - ont:endpointTemplate "/v" ; -. - -endpoint:collection-listing a ont:ListingEndpoint ; - ont:deliversClasses prez:VocPrezCollectionList ; - ont:baseClass skos:Collection ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:endpointTemplate "/v/collection" ; -. - -endpoint:collection a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:collection-listing ; - ont:deliversClasses skos:Collection ; - ont:endpointTemplate "/v/collection/$object" ; -. - -endpoint:collection-concept a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:collection ; - ont:deliversClasses skos:Concept ; - ont:endpointTemplate "/v/collection/$parent_1/$object" ; - ont:ParentToFocusRelation skos:member ; -. - - endpoint:vocabs-listing a ont:ListingEndpoint ; - ont:deliversClasses prez:SchemesList ; - ont:baseClass skos:ConceptScheme ; - ont:isTopLevelEndpoint "true"^^xsd:boolean ; - ont:endpointTemplate "/v/vocab" ; -. - -endpoint:vocab a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:vocabs-listing ; - ont:deliversClasses skos:ConceptScheme ; - ont:endpointTemplate "/v/vocab/$object" ; -. - -endpoint:vocab-concept a ont:ObjectEndpoint ; - ont:parentEndpoint endpoint:vocab ; - ont:deliversClasses skos:Concept ; - ont:endpointTemplate "/v/vocab/$parent_1/$object" ; - ont:FocusToParentRelation skos:inScheme ; -. diff --git a/prez/reference_data/prefixes/standard.ttl b/prez/reference_data/prefixes/standard.ttl index 22d9ea1c..f67c139e 100644 --- a/prez/reference_data/prefixes/standard.ttl +++ b/prez/reference_data/prefixes/standard.ttl @@ -44,7 +44,7 @@ PREFIX sdoprof: vann:preferredNamespaceUri ] . -[ vann:preferredNamespacePrefix "prezprof" ; +[ vann:preferredNamespacePrefix "profile" ; vann:preferredNamespaceUri ] . diff --git a/prez/reference_data/prefixes/testing.ttl b/prez/reference_data/prefixes/testing.ttl index f60c174a..8cc005a9 100644 --- a/prez/reference_data/prefixes/testing.ttl +++ b/prez/reference_data/prefixes/testing.ttl @@ -31,3 +31,19 @@ vann:preferredNamespaceUri ; [ vann:preferredNamespacePrefix "defn" ; vann:preferredNamespaceUri ; ] . + +[ vann:preferredNamespacePrefix "preztest" ; +vann:preferredNamespaceUri ; +] . + +[ vann:preferredNamespacePrefix "sys" ; +vann:preferredNamespaceUri ; +] . + +[ vann:preferredNamespacePrefix "sys" ; +vann:preferredNamespaceUri ; +] . + +[ vann:preferredNamespacePrefix "defn" ; +vann:preferredNamespaceUri ; +] . diff --git a/prez/reference_data/prez_ns.py b/prez/reference_data/prez_ns.py old mode 100644 new mode 100755 index cf5f9a9c..6856aadf --- a/prez/reference_data/prez_ns.py +++ b/prez/reference_data/prez_ns.py @@ -4,3 +4,6 @@ ONT = Namespace("https://prez.dev/ont/") ALTREXT = Namespace("http://www.w3.org/ns/dx/connegp/altr-ext#") REG = Namespace("http://purl.org/linked-data/registry#") +EP = Namespace("https://prez.dev/endpoint/") +SHEXT = Namespace("http://example.com/shacl-extension#") +OGCE = Namespace(PREZ["endpoint/extended-ogc-records/"]) diff --git a/prez/reference_data/profiles/catprez_default_profiles.ttl b/prez/reference_data/profiles/catprez_default_profiles.ttl deleted file mode 100644 index 4db61a7f..00000000 --- a/prez/reference_data/profiles/catprez_default_profiles.ttl +++ /dev/null @@ -1,87 +0,0 @@ -PREFIX altr-ext: -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX owl: -PREFIX prez: -PREFIX prof: -PREFIX prov: -PREFIX rdf: -PREFIX rdfs: -PREFIX sh: -PREFIX skos: -PREFIX xsd: - - -prez:CatPrezProfile - a prof:Profile ; - prez:supportedSearchMethod prez:exactMatch , prez:jenaFTName ; - dcterms:identifier "catprez"^^xsd:token ; - dcterms:description "A system profile for CatPrez" ; - skos:prefLabel "CatPrez profile" ; - altr-ext:constrainsClass prez:CatPrez ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass prez:CatalogList ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass dcat:Catalog ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass dcat:Resource ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass prez:ResourceList ; - altr-ext:hasDefaultProfile - ] - . - - - a prof:Profile , prez:CatPrezProfile ; - dcterms:description "Dataset Catalog Vocabulary (DCAT) is a W3C-authored RDF vocabulary designed to facilitate interoperability between data catalogs" ; - dcterms:identifier "dcat"^^xsd:token ; - dcterms:title "DCAT" ; - altr-ext:constrainsClass - dcat:Catalog , - dcat:Dataset , - dcat:Resource , - prez:CatalogList , - prez:ResourceList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass dcat:Catalog ; - altr-ext:exclude dcterms:hasPart ; - altr-ext:focusToChild dcterms:hasPart ; - ] , - [ - a sh:NodeShape ; - sh:targetClass prez:ResourceList ; - altr-ext:focusToChild dcterms:hasPart ; - altr-ext:relativeProperties dcterms:issued , dcterms:creator , dcterms:publisher ; - ] -. - - - a prof:Profile , prez:CatPrezProfile ; - dcterms:description "Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond. " ; - dcterms:identifier "sdo"^^xsd:token ; - dcterms:title "schema.org" ; - altr-ext:constrainsClass - skos:Dataset ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. diff --git a/prez/reference_data/profiles/dd.ttl b/prez/reference_data/profiles/dd.ttl new file mode 100644 index 00000000..ec500533 --- /dev/null +++ b/prez/reference_data/profiles/dd.ttl @@ -0,0 +1,70 @@ +PREFIX altr-ext: +PREFIX dcat: +PREFIX dcterms: +PREFIX geo: +PREFIX owl: +PREFIX prez: +PREFIX prof: +PREFIX rdf: +PREFIX rdfs: +PREFIX schema: +PREFIX sh: +PREFIX skos: +PREFIX reg: +PREFIX xsd: +PREFIX prov: +PREFIX shext: + + + + a prof:Profile ; + dcterms:description "A simple data model to provide items for form drop-down lists. The basic information is an ID & name tuple and the optional extra value is an item's parent. For vocabularies, this is then URI, prefLabel or URI, prefLabel & broader Concept" ; + dcterms:identifier "dd"^^xsd:token ; + dcterms:title "Drop-Down List" ; + altr-ext:constrainsClass + prez:CatalogList , + prez:SchemesList , + prez:VocPrezCollectionList , + dcat:Catalog , + skos:ConceptScheme , + skos:Collection ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass dcat:Catalog ; + altr-ext:focusToChild dcterms:hasPart ; + ] ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass prez:CatalogList ; + altr-ext:containerClass dcat:Catalog ; + ] ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass skos:ConceptScheme ; + altr-ext:childToFocus skos:inScheme ; + altr-ext:relativeProperties skos:broader ; + ] ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass skos:Collection ; + altr-ext:focusToChild skos:member ; + altr-ext:relativeProperties skos:definition ; + ] ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass prez:SchemesList ; + altr-ext:containerClass skos:ConceptScheme ; + altr-ext:relativeProperties skos:definition, dcterms:publisher, reg:status , skos:prefLabel ; + ] ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass prez:VocPrezCollectionList ; + altr-ext:containerClass skos:Collection ; + altr-ext:relativeProperties skos:definition, dcterms:publisher, reg:status ; + ] ; + altr-ext:hasDefaultResourceFormat "application/json" ; + altr-ext:hasResourceFormat + "text/turtle" , + "application/json" , + "text/csv" +. diff --git a/prez/reference_data/profiles/ogc_records_profile.ttl b/prez/reference_data/profiles/ogc_records_profile.ttl new file mode 100644 index 00000000..c7339085 --- /dev/null +++ b/prez/reference_data/profiles/ogc_records_profile.ttl @@ -0,0 +1,152 @@ +PREFIX altr-ext: +PREFIX dcat: +PREFIX dcterms: +PREFIX geo: +PREFIX owl: +PREFIX prez: +PREFIX prof: +PREFIX prov: +PREFIX reg: +PREFIX rdf: +PREFIX rdfs: +PREFIX sh: +PREFIX skos: +PREFIX xsd: +PREFIX endpoint: +PREFIX shext: + + +prez:OGCRecordsProfile + a prof:Profile ; + dcterms:identifier "ogc"^^xsd:token ; + dcterms:description "A system profile for OGC Records conformant API" ; + dcterms:title "OGC Profile" ; + altr-ext:constrainsClass prez:CatPrez ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:hasNodeShape [ + a sh:NodeShape ; + sh:targetClass prof:Profile , dcat:Catalog , dcat:Resource , skos:Concept , geo:Feature , geo:FeatureCollection + , skos:Collection , rdf:Resource , prez:SearchResult , prez:CQLObjectList ; + altr-ext:hasDefaultProfile prez:OGCListingProfile + ] , [ + a sh:NodeShape ; + sh:targetClass skos:ConceptScheme ; + altr-ext:hasDefaultProfile prez:OGCSchemesListProfile + ] , [ + a sh:NodeShape ; + sh:targetClass skos:ConceptScheme ; + altr-ext:hasDefaultProfile prez:OGCSchemesObjectProfile + ] , [ + a sh:NodeShape ; + sh:targetClass prof:Profile , dcat:Catalog , dcat:Resource , skos:Concept , geo:Feature , geo:FeatureCollection + , skos:Collection , rdf:Resource ; + altr-ext:hasDefaultProfile prez:OGCItemProfile + ] + . + +prez:OGCListingProfile + a prof:Profile , prez:ListingProfile , sh:NodeShape ; + dcterms:identifier "ogc-listing"^^xsd:token ; + dcterms:title "OGC Listing Profile" ; + dcterms:description "A profile for listing different kinds of items relevant to an OGC Records API" ; + altr-ext:hasResourceFormat + "application/ld+json" , + "application/anot+ld+json" , + "application/rdf+xml" , + "text/anot+turtle" , + "text/turtle" ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:constrainsClass dcat:Catalog , skos:Collection , geo:Feature , geo:FeatureCollection , skos:Concept , + dcat:Resource , prof:Profile , prez:SearchResult , prez:CQLObjectList , rdf:Resource ; + sh:property [ sh:path rdf:type ] + . + + +prez:OGCItemProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + dcterms:title "OGC Object Profile" ; + dcterms:description "A profile for individual OGC Records API items" ; + dcterms:identifier "ogc-item"^^xsd:token ; + altr-ext:hasResourceFormat + "application/ld+json" , + "application/anot+ld+json" , + "application/rdf+xml" , + "text/anot+turtle" , + "text/turtle" , + "application/n-triples"; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + sh:property [ + sh:path shext:allPredicateValues ; + ] , + [ + sh:maxCount 0 ; + sh:path ( + sh:union ( + dcterms:hasPart + rdfs:member + ) + ) + ] ; + shext:bnode-depth 2 ; + altr-ext:constrainsClass dcat:Catalog , + dcat:Resource , + skos:ConceptScheme, + skos:Collection , + skos:Concept , + geo:FeatureCollection , + geo:Feature , + rdf:Resource , + prof:Profile ; + . + + +prez:OGCSchemesListProfile + a prof:Profile , prez:ListingProfile , sh:NodeShape ; + dcterms:title "OGC Concept Scheme Listing Profile" ; + dcterms:description "A profile for listing SKOS Concept Schemes" ; + dcterms:identifier "ogc-schemes-listing"^^xsd:token ; + altr-ext:hasResourceFormat + "application/ld+json" , + "application/anot+ld+json" , + "application/rdf+xml" , + "text/anot+turtle" , + "text/turtle" ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:constrainsClass skos:ConceptScheme ; + sh:property [ + sh:minCount 0 ; + sh:path ( + sh:union ( + dcterms:publisher + reg:status + ( prov:qualifiedDerivation prov:hadRole ) + ( prov:qualifiedDerivation prov:entity ) + ) + ) + ], [ + sh:path rdf:type + ] + . + + +prez:OGCSchemesObjectProfile + a prof:Profile , prez:ObjectProfile , sh:NodeShape ; + dcterms:title "OGC Concept Scheme Object Profile" ; + dcterms:description "A profile for SKOS Concept Schemes" ; + dcterms:identifier "ogc-schemes-object"^^xsd:token ; + altr-ext:hasResourceFormat + "application/ld+json" , + "application/anot+ld+json" , + "application/rdf+xml" , + "text/anot+turtle" , + "text/turtle" ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:constrainsClass skos:ConceptScheme ; + sh:property [ + sh:minCount 0 ; + sh:path [sh:inversePath skos:inScheme ] + ] , [ + sh:path shext:allPredicateValues + ] ; + shext:bnode-depth 2 ; + . diff --git a/prez/reference_data/profiles/prez_default_profiles.ttl b/prez/reference_data/profiles/prez_default_profiles.ttl index 3bd94497..b55e9402 100644 --- a/prez/reference_data/profiles/prez_default_profiles.ttl +++ b/prez/reference_data/profiles/prez_default_profiles.ttl @@ -5,9 +5,12 @@ PREFIX geo: PREFIX owl: PREFIX prez: PREFIX prof: +PREFIX prov: +PREFIX reg: PREFIX rdf: PREFIX rdfs: PREFIX sh: +PREFIX shext: PREFIX skos: PREFIX xsd: @@ -21,103 +24,117 @@ PREFIX xsd: altr-ext:hasNodeShape [ a sh:NodeShape ; sh:targetClass prez:SPARQLQuery ; - altr-ext:hasDefaultProfile + altr-ext:hasDefaultProfile + ] , [ + a sh:NodeShape ; + sh:targetClass prez:AltProfilesList ; + altr-ext:hasDefaultProfile ] . - - a prof:Profile ; - dcterms:identifier "open" ; - dcterms:description "An open profile which will return all direct properties for a resource." ; + + a prof:Profile , prez:ObjectProfile ; + dcterms:identifier "openobj"^^xsd:token ; + dcterms:description "An open profile for objects which will return all direct properties for a resource." ; dcterms:title "Open profile" ; - altr-ext:constrainsClass prez:SPARQLQuery , prez:SearchResult ; + altr-ext:constrainsClass prez:SPARQLQuery , prof:Profile , prez:SearchResult , prez:Object ; altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat "application/json" , + altr-ext:hasResourceFormat "application/ld+json" , "application/ld+json" , + "application/anot+ld+json" , "application/rdf+xml" , "text/anot+turtle" , "text/turtle" ; + sh:property [ + sh:path shext:allPredicateValues ; + ] ; + shext:bnode-depth 2 ; . + + a prof:Profile , prez:ListingProfile; + dcterms:identifier "cqlgeo"^^xsd:token ; + dcterms:description "A CQL profile targeted towards listing CQL results, including geospatial information." ; + dcterms:title "CQL Geo profile" ; + altr-ext:constrainsClass rdfs:Resource ; + altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; + altr-ext:hasResourceFormat "application/ld+json" , + "application/ld+json" , + "application/anot+ld+json" , + "application/rdf+xml" , + "text/anot+turtle" , + "text/turtle" ; + sh:property [ + sh:minCount 0 ; + sh:path ( + sh:union ( + rdf:type + ( geo:hasGeometry geo:asWKT ) + ) + ) + ] ; + . - - a prof:Profile ; - dcterms:description "The OGC API Features specifies the behavior of Web APIs that provide access to features in a dataset in a manner independent of the underlying data store." ; - dcterms:identifier "oai"^^xsd:token ; - dcterms:title "OGC API Features" ; - altr-ext:constrainsClass - prez:Home ; + + + a prof:Profile , prez:ListingProfile ; + dcterms:description "A very basic data model that lists the members of container objects only, i.e. not their other properties" ; + dcterms:identifier "mem"^^xsd:token ; + dcterms:title "Members" ; + altr-ext:constrainsClass geo:FeatureCollection , + dcat:Dataset , + dcat:Catalog , + skos:ConceptScheme , + skos:Collection , + prez:CQLObjectList , + prez:QueryablesList , + prof:Profile ; altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; altr-ext:hasResourceFormat + "application/json" , + "application/ld+json" , + "application/rdf+xml" , "text/anot+turtle" , - "application/geo+json" ; + "text/turtle" ; + sh:property [ + sh:path rdf:type ; + ] ; . altr-ext:alt-profile - a prof:Profile ; + a prof:Profile , prez:ListingProfile , prez:ObjectProfile ; dcterms:description "The representation of the resource that lists all other representations (profiles and Media Types)" ; dcterms:identifier "alt"^^xsd:token ; dcterms:title "Alternates Profile" ; altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; altr-ext:hasResourceFormat "application/ld+json" , + "application/anot+ld+json" , "application/rdf+xml" , "text/anot+turtle" , "text/turtle" ; altr-ext:constrainsClass geo:Feature , - prez:FeatureList , geo:FeatureCollection , - prez:FeatureCollectionList , dcat:Dataset , - prez:DatasetList , dcat:Catalog , dcat:Resource , - prez:CatalogList , skos:ConceptScheme , skos:Concept , skos:Collection , - prez:SchemesList , - prez:VocPrezCollectionList ; -. - -prez:profiles - a prof:Profile ; - dcterms:title "Profiles" ; - dcterms:description "List of profiles" ; - dcterms:identifier "profiles"^^xsd:token ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/json" , - "text/anot+turtle" ; - altr-ext:constrainsClass prof:Profile ; -. - - - a prof:Profile ; - dcterms:description "A very basic data model that lists the members of container objects only, i.e. not their other properties" ; - dcterms:identifier "mem"^^xsd:token ; - dcterms:title "Members" ; - altr-ext:constrainsClass prez:DatasetList , - prez:FeatureCollectionList , - prez:FeatureList , - prez:ProfilesList , - prez:SchemesList , - prez:VocPrezCollectionList , - prez:CatalogList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/json" , - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass prez:ProfilesList ; - sh:path prez:link , - dcterms:title , - dcterms:description ; - ] + rdf:Resource , + prof:Profile ; + sh:property [ + sh:path ( + sh:union ( + rdf:type + altr-ext:hasResourceFormat + altr-ext:hasDefaultResourceFormat + dcterms:description + dcterms:title + dcterms:identifier + ) + ) + ] ; . diff --git a/prez/reference_data/profiles/spaceprez_default_profiles.ttl b/prez/reference_data/profiles/spaceprez_default_profiles.ttl deleted file mode 100644 index 34dbdbcf..00000000 --- a/prez/reference_data/profiles/spaceprez_default_profiles.ttl +++ /dev/null @@ -1,130 +0,0 @@ -PREFIX altr-ext: -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX owl: -PREFIX prez: -PREFIX prof: -PREFIX rdf: -PREFIX rdfs: -PREFIX sh: -PREFIX skos: -PREFIX xsd: - - -prez:SpacePrezProfile - a prof:Profile ; - prez:supportedSearchMethod prez:exactMatch , prez:jenaFTName ; - dcterms:identifier "spaceprez"^^xsd:token ; - dcterms:description "A system profile for SpacePrez" ; - skos:prefLabel "SpacePrez profile" ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:constrainsClass prez:SpacePrez ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass dcat:Dataset ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass geo:FeatureCollection ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass geo:Feature ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass prez:DatasetList ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass prez:FeatureCollectionList ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:targetClass prez:FeatureList ; - altr-ext:hasDefaultProfile - ] -. - - - a prof:Profile , prez:SpacePrezProfile ; - dcterms:description "An RDF/OWL vocabulary for representing spatial information" ; - dcterms:identifier "geo"^^xsd:token ; - dcterms:title "GeoSPARQL" ; - altr-ext:constrainsClass geo:Feature ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. - - - a prof:Profile , prez:SpacePrezProfile ; - dcterms:description "The OGC API Features specifies the behavior of Web APIs that provide access to features in a dataset in a manner independent of the underlying data store." ; - dcterms:identifier "oai"^^xsd:token ; - dcterms:title "OGC API Features" ; - altr-ext:constrainsClass - dcat:Dataset , - geo:FeatureCollection , - geo:Feature , - prez:FeatureCollectionList , - prez:FeatureList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "text/anot+turtle" , - "application/geo+json" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass geo:FeatureCollection ; - sh:path rdf:type, - dcterms:identifier, - dcterms:title, - geo:hasBoundingBox, - dcterms:provenance, - rdfs:label, - dcterms:description ; - ] , - [ a sh:NodeShape ; - sh:targetClass geo:FeatureCollection , prez:FeatureCollectionList , prez:FeatureList ; - altr-ext:focusToChild rdfs:member ; - ] -. - - - a prof:Profile , prez:SpacePrezProfile ; - dcterms:description "A null profile of the Data Catalog Vocabulary (DCAT)" ; - dcterms:identifier "dcat"^^xsd:token ; - dcterms:title "DCAT" ; - altr-ext:constrainsClass dcat:Dataset ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. - - - a prof:Profile , prez:SpacePrezProfile ; - dcterms:description "Dataset Catalog Vocabulary (DCAT) is a W3C-authored RDF vocabulary designed to facilitate interoperability between data catalogs" ; - dcterms:identifier "dcat"^^xsd:token ; - dcterms:title "DCAT" ; - altr-ext:constrainsClass - dcat:Catalog , - dcat:Dataset , - prez:DatasetList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass dcat:Dataset ; - altr-ext:focusToChild rdfs:member ; - ] -. diff --git a/prez/reference_data/profiles/vocprez_default_profiles.ttl b/prez/reference_data/profiles/vocprez_default_profiles.ttl deleted file mode 100644 index ad313d24..00000000 --- a/prez/reference_data/profiles/vocprez_default_profiles.ttl +++ /dev/null @@ -1,191 +0,0 @@ -PREFIX altr-ext: -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX owl: -PREFIX prez: -PREFIX prof: -PREFIX rdf: -PREFIX rdfs: -PREFIX schema: -PREFIX sh: -PREFIX skos: -PREFIX reg: -PREFIX xsd: -PREFIX prov: - - -prez:VocPrezProfile - a prof:Profile ; - prez:supportedSearchMethod prez:exactMatch , prez:skosPrefLabel , prez:skosWeighted , prez:jenaFTName ; - dcterms:identifier "vocprez"^^xsd:token ; - dcterms:description "A system profile for VocPrez" ; - skos:prefLabel "VocPrez profile" ; - altr-ext:constrainsClass prez:VocPrez ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass prez:SchemesList ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass prez:VocPrezCollectionList ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass skos:Collection ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass skos:Concept ; - altr-ext:hasDefaultProfile - ] , [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass skos:ConceptScheme ; - altr-ext:hasDefaultProfile - ] - . - - - a prof:Profile , prez:VocPrezProfile ; - dcterms:description "Dataset Catalog Vocabulary (DCAT) is a W3C-authored RDF vocabulary designed to facilitate interoperability between data catalogs" ; - dcterms:identifier "dcat"^^xsd:token ; - dcterms:title "DCAT" ; - altr-ext:constrainsClass - dcat:Catalog , - dcat:Dataset , - prez:VocPrezHome ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. - - - a prof:Profile , prez:VocPrezProfile ; - dcterms:description "This is a profile of the taxonomy data model SKOS - i.e. SKOS with additional constraints." ; - dcterms:identifier "vocpub"^^xsd:token ; - dcterms:title "VocPub" ; - altr-ext:constrainsClass - skos:ConceptScheme , - skos:Concept , - skos:Collection , - prez:SchemesList , - prez:VocPrezCollectionList ; - altr-ext:hasDefaultResourceFormat "text/anot+turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:focusToChild skos:hasTopConcept ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:Collection ; - altr-ext:focusToChild skos:member ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:childToFocus skos:inScheme ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:relativeProperties skos:broader , skos:narrower ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:Concept ; - altr-ext:focusToParent skos:inScheme ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass prez:SchemesList ; - sh:path dcterms:publisher, reg:status ; - sh:sequencePath ( - prov:qualifiedDerivation - prov:hadRole - ) ; - sh:sequencePath ( - prov:qualifiedDerivation - prov:entity - ) ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:path skos:prefLabel ; - sh:targetClass prez:VocPrezCollectionList ; - sh:path skos:definition ; - ] ; -. - - - a prof:Profile ; - dcterms:description "Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond. " ; - dcterms:identifier "sdo"^^xsd:token ; - dcterms:title "schema.org" ; - altr-ext:constrainsClass - skos:Dataset , - skos:ConceptScheme , - skos:Collection ; - altr-ext:hasDefaultResourceFormat "text/turtle" ; - altr-ext:hasResourceFormat - "application/ld+json" , - "application/rdf+xml" , - "text/anot+turtle" , - "text/turtle" ; -. - - - a prof:Profile ; - dcterms:description "A simple data model to provide items for form drop-down lists. The basic information is an ID & name tuple and the optional extra value is an item's parent. For vocabularies, this is then URI, prefLabel or URI, prefLabel & broader Concept" ; - dcterms:identifier "dd"^^xsd:token ; - dcterms:title "Drop-Down List" ; - altr-ext:constrainsClass - prez:SchemesList , - prez:VocPrezCollectionList , - skos:ConceptScheme , - skos:Collection ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass skos:ConceptScheme ; - altr-ext:childToFocus skos:inScheme ; - altr-ext:relativeProperties skos:broader, skos:prefLabel ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:path rdf:type ; - sh:targetClass skos:Collection ; - altr-ext:focusToChild skos:member ; - altr-ext:relativeProperties skos:definition, skos:prefLabel ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass prez:SchemesList ; - altr-ext:containerClass skos:ConceptScheme ; - altr-ext:relativeProperties skos:definition, dcterms:publisher, reg:status, skos:prefLabel ; - ] ; - altr-ext:hasNodeShape [ - a sh:NodeShape ; - sh:targetClass prez:VocPrezCollectionList ; - altr-ext:containerClass skos:Collection ; - altr-ext:relativeProperties skos:definition, dcterms:publisher, reg:status, skos:prefLabel; - ] ; - altr-ext:hasDefaultResourceFormat "application/json" ; - altr-ext:hasResourceFormat - "application/json" , - "text/csv" -. diff --git a/prez/reference_data/search_methods/search_default.ttl b/prez/reference_data/search_methods/search_default.ttl deleted file mode 100644 index 82ffc515..00000000 --- a/prez/reference_data/search_methods/search_default.ttl +++ /dev/null @@ -1,43 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . - -prez:default - a prez:SearchMethod ; - dcterms:identifier "default" ; - rdfs:label "Prez Default Match Search"@en ; - rdfs:comment "A default method to search for objects in Prez" ; - rdf:value """ - SELECT ?search_result_uri ?predicate ?match ?weight (URI(CONCAT("urn:hash:", SHA256(CONCAT(STR(?search_result_uri), STR(?predicate), STR(?match), STR(?weight))))) AS ?hashID) - WHERE { - SELECT ?search_result_uri ?predicate ?match (SUM(?w) AS ?weight) - WHERE - { - ?search_result_uri ?predicate ?match . - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - VALUES ?predicate { $PREDICATES } - { - ?search_result_uri ?predicate ?match . - BIND (100 AS ?w) - FILTER (LCASE(?match) = "$TERM") - } - UNION - { - ?search_result_uri ?predicate ?match . - BIND (20 AS ?w) - FILTER (REGEX(?match, "^$TERM", "i")) - } - UNION - { - ?search_result_uri ?predicate ?match . - BIND (10 AS ?w) - FILTER (REGEX(?match, "$TERM", "i")) - } - } - GROUP BY ?search_result_uri ?predicate ?match - ORDER BY DESC(?weight) - LIMIT $LIMIT OFFSET $OFFSET - } - """ . diff --git a/prez/reference_data/search_methods/search_exact.ttl b/prez/reference_data/search_methods/search_exact.ttl deleted file mode 100644 index bc2c7f4e..00000000 --- a/prez/reference_data/search_methods/search_exact.ttl +++ /dev/null @@ -1,16 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . - -prez:exactMatch a prez:SearchMethod ; - dcterms:identifier "exactMatch" ; - rdfs:label "Exact Object Match Search"@en ; - rdf:value """ - SELECT DISTINCT ?search_result_uri ?predicate ?match - WHERE { ?search_result_uri ?predicate ?match . - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?match, "^$TERM$$", "i") - } LIMIT $LIMIT - """. diff --git a/prez/reference_data/search_methods/search_readme.md b/prez/reference_data/search_methods/search_readme.md deleted file mode 100644 index bb6200c9..00000000 --- a/prez/reference_data/search_methods/search_readme.md +++ /dev/null @@ -1,67 +0,0 @@ -## General info - -Search results are returned according to profiles. As such, profiles can be used to determine which properties, -inbound/outbound links etc. are returned for a search result. - -## Adding search methods -Search methods can be added in two different ways to Prez: - -1. Adding turtle files to the `prez/reference_data/search_methods` directory in the `prez` project. Prez will load these -files on application startup. -2. Adding remote search methods to a graph in Prez's backend. Prez will load these search methods on application -startup, by looking within the `prez:systemGraph` graph, for instances of `prez:SearchMethod`. -TODO: provide an update endpoint for adding search methods to the search methods dictionary - allowing instance data to -be kept separate from system methods. - -## Defining search methods -- Search methods must be RDF. They must be in turtle if added to the `prez/reference_data/search_methods` directory. -- Declare a class of `prez:SearchMethod` -- Have the following predicates, with objects as described: - - `dcterms:identifier` - a unique identifier for the search method used in the query string argument. - - `rdfs:label` - a name for the search method. - - `rdf:value` - a SPARQL SELECT query in the form described below: - -### SPARQL SELECT query format -Search SPARQL queries MUST: - -- **use fully qualified URIs (i.e. no namespace prefixes are allowed). This is because simple string concatenation is used to insert the search query as a subquery in a query which gathers additional context for search results.** -- return search results bound to the `?search_result_uri` variable. This is because the search method is used as a -sub-select in an object listing query which expects this variable. -- accept a search term using `$TERM` in the query. This will be substituted for the search term provided by the user. - - -Search SPARQL queries SHOULD: - -- include a LIMIT clause by including `$LIMIT` to limit the number of results returned. Prez will default this limit to -20 results if a LIMIT is not specified by users. - -Search SPARQL queries MAY: - -- return search results with the following variables bound: - - `?weight` - a float value representing the weight of the search result; with higher values being more relevant - - `?predicate` - the predicate (of the triple) the search result was found on. (Full text search can search across multiple predicates in - a group. This variable can be used to distinguish which predicate the search result was found on.) - - `?match` The (full) literal value of the object for the search result. - -Example query snippet: - -```sparql -SELECT DISTINCT ?search_result_uri ?predicate ?match - WHERE { ?search_result_uri ?predicate ?match . - FILTER REGEX(?match, "^$TERM$$", "i") - } - } LIMIT $LIMIT -``` - -## Search Result Responses -Search results are of the form: - -```turtle -PREFIX prez: - a prez:SearchResult ; - prez:weight ; - prez:predicate ; - prez:match ; - ; - ... -``` diff --git a/prez/reference_data/search_methods/search_skos_preflabel.ttl b/prez/reference_data/search_methods/search_skos_preflabel.ttl deleted file mode 100644 index ef1e293a..00000000 --- a/prez/reference_data/search_methods/search_skos_preflabel.ttl +++ /dev/null @@ -1,35 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . - -prez:skosWeighted a prez:SearchMethod ; - dcterms:identifier "skosPrefLabel" ; - rdfs:label "SKOS PrefLabel Search"@en ; - rdf:value """ - {{ - SELECT DISTINCT ?search_result_uri ?match (SUM(?w) AS ?weight) - WHERE {{ - {{ # exact match on a prefLabel always wins - ?search_result_uri a ; - ?match ; - ||^ ?cs . - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - BIND (50 AS ?w) - FILTER REGEX(?match, "^$TERM$$", "i") - }} - UNION - {{ - ?search_result_uri a ; - ?match ; - ||^ ?cs . - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - BIND (10 AS ?w) - FILTER REGEX(?match, "$TERM", "i") - }} - }} - GROUP BY ?cs ?search_result_uri ?match - }} - """. diff --git a/prez/reference_data/search_methods/search_skos_weighted.ttl b/prez/reference_data/search_methods/search_skos_weighted.ttl deleted file mode 100644 index c1241a91..00000000 --- a/prez/reference_data/search_methods/search_skos_weighted.ttl +++ /dev/null @@ -1,63 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . - -prez:skosWeighted a prez:SearchMethod ; - dcterms:identifier "skosWeighted" ; - rdfs:label "SKOS Weighted Search"@en ; - rdf:value """ - {{ - SELECT DISTINCT ?search_result_uri ?match (SUM(?w) AS ?weight) - WHERE {{ - {{ # exact match on a prefLabel always wins - ?search_result_uri a ; - ?pl . - BIND (50 AS ?w) - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?pl, "^$TERM$$", "i") - }} - UNION - {{ - ?search_result_uri a ; - ?pl . - BIND (10 AS ?w) - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?pl, "$TERM", "i") - }} - UNION - {{ - ?search_result_uri a ; - ?al ; - ?pl . - BIND (5 AS ?w) - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?al, "$TERM", "i") - }} - UNION - {{ - ?search_result_uri a ; - ?hl ; - ?pl . - BIND (5 AS ?w) - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?hl, "$TERM", "i") - }} - UNION - {{ - ?search_result_uri a ; - ?d ; - ?pl . - BIND (1 AS ?w) - $FOCUS_TO_FILTER - $FILTER_TO_FOCUS - FILTER REGEX(?d, "$TERM", "i") - }} - }} - GROUP BY ?search_result_uri ?pl ?match - }} - """ . diff --git a/prez/renderers/csv_renderer.py b/prez/renderers/csv_renderer.py old mode 100644 new mode 100755 index 5510610b..3d001f94 --- a/prez/renderers/csv_renderer.py +++ b/prez/renderers/csv_renderer.py @@ -1,5 +1,5 @@ -import io import csv +import io def render_csv_dropdown(rows: list[dict]) -> io.StringIO: diff --git a/prez/renderers/json_renderer.py b/prez/renderers/json_renderer.py old mode 100644 new mode 100755 index 602c15f9..a78dd2a1 --- a/prez/renderers/json_renderer.py +++ b/prez/renderers/json_renderer.py @@ -1,15 +1,11 @@ -from itertools import chain - -from rdflib import Graph, URIRef, RDF, SH, Literal +from rdflib import Graph, URIRef, RDF, SH from rdflib.term import Node from prez.cache import profiles_graph_cache from prez.reference_data.prez_ns import ALTREXT -from prez.sparql.objects_listings import get_listing_predicates -class NotFoundError(Exception): - ... +class NotFoundError(Exception): ... def _get_resource_iri(graph: Graph, profile_graph: Graph, profile: URIRef) -> Node: diff --git a/prez/renderers/renderer.py b/prez/renderers/renderer.py old mode 100644 new mode 100755 index 5a4faf00..0e765e8f --- a/prez/renderers/renderer.py +++ b/prez/renderers/renderer.py @@ -1,26 +1,22 @@ import io import json import logging -from typing import Optional +import time -from connegp import RDF_MEDIATYPES, RDF_SERIALIZER_TYPES_MAP from fastapi import status from fastapi.exceptions import HTTPException from fastapi.responses import StreamingResponse -from rdflib import Graph, URIRef, Namespace, RDF -from starlette.requests import Request -from starlette.responses import Response +from rdflib import Graph, URIRef, RDF -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.models.profiles_item import ProfileItem +from prez.cache import prefix_graph from prez.renderers.csv_renderer import render_csv_dropdown from prez.renderers.json_renderer import render_json_dropdown, NotFoundError -from prez.services.curie_functions import get_curie_id_for_uri -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import ( - generate_item_construct, +from prez.repositories import Repo +from prez.services.annotations import ( get_annotation_properties, ) +from prez.services.connegp_service import RDF_MEDIATYPES, RDF_SERIALIZER_TYPES_MAP +from prez.services.curie_functions import get_curie_id_for_uri log = logging.getLogger(__name__) @@ -32,6 +28,7 @@ async def return_from_graph( profile_headers, selected_class: URIRef, repo: Repo, + system_repo: Repo, ): profile_headers["Content-Disposition"] = "inline" @@ -55,9 +52,9 @@ async def return_from_graph( filename = selected_class.split("#")[-1].split("/")[-1] stream = render_csv_dropdown(jsonld_data["@graph"]) response = StreamingResponse(stream, media_type=mediatype) - response.headers[ - "Content-Disposition" - ] = f"attachment;filename={filename}.csv" + response.headers["Content-Disposition"] = ( + f"attachment;filename={filename}.csv" + ) return response # application/json @@ -70,8 +67,8 @@ async def return_from_graph( else: if "anot+" in mediatype: non_anot_mediatype = mediatype.replace("anot+", "") - profile_headers['Content-Type'] = non_anot_mediatype - graph = await return_annotated_rdf(graph, profile, repo) + graph = await return_annotated_rdf(graph, repo, system_repo) + graph.namespace_manager = prefix_graph.namespace_manager content = io.BytesIO( graph.serialize(format=non_anot_mediatype, encoding="utf-8") ) @@ -84,7 +81,7 @@ async def return_from_graph( ) -async def return_rdf(graph, mediatype, profile_headers): +async def return_rdf(graph: Graph, mediatype, profile_headers): RDF_SERIALIZER_TYPES_MAP["text/anot+turtle"] = "turtle" obj = io.BytesIO( graph.serialize( @@ -95,77 +92,16 @@ async def return_rdf(graph, mediatype, profile_headers): return StreamingResponse(content=obj, media_type=mediatype, headers=profile_headers) -async def get_annotations_graph(graph, cache, repo): - queries_for_uncached, annotations_graph = await get_annotation_properties(graph) - - if queries_for_uncached is None: - anots_from_triplestore = Graph() - else: - anots_from_triplestore, _ = await repo.send_queries([queries_for_uncached], []) - - if len(anots_from_triplestore) > 1: - annotations_graph += anots_from_triplestore - cache += anots_from_triplestore - - return annotations_graph - - async def return_annotated_rdf( graph: Graph, - profile, - repo, -) -> Graph: - from prez.cache import tbox_cache - - cache = tbox_cache - queries_for_uncached, annotations_graph = await get_annotation_properties(graph) - anots_from_triplestore, _ = await repo.send_queries([queries_for_uncached], []) - if len(anots_from_triplestore) > 0: - annotations_graph += anots_from_triplestore - cache += anots_from_triplestore - - previous_triples_count = len(graph) - - # Expand the graph with annotations specified in the profile until no new statements are added. - while True: - graph += await get_annotations_graph(graph, cache, repo) - if len(graph) == previous_triples_count: - break - previous_triples_count = len(graph) - - graph.bind("prez", "https://prez.dev/") - return graph - - -async def return_profiles( - classes: frozenset, repo: Repo, - request: Optional[Request] = None, - prof_and_mt_info: Optional[ProfilesMediatypesInfo] = None, -) -> Response: - from prez.cache import profiles_graph_cache - - if not prof_and_mt_info: - prof_and_mt_info = ProfilesMediatypesInfo(request=request, classes=classes) - if not request: - request = prof_and_mt_info.request - items = [ - ProfileItem(uri=str(uri), url_path=str(request.url.path)) - for uri in prof_and_mt_info.avail_profile_uris - ] - queries = [ - generate_item_construct(profile, URIRef("http://kurrawong.net/profile/prez")) - for profile in items - ] - g = Graph(bind_namespaces="rdflib") - g.bind("altr-ext", Namespace("http://www.w3.org/ns/dx/connegp/altr-ext#")) - for q in queries: - g += profiles_graph_cache.query(q) - return await return_from_graph( - g, - prof_and_mt_info.mediatype, - prof_and_mt_info.profile, - prof_and_mt_info.profile_headers, - prof_and_mt_info.selected_class, - repo, + system_repo: Repo, +) -> Graph: + t_start = time.time() + annotations_graph = await get_annotation_properties(graph, repo, system_repo) + # get annotations for annotations - no need to do this recursively + annotations_graph += await get_annotation_properties( + annotations_graph, repo, system_repo ) + log.debug(f"Time to get annotations: {time.time() - t_start}") + return graph.__iadd__(annotations_graph) diff --git a/prez/repositories/__init__.py b/prez/repositories/__init__.py new file mode 100755 index 00000000..42f4690f --- /dev/null +++ b/prez/repositories/__init__.py @@ -0,0 +1,6 @@ +from .base import Repo +from .oxrdflib import OxrdflibRepo +from .pyoxigraph import PyoxigraphRepo +from .remote_sparql import RemoteSparqlRepo + +__all__ = ["Repo", "OxrdflibRepo", "PyoxigraphRepo", "RemoteSparqlRepo"] diff --git a/prez/repositories/base.py b/prez/repositories/base.py new file mode 100755 index 00000000..14dfe073 --- /dev/null +++ b/prez/repositories/base.py @@ -0,0 +1,52 @@ +import asyncio +import logging +from abc import ABC, abstractmethod +from typing import List +from typing import Tuple + +from rdflib import Namespace, Graph, URIRef + +PREZ = Namespace("https://prez.dev/") + +log = logging.getLogger(__name__) + + +class Repo(ABC): + @abstractmethod + async def rdf_query_to_graph(self, query: str): + pass + + @abstractmethod + async def tabular_query_to_table(self, query: str, context: URIRef = None): + pass + + async def send_queries( + self, + rdf_queries: List[str], + tabular_queries: List[Tuple[URIRef | None, str]] = None, + ) -> Tuple[Graph, List]: + # Common logic to send both query types in parallel + results = await asyncio.gather( + *[self.rdf_query_to_graph(query) for query in rdf_queries if query], + *[ + self.tabular_query_to_table(query, context) + for context, query in tabular_queries + if query + ], + ) + # from prez.cache import prefix_graph + # g = Graph(namespace_manager=prefix_graph.namespace_manager) #TODO find where else this can go. significantly degrades performance + g = Graph() + tabular_results = [] + for result in results: + if isinstance(result, Graph): + g += result + else: + tabular_results.append(result) + return g, tabular_results + + @abstractmethod + def sparql( + self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "GET" + ): + pass diff --git a/prez/repositories/oxrdflib.py b/prez/repositories/oxrdflib.py new file mode 100755 index 00000000..65d8cfd5 --- /dev/null +++ b/prez/repositories/oxrdflib.py @@ -0,0 +1,44 @@ +import logging + +from fastapi.concurrency import run_in_threadpool +from rdflib import Namespace, Graph, URIRef, Literal, BNode + +from prez.repositories.base import Repo + +PREZ = Namespace("https://prez.dev/") + +log = logging.getLogger(__name__) + + +class OxrdflibRepo(Repo): + def __init__(self, oxrdflib_graph: Graph): + self.oxrdflib_graph = oxrdflib_graph + + def _sync_rdf_query_to_graph(self, query: str) -> Graph: + results = self.oxrdflib_graph.query(query) + return results.graph + + def _sync_tabular_query_to_table(self, query: str, context: URIRef = None): + results = self.oxrdflib_graph.query(query) + reformatted_results = [] + for result in results: + reformatted_result = {} + for var in results.vars: + binding = result[var] + if binding: + str_type = self._str_type_for_rdflib_type(binding) + reformatted_result[str(var)] = {"type": str_type, "value": binding} + reformatted_results.append(reformatted_result) + return context, reformatted_results + + async def rdf_query_to_graph(self, query: str) -> Graph: + return await run_in_threadpool(self._sync_rdf_query_to_graph, query) + + async def tabular_query_to_table(self, query: str, context: URIRef = None): + return await run_in_threadpool( + self._sync_tabular_query_to_table, query, context + ) + + def _str_type_for_rdflib_type(self, instance): + map = {URIRef: "uri", BNode: "bnode", Literal: "literal"} + return map[type(instance)] diff --git a/prez/repositories/pyoxigraph.py b/prez/repositories/pyoxigraph.py new file mode 100755 index 00000000..520ac127 --- /dev/null +++ b/prez/repositories/pyoxigraph.py @@ -0,0 +1,101 @@ +import logging + +import pyoxigraph +from fastapi.concurrency import run_in_threadpool +from rdflib import Namespace, Graph, URIRef + +from prez.exceptions.model_exceptions import InvalidSPARQLQueryException +from prez.repositories.base import Repo + +PREZ = Namespace("https://prez.dev/") + +log = logging.getLogger(__name__) + + +class PyoxigraphRepo(Repo): + def __init__(self, pyoxi_store: pyoxigraph.Store): + self.pyoxi_store = pyoxi_store + + def _handle_query_solution_results( + self, results: pyoxigraph.QuerySolutions + ) -> dict: + """Organise the query results into format serializable by FastAPIs JSONResponse.""" + variables = results.variables + results_dict = {"head": {"vars": [v.value for v in results.variables]}} + results_list = [] + for result in results: + result_dict = {} + for var in variables: + binding = result[var] + if binding: + binding_type = self._pyoxi_result_type(binding) + result_dict[str(var)[1:]] = { + "type": binding_type, + "value": binding.value, + } + results_list.append(result_dict) + results_dict["results"] = {"bindings": results_list} + return results_dict + + @staticmethod + def _handle_query_triples_results(results: pyoxigraph.QueryTriples) -> Graph: + """Parse the query results into a Graph object.""" + ntriples = " .\n".join([str(r) for r in list(results)]) + " ." + g = Graph() + g.bind("prez", URIRef("https://prez.dev/")) + if ntriples == " .": + return g + return g.parse(data=ntriples, format="ntriples") + + def _sync_rdf_query_to_graph(self, query: str) -> Graph: + results = self.pyoxi_store.query(query) + result_graph = self._handle_query_triples_results(results) + return result_graph + + def _sync_tabular_query_to_table(self, query: str, context: URIRef = None) -> tuple: + results = self.pyoxi_store.query(query) + results_dict = self._handle_query_solution_results(results) + # only return the bindings from the results. + return context, results_dict["results"]["bindings"] + + def _sparql(self, query: str) -> dict | Graph | bool: + """Submit a sparql query to the pyoxigraph store and return the formatted results.""" + try: + results = self.pyoxi_store.query(query) + except SyntaxError as e: + raise InvalidSPARQLQueryException(e.msg) + if isinstance(results, pyoxigraph.QuerySolutions): # a SELECT query result + results_dict = self._handle_query_solution_results(results) + return results_dict + elif isinstance(results, pyoxigraph.QueryTriples): # a CONSTRUCT query result + result_graph = self._handle_query_triples_results(results) + return result_graph + elif isinstance(results, bool): + results_dict = {"head": {}, "boolean": results} + return results_dict + else: + raise TypeError(f"Unexpected result class {type(results)}") + + async def rdf_query_to_graph(self, query: str) -> Graph: + return await run_in_threadpool(self._sync_rdf_query_to_graph, query) + + async def tabular_query_to_table(self, query: str, context: URIRef = None) -> list: + return await run_in_threadpool( + self._sync_tabular_query_to_table, query, context + ) + + async def sparql( + self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "" + ) -> list | Graph | bool: + return self._sparql(query) + + @staticmethod + def _pyoxi_result_type(term) -> str: + if isinstance(term, pyoxigraph.Literal): + return "literal" + elif isinstance(term, pyoxigraph.NamedNode): + return "uri" + elif isinstance(term, pyoxigraph.BlankNode): + return "bnode" + else: + raise ValueError(f"Unknown type: {type(term)}") diff --git a/prez/repositories/remote_sparql.py b/prez/repositories/remote_sparql.py new file mode 100755 index 00000000..5053d268 --- /dev/null +++ b/prez/repositories/remote_sparql.py @@ -0,0 +1,71 @@ +import logging +from urllib.parse import quote_plus + +import httpx +from rdflib import Namespace, Graph, URIRef + +from prez.config import settings +from prez.repositories.base import Repo + +PREZ = Namespace("https://prez.dev/") + +log = logging.getLogger(__name__) + + +class RemoteSparqlRepo(Repo): + def __init__(self, async_client: httpx.AsyncClient): + self.async_client = async_client + + async def _send_query(self, query: str, mediatype="text/turtle"): + """Sends a SPARQL query asynchronously. + Args: query: str: A SPARQL query to be sent asynchronously. + Returns: httpx.Response: A httpx.Response object + """ + query_rq = self.async_client.build_request( + "POST", + url=settings.sparql_endpoint, + headers={"Accept": mediatype}, + data={"query": query}, + ) + response = await self.async_client.send(query_rq, stream=True) + return response + + async def rdf_query_to_graph(self, query: str) -> Graph: + """ + Sends a SPARQL query asynchronously and parses the response into an RDFLib Graph. + Args: query: str: A SPARQL query to be sent asynchronously. + Returns: rdflib.Graph: An RDFLib Graph object + """ + response = await self._send_query(query) + g = Graph() + await response.aread() + return g.parse(data=response.text, format="turtle") + + async def tabular_query_to_table(self, query: str, context: URIRef = None): + """ + Sends a SPARQL query asynchronously and parses the response into a table format. + The optional context parameter allows an identifier to be supplied with the query, such that multiple results can be + distinguished from each other. + """ + response = await self._send_query(query, "application/sparql-results+json") + await response.aread() + return context, response.json()["results"]["bindings"] + + async def sparql( + self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "GET" + ): + """Sends a starlette Request object (containing a SPARQL query in the URL parameters) to a proxied SPARQL + endpoint.""" + # TODO: This only supports SPARQL GET requests because the query is sent as a query parameter. + + query_escaped_as_bytes = f"query={quote_plus(query)}".encode("utf-8") + + # TODO: Global app settings should be passed in as a function argument. + url = httpx.URL(url=settings.sparql_endpoint, query=query_escaped_as_bytes) + headers = [] + for header in raw_headers: + if header[0] != b"host": + headers.append(header) + headers.append((b"host", str(url.host).encode("utf-8"))) + rp_req = self.async_client.build_request(method, url, headers=headers) + return await self.async_client.send(rp_req, stream=True) diff --git a/prez/response.py b/prez/response.py old mode 100644 new mode 100755 diff --git a/prez/routers/api_extras_examples.py b/prez/routers/api_extras_examples.py new file mode 100644 index 00000000..8fe404c2 --- /dev/null +++ b/prez/routers/api_extras_examples.py @@ -0,0 +1,62 @@ +import json +from pathlib import Path + +responses_json = Path(__file__).parent / "rdf_response_examples.json" +responses = json.loads(responses_json.read_text()) +cql_json_examples_dir = Path(__file__).parent.parent / "examples/cql" +cql_examples = { + file.stem: {"summary": file.stem, "value": json.loads(file.read_text())} + for file in cql_json_examples_dir.glob("*.json") +} + + +def create_path_param(name: str, description: str, example: str): + return { + "in": "path", + "name": name, + "required": True, + "schema": { + "type": "string", + "example": example, + }, + "description": description, + } + + +path_parameters = { + "collection-listing": [ + create_path_param("catalogId", "Curie of the Catalog ID.", "bblck-ctlg:bblocks") + ], + "item-listing": [ + create_path_param( + "catalogId", "Curie of the Catalog ID.", "bblck-ctlg:bblocks" + ), + create_path_param( + "collectionId", "Curie of the Collection ID.", "bblck-vcbs:api" + ), + ], + "top-concepts": [ + create_path_param("parent_curie", "Parent CURIE.", "exm:SchemingConceptScheme") + ], + "narrowers": [ + create_path_param("parent_curie", "Parent CURIE.", "exm:TopLevelConcept") + ], + "profile-object": [ + create_path_param("profile_curie", "Profile CURIE.", "prez:OGCItemProfile") + ], + "catalog-object": [ + create_path_param("catalogId", "Catalog ID.", "bblck-ctlg:bblocks") + ], + "collection-object": [ + create_path_param("catalogId", "Catalog ID.", "bblck-ctlg:bblocks"), + create_path_param("collectionId", "Collection ID.", "bblck-vcbs:api"), + ], + "item-object": [ + create_path_param("catalogId", "Catalog ID.", "bblck-ctlg:bblocks"), + create_path_param("collectionId", "Collection ID.", "bblck-vcbs:api"), + create_path_param("itemId", "Item ID.", "bblcks:ogc.unstable.sosa"), + ], +} +openapi_extras = { + name: {"parameters": params} for name, params in path_parameters.items() +} diff --git a/prez/routers/catprez.py b/prez/routers/catprez.py deleted file mode 100644 index 5f318cf8..00000000 --- a/prez/routers/catprez.py +++ /dev/null @@ -1,95 +0,0 @@ -from typing import Optional - -from fastapi import APIRouter, Request, Depends -from starlette.responses import PlainTextResponse - -from prez.dependencies import get_repo, get_system_repo -from prez.services.objects import object_function -from prez.services.listings import listing_function -from prez.services.curie_functions import get_uri_for_curie_id -from prez.sparql.methods import Repo - -router = APIRouter(tags=["CatPrez"]) - - -@router.get("/c", summary="CatPrez Home") -async def catprez_profiles(): - return PlainTextResponse("CatPrez Home") - - -@router.get( - "/c/catalogs", - summary="List Catalogs", - name="https://prez.dev/endpoint/catprez/catalog-listing", -) -async def catalog_list( - request: Request, - page: Optional[int] = 1, - per_page: Optional[int] = 20, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await listing_function( - request=request, - page=page, - per_page=per_page, - repo=repo, - system_repo=system_repo, - ) - - -@router.get( - "/c/catalogs/{catalog_curie}/resources", - summary="List Resources", - name="https://prez.dev/endpoint/catprez/resource-listing", -) -async def resource_list( - request: Request, - catalog_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: Optional[int] = 1, - per_page: Optional[int] = 20, -): - catalog_uri = get_uri_for_curie_id(catalog_curie) - return await listing_function( - request=request, - page=page, - per_page=per_page, - repo=repo, - system_repo=system_repo, - uri=catalog_uri, - ) - - -@router.get( - "/c/catalogs/{catalog_curie}/resources/{resource_curie}", - summary="Get Resource", - name="https://prez.dev/endpoint/catprez/resource", -) -async def resource_item( - request: Request, - catalog_curie: str, - resource_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function( - request=request, object_curie=resource_curie, repo=repo, system_repo=system_repo - ) - - -@router.get( - "/c/catalogs/{catalog_curie}", - summary="Get Catalog", - name="https://prez.dev/endpoint/catprez/catalog", -) -async def catalog_item( - request: Request, - catalog_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function( - request=request, object_curie=catalog_curie, repo=repo, system_repo=system_repo - ) diff --git a/prez/routers/cql.py b/prez/routers/cql.py deleted file mode 100644 index 9d014351..00000000 --- a/prez/routers/cql.py +++ /dev/null @@ -1,98 +0,0 @@ -from typing import Optional, List - -from fastapi import APIRouter, Request -from fastapi import Form -from fastapi.responses import JSONResponse, RedirectResponse -from rdflib import Namespace -from prez.config import Settings - -PREZ = Namespace("https://prez.dev/") - -router = APIRouter(tags=["CQL"]) - - -# # CQL search_methods -# if "SpacePrez" in settings.ENABLED_PREZS: -# dataset_sparql_result, collection_sparql_result = await asyncio.gather( -# list_datasets(), -# list_collections(), -# ) -# datasets = [ -# {"id": result["id"]["value"], "title": result["label"]["value"]} -# for result in dataset_sparql_result -# ] -# collections = [ -# {"id": result["id"]["value"], "title": result["label"]["value"]} -# for result in collection_sparql_result -# ] -# return - -# top-level queryables -@router.get( - "/queryables", - summary="List available query parameters for CQL search_methods globally", -) -async def queryables( - request: Request, -): - settings = Settings() - - """Returns a list of available properties to query against using CQL search_methods globally""" - content = { - "$schema": "https://json-schema.org/draft/2019-09/schema", - "$id": f"{request.url.remove_query_params(keys=request.query_params.keys())}", - "type": "object", - } - - properties = {key: value for key, value in settings.cql_props.items()} - for value in properties.values(): - value.pop("qname", None) - - content["properties"] = properties - content["title"] = settings.spaceprez_title - - if settings.spaceprez_desc != "": - content["description"] = settings.spaceprez_desc - - return JSONResponse(content=content) - - -# top-level CQL search_methods form -@router.get( - "/cql", - summary="Endpoint to POST CQL search_methods form data to", -) -async def cql( - request: Request, - title: Optional[str] = Form(None), - desc: Optional[str] = Form(None), - filter: Optional[str] = Form(None), - datasets: Optional[List[str]] = Form(None), - collections: Optional[List[str]] = Form(None), -): - """Handles form data from a CQL search_methods form & redirects to /items containing the filter param""" - filter_params = [] - if title is not None: - filter_params.append(f'title LIKE "{title}"') - if desc is not None: - filter_params.append(f'desc LIKE "{desc}"') - if filter is not None: - filter_params.append(filter) - if datasets is not None: - d_set = set() - for d in datasets: - if "," in d: - d_set.update(d.split(",")) - else: - d_set.add(d) - if collections is not None: - coll_set = set() - for coll in collections: - if "," in coll: - coll_set.update(coll.split(",")) - else: - coll_set.add(coll) - return RedirectResponse( - url=f'/items?filter={" AND ".join(filter_params)}{"&dataset=" + ",".join(d_set) if datasets is not None else ""}{"&collection=" + ",".join(coll_set) if collections is not None else ""}', - status_code=302, - ) diff --git a/prez/routers/identifier.py b/prez/routers/identifier.py old mode 100644 new mode 100755 index f1c6cc0f..67639c01 --- a/prez/routers/identifier.py +++ b/prez/routers/identifier.py @@ -3,9 +3,9 @@ from rdflib import URIRef from rdflib.term import _is_valid_uri -from prez.dependencies import get_repo +from prez.dependencies import get_data_repo from prez.services.curie_functions import get_uri_for_curie_id, get_curie_id_for_uri -from prez.queries.identifier import get_foaf_homepage_query +from prez.services.query_generation.identifier import get_foaf_homepage_query router = APIRouter(tags=["Identifier Resolution"]) @@ -19,7 +19,7 @@ }, ) async def get_identifier_redirect_route( - iri: str, request: Request, repo=Depends(get_repo) + iri: str, request: Request, repo=Depends(get_data_repo) ): """ The `iri` query parameter is used to return a redirect response with the value from the `foaf:homepage` lookup. @@ -74,9 +74,9 @@ def get_curie_route(iri: str): status.HTTP_500_INTERNAL_SERVER_ERROR: {"content": {"application/json": {}}}, }, ) -def get_iri_route(curie: str): +async def get_iri_route(curie: str): try: - return get_uri_for_curie_id(curie) + return await get_uri_for_curie_id(curie) except ValueError as err: raise HTTPException( status.HTTP_400_BAD_REQUEST, f"Invalid input '{curie}'. {err}" diff --git a/prez/routers/management.py b/prez/routers/management.py old mode 100644 new mode 100755 index 98478136..ca607078 --- a/prez/routers/management.py +++ b/prez/routers/management.py @@ -1,6 +1,7 @@ import logging +import pickle -from connegp import RDF_MEDIATYPES +from aiocache import caches from fastapi import APIRouter from rdflib import BNode from rdflib import Graph, URIRef, Literal @@ -9,11 +10,10 @@ from starlette.responses import PlainTextResponse from prez.cache import endpoints_graph_cache -from prez.cache import tbox_cache from prez.config import settings from prez.reference_data.prez_ns import PREZ from prez.renderers.renderer import return_rdf -from prez.services.app_service import add_common_context_ontologies_to_tbox_cache +from prez.services.connegp_service import RDF_MEDIATYPES router = APIRouter(tags=["Management"]) log = logging.getLogger(__name__) @@ -28,17 +28,22 @@ async def index(): g.add((URIRef(settings.system_uri), PREZ.version, Literal(settings.prez_version))) g += endpoints_graph_cache g += await return_annotation_predicates() - log.info(f"Populated API info") return await return_rdf(g, "text/turtle", profile_headers={}) @router.get("/purge-tbox-cache", summary="Reset Tbox Cache") async def purge_tbox_cache(): """Purges the tbox cache, then re-adds annotations from common ontologies Prez has a copy of - (reference_data/context_ontologies).""" - tbox_cache.remove((None, None, None)) - await add_common_context_ontologies_to_tbox_cache() - return PlainTextResponse("Tbox cache purged and reset to startup state") + (reference_data/annotations).""" + cache = caches.get("default") + cache_size = len(cache._cache) + result = await cache.clear() + if result and cache_size > 0: + return PlainTextResponse(f"{cache_size} terms removed from tbox cache.") + elif result and cache_size == 0: + return PlainTextResponse("Tbox cache already empty.") + elif not result: + raise Exception("Internal Error: Tbox cache not purged.") @router.get("/tbox-cache", summary="Show the Tbox Cache") @@ -47,7 +52,24 @@ async def return_tbox_cache(request: Request): mediatype = request.headers.get("Accept").split(",")[0] if not mediatype or mediatype not in RDF_MEDIATYPES: mediatype = "text/turtle" - return await return_rdf(tbox_cache, mediatype, profile_headers={}) + cache = caches.get("default") + cache_g = Graph() + cache_dict = cache._cache + for subject, pred_obj_bytes in cache_dict.items(): + # use pickle to deserialize the pred_obj_bytes + pred_obj = pickle.loads(pred_obj_bytes) + for pred, obj in pred_obj: + if ( + pred_obj + ): # cache entry for a URI can be empty - i.e. no annotations found for URI + # Add the expanded triple (subject, predicate, object) to 'annotations_g' + cache_g.add((subject, pred, obj)) + return await return_rdf(cache_g, mediatype, profile_headers={}) + + +@router.get("/health") +async def health_check(): + return {"status": "ok"} async def return_annotation_predicates(): @@ -56,11 +78,18 @@ async def return_annotation_predicates(): """ g = Graph() g.bind("prez", "https://prez.dev/") - label_list_bn, description_list_bn, provenance_list_bn = BNode(), BNode(), BNode() + label_list_bn, description_list_bn, provenance_list_bn, other_list_bn = ( + BNode(), + BNode(), + BNode(), + BNode(), + ) g.add((PREZ.AnnotationPropertyList, PREZ.labelList, label_list_bn)) g.add((PREZ.AnnotationPropertyList, PREZ.descriptionList, description_list_bn)) g.add((PREZ.AnnotationPropertyList, PREZ.provenanceList, provenance_list_bn)) + g.add((PREZ.AnnotationPropertyList, PREZ.otherList, other_list_bn)) Collection(g, label_list_bn, settings.label_predicates) Collection(g, description_list_bn, settings.description_predicates) Collection(g, provenance_list_bn, settings.provenance_predicates) + Collection(g, other_list_bn, settings.other_predicates) return g diff --git a/prez/routers/object.py b/prez/routers/object.py deleted file mode 100644 index 96728780..00000000 --- a/prez/routers/object.py +++ /dev/null @@ -1,97 +0,0 @@ -from string import Template -from typing import FrozenSet, Optional - -from fastapi import APIRouter, Request, HTTPException, status, Query -from fastapi import Depends -from rdflib import Graph, Literal, URIRef, PROF, DCTERMS -from starlette.responses import PlainTextResponse - -from prez.cache import ( - endpoints_graph_cache, - profiles_graph_cache, - links_ids_graph_cache, -) -from prez.dependencies import get_repo, get_system_repo -from prez.models.listing import ListingModel -from prez.models.object_item import ObjectItem -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.queries.object import object_inbound_query, object_outbound_query -from prez.reference_data.prez_ns import PREZ -from prez.renderers.renderer import return_from_graph, return_profiles -from prez.routers.identifier import get_iri_route -from prez.services.curie_functions import get_curie_id_for_uri, get_uri_for_curie_id -from prez.services.model_methods import get_classes -from prez.services.objects import object_function -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import ( - get_endpoint_template_queries, - generate_relationship_query, - generate_item_construct, - generate_listing_construct, - generate_listing_count_construct, -) - -router = APIRouter(tags=["Object"]) - - -@router.get( - "/count", summary="Get object's statement count", response_class=PlainTextResponse -) -async def count_route( - curie: str, - inbound: str = Query( - None, - examples={ - "skos:inScheme": { - "summary": "skos:inScheme", - "value": "http://www.w3.org/2004/02/skos/core#inScheme", - }, - "skos:topConceptOf": { - "summary": "skos:topConceptOf", - "value": "http://www.w3.org/2004/02/skos/core#topConceptOf", - }, - "empty": {"summary": "Empty", "value": None}, - }, - ), - outbound: str = Query( - None, - examples={ - "empty": {"summary": "Empty", "value": None}, - "skos:hasTopConcept": { - "summary": "skos:hasTopConcept", - "value": "http://www.w3.org/2004/02/skos/core#hasTopConcept", - }, - }, - ), - repo=Depends(get_repo), -): - """Get an Object's statements count based on the inbound or outbound predicate""" - iri = get_iri_route(curie) - - if inbound is None and outbound is None: - raise HTTPException( - status.HTTP_400_BAD_REQUEST, - "At least 'inbound' or 'outbound' is supplied a valid IRI.", - ) - - if inbound and outbound: - raise HTTPException( - status.HTTP_400_BAD_REQUEST, - "Only provide one value for either 'inbound' or 'outbound', not both.", - ) - - if inbound: - query = object_inbound_query(iri, inbound) - _, rows = await repo.send_queries([], [(None, query)]) - for row in rows[0][1]: - return row["count"]["value"] - - query = object_outbound_query(iri, outbound) - _, rows = await repo.send_queries([], [(None, query)]) - for row in rows[0][1]: - return row["count"]["value"] - - -@router.get("/object", summary="Object", name="https://prez.dev/endpoint/object") -async def object_route(request: Request, repo=Depends(get_repo), system_repo=Depends(get_system_repo)): - return await object_function(request, repo=repo, system_repo=system_repo) diff --git a/prez/routers/ogc_router.py b/prez/routers/ogc_router.py new file mode 100755 index 00000000..8a3efb6a --- /dev/null +++ b/prez/routers/ogc_router.py @@ -0,0 +1,193 @@ +from fastapi import APIRouter, Depends +from sparql_grammar_pydantic import ConstructQuery + +from prez.dependencies import ( + get_data_repo, + get_system_repo, + generate_search_query, + cql_get_parser_dependency, + get_endpoint_nodeshapes, + get_negotiated_pmts, + get_profile_nodeshape, + get_endpoint_structure, + generate_concept_hierarchy_query, + cql_post_parser_dependency, +) +from prez.models.query_params import QueryParams +from prez.reference_data.prez_ns import EP, ONT, OGCE +from prez.repositories import Repo +from prez.routers.api_extras_examples import responses, cql_examples, openapi_extras +from prez.services.connegp_service import NegotiatedPMTs +from prez.services.listings import listing_function +from prez.services.objects import object_function +from prez.services.query_generation.concept_hierarchy import ConceptHierarchyQuery +from prez.services.query_generation.cql import CQLParser +from prez.services.query_generation.shacl import NodeShape + +router = APIRouter(tags=["ogcprez"]) + + +@router.get(path="/search", summary="Search", name=OGCE["search"], responses=responses) +@router.get( + "/profiles", + summary="List Profiles", + name=EP["system/profile-listing"], + responses=responses, +) +@router.get( + path="/cql", summary="CQL GET endpoint", name=OGCE["cql-get"], responses=responses +) +@router.get( + "/catalogs", + summary="Catalog Listing", + name=OGCE["catalog-listing"], + responses=responses, +) +@router.get( + "/catalogs/{catalogId}/collections", + summary="Collection Listing", + name=OGCE["collection-listing"], + openapi_extra=openapi_extras.get("collection-listing"), + responses=responses, +) +@router.get( + "/catalogs/{catalogId}/collections/{collectionId}/items", + summary="Item Listing", + name=OGCE["item-listing"], + openapi_extra=openapi_extras.get("item-listing"), + responses=responses, +) +@router.get( + "/concept-hierarchy/{parent_curie}/top-concepts", + summary="Top Concepts", + name=OGCE["top-concepts"], + openapi_extra=openapi_extras.get("top-concepts"), + responses=responses, +) +@router.get( + "/concept-hierarchy/{parent_curie}/narrowers", + summary="Narrowers", + name=OGCE["narrowers"], + openapi_extra=openapi_extras.get("narrowers"), + responses=responses, +) +async def listings( + query_params: QueryParams = Depends(), + endpoint_nodeshape: NodeShape = Depends(get_endpoint_nodeshapes), + pmts: NegotiatedPMTs = Depends(get_negotiated_pmts), + endpoint_structure: tuple[str, ...] = Depends(get_endpoint_structure), + profile_nodeshape: NodeShape = Depends(get_profile_nodeshape), + cql_parser: CQLParser = Depends(cql_get_parser_dependency), + search_query: ConstructQuery = Depends(generate_search_query), + concept_hierarchy_query: ConceptHierarchyQuery = Depends( + generate_concept_hierarchy_query + ), + data_repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), +): + return await listing_function( + data_repo=data_repo, + system_repo=system_repo, + endpoint_nodeshape=endpoint_nodeshape, + endpoint_structure=endpoint_structure, + search_query=search_query, + concept_hierarchy_query=concept_hierarchy_query, + cql_parser=cql_parser, + pmts=pmts, + profile_nodeshape=profile_nodeshape, + query_params=query_params, + original_endpoint_type=ONT["ListingEndpoint"], + ) + + +@router.post( + path="/cql", + summary="CQL POST endpoint", + name=OGCE["cql-post"], + openapi_extra={ + "requestBody": {"content": {"application/json": {"examples": cql_examples}}} + }, + responses=responses, +) +async def cql_post_listings( + query_params: QueryParams = Depends(), + endpoint_nodeshape: NodeShape = Depends(get_endpoint_nodeshapes), + pmts: NegotiatedPMTs = Depends(get_negotiated_pmts), + endpoint_structure: tuple[str, ...] = Depends(get_endpoint_structure), + profile_nodeshape: NodeShape = Depends(get_profile_nodeshape), + cql_parser: CQLParser = Depends(cql_post_parser_dependency), + search_query: ConstructQuery = Depends(generate_search_query), + data_repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), +): + return await listing_function( + data_repo=data_repo, + system_repo=system_repo, + endpoint_nodeshape=endpoint_nodeshape, + endpoint_structure=endpoint_structure, + search_query=search_query, + concept_hierarchy_query=None, + cql_parser=cql_parser, + pmts=pmts, + profile_nodeshape=profile_nodeshape, + query_params=query_params, + original_endpoint_type=ONT["ListingEndpoint"], + ) + + +######################################################################################################################## +# Object endpoints + +# 1: /object?uri= +# 2: /profiles/{profile_curie} +# 3: /catalogs/{catalogId} +# 4: /catalogs/{catalogId}/collections/{collectionId} +# 5: /catalogs/{catalogId}/collections/{collectionId}/items/{itemId} +######################################################################################################################## + + +@router.get( + path="/object", summary="Object", name=EP["system/object"], responses=responses +) +@router.get( + path="/profiles/{profile_curie}", + summary="Profile", + name=EP["system/profile-object"], + openapi_extra=openapi_extras.get("profile-object"), + responses=responses, +) +@router.get( + path="/catalogs/{catalogId}", + summary="Catalog Object", + name=OGCE["catalog-object"], + openapi_extra=openapi_extras.get("catalog-object"), + responses=responses, +) +@router.get( + path="/catalogs/{catalogId}/collections/{collectionId}", + summary="Collection Object", + name=OGCE["collection-object"], + openapi_extra=openapi_extras.get("collection-object"), + responses=responses, +) +@router.get( + path="/catalogs/{catalogId}/collections/{collectionId}/items/{itemId}", + summary="Item Object", + name=OGCE["item-object"], + openapi_extra=openapi_extras.get("item-object"), + responses=responses, +) +async def objects( + pmts: NegotiatedPMTs = Depends(get_negotiated_pmts), + endpoint_structure: tuple[str, ...] = Depends(get_endpoint_structure), + profile_nodeshape: NodeShape = Depends(get_profile_nodeshape), + data_repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), +): + return await object_function( + data_repo=data_repo, + system_repo=system_repo, + endpoint_structure=endpoint_structure, + pmts=pmts, + profile_nodeshape=profile_nodeshape, + ) diff --git a/prez/routers/profiles.py b/prez/routers/profiles.py deleted file mode 100644 index cbf5ba69..00000000 --- a/prez/routers/profiles.py +++ /dev/null @@ -1,47 +0,0 @@ -from fastapi import APIRouter, Request, Depends - -from prez.dependencies import get_repo, get_system_repo -from prez.services.objects import object_function -from prez.services.listings import listing_function - -router = APIRouter(tags=["Profiles"]) - - -@router.get( - "/profiles", - summary="List Profiles", - name="https://prez.dev/endpoint/profiles-listing", -) -@router.get( - "/s/profiles", - summary="SpacePrez Profiles", - name="https://prez.dev/endpoint/spaceprez-profiles-listing", -) -@router.get( - "/v/profiles", - summary="VocPrez Profiles", - name="https://prez.dev/endpoint/vocprez-profiles-listing", -) -@router.get( - "/c/profiles", - summary="CatPrez Profiles", - name="https://prez.dev/endpoint/catprez-profiles-listing", -) -async def profiles( - request: Request, - page: int = 1, - per_page: int = 20, - repo=Depends(get_system_repo), -): - return await listing_function( - request=request, page=page, per_page=per_page, repo=repo, system_repo=repo - ) - - -@router.get( - "/profiles/{profile_curie}", - summary="Profile", - name="https://prez.dev/endpoint/profile", -) -async def profile(request: Request, profile_curie: str, repo=Depends(get_system_repo)): - return await object_function(request, object_curie=profile_curie, repo=repo, system_repo=repo) diff --git a/prez/routers/rdf_response_examples.json b/prez/routers/rdf_response_examples.json new file mode 100644 index 00000000..0bd9f962 --- /dev/null +++ b/prez/routers/rdf_response_examples.json @@ -0,0 +1,34 @@ +{ + "200": { + "content": { + "application/ld+json": { + "example": { + "@id": "https://example.com/item/1", + "https://example.com/property": "value" + } + }, + "application/anot+ld+json": { + "example": { + "@context": { + "prez": "https://prez.dev/" + }, + "@id": "https://example.com/item/1", + "https://example.com/property": "value", + "prez:label": "Item One" + } + }, + "application/rdf+xml": { + "example": "\n\n \n value\n \n\n]]>" + }, + "text/anot+turtle": { + "example": "@prefix prez: .\n\n \n \"value\" ;\n prez:label \"Item One\" ." + }, + "text/turtle": { + "example": " \"value\" ." + }, + "application/sparql-query": { + "example": "CONSTRUCT { ?item ?value } WHERE { ?item ?value }" + } + } + } +} diff --git a/prez/routers/search.py b/prez/routers/search.py deleted file mode 100644 index 10c11567..00000000 --- a/prez/routers/search.py +++ /dev/null @@ -1,133 +0,0 @@ -import re - -from fastapi import APIRouter, Request, Depends -from rdflib import Literal, URIRef -from starlette.responses import PlainTextResponse - -from prez.cache import search_methods -from prez.config import settings -from prez.dependencies import get_repo, get_system_repo -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.reference_data.prez_ns import PREZ -from prez.renderers.renderer import return_from_graph -from prez.services.link_generation import _add_prez_links -from prez.services.curie_functions import get_uri_for_curie_id -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import generate_item_construct - -router = APIRouter(tags=["Search"]) - - -@router.get("/search", summary="Global Search") -async def search( - request: Request, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - term = request.query_params.get("term") - limit = request.query_params.get("limit", 20) - offset = request.query_params.get("offset", 0) - foc_2_filt, filt_2_foc = extract_qsa_params(request.query_params) - if not term: - return PlainTextResponse( - status_code=400, - content="A search_methods term must be provided as a query string argument (?term=)", - ) - selected_method = determine_search_method(request) - if Literal(selected_method) not in search_methods.keys(): - return PlainTextResponse( - status_code=400, - content=f'Search method "{selected_method}" not found. Available methods are: ' - f"{', '.join([str(m) for m in search_methods.keys()])}", - ) - search_query = search_methods[Literal(selected_method)].copy() - filter_to_focus_str = "" - focus_to_filter_str = "" - - if filt_2_foc: - for idx, filter_pair in enumerate(filt_2_foc, start=1): - filter_values = " ".join(f"<{f}>" for f in filter_pair[1].split(",")) - filter_to_focus_str += f"""?filter_to_focus_{idx} <{filter_pair[0]}> ?search_result_uri. - VALUES ?filter_to_focus_{idx} {{ {filter_values} }}""" - - if foc_2_filt: - for idx, filter_pair in enumerate(foc_2_filt, start=1): - filter_values = " ".join(f"<{f}>" for f in filter_pair[1].split(",")) - focus_to_filter_str += f"""?search_result_uri <{filter_pair[0]}> ?focus_to_filter_{idx}. - VALUES ?focus_to_filter_{idx} {{ {filter_values} }}""" - - predicates = ( - settings.label_predicates - + settings.description_predicates - + settings.provenance_predicates - ) - predicates_sparql_string = " ".join(f"<{p}>" for p in predicates) - search_query.populate_query( - term, - limit, - offset, - filter_to_focus_str, - focus_to_filter_str, - predicates_sparql_string, - ) - - full_query = generate_item_construct( - search_query, URIRef("https://prez.dev/profile/open") - ) - - graph, _ = await repo.send_queries([full_query], []) - graph.bind("prez", "https://prez.dev/") - - prof_and_mt_info = ProfilesMediatypesInfo( - request=request, classes=frozenset([PREZ.SearchResult]) - ) - if "anot+" in prof_and_mt_info.mediatype: - await _add_prez_links(graph, repo, system_repo) - - return await return_from_graph( - graph, - mediatype=prof_and_mt_info.mediatype, - profile=URIRef("https://prez.dev/profile/open"), - profile_headers=prof_and_mt_info.profile_headers, - selected_class=prof_and_mt_info.selected_class, - repo=repo, - ) - - -def extract_qsa_params(query_string_keys): - focus_to_filter = [] - filter_to_focus = [] - - for key in query_string_keys: - if "focus-to-filter[" in key: - predicate = re.search(r"\[(.*?)]", key).group(1) - val = query_string_keys[key] - if not predicate.startswith(("http://", "https://")): - predicate = get_uri_for_curie_id(predicate) - if not val.startswith(("http://", "https://")) and ":" in val: - val = get_uri_for_curie_id(val) - focus_to_filter.append((predicate, val)) - elif "filter-to-focus[" in key: - predicate = re.search(r"\[(.*?)]", key).group(1) - val = query_string_keys[key] - if not predicate.startswith(("http://", "https://")): - predicate = get_uri_for_curie_id(predicate) - if not val.startswith(("http://", "https://")) and ":" in val: - val = get_uri_for_curie_id(val) - filter_to_focus.append((predicate, val)) - - return focus_to_filter, filter_to_focus - - -def determine_search_method(request): - """Returns the search_methods method to use based on the request headers""" - specified_method = request.query_params.get("method") - if specified_method: - return specified_method - else: - return get_default_search_methods() - - -def get_default_search_methods(): - # TODO return from profiles - return "default" diff --git a/prez/routers/spaceprez.py b/prez/routers/spaceprez.py deleted file mode 100644 index 31e475dd..00000000 --- a/prez/routers/spaceprez.py +++ /dev/null @@ -1,128 +0,0 @@ -from typing import Optional - -from fastapi import APIRouter, Request, Depends -from starlette.responses import PlainTextResponse - -from prez.dependencies import get_repo, get_system_repo -from prez.services.objects import object_function -from prez.services.listings import listing_function -from prez.services.curie_functions import get_uri_for_curie_id -from prez.sparql.methods import Repo - -router = APIRouter(tags=["SpacePrez"]) - - -@router.get("/s", summary="SpacePrez Home") -async def spaceprez_profiles(): - return PlainTextResponse("SpacePrez Home") - - -@router.get( - "/s/datasets", - summary="List Datasets", - name="https://prez.dev/endpoint/spaceprez/dataset-listing", -) -async def list_datasets( - request: Request, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: Optional[int] = 1, - per_page: Optional[int] = 20, -): - return await listing_function( - request=request, page=page, per_page=per_page, repo=repo, system_repo=system_repo - ) - - -@router.get( - "/s/datasets/{dataset_curie}/collections", - summary="List Feature Collections", - name="https://prez.dev/endpoint/spaceprez/feature-collection-listing", -) -async def list_feature_collections( - request: Request, - dataset_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: Optional[int] = 1, - per_page: Optional[int] = 20, -): - dataset_uri = get_uri_for_curie_id(dataset_curie) - return await listing_function( - request=request, - page=page, - per_page=per_page, - uri=dataset_uri, - repo=repo, - system_repo=system_repo, - ) - - -@router.get( - "/s/datasets/{dataset_curie}/collections/{collection_curie}/items", - summary="List Features", - name="https://prez.dev/endpoint/spaceprez/feature-listing", -) -async def list_features( - request: Request, - dataset_curie: str, - collection_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: Optional[int] = 1, - per_page: Optional[int] = 20, -): - collection_uri = get_uri_for_curie_id(collection_curie) - return await listing_function( - request=request, - page=page, - per_page=per_page, - uri=collection_uri, - repo=repo, - system_repo=system_repo, - ) - - -@router.get( - "/s/datasets/{dataset_curie}", - summary="Get Dataset", - name="https://prez.dev/endpoint/spaceprez/dataset", -) -async def dataset_item( - request: Request, - dataset_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function(request, object_curie=dataset_curie, repo=repo, system_repo=system_repo) - - -@router.get( - "/s/datasets/{dataset_curie}/collections/{collection_curie}", - summary="Get Feature Collection", - name="https://prez.dev/endpoint/spaceprez/feature-collection", -) -async def feature_collection_item( - request: Request, - dataset_curie: str, - collection_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function(request, object_curie=collection_curie, repo=repo, system_repo=system_repo) - - -@router.get( - "/s/datasets/{dataset_curie}/collections/{collection_curie}/items/{feature_curie}", - summary="Get Feature", - name="https://prez.dev/endpoint/spaceprez/feature", -) -async def feature_item( - request: Request, - dataset_curie: str, - collection_curie: str, - feature_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function(request=request, object_curie=feature_curie, repo=repo, system_repo=system_repo) diff --git a/prez/routers/sparql.py b/prez/routers/sparql.py old mode 100644 new mode 100755 index 6986c8e5..a9a4a7b0 --- a/prez/routers/sparql.py +++ b/prez/routers/sparql.py @@ -9,10 +9,10 @@ from starlette.requests import Request from starlette.responses import StreamingResponse -from prez.dependencies import get_repo -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo +from prez.dependencies import get_data_repo, get_system_repo from prez.renderers.renderer import return_annotated_rdf -from prez.sparql.methods import Repo +from prez.repositories import Repo +from prez.services.connegp_service import NegotiatedPMTs PREZ = Namespace("https://prez.dev/") @@ -24,54 +24,68 @@ async def sparql_post_passthrough( # To maintain compatibility with the other SPARQL endpoints, # /sparql POST endpoint is not a JSON API, it uses # values encoded with x-www-form-urlencoded - query: Annotated[str, Form()], # Pydantic validation prevents update queries (the Form would need to be "update") + query: Annotated[str, Form()], + # Pydantic validation prevents update queries (the Form would need to be "update") request: Request, - repo: Repo = Depends(get_repo), + repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), ): - return await sparql_endpoint_handler(query, request, repo, method="POST") + return await sparql_endpoint_handler( + query, request, repo, system_repo, method="POST" + ) @router.get("/sparql") async def sparql_get_passthrough( query: str, request: Request, - repo: Repo = Depends(get_repo), + repo: Repo = Depends(get_data_repo), + system_repo: Repo = Depends(get_system_repo), ): - return await sparql_endpoint_handler(query, request, repo, method="GET") + return await sparql_endpoint_handler( + query, request, repo, system_repo, method="GET" + ) -async def sparql_endpoint_handler(query: str, request: Request, repo: Repo, method="GET"): - request_mediatype = request.headers.get("accept").split(",")[0] - # can't default the MT where not provided as it could be - # graph (CONSTRUCT like queries) or tabular (SELECT queries) - - # Intercept "+anot" mediatypes - if "anot+" in request_mediatype: - prof_and_mt_info = ProfilesMediatypesInfo( - request=request, classes=frozenset([PREZ.SPARQLQuery]) - ) - non_anot_mediatype = request_mediatype.replace("anot+", "") +async def sparql_endpoint_handler( + query: str, request: Request, repo: Repo, system_repo, method="GET" +): + pmts = NegotiatedPMTs( + **{ + "headers": request.headers, + "params": request.query_params, + "classes": [PREZ.SPARQLQuery], + "system_repo": system_repo, + } + ) + await pmts.setup() + if ( + pmts.requested_mediatypes is not None + and "anot+" in pmts.requested_mediatypes[0][0] + ): + non_anot_mediatype = pmts.requested_mediatypes[0][0].replace("anot+", "") request._headers = Headers({**request.headers, "accept": non_anot_mediatype}) response = await repo.sparql(query, request.headers.raw, method=method) await response.aread() g = Graph() g.parse(data=response.text, format=non_anot_mediatype) - graph = await return_annotated_rdf(g, prof_and_mt_info.profile, repo) + graph = await return_annotated_rdf(g, repo, system_repo) content = io.BytesIO( graph.serialize(format=non_anot_mediatype, encoding="utf-8") ) return StreamingResponse( content=content, media_type=non_anot_mediatype, - headers=prof_and_mt_info.profile_headers, + headers=pmts.generate_response_headers(), ) - query_result: 'httpx.Response' = await repo.sparql(query, request.headers.raw, method=method) + query_result: "httpx.Response" = await repo.sparql( + query, request.headers.raw, method=method + ) if isinstance(query_result, dict): return JSONResponse(content=query_result) elif isinstance(query_result, Graph): return Response( - content=query_result.serialize(format="text/turtle"), - status_code=200 + content=query_result.serialize(format="text/turtle"), status_code=200 ) dispositions = query_result.headers.get_list("Content-Disposition") @@ -85,7 +99,11 @@ async def sparql_endpoint_handler(query: str, request: Request, repo: Repo, meth # remove transfer-encoding chunked, disposition=attachment, and content-length headers = dict() for k, v in query_result.headers.items(): - if k.lower() not in ("transfer-encoding", "content-disposition", "content-length"): + if k.lower() not in ( + "transfer-encoding", + "content-disposition", + "content-length", + ): headers[k] = v content = await query_result.aread() await query_result.aclose() diff --git a/prez/routers/vocprez.py b/prez/routers/vocprez.py deleted file mode 100644 index 61d56278..00000000 --- a/prez/routers/vocprez.py +++ /dev/null @@ -1,293 +0,0 @@ -import logging - -from fastapi import APIRouter, Request -from fastapi import Depends -from fastapi.responses import RedirectResponse -from rdflib import URIRef, SKOS -from starlette.responses import PlainTextResponse - -from prez.bnode import get_bnode_depth -from prez.dependencies import get_repo, get_system_repo -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.queries.vocprez import ( - get_concept_scheme_query, - get_concept_scheme_top_concepts_query, - get_concept_narrowers_query, -) -from prez.renderers.renderer import ( - return_from_graph, -) -from prez.response import StreamingTurtleAnnotatedResponse -from prez.routers.identifier import get_iri_route -from prez.services.objects import object_function -from prez.services.listings import listing_function -from prez.services.link_generation import _add_prez_links -from prez.services.curie_functions import get_curie_id_for_uri -from prez.sparql.methods import Repo -from prez.sparql.resource import get_resource - -router = APIRouter(tags=["VocPrez"]) - -log = logging.getLogger(__name__) - - -@router.get("/v", summary="VocPrez Home") -async def vocprez_home(): - return PlainTextResponse("VocPrez Home") - - -@router.get( - "/v/vocab", - summary="List Vocabularies", - name="https://prez.dev/endpoint/vocprez/vocabs-listing", -) -async def vocab_endpoint( - request: Request, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: int = 1, - per_page: int = 20, -): - return await listing_function( - request=request, - page=page, - per_page=per_page, - repo=repo, - system_repo=system_repo, - ) - - -@router.get( - "/v/collection", - summary="List Collections", - name="https://prez.dev/endpoint/vocprez/collection-listing", -) -async def collection_endpoint( - request: Request, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: int = 1, - per_page: int = 20, -): - return await listing_function( - request=request, - page=page, - per_page=per_page, - repo=repo, - system_repo=system_repo, - ) - - -@router.get( - "/v/vocab/{scheme_curie}/all", - summary="Get Concept Scheme and all its concepts", - name="https://prez.dev/endpoint/vocprez/vocab", -) -async def vocprez_scheme( - request: Request, - scheme_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - """Get a SKOS Concept Scheme and all of its concepts. - - Note: This may be a very expensive operation depending on the size of the concept scheme. - """ - return await object_function( - request, object_curie=scheme_curie, repo=repo, system_repo=system_repo - ) - - -@router.get( - "/v/vocab/{concept_scheme_curie}", - summary="Get a SKOS Concept Scheme", - name="https://prez.dev/endpoint/vocprez/collection", - response_class=StreamingTurtleAnnotatedResponse, - responses={ - 200: { - "content": {"text/turtle": {}}, - }, - }, -) -async def concept_scheme_route( - request: Request, - concept_scheme_curie: str, - repo: Repo = Depends(get_repo), -): - """Get a SKOS Concept Scheme. - - `prez:childrenCount` is an `xsd:integer` count of the number of top concepts for this Concept Scheme. - """ - profiles_mediatypes_info = ProfilesMediatypesInfo( - request=request, classes=frozenset([SKOS.ConceptScheme]) - ) - - if ( - str(profiles_mediatypes_info.mediatype) != "text/anot+turtle" - or str(profiles_mediatypes_info.mediatype) == "text/anot+turtle" - and str(profiles_mediatypes_info.profile) != "https://w3id.org/profile/vocpub" - ): - return RedirectResponse( - f"{request.url.path}/all{'?' if request.url.query else ''}{request.url.query}" - ) - - iri = get_iri_route(concept_scheme_curie) - resource = await get_resource(iri, repo) - bnode_depth = get_bnode_depth(iri, resource) - concept_scheme_query = get_concept_scheme_query(iri, bnode_depth) - item_graph, _ = await repo.send_queries([concept_scheme_query], []) - return await return_from_graph( - item_graph, - profiles_mediatypes_info.mediatype, - profiles_mediatypes_info.profile, - profiles_mediatypes_info.profile_headers, - profiles_mediatypes_info.selected_class, - repo, - ) - - -@router.get( - "/v/vocab/{concept_scheme_curie}/top-concepts", - summary="Get a SKOS Concept Scheme's top concepts", - response_class=StreamingTurtleAnnotatedResponse, - responses={ - 200: { - "content": {"text/turtle": {}}, - }, - }, -) -async def concept_scheme_top_concepts_route( - request: Request, - concept_scheme_curie: str, - page: int = 1, - per_page: int = 20, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - """Get a SKOS Concept Scheme's top concepts. - - `prez:childrenCount` is an `xsd:integer` count of the number of top concepts for this Concept Scheme. - """ - profiles_mediatypes_info = ProfilesMediatypesInfo( - request=request, classes=frozenset([SKOS.ConceptScheme]) - ) - - iri = get_iri_route(concept_scheme_curie) - concept_scheme_top_concepts_query = get_concept_scheme_top_concepts_query( - iri, page, per_page - ) - - graph, _ = await repo.send_queries([concept_scheme_top_concepts_query], []) - for concept in graph.objects(iri, SKOS.hasTopConcept): - if isinstance(concept, URIRef): - concept_curie = get_curie_id_for_uri(concept) - if "anot+" in profiles_mediatypes_info.mediatype: - await _add_prez_links(graph, repo, system_repo) - return await return_from_graph( - graph, - profiles_mediatypes_info.mediatype, - profiles_mediatypes_info.profile, - profiles_mediatypes_info.profile_headers, - profiles_mediatypes_info.selected_class, - repo, - ) - - -@router.get( - "/v/vocab/{concept_scheme_curie}/{concept_curie}/narrowers", - summary="Get a SKOS Concept's narrower concepts", - response_class=StreamingTurtleAnnotatedResponse, - responses={ - 200: { - "content": {"text/turtle": {}}, - }, - }, -) -async def concept_narrowers_route( - request: Request, - concept_scheme_curie: str, - concept_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), - page: int = 1, - per_page: int = 20, -): - """Get a SKOS Concept's narrower concepts. - - `prez:childrenCount` is an `xsd:integer` count of the number of narrower concepts for this concept. - """ - profiles_mediatypes_info = ProfilesMediatypesInfo( - request=request, classes=frozenset([SKOS.Concept]) - ) - - iri = get_iri_route(concept_curie) - concept_narrowers_query = get_concept_narrowers_query(iri, page, per_page) - - graph, _ = await repo.send_queries([concept_narrowers_query], []) - if "anot+" in profiles_mediatypes_info.mediatype: - await _add_prez_links(graph, repo, system_repo) - return await return_from_graph( - graph, - profiles_mediatypes_info.mediatype, - profiles_mediatypes_info.profile, - profiles_mediatypes_info.profile_headers, - profiles_mediatypes_info.selected_class, - repo, - ) - - -@router.get( - "/v/vocab/{concept_scheme_curie}/{concept_curie}", - summary="Get a SKOS Concept", - name="https://prez.dev/endpoint/vocprez/vocab-concept", - response_class=StreamingTurtleAnnotatedResponse, - responses={ - 200: { - "content": {"text/turtle": {}}, - }, - }, -) -async def concept_route( - request: Request, - concept_scheme_curie: str, - concept_curie: str, - repo: Repo = Depends(get_repo), - system_repo=Depends(get_system_repo), -): - """Get a SKOS Concept.""" - return await object_function( - request, object_curie=concept_curie, repo=repo, system_repo=system_repo - ) - - -@router.get( - "/v/collection/{collection_curie}", - summary="Get Collection", - name="https://prez.dev/endpoint/vocprez/collection", -) -async def vocprez_collection( - request: Request, - collection_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function( - request, object_curie=collection_curie, repo=repo, system_repo=system_repo - ) - - -@router.get( - "/v/collection/{collection_curie}/{concept_curie}", - summary="Get Concept", - name="https://prez.dev/endpoint/vocprez/collection-concept", -) -async def vocprez_collection_concept( - request: Request, - collection_curie: str, - concept_curie: str, - repo: Repo = Depends(get_repo), - system_repo: Repo = Depends(get_system_repo), -): - return await object_function( - request, object_curie=concept_curie, repo=repo, system_repo=system_repo - ) diff --git a/prez/services/annotations.py b/prez/services/annotations.py new file mode 100755 index 00000000..7ab49663 --- /dev/null +++ b/prez/services/annotations.py @@ -0,0 +1,154 @@ +import logging +from typing import List, FrozenSet, Set, Tuple + +from aiocache import caches +from rdflib import Graph, URIRef, Literal +from sparql_grammar_pydantic import IRI + +from prez.dependencies import get_annotations_repo +from prez.repositories import Repo +from prez.services.query_generation.annotations import ( + AnnotationsConstructQuery, +) + +log = logging.getLogger(__name__) + + +async def get_annotations(terms_and_dtypes: Set[URIRef], repo: Repo, system_repo: Repo): + """ + This function processes the terms and their data types. It first retrieves the cached results for the given terms + and data types. Then, it processes the terms that are not cached. The results are added to a graph which is then + returned. + + Args: + terms_and_dtypes (set): A list of tuples where each tuple contains a term and its data type. + repo (Repo): An instance of the Repo class. + system_repo (Repo): An instance of the Repo class with the Prez system graph. + + Returns: + annotations_g (Graph): A graph containing the processed terms and their data types. + """ + annotations_g = Graph() + cache = caches.get("default") # This always returns the SAME instance + results = await cache.multi_get(list(terms_and_dtypes)) + zipped = list(zip(terms_and_dtypes, results)) + + cached = [z for z in zipped if z[1] is not None] + await add_cached_entries(annotations_g, cached) + + uncached = [z[0] for z in zipped if z[1] is None] + if uncached: + await process_uncached_terms(uncached, repo, system_repo, annotations_g) + + return annotations_g + + +async def add_cached_entries( + annotations_g: Graph, cached: List[Tuple[URIRef, FrozenSet[Tuple[URIRef, Literal]]]] +): + """ + This function adds the cached entries to the graph. It iterates over the cached entries and for each entry, + it extracts the subject and the frozenset of predicate-object pairs. Then, it adds the expanded triple + (subject, predicate, object) to the graph. + + Args: + annotations_g (Graph): A graph to which the cached entries are added. + cached (list): A list of cached entries. + + Returns: + None + """ + for triples in cached: + subject = triples[0] # Extract the subject from the current cached object + predicate_objects = triples[ + 1 + ] # Extract the frozenset of predicate-object pairs + # Iterate over each predicate-object pair in the frozenset + for pred, obj in predicate_objects: + # Add the expanded triple (subject, predicate, object) to 'annotations_g' + annotations_g.add((subject, pred, obj)) + + +async def process_uncached_terms( + terms: List[URIRef], data_repo: Repo, system_repo: Repo, annotations_g: Graph +): + """ + This function processes the terms that are not cached. It sends queries to the annotations repository and the + main repository to get the results for the uncached terms. The results are then added to the graph and also + cached for future use. + + Args: + terms (list): A list of terms that are not cached. + data_repo (Repo): An instance of the Repo class. + annotations_g (Graph): A graph to which the results are added. + + Returns: + None + """ + annotations_repo = await get_annotations_repo() + annotations_query = AnnotationsConstructQuery( + terms=[IRI(value=term) for term in terms] + ).to_string() + + context_results = await annotations_repo.send_queries( + rdf_queries=[annotations_query], tabular_queries=[] + ) + repo_results = await data_repo.send_queries( + rdf_queries=[annotations_query], tabular_queries=[] + ) + system_results = await system_repo.send_queries( + rdf_queries=[annotations_query], tabular_queries=[] + ) + + all_results = context_results[0] + repo_results[0] + system_results[0] + + # Initialize subjects_map with each term having an empty set to start with + subjects_map = {term: set() for term in terms} + + for s, p, o in all_results: + subjects_map[s].add((p, o)) + + # Prepare subjects_list, only converting to frozenset where there are actual results + subjects_list = [ + (subject, frozenset(po_pairs)) if po_pairs else (subject, frozenset()) + for subject, po_pairs in subjects_map.items() + ] + + # Cache the results + cache = caches.get("default") + await cache.multi_set(subjects_list) + + # Add all results to annotations_g + annotations_g += all_results + + +async def get_annotation_properties( + item_graph: Graph, + repo: Repo, + system_repo: Repo, +) -> Graph: + """ + Gets annotation data used for HTML display. + This includes the label, description, and provenance, if available. + Note the following three default predicates are always included. This allows context, i.e. background ontologies, + which are often diverse in the predicates they use, to be aligned with the default predicates used by Prez. The full + range of predicates used can be manually included via profiles. + """ + # get all terms and datatypes for which we want to retrieve annotations + all_terms = ( + set(item_graph.subjects(unique=True)) + .union(set(item_graph.predicates(unique=True))) + .union(set(item_graph.objects(unique=True))) + ) + all_uris = set(term for term in all_terms if isinstance(term, URIRef)) + all_dtypes = set( + term.datatype + for term in all_terms + if isinstance(term, Literal) and term.datatype + ) + terms_and_types = all_uris.union(all_dtypes) + if not terms_and_types: + return Graph() + + annotations_g = await get_annotations(terms_and_types, repo, system_repo) + return annotations_g diff --git a/prez/services/app_service.py b/prez/services/app_service.py old mode 100644 new mode 100755 index 59d4824c..ef3b7e6c --- a/prez/services/app_service.py +++ b/prez/services/app_service.py @@ -3,21 +3,21 @@ from pathlib import Path import httpx -from rdflib import URIRef, Literal, BNode, RDF, Graph, RDFS, DCTERMS, SDO, SKOS, Dataset +from rdflib import URIRef, Literal, Graph from prez.cache import ( prez_system_graph, - profiles_graph_cache, counts_graph, prefix_graph, endpoints_graph_cache, - tbox_cache, ) from prez.config import settings -from prez.reference_data.prez_ns import PREZ, ALTREXT +from prez.reference_data.prez_ns import PREZ +from prez.repositories import Repo from prez.services.curie_functions import get_curie_id_for_uri -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import startup_count_objects +from prez.services.query_generation.count import startup_count_objects +from prez.services.query_generation.prefixes import PrefixQuery + log = logging.getLogger(__name__) @@ -59,34 +59,37 @@ async def count_objects(repo): async def populate_api_info(): - for prez in settings.prez_flavours: - bnode = BNode() - prez_system_graph.add( - (URIRef(settings.system_uri), PREZ.enabledPrezFlavour, bnode) - ) - prez_system_graph.add((bnode, RDF.type, PREZ[prez])) - # add links to prez subsystems - prez_system_graph.add((bnode, PREZ.link, Literal(f"/{prez[0].lower()}"))) - - # add links to search methods - sys_prof = profiles_graph_cache.value(None, ALTREXT.constrainsClass, PREZ[prez]) - if sys_prof: - search_methods = [ - sm - for sm in profiles_graph_cache.objects( - sys_prof, PREZ.supportedSearchMethod - ) - ] - for method in search_methods: - prez_system_graph.add((bnode, PREZ.availableSearchMethod, method)) - prez_system_graph.add( (URIRef(settings.system_uri), PREZ.version, Literal(settings.prez_version)) ) log.info(f"Populated API info") -async def add_prefixes_to_prefix_graph(repo: Repo): +async def prefix_initialisation(repo: Repo): + """ + Adds prefixes defined using the vann ontology to the prefix graph. + Note due to the ordering, remote prefixes (typically user defined) will override local prefixes. + Generates prefixes for IRIs which do not have one unless the "disable_prefix_generation" environment variable is + set. + """ + await add_remote_prefixes(repo) + await add_local_prefixes(repo) + await generate_prefixes(repo) + + +async def add_remote_prefixes(repo: Repo): + # TODO allow mediatype specification in repo queries + query = PrefixQuery().to_string() + results = await repo.send_queries(rdf_queries=[], tabular_queries=[(None, query)]) + i = 0 + for i, result in enumerate(results[1][0][1]): + namespace = result["namespace"]["value"] + prefix = result["prefix"]["value"] + prefix_graph.bind(prefix, namespace) + log.info(f"{i + 1:,} prefixes bound from data repo") + + +async def add_local_prefixes(repo): """ Adds prefixes to the prefix graph """ @@ -107,8 +110,10 @@ async def add_prefixes_to_prefix_graph(repo: Repo): local_i = await _add_prefixes_from_graph(g) log.info(f"{local_i+1:,} prefixes bound from file {f.name}") + +async def generate_prefixes(repo: Repo): if settings.disable_prefix_generation: - log.info("DISABLE_PREFIX_GENERATION set to false. Skipping prefix generation.") + log.info("DISABLE_PREFIX_GENERATION set to true. Skipping prefix generation.") else: query = """ SELECT DISTINCT ?iri @@ -153,24 +158,8 @@ async def _add_prefixes_from_graph(g): async def create_endpoints_graph(repo) -> Graph: - flavours = ["CatPrez", "SpacePrez", "VocPrez"] - added_anything = False for f in (Path(__file__).parent.parent / "reference_data/endpoints").glob("*.ttl"): - # Check if file starts with any of the flavour prefixes - matching_flavour = next( - (flavour for flavour in flavours if f.name.startswith(flavour.lower())), - None, - ) - # If the file doesn't start with any specific flavour or the matching flavour is in settings.prez_flavours, parse it. - if not matching_flavour or ( - matching_flavour and matching_flavour in settings.prez_flavours - ): - endpoints_graph_cache.parse(f) - added_anything = True - if added_anything: - log.info("Local endpoint definitions loaded") - else: - log.info("No local endpoint definitions found") + endpoints_graph_cache.parse(f) await get_remote_endpoint_definitions(repo) @@ -191,23 +180,3 @@ async def get_remote_endpoint_definitions(repo): log.info(f"Remote endpoint definition(s) found and added") else: log.info("No remote endpoint definitions found") - - -async def add_common_context_ontologies_to_tbox_cache(): - g = Dataset(default_union=True) - for file in ( - Path(__file__).parent.parent / "reference_data/context_ontologies" - ).glob("*.nq"): - g.parse(file, format="nquads") - relevant_predicates = [ - RDFS.label, - DCTERMS.title, - DCTERMS.description, - SDO.name, - SKOS.prefLabel, - SKOS.definition, - ] - triples = g.triples_choices((None, relevant_predicates, None)) - for triple in triples: - tbox_cache.add(triple) - log.info(f"Added {len(tbox_cache):,} triples from context ontologies to TBox cache") diff --git a/prez/services/classes.py b/prez/services/classes.py new file mode 100755 index 00000000..c5fe509f --- /dev/null +++ b/prez/services/classes.py @@ -0,0 +1,95 @@ +from aiocache import caches +from rdflib import URIRef + +from prez.repositories import Repo +from prez.services.query_generation.classes import ClassesSelectQuery +from sparql_grammar_pydantic import IRI + + +async def get_classes_single(uri: URIRef, repo: Repo): + results = await get_classes([uri], repo) + return results.get(uri, set()) + + +async def get_classes(uris: list[URIRef], repo: Repo): + """ + This function gets the classes for a given URI + + Args: + uris (set): A set of uris to get classes for. + repo (Repo): An instance of the Repo class. + + Returns: + klasses (dict): A dict of URIs and their klasses. + """ + klasses = {} + cache = caches.get("classes") # This always returns the SAME instance + results = await cache.multi_get(uris) + zipped = list(zip(uris, results)) + + cached = [z for z in zipped if z[1] is not None] + await add_cached_entries(klasses, cached) + + uncached = [z[0] for z in zipped if z[1] is None] + if uncached: + klasses = await process_uncached_classes(uncached, repo, klasses) + + return klasses + + +async def add_cached_entries( + klasses: dict, cached: list[tuple[URIRef, frozenset[URIRef]]] +): + """ + This function adds the cached entries to the dict + """ + for tuples in cached: + subject = tuples[0] # Extract the subject from the current cached object + placeholder = list(tuples[1]) # Extract the frozenset of predicate-object pairs + # Iterate over each predicate-object pair in the frozenset + for obj in placeholder: + # Add the expanded triple (subject, predicate, object) to 'annotations_g' + if not klasses.get(subject): + klasses[subject] = set() + klasses[subject].add(obj) + + +async def process_uncached_classes(uris: list[URIRef], data_repo: Repo, klasses: dict): + """ + This function gets classes for uris where there is no current cache entry. + + Args: + uris (list): A list of uris that are not cached. + data_repo (Repo): An instance of the Repo class. + klasses (dict): A dict to which the results are added. + + Returns: + None + """ + klasses_query = ClassesSelectQuery( + iris=[IRI(value=uri) for uri in uris] + ).to_string() + + repo_results = await data_repo.send_queries( + rdf_queries=[], tabular_queries=[(None, klasses_query)] + ) + + # Initialize subjects_map with each term having an empty set to start with + subjects_map = {uri: set() for uri in uris} + + for result in repo_results[1][0][1]: + klass = result["class"]["value"] + uri = result["uri"]["value"] + subjects_map[URIRef(uri)].add(URIRef(klass)) + + # Prepare subjects_list, only converting to frozenset where there are actual results + subjects_list = [ + (subject, set(klasses)) if klasses else (subject, set()) + for subject, klasses in subjects_map.items() + ] + + # Cache the results + cache = caches.get("classes") + await cache.multi_set(subjects_list) + + return klasses | subjects_map diff --git a/prez/services/connegp_service.py b/prez/services/connegp_service.py old mode 100644 new mode 100755 index ce1cdbff..59d99ad4 --- a/prez/services/connegp_service.py +++ b/prez/services/connegp_service.py @@ -1,15 +1,284 @@ -import time +import logging +import re +from textwrap import dedent -from connegp import Connegp -from fastapi import Request +from pydantic import BaseModel +from rdflib import Graph, Namespace, URIRef +from prez.exceptions.model_exceptions import NoProfilesException +from prez.repositories.base import Repo +from prez.services.curie_functions import get_curie_id_for_uri, get_uri_for_curie_id -def get_requested_profile_and_mediatype(request: Request): - """Return the requested profile and mediatype.""" +log = logging.getLogger(__name__) - c = Connegp(request) - return ( - c.profile_uris_requested, - c.profile_tokens_requested, - frozenset(c.mediatypes_requested), - ) +RDF_MEDIATYPES = [ + "text/turtle", + "application/rdf+xml", + "application/ld+json", + "application/n-triples", +] + +RDF_SERIALIZER_TYPES_MAP = { + "text/turtle": "turtle", + "text/n3": "n3", + "application/n-triples": "nt", + "application/ld+json": "json-ld", + "application/rdf+xml": "xml", + # Some common but incorrect mimetypes + "application/rdf": "xml", + "application/rdf xml": "xml", + "application/json": "json-ld", + "application/ld json": "json-ld", + "text/ttl": "turtle", + "text/ntriples": "nt", + "text/n-triples": "nt", + "text/plain": "nt", # text/plain is the old/deprecated mimetype for n-triples +} + + +class TokenError(Exception): + def __init__(self, *args): + super().__init__(*args) + + +class NegotiatedPMTs(BaseModel): + """The Requested Profiles and Media Types as negotiated by the ConnegP standard. + See: https://w3c.github.io/dx-connegp/connegp/#introduction + + Exposes the selected profile / media type as self.selected: dict + with keys: + - profile: URIRef + - title: str + - mediatype: str + - class: str + + Response headers with alternate profiles / mediatypes can be generated by calling + the .generate_response_headers() method. + """ + + headers: dict + params: dict + classes: list[URIRef] + system_repo: Repo + listing: bool = False + default_weighting: float = 1.0 + requested_profiles: list[tuple[str, float]] | None = None + requested_mediatypes: list[tuple[str, float]] | None = None + available: list[dict] | None = None + selected: dict | None = None + + class Config: + arbitrary_types_allowed = True + + async def setup(self): + self.requested_profiles = await self._get_requested_profiles() + self.requested_mediatypes = await self._get_requested_mediatypes() + self.available = await self._get_available() + self.selected = self.available[0] + + async def _resolve_token(self, token: str) -> str: + query_str: str = dedent( + """ + PREFIX dcterms: + PREFIX xsd: + PREFIX prof: + + SELECT ?profile + WHERE { + ?profile a prof:Profile . + ?profile dcterms:identifier ?o . + FILTER(?o=""^^xsd:token) + } + """.replace( + "", token + ) + ) + try: + _, results = await self.system_repo.send_queries([], [(None, query_str)]) + result: str = results[0][1][0]["profile"]["value"] + except (KeyError, IndexError, ValueError): + raise TokenError(f"Token: '{token}' could not be resolved to URI") + uri = "<" + result + ">" + return uri + + async def _tupilize( + self, string: str, is_profile: bool = False + ) -> tuple[str, float]: + parts: list[str | float] = string.split("q=") # split out the weighting + parts[0] = parts[0].strip( + " ;" + ) # remove the seperator character, and any whitespace characters + if is_profile and not re.search( + r"^<.*>$", parts[0] + ): # If it doesn't look like a URI ... + try: + parts[0] = await self._resolve_token( + parts[0] + ) # then try to resolve the token to a URI + except TokenError as e: + log.error(e.args[0]) + try: # if token resolution fails, try to resolve as a curie + result = await get_uri_for_curie_id(parts[0]) + result = str(result) + parts[0] = "<" + result + ">" + except ValueError as e: + parts[0] = ( + "" # if curie resolution failed, then the profile is invalid + ) + log.error(e.args[0]) + if len(parts) == 1: + parts.append(self.default_weighting) # If no weight given, set the default + else: + try: + parts[1] = float(parts[1]) # Type-check the seperated weighting + except ValueError as e: + log.debug( + f"Could not cast q={parts[1]} as float. Defaulting to {self.default_weighting}. {e.args[0]}" + ) + return parts[0], parts[1] + + @staticmethod + def _prioritize(types: list[tuple[str, float]]) -> list[tuple[str, float]]: + return sorted(types, key=lambda x: x[1], reverse=True) + + async def _get_requested_profiles(self) -> list[tuple[str, float]] | None: + raw_profiles: str = self.params.get( + "_profile", "" + ) # Prefer profiles declared in the QSA, as per the spec. + if not raw_profiles: + raw_profiles: str = self.headers.get("accept-profile", "") + if raw_profiles: + profiles: list = [ + await self._tupilize(profile, is_profile=True) + for profile in raw_profiles.split(",") + ] + return self._prioritize(profiles) + return None + + async def _get_requested_mediatypes(self) -> list[tuple[str, float]] | None: + raw_mediatypes: str = self.params.get( + "_mediatype", "" + ) # Prefer mediatypes declared in the QSA, as per the spec. + if not raw_mediatypes: + raw_mediatypes: str = self.headers.get("accept", "") + if raw_mediatypes: + mediatypes: list = [ + await self._tupilize(mediatype) + for mediatype in raw_mediatypes.split(",") + ] + return self._prioritize(mediatypes) + return None + + async def _get_available(self) -> list[dict]: + query = self._compose_select_query() + repo_response = await self._do_query(query) + available = [ + { + "profile": URIRef(result["profile"]["value"]), + "title": result["title"]["value"], + "mediatype": result["format"]["value"], + "class": result["class"]["value"], + } + for result in repo_response[1][0][1] + ] + if not available: + raise NoProfilesException(self.classes) + return available + + def generate_response_headers(self) -> dict: + profile_uri = "" + distinct_profiles = {(pmt["profile"], pmt["title"]) for pmt in self.available} + profile_header_links = ", ".join( + [f'<{self.selected["profile"]}>; rel="profile"'] + + [ + f'{profile_uri}; rel="type"; title="{pmt[1]}"; token="{get_curie_id_for_uri(pmt[0])}"; anchor="{pmt[0]}"' + for pmt in distinct_profiles + ] + ) + mediatype_header_links = ", ".join( + [ + f'<{self.selected["class"]}?_profile={get_curie_id_for_uri(pmt["profile"])}&_mediatype={pmt["mediatype"]}>; rel="{"self" if pmt == self.selected else "alternate"}"; type="{pmt["mediatype"]}"; profile="{pmt["profile"]}"' + for pmt in self.available + ] + ) + headers = { + "Content-Type": self.selected["mediatype"], + "link": profile_header_links + ", " + mediatype_header_links, + } + return headers + + def _compose_select_query(self) -> str: + prez = Namespace("https://prez.dev/") + profile_class = prez.ListingProfile if self.listing else prez.ObjectProfile + if self.requested_profiles: + requested_profile = self.requested_profiles[0][0] + else: + requested_profile = None + + query = dedent( + f""" + PREFIX altr-ext: + PREFIX dcat: + PREFIX dcterms: + PREFIX geo: + PREFIX prez: + PREFIX prof: + PREFIX rdf: + PREFIX rdfs: + PREFIX skos: + PREFIX sh: + + SELECT ?profile ?title ?class (count(?mid) as ?distance) ?req_profile ?def_profile ?format ?req_format ?def_format + + WHERE {{ + VALUES ?class {{{" ".join('<' + str(klass) + '>' for klass in self.classes)}}} + ?class rdfs:subClassOf* ?mid . + ?mid rdfs:subClassOf* ?base_class . + VALUES ?base_class {{ dcat:Dataset geo:FeatureCollection geo:Feature + skos:ConceptScheme skos:Concept skos:Collection + dcat:Catalog rdf:Resource dcat:Resource prof:Profile prez:SPARQLQuery + prez:SearchResult prez:CQLObjectList prez:QueryablesList prez:Object rdfs:Resource }} + ?profile altr-ext:constrainsClass ?class ; + altr-ext:hasResourceFormat ?format ; + dcterms:title ?title .\ + {f'?profile a {profile_class.n3()} .'} + {f'BIND(?profile={requested_profile} as ?req_profile)' if requested_profile else ''} + BIND(EXISTS {{ ?shape sh:targetClass ?class ; + altr-ext:hasDefaultProfile ?profile }} AS ?def_profile) + {self._generate_mediatype_if_statements()} + BIND(EXISTS {{ ?profile altr-ext:hasDefaultResourceFormat ?format }} AS ?def_format) + }} + GROUP BY ?class ?profile ?req_profile ?def_profile ?format ?req_format ?def_format ?title + ORDER BY DESC(?req_profile) DESC(?distance) DESC(?def_profile) DESC(?req_format) DESC(?def_format) + """ + ) + return query + + def _generate_mediatype_if_statements(self) -> str: + """ + Generates a list of if statements used to determine the response mediatype based on user requests, + and the availability of these in profiles. + These are of the form: + BIND( + IF(?format="application/ld+json", "0.9", + IF(?format="text/html", "0.8", + IF(?format="image/apng", "0.7", ""))) AS ?req_format) + """ + if not self.requested_mediatypes: + return "" + line_join = "," + "\n" + ifs = ( + f"BIND(\n" + f"""{line_join.join( + {chr(9) + 'IF(?format="' + tup[0] + '", "' + str(tup[1]) + '"' for tup in self.requested_mediatypes} + )}""" + f""", ""{')' * len(self.requested_mediatypes)}\n""" + f"\tAS ?req_format)" + ) + return ifs + + async def _do_query(self, query: str) -> tuple[Graph, list]: + response = await self.system_repo.send_queries([], [(None, query)]) + if not response[1][0][1]: + raise NoProfilesException(self.classes) + return response diff --git a/prez/services/cql_search.py b/prez/services/cql_search.py deleted file mode 100644 index 17be1512..00000000 --- a/prez/services/cql_search.py +++ /dev/null @@ -1,178 +0,0 @@ -import re -from typing import Tuple - -from fastapi import HTTPException - - -class CQLSearch(object): - from prez.config import settings - - def __init__(self, cql_query: str, sparql_query: str) -> None: - self.cql_query = cql_query - self.sparql_query = sparql_query - - def _check_prop_exists(self, prop: str) -> bool: - return prop in settings.cql_props.keys() - - def _check_type(self, prop: str, val: str) -> bool: - prop_type = settings.cql_props[prop].get("type") - if prop_type is not None: - correct_type = False - match prop_type: - case "integer": - if re.match(r"(-|\+)?\d+", val): - correct_type = True - case "float": - if re.match(r"(-|\+)?\d+\.\d+", val): - correct_type = True - case "string": - if re.match(r'".+"', val): - correct_type = True - case _: # invalid prop type? - pass - return correct_type - else: - return True - - def _parse_eq_ops(self, f: str) -> str: - # validate - exps = re.findall( - r'(\w+)\s?(<>|<=|>=|=|<|>)\s?(".+"|\d+(?:\.\d+)?)', f, flags=re.IGNORECASE - ) - for prop, op, val in exps: - if not self._check_prop_exists(prop): - raise HTTPException( - status_code=400, - detail=f"{prop} is not a valid property. Please consult /queryables for the list of available properties.", - ) - if not self._check_type(prop, val): - raise HTTPException( - status_code=400, - detail=f"Invalid type for the property {prop}, which is of type {settings.cql_props[prop].get('type')}", - ) - - # string replace - return re.sub( - r'(\w+)\s?(<>|<=|>=|=|<|>)\s?(".+"|\d+(?:\.\d+)?)', - lambda x: f'?{x.group(1)} {"!=" if x.group(2) == "<>" else x.group(2)} {x.group(3)}', - f, - flags=re.IGNORECASE, - ) - - def _parse_between(self, f: str) -> str: - # validate - exps = re.findall( - r'(\w+) between (".+"|\d+(?:\.\d+)?) and (".+"|\d+(?:\.\d+)?)', - f, - flags=re.IGNORECASE, - ) - for prop, val1, val2 in exps: - if not self._check_prop_exists(prop): - raise HTTPException( - status_code=400, - detail=f"{prop} is not a valid property. Please consult /queryables for the list of available properties.", - ) - if not self._check_type(prop, val1) or not self._check_type(prop, val2): - raise HTTPException( - status_code=400, - detail=f"Invalid type for the property {prop}, which is of type {settings.cql_props[prop].get('type')}", - ) - - # string replace - return re.sub( - r'(\w+) between (".+"|\d+(?:\.\d+)?) and (".+"|\d+(?:\.\d+)?)', - r"(?\1 >= \2 && ?\1 <= \3)", - f, - flags=re.IGNORECASE, - ) - - def _parse_or(self, f: str) -> str: - return re.sub(r" or ", r" || ", f, flags=re.IGNORECASE) - - def _parse_and(self, f: str) -> str: - return re.sub(r" and ", r" && ", f, flags=re.IGNORECASE) - - def _parse_like(self, f: str) -> str: - # validate - exps = re.findall(r'(\w+) like (".+")', f, flags=re.IGNORECASE) - for prop, val in exps: - if not self._check_prop_exists(prop): - raise HTTPException( - status_code=400, - detail=f"{prop} is not a valid property. Please consult /queryables for the list of available properties.", - ) - if not self._check_type(prop, val): - raise HTTPException( - status_code=400, - detail=f"Invalid type for the property {prop}, which is of type {settings.cql_props[prop].get('type')}", - ) - - # string replace - return re.sub( - r'(\w+) like (".+")', r'regex(?\1, \2, "i" )', f, flags=re.IGNORECASE - ) - - def _parse_is(self, f: str) -> str: - return re.sub( - r"(\w+) is (not )?null", - # no longer using FILTER(EXISTS {?f qname ?prop}), which is in the spec - https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#_f_2_4_comparison_predicates - lambda x: f'{"!" if x.group(2) is None else ""}BOUND(?{x.group(1)})', - f, - flags=re.IGNORECASE, - ) - - def _parse_in(self, f: str) -> str: - # validate - exps = re.findall( - r'(\w+) (in) (\((?:(?:".+"|\d+),\s?)*(?:".+"|\d+)\))', - f, - flags=re.IGNORECASE, - ) - for prop, op, val in exps: - if not self._check_prop_exists(prop): - raise HTTPException( - status_code=400, - detail=f"{prop} is not a valid property. Please consult /queryables for the list of available properties.", - ) - for element in val.strip("()").split(","): - if not self._check_type(prop, element.strip()): - raise HTTPException( - status_code=400, - detail=f"Invalid type for the property {prop}, which is of type {settings.cql_props[prop].get('type')}", - ) - - # string replace - return re.sub( - r'(\w+) (in) (\((?:(?:".+"|\d+),\s?)*(?:".+"|\d+)\))', - r"?\1 \2 \3", - f, - flags=re.IGNORECASE, - ) - - def generate_query(self) -> Tuple[str, str, str]: - self.dataset_query = "" - - if self.datasets != "": - self.dataset_query = f""" - VALUES ?d_id {{{" ".join([f'"{d.strip()}"^^prez:slug' for d in self.datasets.split(',')])}}} - """ - - self.collection_query = "" - - if self.collections != "": - self.collection_query = f""" - VALUES ?coll_id {{{" ".join([f'"{coll.strip()}"^^prez:slug' for coll in self.collections.split(',')])}}} - """ - - # TODO run regex at once, then separately parse components - if self.filter != "": - self.filter = self._parse_eq_ops(self.filter) - self.filter = self._parse_between(self.filter) - self.filter = self._parse_or(self.filter) - self.filter = self._parse_and(self.filter) - self.filter = self._parse_like(self.filter) - self.filter = self._parse_is(self.filter) - self.filter = self._parse_in(self.filter) - - self.filter = f"FILTER({self.filter})" - return self.filter diff --git a/prez/services/curie_functions.py b/prez/services/curie_functions.py old mode 100644 new mode 100755 index d04a9afd..44b21ca1 --- a/prez/services/curie_functions.py +++ b/prez/services/curie_functions.py @@ -1,10 +1,12 @@ import logging from urllib.parse import urlparse +from aiocache.serializers import PickleSerializer from rdflib import URIRef from prez.cache import prefix_graph from prez.config import settings +from aiocache import cached, Cache, caches log = logging.getLogger(__name__) @@ -40,7 +42,7 @@ def generate_new_prefix(uri): else: ns = f'{parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path.rsplit("/", 1)[0]}/' - split_prefix_path = ns[:-1].rsplit('/', 1) + split_prefix_path = ns[:-1].rsplit("/", 1) if len(split_prefix_path) > 1: to_generate_prefix_from = split_prefix_path[-1].lower() # attempt to just use the last part of the path prior to the fragment or "identifier" @@ -83,10 +85,17 @@ def get_curie_id_for_uri(uri: URIRef) -> str: return f"{qname[0]}{separator}{qname[2]}" -def get_uri_for_curie_id(curie_id: str): +async def get_uri_for_curie_id(curie_id: str): """ Returns a URI for a given CURIE id with the specified separator """ - separator = settings.curie_separator - curie = curie_id.replace(separator, ":") - return prefix_graph.namespace_manager.expand_curie(curie) + curie_cache = caches.get("curies") + result = await curie_cache.get(curie_id) + if result: + return result + else: + separator = settings.curie_separator + curie = curie_id.replace(separator, ":") + uri = prefix_graph.namespace_manager.expand_curie(curie) + await curie_cache.set(curie_id, uri) + return uri diff --git a/prez/services/exception_catchers.py b/prez/services/exception_catchers.py old mode 100644 new mode 100755 index a474f5eb..2a4e05d5 --- a/prez/services/exception_catchers.py +++ b/prez/services/exception_catchers.py @@ -2,10 +2,11 @@ from pydantic import ValidationError from starlette.requests import Request -from prez.models.model_exceptions import ( +from prez.exceptions.model_exceptions import ( ClassNotFoundException, URINotFoundException, - NoProfilesException, InvalidSPARQLQueryException, + NoProfilesException, + InvalidSPARQLQueryException, ) @@ -27,8 +28,8 @@ async def catch_class_not_found_exception( return JSONResponse( status_code=404, content={ - "error": "Not Found", - "detail": exc.message, + "error": "NO_CLASS", + "message": exc.message, }, ) @@ -37,8 +38,8 @@ async def catch_uri_not_found_exception(request: Request, exc: URINotFoundExcept return JSONResponse( status_code=404, content={ - "error": "Not Found", - "detail": exc.message, + "error": "NO_URI", + "message": exc.message, }, ) @@ -47,17 +48,19 @@ async def catch_no_profiles_exception(request: Request, exc: NoProfilesException return JSONResponse( status_code=404, content={ - "error": "Not Found", - "detail": exc.message, + "error": "NO_PROFILES", + "message": exc.message, }, ) -async def catch_invalid_sparql_query(request: Request, exc: InvalidSPARQLQueryException): +async def catch_invalid_sparql_query( + request: Request, exc: InvalidSPARQLQueryException +): return JSONResponse( status_code=400, content={ "error": "Bad Request", "detail": exc.message, }, - ) \ No newline at end of file + ) diff --git a/prez/services/generate_profiles.py b/prez/services/generate_profiles.py old mode 100644 new mode 100755 index 3d17b0cf..734122bf --- a/prez/services/generate_profiles.py +++ b/prez/services/generate_profiles.py @@ -1,15 +1,9 @@ import logging from pathlib import Path -from typing import FrozenSet -from rdflib import Graph, URIRef, RDF, PROF, Literal +from rdflib import Graph from prez.cache import profiles_graph_cache -from prez.config import settings -from prez.models.model_exceptions import NoProfilesException -from prez.reference_data.prez_ns import PREZ -from prez.services.curie_functions import get_curie_id_for_uri -from prez.sparql.objects_listings import select_profile_mediatype log = logging.getLogger(__name__) @@ -20,18 +14,8 @@ async def create_profiles_graph(repo) -> Graph: ): # pytest imports app.py multiple times, so this is needed. Not sure why cache is # not cleared between calls return - flavours = ["CatPrez", "SpacePrez", "VocPrez"] for f in (Path(__file__).parent.parent / "reference_data/profiles").glob("*.ttl"): - # Check if file starts with any of the flavour prefixes - matching_flavour = next( - (flavour for flavour in flavours if f.name.startswith(flavour.lower())), - None, - ) - # If the file doesn't start with any specific flavour or the matching flavour is in settings.prez_flavours, parse it. - if not matching_flavour or ( - matching_flavour and matching_flavour in settings.prez_flavours - ): - profiles_graph_cache.parse(f) + profiles_graph_cache.parse(f) log.info("Prez default profiles loaded") remote_profiles_query = """ PREFIX dcat: @@ -71,79 +55,3 @@ async def create_profiles_graph(repo) -> Graph: log.info(f"Remote profile(s) found and added") else: log.info("No remote profiles found") - # add profiles internal links - _add_prez_profile_links() - - -# @lru_cache(maxsize=128) -def get_profiles_and_mediatypes( - classes: FrozenSet[URIRef], - requested_profile: URIRef = None, - requested_profile_token: str = None, - requested_mediatype: URIRef = None, -): - query = select_profile_mediatype( - classes, requested_profile, requested_profile_token, requested_mediatype - ) - response = profiles_graph_cache.query(query) - if len(response.bindings[0]) == 0: - raise NoProfilesException(classes) - top_result = response.bindings[0] - profile, mediatype, selected_class = ( - top_result["profile"], - top_result["format"], - top_result["class"], - ) - profile_headers, avail_profile_uris = generate_profiles_headers( - selected_class, response, profile, mediatype - ) - return profile, mediatype, selected_class, profile_headers, avail_profile_uris - - -def generate_profiles_headers(selected_class, response, profile, mediatype): - headers = { - "Access-Control-Allow-Origin": "*", - "Content-Type": mediatype, - } - avail_profiles = set( - (get_curie_id_for_uri(i["profile"]), i["profile"], i["title"]) - for i in response.bindings - ) - avail_profiles_headers = ", ".join( - [ - f'; rel="type"; title="{i[2]}"; token="{i[0]}"; anchor=<{i[1]}>' - for i in avail_profiles - ] - ) - avail_mediatypes_headers = ", ".join( - [ - f"""<{selected_class}?_profile={get_curie_id_for_uri(i["profile"])}&_mediatype={i["format"]}>; \ -rel="{"self" if i["profile"] == profile and i["format"] == mediatype else "alternate"}"; \ -type="{i["format"]}"; profile="{i["profile"]}"\ -""" - for i in response.bindings - ] - ) - headers["Link"] = ", ".join( - [ - f'<{profile}>; rel="profile"', - avail_profiles_headers, - avail_mediatypes_headers, - ] - ) - avail_profile_uris = [i[1] for i in avail_profiles] - return headers, avail_profile_uris - - -def _add_prez_profile_links(): - for profile in profiles_graph_cache.subjects( - predicate=RDF.type, object=PROF.Profile - ): - profiles_graph_cache.add( - ( - profile, - PREZ["link"], - Literal(f"/profiles/{get_curie_id_for_uri(profile)}"), - ) - ) - # profiles_graph_cache.__iadd__(g) diff --git a/prez/services/link_generation.py b/prez/services/link_generation.py old mode 100644 new mode 100755 index 7f1b3ea6..79043fc0 --- a/prez/services/link_generation.py +++ b/prez/services/link_generation.py @@ -1,126 +1,216 @@ +import logging +import time from string import Template -from typing import FrozenSet -from fastapi import Depends from rdflib import Graph, Literal, URIRef, DCTERMS, BNode +from rdflib.namespace import SH, RDF +from sparql_grammar_pydantic import ( + IRI, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + SelectClause, + SubSelect, +) from prez.cache import endpoints_graph_cache, links_ids_graph_cache -from prez.dependencies import get_system_repo +from prez.config import settings from prez.reference_data.prez_ns import PREZ +from prez.repositories import Repo +from prez.services.classes import get_classes from prez.services.curie_functions import get_curie_id_for_uri -from prez.services.model_methods import get_classes -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import ( - get_endpoint_template_queries, - generate_relationship_query, -) +from prez.services.query_generation.shacl import NodeShape +log = logging.getLogger(__name__) -async def _add_prez_links(graph: Graph, repo: Repo, system_repo: Repo): + +async def add_prez_links(graph: Graph, repo: Repo, endpoint_structure): + """ + Adds internal links to the given graph for all URIRefs that have a class and endpoint associated with them. + """ + t_start = time.time() # get all URIRefs - if Prez can find a class and endpoint for them, an internal link will be generated. uris = [uri for uri in graph.all_nodes() if isinstance(uri, URIRef)] uri_to_klasses = {} - for uri in uris: - uri_to_klasses[uri] = await get_classes(uri, repo) + t = time.time() + # for uri in uris: + # uri_to_klasses[uri] = await get_classes(uri, repo) + uri_to_klasses = await get_classes(uris, repo) + log.debug(f"Time taken to get classes: {time.time() - t}") for uri, klasses in uri_to_klasses.items(): - await _create_internal_links_graph(uri, graph, repo, klasses, system_repo) + if klasses: # need class to know which endpoints can deliver the class + await _link_generation(uri, repo, klasses, graph, endpoint_structure) + log.debug(f"Time taken to add links: {time.time() - t_start}") -async def _create_internal_links_graph(uri, graph, repo: Repo, klasses, system_repo): +async def _link_generation( + uri: URIRef, + repo: Repo, + klasses, + graph: Graph, + endpoint_structure: str = settings.endpoint_structure, +): + """ + Generates links for the given URI if it is not already cached. + """ + # check the cache quads = list( links_ids_graph_cache.quads((None, None, None, uri)) - ) # context required as not all triples that relate to links or identifiers for a particular object have that object's URI as the subject + ) # context required as not all triples that relate to links or identifiers for a particular object have that + # object's URI as the subject if quads: for quad in quads: graph.add(quad[:3]) - else: - for klass in klasses: - endpoint_to_relations = await get_endpoint_info_for_classes( - frozenset([klass]), system_repo - ) - relationship_query = generate_relationship_query(uri, endpoint_to_relations) - if relationship_query: - _, tabular_results = await repo.send_queries( - [], [(uri, relationship_query)] + # get the endpoints that can deliver the class + # many node shapes to one endpoint; multiple node shapes can point to the endpoint + else: # generate links + available_nodeshapes = await get_nodeshapes_constraining_class(klasses, uri) + # ignore CQL and Search nodeshapes as we do not want to generate links for these. + available_nodeshapes = [ + ns + for ns in available_nodeshapes + if ns.uri + not in [ + URIRef("http://example.org/ns#CQL"), + URIRef("http://example.org/ns#Search"), + ] + ] + # run queries for available nodeshapes to get link components + for ns in available_nodeshapes: + if int(ns.hierarchy_level) > 1: + results = await get_link_components(ns, repo) + for result in results: + # if the list at tuple[1] > 0 then there's some result and a link should be generated. + # NB for top level links, there will be a result (the graph pattern matched) BUT the result will not form + # part of the link. e.g. ?path_node_1 will have result(s) but is not part of the link. + for solution in result[1]: + # create link strings + ( + curie_for_uri, + members_link, + object_link, + ) = await create_link_strings( + ns.hierarchy_level, solution, uri, endpoint_structure + ) + # add links and identifiers to graph and cache + await add_links_to_graph_and_cache( + curie_for_uri, graph, members_link, object_link, uri + ) + else: + curie_for_uri, members_link, object_link = await create_link_strings( + ns.hierarchy_level, {}, uri, endpoint_structure + ) + await add_links_to_graph_and_cache( + curie_for_uri, graph, members_link, object_link, uri ) - for _, result in tabular_results: - quads = generate_system_links_object(result, uri) - for quad in quads: - graph.add(quad[:3]) # just add the triple not the quad - links_ids_graph_cache.add(quad) # add the quad to the cache -async def get_endpoint_info_for_classes( - classes: FrozenSet[URIRef], system_repo -) -> dict: +async def get_nodeshapes_constraining_class(klasses, uri): """ - Queries Prez's in memory reference data for endpoints to determine which endpoints are relevant for the classes an - object has, along with information about "parent" objects included in the URL path for the object. This information - is whether the relationship in RDF is expected to be from the parent to the child, or from the child to the parent, - and the predicate used for the relationship. + Retrieves the node shapes that constrain the given classes. """ - endpoint_query = get_endpoint_template_queries(classes) - results = await system_repo.send_queries([], [(None, endpoint_query)]) - endpoint_to_relations = {} - if results[1][0][1] != [{}]: - for result in results[1][0][1]: - endpoint_template = result["endpoint_template"]["value"] - relation = result.get("relation_predicate") - if relation: - relation = URIRef(relation["value"]) - direction = result.get("relation_direction") - if direction: - direction = URIRef(direction["value"]) - if endpoint_template not in endpoint_to_relations: - endpoint_to_relations[endpoint_template] = [(relation, direction)] - else: - endpoint_to_relations[endpoint_template].append((relation, direction)) - return endpoint_to_relations + available_nodeshapes = [] + available_nodeshape_uris = list( + endpoints_graph_cache.subjects(predicate=RDF.type, object=SH.NodeShape) + ) + available_nodeshape_triples = list( + endpoints_graph_cache.triples_choices((None, SH.targetClass, list(klasses))) + ) + if available_nodeshape_triples: + for ns, _, _ in available_nodeshape_triples: + if ns in available_nodeshape_uris: + available_nodeshapes.append( + NodeShape( + uri=ns, + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=IRI(value=uri), + ) + ) + return available_nodeshapes -def generate_system_links_object(relationship_results: list, object_uri: str): +async def add_links_to_graph_and_cache( + curie_for_uri, graph, members_link, object_link, uri +): """ - Generates system links for objects from the 'object' endpoint - relationship_results: a list of dictionaries, one per endpoint, each dictionary contains: - 1. an endpoint template with parameters denoted by `$` to be populated using python's string Template library - 2. the arguments to populate this endpoint template, as URIs. The get_curie_id_for_uri function is used to convert - these to curies. + Adds links and identifiers to the given graph and cache. """ - endpoints = [] - link_quads = [] - for endpoint_results in relationship_results: - endpoint_template = Template(endpoint_results["endpoint"]["value"]) - template_args = { - k: get_curie_id_for_uri(v["value"]) - for k, v in endpoint_results.items() - if k != "endpoint" - } | {"object": get_curie_id_for_uri(URIRef(object_uri))} - endpoints.append(endpoint_template.substitute(template_args)) - for endpoint in endpoints: - link_quads.append( - (URIRef(object_uri), PREZ["link"], Literal(endpoint), object_uri) + quads = [] + quads.append((uri, PREZ["link"], Literal(object_link), uri)) + quads.append( + (uri, DCTERMS.identifier, Literal(curie_for_uri, datatype=PREZ.identifier), uri) + ) + if ( + members_link + ): # TODO need to confirm the link value doesn't match the existing link value, as multiple endpoints can deliver the same class/have different links for the same URI + existing_members_link = list( + links_ids_graph_cache.quads((uri, PREZ["members"], None, uri)) ) - for ep_result in relationship_results: - for k, v in ep_result.items(): - if k != "endpoint": - uri = URIRef(v["value"]) - curie = get_curie_id_for_uri(uri) - link_quads.append( - ( - uri, - DCTERMS.identifier, - Literal(curie, datatype=PREZ.identifier), - object_uri, - ) - ) - object_curie = get_curie_id_for_uri(object_uri) - link_quads.append( + if not existing_members_link: + members_bn = BNode() + quads.append((uri, PREZ["members"], members_bn, uri)) + quads.append((members_bn, PREZ["link"], Literal(members_link), uri)) + for quad in quads: + graph.add(quad[:3]) + links_ids_graph_cache.add(quad) + + +async def create_link_strings(hierarchy_level, solution, uri, endpoint_structure): + """ + Creates link strings based on the hierarchy level and solution provided. + """ + components = list(endpoint_structure[: int(hierarchy_level)]) + variables = reversed( + ["focus_node"] + [f"path_node_{i}" for i in range(1, len(components))] + ) + item_link_template = Template( + "".join([f"/{comp}/${pattern}" for comp, pattern in zip(components, variables)]) + ) + curie_for_uri = get_curie_id_for_uri(uri) + sol_values = {k: get_curie_id_for_uri(v["value"]) for k, v in solution.items()} + object_link = item_link_template.substitute( + sol_values | {"focus_node": curie_for_uri} + ) + members_link = None + if len(components) < len(list(endpoint_structure)): + members_link = object_link + "/" + endpoint_structure[len(components)] + return curie_for_uri, members_link, object_link + + +async def get_link_components(ns, repo): + """ + Retrieves link components for the given node shape. + + Of the form: + SELECT ?path_node_1 + WHERE { + ?path_node_1 . + ?focus_classes . + ?path_node_1 . + VALUES ?focus_classes{ } + } + """ + link_queries = [] + link_queries.append( ( - object_uri, - DCTERMS.identifier, - Literal(object_curie, datatype=PREZ.identifier), - object_uri, + ns.uri, + SubSelect( + select_clause=SelectClause(variables_or_all=ns.path_nodes.values()), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock.from_tssp_list( + ns.tssp_list[::-1] + ), # reversed for performance + graph_patterns_or_triples_blocks=ns.gpnt_list, + ) + ) + ), + ).to_string(), ) ) - return link_quads + _, results = await repo.send_queries([], link_queries) + return results diff --git a/prez/services/listings.py b/prez/services/listings.py old mode 100644 new mode 100755 index 2eb43068..ce0a57b3 --- a/prez/services/listings.py +++ b/prez/services/listings.py @@ -1,73 +1,119 @@ -from fastapi import Request -from rdflib import URIRef, PROF +import copy +import logging -from prez.cache import profiles_graph_cache -from prez.models.listing import ListingModel -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.renderers.renderer import return_from_graph, return_profiles -from prez.services.link_generation import _add_prez_links -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import ( - generate_listing_construct, - generate_listing_count_construct, +from fastapi.responses import PlainTextResponse +from rdflib import URIRef, Literal +from rdflib.namespace import RDF +from sparql_grammar_pydantic import IRI, Var + +from prez.cache import endpoints_graph_cache +from prez.reference_data.prez_ns import PREZ, ALTREXT, ONT +from prez.renderers.renderer import return_from_graph +from prez.services.link_generation import add_prez_links +from prez.services.query_generation.count import CountQuery +from prez.services.query_generation.shacl import NodeShape +from prez.services.query_generation.umbrella import ( + merge_listing_query_grammar_inputs, + PrezQueryConstructor, ) +log = logging.getLogger(__name__) + async def listing_function( - request: Request, - repo: Repo, - system_repo: Repo, - page: int = 1, - per_page: int = 20, - uri: str = None, + data_repo, + system_repo, + endpoint_nodeshape, + endpoint_structure, + search_query, + concept_hierarchy_query, + cql_parser, + pmts, + profile_nodeshape, + query_params, + original_endpoint_type, ): - endpoint_uri = request.scope["route"].name - listing_item = ListingModel( - **request.path_params, - **request.query_params, - endpoint_uri=endpoint_uri, - uri=uri, + if ( + pmts.selected["profile"] == ALTREXT["alt-profile"] + ): # recalculate the endpoint node shape + endpoint_nodeshape = await handle_alt_profile(original_endpoint_type, pmts) + + subselect_kwargs = merge_listing_query_grammar_inputs( + cql_parser=cql_parser, + endpoint_nodeshape=endpoint_nodeshape, + search_query=search_query, + concept_hierarchy_query=concept_hierarchy_query, + query_params=query_params, ) - prof_and_mt_info = ProfilesMediatypesInfo( - request=request, classes=listing_item.classes + + # merge subselect and profile triples same subject (for construct triples) + construct_tss_list = [] + subselect_tss_list = subselect_kwargs.pop("construct_tss_list") + if subselect_tss_list: + construct_tss_list.extend(subselect_tss_list) + if profile_nodeshape.tss_list: + construct_tss_list.extend(profile_nodeshape.tss_list) + + queries = [] + main_query = PrezQueryConstructor( + construct_tss_list=construct_tss_list, + profile_triples=profile_nodeshape.tssp_list, + profile_gpnt=profile_nodeshape.gpnt_list, + **subselect_kwargs, ) - listing_item.selected_class = prof_and_mt_info.selected_class - listing_item.profile = prof_and_mt_info.profile + queries.append(main_query.to_string()) - if prof_and_mt_info.profile == URIRef( - "http://www.w3.org/ns/dx/connegp/altr-ext#alt-profile" + if ( + pmts.requested_mediatypes is not None + and pmts.requested_mediatypes[0][0] == "application/sparql-query" ): - return await return_profiles( - classes=frozenset(listing_item.selected_class), - prof_and_mt_info=prof_and_mt_info, - repo=repo, - ) + return PlainTextResponse(queries[0], media_type="application/sparql-query") - ordering_predicate = request.query_params.get("ordering-pred", None) - item_members_query = generate_listing_construct( - listing_item, - prof_and_mt_info.profile, - page=page, - per_page=per_page, - ordering_predicate=ordering_predicate, - ) - count_query = generate_listing_count_construct(listing_item, endpoint_uri) - if listing_item.selected_class in [ - URIRef("https://prez.dev/ProfilesList"), - PROF.Profile, - ]: - list_graph = profiles_graph_cache.query(item_members_query).graph - count_graph = profiles_graph_cache.query(count_query).graph - item_graph = list_graph + count_graph + # add a count query if it's an annotated mediatype + if "anot+" in pmts.selected["mediatype"] and not search_query: + subselect = copy.deepcopy(main_query.inner_select) + count_query = CountQuery(original_subselect=subselect).to_string() + queries.append(count_query) + + # TODO absorb this up the top of function + if pmts.selected["profile"] == ALTREXT["alt-profile"]: + query_repo = system_repo else: - item_graph, _ = await repo.send_queries([count_query, item_members_query], []) - if "anot+" in prof_and_mt_info.mediatype: - await _add_prez_links(item_graph, repo, system_repo) + query_repo = data_repo + + item_graph, _ = await query_repo.send_queries(queries, []) + if "anot+" in pmts.selected["mediatype"]: + await add_prez_links(item_graph, query_repo, endpoint_structure) + + # count search results - hard to do in SPARQL as the SELECT part of the query is NOT aggregated + if search_query: + count = len(list(item_graph.subjects(RDF.type, PREZ.SearchResult))) + item_graph.add((PREZ.SearchResult, PREZ["count"], Literal(count))) return await return_from_graph( item_graph, - prof_and_mt_info.mediatype, - listing_item.profile, - prof_and_mt_info.profile_headers, - prof_and_mt_info.selected_class, - repo, + pmts.selected["mediatype"], + pmts.selected["profile"], + pmts.generate_response_headers(), + pmts.selected["class"], + data_repo, + system_repo, + ) + + +async def handle_alt_profile(original_endpoint_type, pmts): + endpoint_nodeshape_map = { + ONT["ObjectEndpoint"]: URIRef("http://example.org/ns#AltProfilesForObject"), + ONT["ListingEndpoint"]: URIRef("http://example.org/ns#AltProfilesForListing"), + } + endpoint_uri = endpoint_nodeshape_map[original_endpoint_type] + endpoint_nodeshape = NodeShape( + uri=endpoint_uri, + graph=endpoints_graph_cache, + kind="endpoint", + focus_node=Var(value="focus_node"), + path_nodes={ + "path_node_1": IRI(value=pmts.selected["class"]) + }, # hack - not sure how (or if) the class can be + # 'dynamicaly' expressed in SHACL. The class is only known at runtime ) + return endpoint_nodeshape diff --git a/prez/services/model_methods.py b/prez/services/model_methods.py deleted file mode 100644 index 6accd67f..00000000 --- a/prez/services/model_methods.py +++ /dev/null @@ -1,33 +0,0 @@ -from rdflib import URIRef - -from prez.cache import endpoints_graph_cache -from prez.sparql.methods import Repo - - -async def get_classes( - uri: URIRef, repo: Repo, endpoint: URIRef = None -) -> frozenset[URIRef]: - """ - if endpoint is specified, only classes that the endpoint can deliver will be returned. - """ - q = f""" - SELECT ?class - {{ <{uri}> a ?class }} - """ - _, r = await repo.send_queries([], [(uri, q)]) - tabular_result = r[0] # should only be one result - only one query sent - if endpoint != URIRef("https://prez.dev/endpoint/object"): - endpoint_classes = list( - endpoints_graph_cache.objects( - subject=endpoint, - predicate=URIRef("https://prez.dev/ont/deliversClasses"), - ) - ) - object_classes_delivered_by_endpoint = [] - for c in tabular_result[1]: - if URIRef(c["class"]["value"]) in endpoint_classes: - object_classes_delivered_by_endpoint.append(URIRef(c["class"]["value"])) - classes = frozenset(object_classes_delivered_by_endpoint) - else: - classes = frozenset([c["class"]["value"] for c in tabular_result[1]]) - return classes diff --git a/prez/services/objects.py b/prez/services/objects.py old mode 100644 new mode 100755 index 16decbd7..ff1551f8 --- a/prez/services/objects.py +++ b/prez/services/objects.py @@ -1,94 +1,74 @@ -from typing import Optional +import logging +import time -from fastapi import Depends -from fastapi import Request, HTTPException -from rdflib import URIRef +from fastapi.responses import PlainTextResponse -from prez.cache import profiles_graph_cache -from prez.config import settings -from prez.dependencies import get_repo -from prez.models.object_item import ObjectItem -from prez.models.profiles_and_mediatypes import ProfilesMediatypesInfo -from prez.reference_data.prez_ns import PREZ -from prez.renderers.renderer import return_from_graph, return_profiles -from prez.services.curie_functions import get_uri_for_curie_id -from prez.services.model_methods import get_classes -from prez.services.link_generation import _add_prez_links -from prez.sparql.methods import Repo -from prez.sparql.objects_listings import ( - generate_item_construct, - generate_listing_construct, +from prez.models.query_params import QueryParams +from prez.reference_data.prez_ns import ALTREXT, ONT +from prez.renderers.renderer import return_from_graph +from prez.services.link_generation import add_prez_links +from prez.services.listings import listing_function +from prez.services.query_generation.umbrella import ( + PrezQueryConstructor, ) +log = logging.getLogger(__name__) + async def object_function( - request: Request, - repo: Repo, - system_repo=Repo, - object_curie: Optional[str] = None, + data_repo, + system_repo, + endpoint_structure, + pmts, + profile_nodeshape, ): - endpoint_uri = URIRef(request.scope["route"].name) - if endpoint_uri == URIRef("https://prez.dev/endpoint/object"): - if not request.query_params.get("uri"): - raise HTTPException( - status_code=400, - detail="A URI for an object must be supplied on the /object endpoint, for example " - "/object?uri=https://an-object-uri", - ) - uri = URIRef(request.query_params.get("uri")) - elif object_curie: - uri = get_uri_for_curie_id(object_curie) - else: - raise HTTPException( - status_code=400, - detail="The 'object_curie' is required for non-object endpoints", + if pmts.selected["profile"] == ALTREXT["alt-profile"]: + none_keys = [ + "endpoint_nodeshape", + "concept_hierarchy_query", + "cql_parser", + "search_query", + ] + none_kwargs = {key: None for key in none_keys} + query_params = QueryParams( + mediatype=pmts.selected["mediatype"], + filter=None, + q=None, + page=1, + per_page=100, + order_by=None, + order_by_direction=None, ) - - klasses = await get_classes(uri=uri, repo=repo, endpoint=endpoint_uri) - # ConnegP - needs improvement - prof_and_mt_info = ProfilesMediatypesInfo(request=request, classes=klasses) - # if we're on the object endpoint and a profile hasn't been requested, use the open profile - if (endpoint_uri == URIRef("https://prez.dev/endpoint/object")) and not ( - prof_and_mt_info.req_profiles or prof_and_mt_info.req_profiles_token - ): - prof_and_mt_info.selected_class = None - prof_and_mt_info.profile = PREZ["profile/open"] - # create the object with all required info - object_item = ObjectItem( # object item now does not need request - uri=uri, - classes=klasses, - profile=prof_and_mt_info.profile, - selected_class=prof_and_mt_info.selected_class, - ) - if prof_and_mt_info.profile == URIRef( - "http://www.w3.org/ns/dx/connegp/altr-ext#alt-profile" - ): - return await return_profiles( - classes=frozenset(object_item.selected_class), - prof_and_mt_info=prof_and_mt_info, - repo=repo, + return await listing_function( + data_repo=data_repo, + system_repo=system_repo, + endpoint_structure=endpoint_structure, + pmts=pmts, + profile_nodeshape=profile_nodeshape, + query_params=query_params, + original_endpoint_type=ONT["ObjectEndpoint"], + **none_kwargs, ) - item_query = generate_item_construct(object_item, object_item.profile) + query = PrezQueryConstructor( + profile_triples=profile_nodeshape.tssp_list, + profile_gpnt=profile_nodeshape.gpnt_list, + construct_tss_list=profile_nodeshape.tss_list, + ).to_string() - ordering_predicate = request.query_params.get("ordering-pred", None) - item_members_query = generate_listing_construct( - object_item, prof_and_mt_info.profile, 1, 20, ordering_predicate - ) - if object_item.selected_class == URIRef("http://www.w3.org/ns/dx/prof/Profile"): - item_graph = profiles_graph_cache.query(item_query).graph - if item_members_query: - list_graph = profiles_graph_cache.query(item_members_query).graph - item_graph += list_graph - else: - item_graph, _ = await repo.send_queries([item_query, item_members_query], []) - if "anot+" in prof_and_mt_info.mediatype: - await _add_prez_links(item_graph, repo, system_repo) + if pmts.requested_mediatypes[0][0] == "application/sparql-query": + return PlainTextResponse(query, media_type="application/sparql-query") + query_start_time = time.time() + item_graph, _ = await data_repo.send_queries([query], []) + log.debug(f"Query time: {time.time() - query_start_time}") + if "anot+" in pmts.selected["mediatype"]: + await add_prez_links(item_graph, data_repo, endpoint_structure) return await return_from_graph( item_graph, - prof_and_mt_info.mediatype, - object_item.profile, - prof_and_mt_info.profile_headers, - prof_and_mt_info.selected_class, - repo, + pmts.selected["mediatype"], + pmts.selected["profile"], + pmts.generate_response_headers(), + pmts.selected["class"], + data_repo, + system_repo, ) diff --git a/prez/services/prez_logging.py b/prez/services/prez_logging.py old mode 100644 new mode 100755 diff --git a/prez/services/query_generation/annotations.py b/prez/services/query_generation/annotations.py new file mode 100755 index 00000000..9922163d --- /dev/null +++ b/prez/services/query_generation/annotations.py @@ -0,0 +1,192 @@ +from functools import lru_cache +from typing import List + +from sparql_grammar_pydantic import ( + ConstructQuery, + IRI, + Var, + GraphPatternNotTriples, + InlineData, + DataBlock, + InlineDataOneVar, + DataBlockValue, + InlineDataFull, + Filter, + Constraint, + BrackettedExpression, + Expression, + PrimaryExpression, + BuiltInCall, + RDFLiteral, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SolutionModifier, +) + +from prez.config import settings +from prez.reference_data.prez_ns import PREZ + + +class AnnotationsConstructQuery(ConstructQuery): + """ + Example query; all queries are of this form: + + CONSTRUCT { + ?term ?prezAnotProp ?annotation + } + WHERE { + VALUES ?term { } + VALUES (?prop ?prezAnotProp ) {( ) + ( ) + ( ) + ( ) + ( ) + ( ) + }?term ?prop ?annotation + FILTER (LANG(?annotation) IN ("en", "") || isURI(?annotation)) + } + """ + + def __init__(self, terms: List[IRI]): + # create terms VALUES clause + # e.g. VALUES ?term { ... } + term_var = Var(value="term") + terms_gpnt = GraphPatternNotTriples( + content=InlineData( + data_block=DataBlock( + block=InlineDataOneVar( + variable=term_var, + datablockvalues=[DataBlockValue(value=term) for term in terms], + ) + ) + ) + ) + + # create prez annotation to annotation properties VALUES clause + # e.g. VALUES ( ?prop ?prezAnotProp ) { (...) (...) } + + prez_anot_var = Var(value="prezAnotProp") + prop_var = Var(value="prop") + all_annotation_tuples = self.get_prez_annotation_tuples() + props_gpnt = GraphPatternNotTriples( + content=InlineData( + data_block=DataBlock( + block=InlineDataFull( + vars=[prop_var, prez_anot_var], + datablocks=[ + [ + DataBlockValue(value=IRI(value=prop)), + DataBlockValue(value=IRI(value=prez_prop)), + ] + for prop, prez_prop in all_annotation_tuples + ], + ) + ) + ) + ) + + # create a language filter + # e.g. FILTER (LANG(?annotation) IN ("en", "")) + anot_var = Var(value="annotation") + lang_filter_gpnt = GraphPatternNotTriples( + content=Filter( + constraint=Constraint( + content=BrackettedExpression( + expression=Expression.create_in_expression( + left_primary_expression=PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + function_name="LANG", + expression=PrimaryExpression(content=anot_var), + ) + ), + operator="IN", + right_primary_expressions=[ + PrimaryExpression( + content=RDFLiteral(value=settings.default_language) + ), + PrimaryExpression(content=RDFLiteral(value="")), + ], + ) + ) + ) + ) + ) + # || isURI(?annotation) + isuri_expr = Expression.from_primary_expression( + primary_expression=PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + function_name="isURI", + expression=PrimaryExpression(content=anot_var), + ) + ) + ) + lang_filter_gpnt.content.constraint.content.expression.conditional_or_expression.conditional_and_expressions.append( + isuri_expr + ) + + # create the main query components - construct and where clauses + construct_template = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list( + [ + TriplesSameSubject.from_spo( + subject=term_var, + predicate=prez_anot_var, + object=anot_var, + ) + ] + ) + ) + where_clause = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + terms_gpnt, # VALUES ?term { ... } + props_gpnt, # VALUES ( ?prop ?prezAnotProp ) { (...) (...) } + TriplesBlock.from_tssp_list( + [ + TriplesSameSubjectPath.from_spo( # ?term ?prop ?annotation + subject=term_var, + predicate=prop_var, + object=anot_var, + ) + ] + ), + lang_filter_gpnt, # FILTER (LANG(?annotation) IN ("en", "")) + ] + ) + ) + ) + super().__init__( + construct_template=construct_template, + where_clause=where_clause, + solution_modifier=SolutionModifier(), + ) + + @staticmethod + @lru_cache(maxsize=None) + def get_prez_annotation_tuples(): + label_tuples = [ + (label_prop, PREZ.label) for label_prop in settings.label_predicates + ] + description_tuples = [ + (description_prop, PREZ.description) + for description_prop in settings.description_predicates + ] + provenance_tuples = [ + (provenance_prop, PREZ.provenance) + for provenance_prop in settings.provenance_predicates + ] + # other is different - the ORIGINAL property is returned as the predicate; not prez:x + other_tuples = [ + (other_prop, other_prop) for other_prop in settings.other_predicates + ] + all_tuples = ( + label_tuples + description_tuples + provenance_tuples + other_tuples + ) + return all_tuples diff --git a/prez/services/query_generation/classes.py b/prez/services/query_generation/classes.py new file mode 100755 index 00000000..804ba0d0 --- /dev/null +++ b/prez/services/query_generation/classes.py @@ -0,0 +1,64 @@ +import logging + +from rdflib.namespace import RDF +from sparql_grammar_pydantic import ( + IRI, + Var, + DataBlock, + InlineDataOneVar, + DataBlockValue, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SubSelect, + SelectClause, + ValuesClause, +) + +log = logging.getLogger(__name__) + + +class ClassesSelectQuery(SubSelect): + """ + SELECT ?class ?uri + WHERE { + ?uri rdf:type ?class + VALUES ?uri { <...> <...> } + } + """ + + def __init__( + self, + iris: list[IRI], + ): + class_var = Var(value="class") + uris_var = Var(value="uri") + select_clause = SelectClause(variables_or_all=[class_var, uris_var]) + where_clause = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock( + triples=TriplesSameSubjectPath.from_spo( + subject=uris_var, + predicate=IRI(value=RDF.type), + object=class_var, + ) + ) + ) + ) + ) + values_clause = ValuesClause( + data_block=DataBlock( + block=InlineDataOneVar( + variable=uris_var, + datablockvalues=[DataBlockValue(value=uri) for uri in iris], + ) + ) + ) + super().__init__( + select_clause=select_clause, + where_clause=where_clause, + values_clause=values_clause, + ) diff --git a/prez/services/query_generation/concept_hierarchy.py b/prez/services/query_generation/concept_hierarchy.py new file mode 100755 index 00000000..441db947 --- /dev/null +++ b/prez/services/query_generation/concept_hierarchy.py @@ -0,0 +1,367 @@ +from typing import Optional + +from rdflib import SKOS +from sparql_grammar_pydantic import ( + ConstructQuery, + IRI, + Var, + GraphPatternNotTriples, + Expression, + PrimaryExpression, + BuiltInCall, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SolutionModifier, + PathSequence, + PathEltOrInverse, + PathElt, + PathPrimary, + PropertyListPathNotEmpty, + VerbPath, + SG_Path, + PathAlternative, + ObjectListPath, + ObjectPath, + GraphNodePath, + VarOrTerm, + GraphTerm, + Bind, + ExistsFunc, + SelectClause, + LimitOffsetClauses, + LimitClause, + OffsetClause, + GroupOrUnionGraphPattern, + OrderClause, + OrderCondition, + SubSelect, +) + +from prez.reference_data.prez_ns import PREZ + + +class ConceptHierarchyQuery(ConstructQuery): + """ + CONSTRUCT { + ?focus_node a ?class ; + prez:hasChildren ?hasChildren . + } + WHERE { + ?focus_node a ?class + { + SELECT DISTINCT ?focus_node ?hasChildren + WHERE { + |^ ?focus_node. + ?focus_node ?label. + BIND(EXISTS {?focus_node |^ ?grandChildren.} as ?hasChildren) + } + ORDER BY ?label + OFFSET 0 + LIMIT 20 + } + } + """ + + def __init__( + self, + parent_uri: IRI, + parent_child_predicates: tuple[IRI, IRI], + limit: int = 10, + offset: int = 0, + has_children_var: Var = Var( + value="hasChildren" + ), # whether the focus nodes have children + label_predicate: IRI = IRI(value=SKOS.prefLabel), + child_grandchild_predicates: Optional[tuple[IRI, IRI]] = None, + label_var=Var(value="label"), + ): + if not child_grandchild_predicates: + child_grandchild_predicates = parent_child_predicates + focus_node_var = Var(value="focus_node") + grandchildren_var = Var(value="grandchildren") + + parent_child_alt = PathSequence( + list_path_elt_or_inverse=[ + PathEltOrInverse( + path_elt=PathElt( + path_primary=PathPrimary( + value=parent_child_predicates[0], + ) + ) + ) + ] + ) + parent_child_sp_inverse = PathSequence( + list_path_elt_or_inverse=[ + PathEltOrInverse( + path_elt=PathElt( + path_primary=PathPrimary( + value=parent_child_predicates[1], + ) + ), + inverse=True, + ) + ] + ) + + tssp1 = TriplesSameSubjectPath( + content=( + VarOrTerm(varorterm=GraphTerm(content=parent_uri)), + PropertyListPathNotEmpty( + first_pair=( + VerbPath( + path=SG_Path( + path_alternative=PathAlternative( + sequence_paths=[ + parent_child_alt, + parent_child_sp_inverse, + ] + ) + ) + ), + ObjectListPath( + object_paths=[ + ObjectPath( + graph_node_path=GraphNodePath( + varorterm_or_triplesnodepath=VarOrTerm( + varorterm=focus_node_var + ) + ) + ) + ] + ), + ) + ), + ) + ) + + tb1 = TriplesBlock(triples=tssp1) + + child_grandchild_alt = PathSequence( + list_path_elt_or_inverse=[ + PathEltOrInverse( + path_elt=PathElt( + path_primary=PathPrimary( + value=child_grandchild_predicates[0], + ) + ) + ) + ] + ) + child_grandchild_sp_inverse = PathSequence( + list_path_elt_or_inverse=[ + PathEltOrInverse( + path_elt=PathElt( + path_primary=PathPrimary( + value=child_grandchild_predicates[1], + ) + ), + inverse=True, + ) + ] + ) + + tssp2 = TriplesSameSubjectPath( + content=( + VarOrTerm(varorterm=focus_node_var), + PropertyListPathNotEmpty( + first_pair=( + VerbPath( + path=SG_Path( + path_alternative=PathAlternative( + sequence_paths=[ + child_grandchild_alt, + child_grandchild_sp_inverse, + ] + ) + ) + ), + ObjectListPath( + object_paths=[ + ObjectPath( + graph_node_path=GraphNodePath( + varorterm_or_triplesnodepath=VarOrTerm( + varorterm=grandchildren_var + ) + ) + ) + ] + ), + ) + ), + ) + ) + bind_gpnt = GraphPatternNotTriples( + content=Bind( + expression=Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + other_expressions=ExistsFunc( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock(triples=tssp2) + ) + ) + ) + ) + ) + ), + var=has_children_var, + ) + ) + + ### + tb2 = TriplesBlock( + triples=TriplesSameSubjectPath( + content=( + VarOrTerm(varorterm=focus_node_var), + PropertyListPathNotEmpty( + first_pair=( + VerbPath( + path=SG_Path( + path_alternative=PathAlternative( + sequence_paths=[ + PathSequence( + list_path_elt_or_inverse=[ + PathEltOrInverse( + path_elt=PathElt( + path_primary=PathPrimary( + value=label_predicate, + ) + ) + ) + ] + ) + ] + ) + ) + ), + ObjectListPath( + object_paths=[ + ObjectPath( + graph_node_path=GraphNodePath( + varorterm_or_triplesnodepath=VarOrTerm( + varorterm=label_var + ) + ) + ) + ] + ), + ) + ), + ) + ) + ) + + # join the triples blocks + tb1.triples_block = tb2 + + sc = SelectClause( + distinct=True, + variables_or_all=[focus_node_var, has_children_var], + ) + + inner_wc = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[tb1, bind_gpnt] + ) + ) + ) + + inner_sm = SolutionModifier( + order_by=OrderClause(conditions=[OrderCondition(var=label_var)]), + limit_offset=LimitOffsetClauses( + limit_clause=LimitClause(limit=limit), + offset_clause=OffsetClause(offset=offset), + ), + ) + + outer_wc = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[ + GroupGraphPattern( + content=SubSelect( + select_clause=sc, + where_clause=inner_wc, + solution_modifier=inner_sm, + ) + ) + ] + ) + ) + ] + ) + ) + ) + + ct = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list( + [ + TriplesSameSubject.from_spo( + subject=focus_node_var, + predicate=IRI(value=PREZ.hasChildren), + object=has_children_var, + ) + ] + ) + ) + + super().__init__( + construct_template=ct, + where_clause=outer_wc, + solution_modifier=SolutionModifier(), + ) + + @property + def construct_triples(self): + return self.construct_template.construct_triples + + @property + def tss_list(self): + return [self.construct_template.construct_triples.triples] + + @property + def inner_select_vars(self): + return ( + self.where_clause.group_graph_pattern.content.graph_patterns_or_triples_blocks[ + 0 + ] + .content.group_graph_patterns[0] + .content.select_clause.variables_or_all + ) + + @property + def inner_select_gpnt(self): + return GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[ + self.where_clause.group_graph_pattern.content.graph_patterns_or_triples_blocks[ + 0 + ] + .content.group_graph_patterns[0] + .content.where_clause.group_graph_pattern + ] + ) + ) + + @property + def order_by(self): + return ( + self.where_clause.group_graph_pattern.content.graph_patterns_or_triples_blocks[ + 0 + ] + .content.group_graph_patterns[0] + .content.solution_modifier.order_by.conditions[0] + .var + ) diff --git a/prez/services/query_generation/count.py b/prez/services/query_generation/count.py new file mode 100755 index 00000000..f21b72a6 --- /dev/null +++ b/prez/services/query_generation/count.py @@ -0,0 +1,198 @@ +from sparql_grammar_pydantic import ( + IRI, + Var, + TriplesSameSubject, + SubSelect, + SelectClause, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + SolutionModifier, + LimitOffsetClauses, + LimitClause, + Expression, + PrimaryExpression, + BuiltInCall, + Aggregate, + ConditionalOrExpression, + ConditionalAndExpression, + ValueLogical, + RelationalExpression, + NumericExpression, + AdditiveExpression, + MultiplicativeExpression, + UnaryExpression, + NumericLiteral, + RDFLiteral, + Bind, + GraphPatternNotTriples, + GroupOrUnionGraphPattern, + ConstructTemplate, + BlankNode, + Anon, + ConstructTriples, + ConstructQuery, +) + +from prez.config import settings + + +class CountQuery(ConstructQuery): + """ + Counts focus nodes that can be retrieved for listing queries. + Default limit is 1000 and can be configured in the settings. + + Query is of the form: + CONSTRUCT { + [] ?count_str + } + WHERE { + { + SELECT (COUNT(DISTINCT ?focus_node) AS ?count) + WHERE { + SELECT ?focus_node + WHERE { + <<< original where clause >>> + } LIMIT 1001 + } + } + BIND(IF(?count = 1001, ">1000", STR(?count)) AS ?count_str) + } + """ + + def __init__(self, original_subselect: SubSelect): + limit = settings.listing_count_limit + limit_plus_one = limit + 1 + inner_ss = SubSelect( + select_clause=SelectClause(variables_or_all=[Var(value="focus_node")]), + where_clause=original_subselect.where_clause, + solution_modifier=SolutionModifier( + limit_offset=LimitOffsetClauses( + limit_clause=LimitClause(limit=limit_plus_one) + ), + ), + values_clause=original_subselect.values_clause, + ) + count_expression = Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + other_expressions=Aggregate( + function_name="COUNT", + distinct=True, + expression=Expression.from_primary_expression( + PrimaryExpression(content=Var(value="focus_node")) + ), + ) + ) + ) + ) + outer_ss = SubSelect( + select_clause=SelectClause( + variables_or_all=[(count_expression, Var(value="count"))], + ), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern(content=inner_ss) + ), + ) + outer_ss_ggp = GroupGraphPattern(content=outer_ss) + count_equals_1001_expr = Expression( + conditional_or_expression=ConditionalOrExpression( + conditional_and_expressions=[ + ConditionalAndExpression( + value_logicals=[ + ValueLogical( + relational_expression=RelationalExpression( + left=NumericExpression( + additive_expression=AdditiveExpression( + base_expression=MultiplicativeExpression( + base_expression=UnaryExpression( + primary_expression=PrimaryExpression( + content=Var(value="count") + ) + ) + ) + ) + ), + operator="=", + right=NumericExpression( + additive_expression=AdditiveExpression( + base_expression=MultiplicativeExpression( + base_expression=UnaryExpression( + primary_expression=PrimaryExpression( + content=NumericLiteral( + value=limit_plus_one + ) + ) + ) + ) + ) + ), + ) + ) + ] + ) + ] + ) + ) + gt_1000_exp = Expression.from_primary_expression( + PrimaryExpression(content=RDFLiteral(value=f">{limit}")) + ) + str_count_exp = Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + function_name="STR", + expression=PrimaryExpression(content=Var(value="count")), + ) + ) + ) + bind = Bind( + expression=Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + function_name="IF", + arguments=[count_equals_1001_expr, gt_1000_exp, str_count_exp], + ) + ) + ), + var=Var(value="count_str"), + ) + wc = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[outer_ss_ggp] + ) + ), + GraphPatternNotTriples(content=bind), + ] + ) + ) + ) + construct_template = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list( + [ + TriplesSameSubject.from_spo( + subject=BlankNode(value=Anon()), + predicate=IRI(value="https://prez.dev/count"), + object=Var(value="count_str"), + ) + ] + ) + ) + # Initialize the base ConstructQuery + super().__init__( + construct_template=construct_template, + where_clause=wc, + solution_modifier=SolutionModifier(), + ) + + +def startup_count_objects(): + """ + Retrieves hardcoded counts for collections in the repository (Feature Collections, Catalogs etc.) + """ + return f"""PREFIX prez: + CONSTRUCT {{ ?collection prez:count ?count }} + WHERE {{ ?collection prez:count ?count }}""" diff --git a/prez/services/query_generation/cql.py b/prez/services/query_generation/cql.py new file mode 100755 index 00000000..9ec26348 --- /dev/null +++ b/prez/services/query_generation/cql.py @@ -0,0 +1,349 @@ +from typing import Generator + +from pyld import jsonld +from rdflib import URIRef, Namespace +from rdflib.namespace import GEO, SH +from sparql_grammar_pydantic import ( + ArgList, + FunctionCall, + ConstructQuery, + IRI, + Var, + GraphPatternNotTriples, + Expression, + PrimaryExpression, + BuiltInCall, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SolutionModifier, + GroupOrUnionGraphPattern, + NumericLiteral, + RegexExpression, + InlineData, + DataBlock, + InlineDataOneVar, + DataBlockValue, + RDFLiteral, + Filter, + Constraint, +) + +from prez.reference_data.cql.geo_function_mapping import ( + cql_sparql_spatial_mapping, + cql_to_shapely_mapping, +) + +CQL = Namespace("http://www.opengis.net/doc/IS/cql2/1.0/") + + +class CQLParser: + def __init__(self, cql=None, context: dict = None, cql_json: dict = None): + self.ggps_inner_select = None + self.inner_select_gpnt_list = None + self.cql: dict = cql + self.context = context + self.cql_json = cql_json + self.var_counter = 0 + self.query_object = None + self.query_str = None + self.gpnt_list = [] + self.tss_list = [] + self.tssp_list = [] + + def generate_jsonld(self): + combined = {"@context": self.context, **self.cql} + self.cql_json = jsonld.expand(combined, options={"base": "h"})[0] + + def parse(self): + root = self.cql_json + self.ggps_inner_select = next(self.parse_logical_operators(root)) + where = WhereClause( + group_graph_pattern=GroupGraphPattern(content=self.ggps_inner_select) + ) + construct_template = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list(self.tss_list) + ) + solution_modifier = SolutionModifier() + self.query_object = ConstructQuery( + construct_template=construct_template, + where_clause=where, + solution_modifier=solution_modifier, + ) + self.query_str = self.query_object.to_string() + gpotb = self.query_object.where_clause.group_graph_pattern.content + gpnt_list = [ + i + for i in gpotb.graph_patterns_or_triples_blocks + if isinstance(i, GraphPatternNotTriples) + ] + self.inner_select_gpnt_list = gpnt_list + + def parse_logical_operators( + self, element, existing_ggps=None + ) -> Generator[GroupGraphPatternSub, None, None]: + operator = element.get(str(CQL.operator))[0].get("@value") + args = element.get(str(CQL.args)) + + ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + + if operator == "and": + and_components = [] + for arg in args: + # Process each argument and update the same ggps without yielding + list(self.parse_logical_operators(arg, ggps)) + # If a new ggps was created (not passed from outside), yield it + if existing_ggps is None: + yield ggps + + elif operator == "or": + # Collect components and then yield a GroupOrUnionGraphPattern + # ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + or_components = [] + for arg in args: + # If the result is not a GroupGraphPatternSub, wrap it. + component = next(self.parse_logical_operators(arg), None) + if isinstance(component, GroupGraphPatternSub): + component = GroupGraphPattern(content=component) + or_components.append(component) + + gpnt = GraphPatternNotTriples( + content=GroupOrUnionGraphPattern(group_graph_patterns=or_components) + ) + if ggps.graph_patterns_or_triples_blocks: + ggps.graph_patterns_or_triples_blocks.append(gpnt) + else: + ggps.graph_patterns_or_triples_blocks = [gpnt] + if existing_ggps is None: + yield ggps + + if operator in ["<", "=", ">", "<=", ">="]: + yield from self._handle_comparison(operator, args, ggps) + elif operator == "like": + yield from self._handle_like(args, ggps) + elif operator in cql_sparql_spatial_mapping: + yield from self._handle_spatial(operator, args, ggps) + elif operator == "in": + yield from self._handle_in(args, ggps) + else: + raise NotImplementedError(f"Operator {operator} not implemented.") + + def _add_triple(self, ggps, subject, predicate, object): + tssp = TriplesSameSubjectPath.from_spo( + subject=subject, predicate=predicate, object=object + ) + tss = TriplesSameSubject.from_spo( + subject=subject, predicate=predicate, object=object + ) + self.tss_list.append(tss) + self.tssp_list.append(tssp) + if ggps.triples_block: + ggps.triples_block = TriplesBlock( + triples=tssp, triples_block=ggps.triples_block + ) + else: + ggps.triples_block = TriplesBlock(triples=tssp) + + def _handle_comparison(self, operator, args, existing_ggps=None): + self.var_counter += 1 + ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + + prop = args[0].get(str(CQL.property))[0].get("@id") + inverse = False # for inverse properties + if prop.startswith("^"): + prop = prop[1:] + inverse = True + val = args[1].get("@value") + if not val: # then should be an IRI + val = args[1].get("@id") + value = IRI(value=val) + elif isinstance(val, str): # literal string + value = RDFLiteral(value=val) + elif isinstance(val, (int, float)): # literal numeric + value = NumericLiteral(value=val) + subject = Var(value="focus_node") + predicate = IRI(value=prop) + + object = Var(value=f"var_{self.var_counter}") + object_pe = PrimaryExpression(content=object) + if operator == "=": + iri_db_vals = [DataBlockValue(value=value)] + ildov = InlineDataOneVar(variable=object, datablockvalues=iri_db_vals) + gpnt = GraphPatternNotTriples( + content=InlineData(data_block=DataBlock(block=ildov)) + ) + ggps.add_pattern(gpnt) + else: + value_pe = PrimaryExpression(content=value) + values_constraint = Filter.filter_relational( + focus=object_pe, comparators=value_pe, operator=operator + ) + gpnt = GraphPatternNotTriples(content=values_constraint) + ggps.add_pattern(gpnt) + + if inverse: + self._add_triple(ggps, object, predicate, subject) + else: + self._add_triple(ggps, subject, predicate, object) + + yield ggps + + def _handle_like(self, args, existing_ggps=None): + self.var_counter += 1 + ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + prop = args[0].get(str(CQL.property))[0].get("@id") + inverse = False + if prop.startswith("^"): + prop = prop[1:] + inverse = True + value = ( + args[1] + .get("@value") + .replace("%", ".*") + .replace("_", ".") + .replace("\\", "\\\\") + ) + + subject = Var(value="focus_node") + predicate = IRI(value=URIRef(prop)) + obj = Var(value=f"var_{self.var_counter}") + if inverse: + self._add_triple(ggps, obj, predicate, subject) + else: + self._add_triple(ggps, subject, predicate, obj) + + filter_gpnt = GraphPatternNotTriples( + content=Filter( + constraint=Constraint( + content=BuiltInCall( + other_expressions=RegexExpression( + text_expression=Expression.from_primary_expression( + primary_expression=PrimaryExpression(content=obj) + ), + pattern_expression=Expression.from_primary_expression( + primary_expression=PrimaryExpression( + content=RDFLiteral(value=value) + ) + ), + ) + ) + ) + ) + ) + ggps.add_pattern(filter_gpnt) + # self._append_graph_pattern(ggps, filter_expr) + yield ggps + + def _handle_spatial(self, operator, args, existing_ggps=None): + self.var_counter += 1 + ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + + coordinates_list = args[1].get("http://example.com/vocab/coordinates") + coordinates, geom_type = self._extract_spatial_info(coordinates_list, args) + + if coordinates: + wkt = self.get_wkt_from_coords(coordinates, geom_type) + prop = args[0].get(str(CQL.property))[0].get("@id") + if URIRef(prop) == SH.focusNode: + subject = Var(value="focus_node") + else: + subject = IRI(value=prop) + geom_bn_var = Var(value="geom_bnode") + geom_lit_var = Var(value="geom_var") + self._add_triple(ggps, subject, IRI(value=GEO.hasGeometry), geom_bn_var) + self._add_triple(ggps, geom_bn_var, IRI(value=GEO.asWKT), geom_lit_var) + + geom_func_iri = IRI(value=cql_sparql_spatial_mapping[operator]) + geom_1_exp = Expression.from_primary_expression( + primary_expression=PrimaryExpression(content=geom_lit_var) + ) + geom_2_datatype = IRI( + value="http://www.opengis.net/ont/geosparql#wktLiteral" + ) + geom_2_exp = Expression.from_primary_expression( + primary_expression=PrimaryExpression( + content=RDFLiteral(value=wkt, datatype=geom_2_datatype) + ) + ) + arg_list = ArgList(expressions=[geom_1_exp, geom_2_exp]) + fc = FunctionCall(iri=geom_func_iri, arg_list=arg_list) + + spatial_filter = Filter(constraint=Constraint(content=fc)) + filter_gpnt = GraphPatternNotTriples(content=spatial_filter) + ggps.add_pattern(filter_gpnt) + yield ggps + + def get_wkt_from_coords(self, coordinates, geom_type): + shapely_spatial_class = cql_to_shapely_mapping.get(geom_type) + if not shapely_spatial_class: + raise NotImplementedError( + f'Geometry Class for "{geom_type}" not found in Shapely.' + ) + wkt = shapely_spatial_class(coordinates).wkt + return wkt + + def _handle_in(self, args, existing_ggps=None): + self.var_counter += 1 + ggps = existing_ggps if existing_ggps is not None else GroupGraphPatternSub() + + prop = args[0].get(str(CQL.property))[0].get("@id") + inverse = False + if prop.startswith("^"): + prop = prop[1:] + inverse = True + literal_values = [item["@value"] for item in args if "@value" in item] + uri_values = [item["@id"] for item in args if "@id" in item] + grammar_literal_values = [] + for val in literal_values: + if isinstance(val, str): + value = RDFLiteral(value=val) + elif isinstance(val, (int, float)): + value = NumericLiteral(value=val) + grammar_literal_values.append(value) + grammar_uri_values = [IRI(value=URIRef(value)) for value in uri_values] + all_values = grammar_literal_values + grammar_uri_values + subject = Var(value="focus_node") + predicate = IRI(value=URIRef(prop)) + object = Var(value=f"var_{self.var_counter}") + if inverse: + self._add_triple(ggps, object, predicate, subject) + else: + self._add_triple(ggps, subject, predicate, object) + + iri_db_vals = [DataBlockValue(value=p) for p in all_values] + ildov = InlineDataOneVar(variable=object, datablockvalues=iri_db_vals) + + gpnt = GraphPatternNotTriples( + content=InlineData(data_block=DataBlock(block=ildov)) + ) + ggps.add_pattern(gpnt) + # self._append_graph_pattern(ggps, gpnt) + yield ggps + + def _extract_spatial_info(self, coordinates_list, args): + coordinates = [] + geom_type = None + if coordinates_list: + coordinates = [ + (coordinates_list[i]["@value"], coordinates_list[i + 1]["@value"]) + for i in range(0, len(coordinates_list), 2) + ] + geom_type = args[1]["http://www.opengis.net/ont/sf#type"][0]["@value"] + bbox_list = args[1].get("http://example.com/vocab/bbox") + if bbox_list: + geom_type = "Polygon" + bbox_values = [item["@value"] for item in bbox_list] + if len(bbox_values) == 4: + coordinates = [ + (bbox_values[0], bbox_values[1]), + (bbox_values[0], bbox_values[3]), + (bbox_values[2], bbox_values[3]), + (bbox_values[2], bbox_values[1]), + (bbox_values[0], bbox_values[1]), + ] + return coordinates, geom_type diff --git a/prez/services/query_generation/homepage.py b/prez/services/query_generation/homepage.py new file mode 100644 index 00000000..9188a3d2 --- /dev/null +++ b/prez/services/query_generation/homepage.py @@ -0,0 +1,42 @@ +from sparql_grammar_pydantic import ( + IRI, + Var, + SelectClause, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SubSelect, +) + + +class FoafHomepageQuery(SubSelect): + """ + SELECT DISTINCT ?url + WHERE { + <{{ iri }}> foaf:homepage ?url . + } + """ + + def __init__(self, iri: str): + iri_var = IRI(value=iri) + url_var = Var(value="url") + select_clause = SelectClause(distinct=True, variables_or_all=[url_var]) + where_clause = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock( + triples=TriplesSameSubjectPath.from_spo( + subject=iri_var, + predicate=IRI(value="http://xmlns.com/foaf/0.1/homepage"), + object=url_var, + ) + ) + ) + ) + ) + super().__init__( + select_clause=select_clause, + where_clause=where_clause, + ) diff --git a/prez/queries/identifier.py b/prez/services/query_generation/identifier.py old mode 100644 new mode 100755 similarity index 100% rename from prez/queries/identifier.py rename to prez/services/query_generation/identifier.py diff --git a/prez/services/query_generation/prefixes.py b/prez/services/query_generation/prefixes.py new file mode 100755 index 00000000..50722ebf --- /dev/null +++ b/prez/services/query_generation/prefixes.py @@ -0,0 +1,55 @@ +from sparql_grammar_pydantic import ( + IRI, + Var, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SelectClause, + SubSelect, +) + + +class PrefixQuery(SubSelect): + """ + SELECT ?prefix ?namespace + WHERE { + ?subject vann:preferredNamespacePrefix ?prefix ; + vann:preferredNamespaceUri ?namespace . + } + """ + + def __init__(self): + prefix_var = Var(value="prefix") + namespace_var = Var(value="namespace") + subject_var = Var(value="subject") + select_clause = SelectClause(variables_or_all=[prefix_var, namespace_var]) + where_clause = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock.from_tssp_list( + [ + TriplesSameSubjectPath.from_spo( + subject=subject_var, + predicate=IRI( + value="http://purl.org/vocab/vann/preferredNamespacePrefix" + ), + object=prefix_var, + ), + TriplesSameSubjectPath.from_spo( + subject=subject_var, + predicate=IRI( + value="http://purl.org/vocab/vann/preferredNamespaceUri" + ), + object=namespace_var, + ), + ] + ) + ) + ) + ) + super().__init__( + select_clause=select_clause, + where_clause=where_clause, + ) diff --git a/prez/services/query_generation/search.py b/prez/services/query_generation/search.py new file mode 100755 index 00000000..fab138ae --- /dev/null +++ b/prez/services/query_generation/search.py @@ -0,0 +1,378 @@ +from typing import Optional, List + +from rdflib import RDF +from sparql_grammar_pydantic import ( + ConstructQuery, + IRI, + Var, + GraphPatternNotTriples, + Expression, + PrimaryExpression, + BuiltInCall, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SolutionModifier, + Bind, + SelectClause, + LimitOffsetClauses, + LimitClause, + OffsetClause, + GroupOrUnionGraphPattern, + OrderClause, + OrderCondition, + SubSelect, + NumericLiteral, + RegexExpression, + Aggregate, + GroupClause, + GroupCondition, + InlineData, + DataBlock, + InlineDataOneVar, + DataBlockValue, + RDFLiteral, + Filter, + Constraint, +) + +from prez.config import settings +from prez.reference_data.prez_ns import PREZ + + +class SearchQueryRegex(ConstructQuery): + limit: int = 10 # specify here to make available as attribute + offset: int = 0 # specify here to make available as attribute + + def __init__( + self, + term: str, + predicates: Optional[List[str]] = None, + limit: int = 10, + offset: int = 0, + ): + sr_uri: Var = Var(value="focus_node") + pred: Var = Var(value="pred") + match: Var = Var(value="match") + weight: Var = Var(value="weight") + hashid: Var = Var(value="hashID") + + if not predicates: + predicates = settings.default_search_predicates + + ct_map = { + IRI(value=PREZ.searchResultWeight): weight, + IRI(value=PREZ.searchResultPredicate): pred, + IRI(value=PREZ.searchResultMatch): match, + IRI(value=PREZ.searchResultURI): sr_uri, + IRI(value=RDF.type): IRI(value=PREZ.SearchResult), + } + + # set construct triples + construct_tss_list = [ + TriplesSameSubject.from_spo(subject=hashid, predicate=p, object=v) + for p, v in ct_map.items() + ] + + # construct template + ct = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list(construct_tss_list) + ) + wc = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=SubSelect( + # SELECT ?focus_node ?predicate ?match ?weight (URI(CONCAT("urn:hash:", + # SHA256(CONCAT(STR(?focus_node), STR(?predicate), STR(?match), STR(?weight))))) AS ?hashID) + select_clause=SelectClause( + variables_or_all=[ + sr_uri, + pred, + match, + weight, + ( + Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "URI", + PrimaryExpression( + content=BuiltInCall.create_with_n_expr( + "CONCAT", + [ + PrimaryExpression( + content=RDFLiteral( + value="urn:hash:" + ) + ), + PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "SHA256", + PrimaryExpression( + content=BuiltInCall.create_with_n_expr( + "CONCAT", + [ + PrimaryExpression( + content=b + ) + for b in [ + BuiltInCall.create_with_one_expr( + "STR", + PrimaryExpression( + content=e + ), + ) + for e in [ + sr_uri, + pred, + match, + weight, + ] + ] + ], + ) + ), + ) + ), + ], + ) + ), + ) + ) + ), + hashid, + ), + ] + ), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern( + content=SubSelect( + # SELECT ?focus_node ?predicate ?match (SUM(?w) AS ?weight) + select_clause=SelectClause( + variables_or_all=[ + sr_uri, + pred, + match, + ( + Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + other_expressions=Aggregate( + function_name="SUM", + expression=Expression.from_primary_expression( + PrimaryExpression( + content=Var( + value="w" + ) + ) + ), + ) + ) + ) + ), + weight, + ), + ] + ), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + GraphPatternNotTriples( + content=InlineData( + data_block=DataBlock( + block=InlineDataOneVar( + variable=pred, + datablockvalues=[ + DataBlockValue( + value=p + ) + for p in [ + IRI(value=p) + for p in predicates + ] + ], + ) + ) + ) + ), + GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[ + self.create_inner_ggp( + **var_dict, + sr_uri=sr_uri, + pred=pred, + match=match, + term=term, + ) + for var_dict in self.inner_select_args.values() + ] + ) + ), + ] + ) + ) + ), + solution_modifier=SolutionModifier( + group_by=GroupClause( + group_conditions=[ + GroupCondition(condition=sr_uri), + GroupCondition(condition=pred), + GroupCondition(condition=match), + ] + ) + ), + ) + ) + ), + solution_modifier=SolutionModifier( + order_by=OrderClause( + conditions=[OrderCondition(var=weight, direction="DESC")] + ), + limit_offset=LimitOffsetClauses( + limit_clause=LimitClause(limit=limit), + offset_clause=OffsetClause(offset=offset), + ), + ), + ) + ) + ) + super().__init__( + construct_template=ct, + where_clause=wc, + solution_modifier=SolutionModifier(), + ) + + @property + def inner_select_args(self): + return { + "one": { + "weight_val": 100, + "function": "LCASE", + "prefix": "", + "case_insensitive": None, + }, + "two": { + "weight_val": 20, + "function": "REGEX", + "prefix": "^", + "case_insensitive": True, + }, + "three": { + "weight_val": 10, + "function": "REGEX", + "prefix": "", + "case_insensitive": True, + }, + } + + def create_inner_ggp( + self, + weight_val: int, + function: str, + prefix: str, + case_insensitive: Optional[bool], + sr_uri: Var, + pred: Var, + match: Var, + term: str, + ) -> GroupGraphPattern: + ggp = GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock.from_tssp_list( + [ + TriplesSameSubjectPath.from_spo( + subject=sr_uri, + predicate=pred, + object=match, + ) + ] + ), + graph_patterns_or_triples_blocks=[ + GraphPatternNotTriples( + content=Bind( + expression=Expression.from_primary_expression( + PrimaryExpression( + content=NumericLiteral(value=weight_val) + ) + ), + var=Var(value="w"), + ) + ) + ], + ) + ) + # FILTER (REGEX(?match, "^$term", "i")) + pe_st = PrimaryExpression(content=RDFLiteral(value=(prefix + term))) + + filter_expr = None + if function == "REGEX": + filter_expr = Filter( + constraint=Constraint( + content=BuiltInCall( + other_expressions=RegexExpression( + text_expression=Expression.from_primary_expression( + PrimaryExpression(content=match) + ), # Expression for the text + pattern_expression=Expression.from_primary_expression( + pe_st + ), + flags_expression=( + Expression.from_primary_expression( + PrimaryExpression(content=RDFLiteral(value="i")) + ) + if case_insensitive + else None + ), + ) + ) + ) + ) + + # filter e.g. FILTER(LCASE(?match) = "search term") + elif function == "LCASE": + filter_expr = Filter.filter_relational( + focus=PrimaryExpression( + content=BuiltInCall(function_name=function, arguments=[match]) + ), + comparators=pe_st, + operator="=", + ) + ggp.content.add_pattern(GraphPatternNotTriples(content=filter_expr)) + return ggp + + @property + def tss_list(self): + return self.construct_template.construct_triples.to_tss_list() + + # convenience properties for the construct query + @property + def construct_triples(self): + return self.construct_template.construct_triples + + @property + def inner_select_vars(self): + return ( + self.where_clause.group_graph_pattern.content.select_clause.variables_or_all + ) + + @property + def inner_select_gpnt(self): + inner_ggp = ( + self.where_clause.group_graph_pattern.content.where_clause.group_graph_pattern + ) + return GraphPatternNotTriples( + content=GroupOrUnionGraphPattern(group_graph_patterns=[inner_ggp]) + ) + + @property + def order_by(self): + return Var(value="weight") + + @property + def order_by_direction(self): + return "DESC" diff --git a/prez/services/query_generation/shacl.py b/prez/services/query_generation/shacl.py new file mode 100755 index 00000000..d67d7825 --- /dev/null +++ b/prez/services/query_generation/shacl.py @@ -0,0 +1,531 @@ +from __future__ import annotations + +from string import Template +from typing import List, Optional, Any, Dict, Literal as TypingLiteral, Union, Tuple + +from pydantic import BaseModel +from rdflib import URIRef, BNode, Graph, RDFS +from rdflib.collection import Collection +from rdflib.namespace import SH, RDF +from rdflib.term import Node +from sparql_grammar_pydantic import ( + IRI, + Var, + GraphPatternNotTriples, + PrimaryExpression, + BuiltInCall, + TriplesSameSubject, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + InlineData, + DataBlock, + InlineDataOneVar, + DataBlockValue, + Filter, + Constraint, + OptionalGraphPattern, + IRIOrFunction, +) + +from prez.reference_data.prez_ns import ONT, SHEXT + + +class Shape(BaseModel): + class Config: + arbitrary_types_allowed = True + + def __init__(self, **data: Any): + super().__init__(**data) + self.tss_list = [] + self.tssp_list = [] + self.gpnt_list = [] + self.from_graph() + self.to_grammar() + + def add_triple_to_tss_and_tssp(self, triple: Tuple): + self.tss_list.append(TriplesSameSubject.from_spo(*triple)) + self.tssp_list.append(TriplesSameSubjectPath.from_spo(*triple)) + + def from_graph(self): + raise NotImplementedError("Subclasses must implement this method.") + + def to_grammar(self): + raise NotImplementedError("Subclasses must implement this method.") + + +class NodeShape(Shape): + uri: URIRef + graph: Graph + kind: TypingLiteral["endpoint", "profile"] + focus_node: Union[Var, IRI] + targetNode: Optional[URIRef] = None + targetClasses: Optional[List[Node]] = [] + propertyShapesURIs: Optional[List[Node]] = [] + target: Optional[Node] = None + rules: Optional[List[Node]] = [] + propertyShapes: Optional[List[PropertyShape]] = [] + tss_list: Optional[List[TriplesSameSubject]] = [] + tssp_list: Optional[List[TriplesSameSubjectPath]] = [] + gpnt_list: Optional[List[GraphPatternNotTriples]] = [] + rule_triples: Optional[TriplesSameSubjectPath] = [] + path_nodes: Optional[Dict[str, Var | IRI]] = {} + classes_at_len: Optional[Dict[str, List[URIRef]]] = {} + hierarchy_level: Optional[int] = None + select_template: Optional[Template] = None + bnode_depth: Optional[int] = None + + def from_graph(self): # TODO this can be a SPARQL select against the system graph. + self.bnode_depth = next( + self.graph.objects(self.uri, SHEXT["bnode-depth"]), None + ) + self.targetNode = next(self.graph.objects(self.uri, SH.targetNode), None) + self.targetClasses = list(self.graph.objects(self.uri, SH.targetClass)) + self.propertyShapesURIs = list(self.graph.objects(self.uri, SH.property)) + self.target = next(self.graph.objects(self.uri, SH.target), None) + self.rules = list(self.graph.objects(self.uri, SH.rule)) + self.propertyShapes = [ + PropertyShape( + uri=ps_uri, + graph=self.graph, + kind=self.kind, + focus_node=self.focus_node, + path_nodes=self.path_nodes, + ) + for ps_uri in self.propertyShapesURIs + ] + self.hierarchy_level = next( + self.graph.objects(self.uri, ONT.hierarchyLevel), None + ) + if not self.hierarchy_level and self.kind == "endpoint": + raise ValueError("No hierarchy level found") + + def to_grammar(self): + if self.targetNode: + pass # do not need to add any specific triples or the like + if self.targetClasses: + self._process_class_targets() + if self.propertyShapes: + self._process_property_shapes() + if self.target: + self._process_target() + # rules used to construct triples only in the context of sh:target/sh:sparql at present. + if self.rules: + self._process_rules() + if self.bnode_depth: + self._build_bnode_blocks() + + def _process_class_targets(self): + if len(self.targetClasses) == 1: + if self.targetClasses == [RDFS.Resource]: + pass + else: + self.add_triple_to_tss_and_tssp( + ( + self.focus_node, + IRI(value=RDF.type), + IRI(value=self.targetClasses[0]), + ) + ) + elif len(self.targetClasses) > 1: + self.add_triple_to_tss_and_tssp( + (self.focus_node, IRI(value=RDF.type), Var(value="focus_classes")) + ) + dbvs = [ + DataBlockValue(value=IRI(value=klass)) for klass in self.targetClasses + ] + self.gpnt_list.append( + GraphPatternNotTriples( + content=InlineData( + data_block=DataBlock( + block=InlineDataOneVar( + variable=Var(value=f"focus_classes"), + datablockvalues=dbvs, + ) + ) + ) + ) + ) + else: + raise ValueError("No target classes found") + + def _process_target(self): + self.select_template = Template( + str(self.endpoint_graph.value(self.target, SH.select, default=None)) + ) + + def _process_rules(self): + for rule_node in self.rule_nodes: + subject = self.graph.value(subject=rule_node, predicate=SH.subject) + predicate = self.graph.value(subject=rule_node, predicate=SH.predicate) + object = self.graph.value(subject=rule_node, predicate=SH.object) + if subject == SH.this: + subject = self.focus_node + subject, predicate, object = self.sh_rule_type_conversion( + [subject, predicate, object] + ) + self.rule_triples.append((subject, predicate, object)) + + def _process_property_shapes(self): + for shape in self.propertyShapes: + self.tssp_list.extend(shape.tssp_list) + self.tss_list.extend(shape.tss_list) + self.gpnt_list.extend(shape.gpnt_list) + self.path_nodes = self.path_nodes | shape.path_nodes + self.classes_at_len = self.classes_at_len | shape.classes_at_len + # deduplicate + # self.tssp_list = list(set(self.tssp_list)) #TODO requires re implementation of hash functions for classes + + def _build_bnode_blocks(self): + max_depth = int(self.bnode_depth) + + def optional_gpnt(depth): + # graph pattern or triples block list, which will contain the filter, and any nested optional blocks + gpotb = [ + GraphPatternNotTriples( + content=Filter( + constraint=Constraint( + content=BuiltInCall.create_with_one_expr( + "isBLANK", + PrimaryExpression(content=Var(value=f"bn_o_{depth}")), + ) + ) + ) + ), + ] + + # recursive call to build nested optional blocks + if depth < max_depth: + gpotb.append(optional_gpnt(depth + 1)) + + # triples to go inside the optional block + triples = [] + if depth == 1: + triples.append( + ( + self.focus_node, + Var(value=f"bn_p_{depth}"), + Var(value=f"bn_o_{depth}"), + ) + ) + triples.append( + ( + Var(value=f"bn_o_{depth}"), + Var(value=f"bn_p_{depth + 1}"), + Var(value=f"bn_o_{depth + 1}"), + ) + ) + + # create Triples Same Subject Path for WHERE clause + tssp_list = [TriplesSameSubjectPath.from_spo(*triple) for triple in triples] + + # create Triples Same Subject for CONSTRUCT TRIPLES clause + tss_list = [TriplesSameSubject.from_spo(*triple) for triple in triples] + self.tss_list.extend(tss_list) + + # optional block containing triples + opt_gpnt = GraphPatternNotTriples( + content=OptionalGraphPattern( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock.from_tssp_list(tssp_list[::-1]), + graph_patterns_or_triples_blocks=gpotb, + ) + ) + ) + ) + return opt_gpnt + + nested_ogp = optional_gpnt(depth=1) + self.gpnt_list.append(nested_ogp) + + +class PropertyShape(Shape): + uri: URIRef | BNode # URI of the shape + graph: Graph + kind: TypingLiteral["endpoint", "profile"] + focus_node: Union[IRI, Var] + # inputs + property_paths: Optional[List[PropertyPath]] = None + or_klasses: Optional[List[URIRef]] = None + # outputs + grammar: Optional[GroupGraphPatternSub] = None + tss_list: Optional[List[TriplesSameSubject]] = [] + tssp_list: Optional[List[TriplesSameSubjectPath]] = [] + gpnt_list: Optional[List[GraphPatternNotTriples]] = None + path_nodes: Optional[Dict[str, Var | IRI]] = {} + classes_at_len: Optional[Dict[str, List[URIRef]]] = {} + _select_vars: Optional[List[Var]] = None + + @property + def minCount(self): + minc = next(self.graph.objects(self.uri, SH.minCount), None) + if minc is not None: + return int(minc) + + @property + def maxCount(self): + maxc = next(self.graph.objects(self.uri, SH.maxCount), None) + if maxc is not None: + return int(maxc) + + def from_graph(self): + self.property_paths = [] + _single_class = next(self.graph.objects(self.uri, SH["class"]), None) + if _single_class: + self.or_klasses = [URIRef(_single_class)] + + # look for sh:or statements and process classes from these NB only sh:or / sh:class is handled at present. + or_classes = next(self.graph.objects(self.uri, SH["or"]), None) + if or_classes: + or_bns = list(Collection(self.graph, or_classes)) + or_triples = list(self.graph.triples_choices((or_bns, SH["class"], None))) + self.or_klasses = [URIRef(klass) for _, _, klass in or_triples] + + pps = list(self.graph.objects(self.uri, SH.path)) + for pp in pps: + self._process_property_path(pp) + # get the longest property path first - for endpoints this will be the path any path_nodes apply to + self.property_paths = sorted( + self.property_paths, key=lambda x: len(x), reverse=True + ) + + def _process_property_path(self, pp): + if isinstance(pp, URIRef): + self.property_paths.append(Path(value=pp)) + elif isinstance(pp, BNode): + pred_objects_gen = self.graph.predicate_objects(subject=pp) + bn_pred, bn_obj = next(pred_objects_gen, (None, None)) + if bn_obj == SH.union: + union_list = list(Collection(self.graph, pp)) + if union_list != [SH.union]: + union_list_bnode = union_list[1] + union_items = list(Collection(self.graph, union_list_bnode)) + for item in union_items: + self._process_property_path(item) + elif bn_pred == SH.inversePath: + self.property_paths.append(InversePath(value=bn_obj)) + # elif bn_pred == SH.alternativePath: + # predicates.extend(list(Collection(self.profile_graph, bn_obj))) + else: # sequence paths + paths = list(Collection(self.graph, pp)) + sp_list = [] + for path in paths: + if isinstance(path, BNode): + pred_objects_gen = self.graph.predicate_objects(subject=path) + bn_pred, bn_obj = next(pred_objects_gen, (None, None)) + if bn_pred == SH.inversePath: + sp_list.append(InversePath(value=bn_obj)) + elif isinstance(path, URIRef): + sp_list.append(Path(value=path)) + self.property_paths.append(SequencePath(value=sp_list)) + + def to_grammar(self): + # label nodes in the inner select and profile part of the query differently for clarity. + if self.kind == "endpoint": + path_or_prop = "path" + elif self.kind == "profile": + path_or_prop = "prof" + + # set up the path nodes - either from supplied values or set as variables + total_individual_nodes = sum([len(i) for i in self.property_paths]) + for i in range(total_individual_nodes): + path_node_str = f"{path_or_prop}_node_{i + 1}" + if path_node_str not in self.path_nodes: + self.path_nodes[path_node_str] = Var(value=path_node_str) + + self.tssp_list = [] + len_pp = max([len(i) for i in self.property_paths]) + # sh:class applies to the end of sequence paths + if f"{path_or_prop}_node_{len_pp}" in self.path_nodes: + path_node_term = self.path_nodes[f"{path_or_prop}_node_{len_pp}"] + else: + path_node_term = Var(value=f"{path_or_prop}_node_{len_pp}") + + # useful for determining which endpoint property shape should be used when a request comes in on endpoint + self.classes_at_len[f"{path_or_prop}_node_{len_pp}"] = self.or_klasses + + if self.or_klasses: + if len(self.or_klasses) == 1: + self.add_triple_to_tss_and_tssp( + ( + path_node_term, + IRI(value=RDF.type), + IRI(value=self.or_klasses[0]), + ) + ) + else: + self.add_triple_to_tss_and_tssp( + ( + path_node_term, + IRI(value=RDF.type), + Var(value=f"{path_or_prop}_node_classes_{len_pp}"), + ) + ) + dbvs = [ + DataBlockValue(value=IRI(value=klass)) for klass in self.or_klasses + ] + self.gpnt_list.append( + GraphPatternNotTriples( + content=InlineData( + data_block=DataBlock( + block=InlineDataOneVar( + variable=Var( + value=f"{path_or_prop}_node_classes_{len_pp}" + ), + datablockvalues=dbvs, + ) + ) + ) + ) + ) + + if self.property_paths: + i = 0 + for property_path in self.property_paths: + if f"{path_or_prop}_node_{i + 1}" in self.path_nodes: + path_node_1 = self.path_nodes[f"{path_or_prop}_node_{i + 1}"] + else: + path_node_1 = Var(value=f"{path_or_prop}_node_{i + 1}") + # for sequence paths up to length two: + if f"{path_or_prop}_node_{i + 2}" in self.path_nodes: + path_node_2 = self.path_nodes[f"{path_or_prop}_node_{i + 2}"] + else: + path_node_2 = Var(value=f"{path_or_prop}_node_{i + 2}") + + if isinstance(property_path, Path): + if property_path.value == SHEXT.allPredicateValues: + pred = Var(value="preds") + obj = Var(value="vals") + else: + pred = IRI(value=property_path.value) + obj = path_node_1 + # vanilla property path + self.add_triple_to_tss_and_tssp( + ( + self.focus_node, + pred, + obj, + ) + ) + i += 1 + + elif isinstance(property_path, InversePath): + self.add_triple_to_tss_and_tssp( + ( + path_node_1, + IRI(value=property_path.value), + self.focus_node, + ) + ) + i += 1 + + elif isinstance(property_path, SequencePath): + for j, path in enumerate(property_path.value): + if isinstance(path, Path): + if j == 0: + self.add_triple_to_tss_and_tssp( + ( + self.focus_node, + IRI(value=path.value), + path_node_1, + ) + ) + else: + self.add_triple_to_tss_and_tssp( + ( + path_node_1, + IRI(value=path.value), + path_node_2, + ) + ) + elif isinstance(path, InversePath): + if j == 0: + self.add_triple_to_tss_and_tssp( + ( + path_node_1, + IRI(value=path.value), + self.focus_node, + ) + ) + else: + self.add_triple_to_tss_and_tssp( + ( + path_node_2, + IRI(value=path.value), + path_node_1, + ) + ) + i += len(property_path) + + if self.minCount == 0: + # triples = self.tssp_list.copy() + self.gpnt_list.append( + GraphPatternNotTriples( + content=OptionalGraphPattern( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + triples_block=TriplesBlock.from_tssp_list( + self.tssp_list + ) + ) + ) + ) + ) + ) + self.tssp_list = [] + + if self.maxCount == 0: + for p in self.property_paths: + assert isinstance(p, Path) # only support filtering direct predicates + + # reset the triples list + self.tssp_list = [ + TriplesSameSubjectPath.from_spo( + subject=self.focus_node, + predicate=Var(value="preds"), + object=Var(value="excluded_pred_vals"), + ) + ] + + values = [ + PrimaryExpression(content=IRIOrFunction(iri=IRI(value=p.value))) + for p in self.property_paths + ] + gpnt = GraphPatternNotTriples( + content=Filter.filter_relational( + focus=PrimaryExpression(content=Var(value="preds")), + comparators=values, + operator="NOT IN", + ) + ) + self.gpnt_list.append(gpnt) + + +class PropertyPath(BaseModel): + class Config: + arbitrary_types_allowed = True + + uri: Optional[URIRef] = None + + +class Path(PropertyPath): + value: URIRef + + def __len__(self): + return 1 + + +class SequencePath(PropertyPath): + value: List[PropertyPath] + + def __len__(self): + return len(self.value) + + +class InversePath(PropertyPath): + value: URIRef + + def __len__(self): + return 1 diff --git a/prez/services/query_generation/sparql_escaping.py b/prez/services/query_generation/sparql_escaping.py new file mode 100755 index 00000000..feeef4bd --- /dev/null +++ b/prez/services/query_generation/sparql_escaping.py @@ -0,0 +1,3 @@ +def escape_for_lucene_and_sparql(query): + chars_to_escape = r'\+-!(){}[]^"~*?:/' + return "".join(r"\\" + char if char in chars_to_escape else char for char in query) diff --git a/prez/services/query_generation/umbrella.py b/prez/services/query_generation/umbrella.py new file mode 100755 index 00000000..b75d5dc0 --- /dev/null +++ b/prez/services/query_generation/umbrella.py @@ -0,0 +1,240 @@ +from typing import Union, Optional, List, Tuple + +from sparql_grammar_pydantic import ( + ConstructQuery, + Var, + GraphPatternNotTriples, + Expression, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + TriplesSameSubjectPath, + SolutionModifier, + SelectClause, + LimitOffsetClauses, + LimitClause, + OffsetClause, + GroupOrUnionGraphPattern, + OrderClause, + OrderCondition, + SubSelect, +) + +from prez.models.query_params import QueryParams +from prez.services.query_generation.concept_hierarchy import ConceptHierarchyQuery +from prez.services.query_generation.cql import CQLParser +from prez.services.query_generation.search import SearchQueryRegex +from prez.services.query_generation.shacl import NodeShape + + +class PrezQueryConstructor(ConstructQuery): + """ + Creates a CONSTRUCT query to describe a listing of objects or an individual object. + Query format: + + CONSTRUCT { + + } + WHERE { + # for listing queries only: + { SELECT ?focus_node + WHERE { + + + } + ORDER BY () + LIMIT + OFFSET + } + + + } + gpnt = GraphPatternNotTriples - refer to the SPARQL grammar for details. + """ + + def __init__( + self, + construct_tss_list: Optional[List[TriplesSameSubject]] = None, + profile_triples: Optional[List[TriplesSameSubjectPath]] = [], + profile_gpnt: Optional[List[GraphPatternNotTriples]] = [], + inner_select_vars: Optional[List[Union[Var, Tuple[Expression, Var]]]] = [], + inner_select_tssp_list: Optional[List[TriplesSameSubjectPath]] = [], + inner_select_gpnt: Optional[List[GraphPatternNotTriples]] = [], + limit: Optional[int] = None, + offset: Optional[int] = None, + order_by: Optional[Var] = None, + order_by_direction: Optional[str] = None, + ): + # where clause triples and GraphPatternNotTriples - set up first as in the case of a listing query, the inner + # select is appended to this list as a GraphPatternNotTriples + gpotb = [] + if profile_triples: + gpotb.append(TriplesBlock.from_tssp_list(profile_triples)) + if profile_gpnt: + gpotb.extend(profile_gpnt) + + # inner_select_vars typically set for search queries or custom select queries; otherwise we only want the focus + # node from the inner select query + if not inner_select_vars: + inner_select_vars = [(Var(value="focus_node"))] + + # order condition + oc = None + if order_by: + oc = OrderClause( + conditions=[ + OrderCondition( + var=order_by, # ORDER BY + direction=order_by_direction, # DESC/ASC + ) + ] + ) + + # for listing queries only, add an inner select to the where clause + ss_gpotb = [] + if inner_select_tssp_list: + inner_select_tssp_list = sorted( + inner_select_tssp_list, key=lambda x: str(x), reverse=True + ) # grouping for performance + ss_gpotb.append(TriplesBlock.from_tssp_list(inner_select_tssp_list)) + if inner_select_gpnt: + ss_gpotb.extend(inner_select_gpnt) + + if inner_select_tssp_list or inner_select_gpnt: + gpnt_inner_subselect = GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[ + GroupGraphPattern( + content=SubSelect( + select_clause=SelectClause( + distinct=True, variables_or_all=inner_select_vars + ), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=ss_gpotb + ) + ) + ), + solution_modifier=SolutionModifier( + limit_offset=LimitOffsetClauses( + limit_clause=LimitClause( + limit=limit + ), # LIMIT m + offset_clause=OffsetClause( + offset=offset + ), # OFFSET n + ), + order_by=oc, + ), + ) + ) + ] + ) + ) + # insert at start so that subselect is first for performant SPARQL query + gpotb.insert(0, gpnt_inner_subselect) + where_clause = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub(graph_patterns_or_triples_blocks=gpotb) + ) + ) + + # construct triples is usually only from the profile, but in the case of search queries for example, additional + # triples are added + construct_triples = None + if construct_tss_list: + construct_triples = ConstructTriples.from_tss_list(construct_tss_list) + + construct_template = ConstructTemplate(construct_triples=construct_triples) + super().__init__( + construct_template=construct_template, + where_clause=where_clause, + solution_modifier=SolutionModifier(), + ) + + @property + def inner_select(self): + return ( + self.where_clause.group_graph_pattern.content.graph_patterns_or_triples_blocks[ + 0 + ] + .content.group_graph_patterns[0] + .content + ) + + +def merge_listing_query_grammar_inputs( + cql_parser: Optional[CQLParser] = None, + endpoint_nodeshape: Optional[NodeShape] = None, + search_query: Optional[SearchQueryRegex] = None, + concept_hierarchy_query: Optional[ConceptHierarchyQuery] = None, + query_params: Optional[QueryParams] = None, +) -> dict: + page = query_params.page + per_page = query_params.per_page + order_by = query_params.order_by + order_by_direction = query_params.order_by_direction + """ + Merges the inputs for a query grammar. + """ + kwargs = { + "construct_tss_list": [], + "inner_select_vars": [], + "inner_select_tssp_list": [], + "inner_select_gpnt": [], + "limit": None, + "offset": None, + "order_by": order_by, + "order_by_direction": order_by_direction, + } + + limit = int(per_page) + offset = limit * (int(page) - 1) + kwargs["limit"] = limit + kwargs["offset"] = offset + if concept_hierarchy_query: + kwargs["construct_tss_list"] = concept_hierarchy_query.tss_list + kwargs["inner_select_vars"] = concept_hierarchy_query.inner_select_vars + if order_by: + kwargs["order_by"] = Var(value=order_by) + else: + kwargs["order_by"] = concept_hierarchy_query.order_by + if order_by_direction: + kwargs["order_by_direction"] = order_by_direction + else: + kwargs["order_by_direction"] = "ASC" + # kwargs["order_by_direction"] = concept_hierarchy_query.order_by_direction # not implemented + kwargs["inner_select_gpnt"] = [concept_hierarchy_query.inner_select_gpnt] + + # TODO can remove limit/offset/order by from search query - apply from QSA or defaults. + if search_query: + kwargs["construct_tss_list"].extend(search_query.tss_list) + kwargs["inner_select_vars"].extend(search_query.inner_select_vars) + kwargs["limit"] = search_query.limit + kwargs["offset"] = search_query.offset + kwargs["order_by"] = search_query.order_by + kwargs["order_by_direction"] = search_query.order_by_direction + kwargs["inner_select_gpnt"].extend([search_query.inner_select_gpnt]) + else: + if order_by: + kwargs["order_by"] = Var(value=order_by) + if order_by_direction: + kwargs["order_by_direction"] = order_by_direction + else: + kwargs["order_by_direction"] = "ASC" + + if cql_parser: + kwargs["construct_tss_list"].extend(cql_parser.tss_list) + kwargs["inner_select_tssp_list"].extend(cql_parser.tssp_list) + kwargs["inner_select_gpnt"].extend(cql_parser.inner_select_gpnt_list) + + if endpoint_nodeshape: + kwargs["inner_select_tssp_list"].extend(endpoint_nodeshape.tssp_list) + kwargs["inner_select_gpnt"].extend(endpoint_nodeshape.gpnt_list) + + return kwargs diff --git a/prez/services/search_methods.py b/prez/services/search_methods.py deleted file mode 100644 index c5d73117..00000000 --- a/prez/services/search_methods.py +++ /dev/null @@ -1,50 +0,0 @@ -import logging -from pathlib import Path -from string import Template - -from rdflib import Graph, RDF, DCTERMS, Literal, RDFS - -from prez.cache import search_methods -from prez.models import SearchMethod -from prez.reference_data.prez_ns import PREZ - -log = logging.getLogger(__name__) - - -async def get_all_search_methods(repo): - await get_local_search_methods() - await get_remote_search_methods(repo) - - -async def get_remote_search_methods(repo): - remote_search_methods_query = f""" - PREFIX prez: <{PREZ}> - CONSTRUCT {{?s ?p ?o}} - WHERE {{ ?s a prez:SearchMethod ; - ?p ?o . }} - """ - graph, _ = await repo.send_queries([remote_search_methods_query], []) - if len(graph) > 1: - await generate_search_methods(graph) - log.info(f"Remote search methods found and added.") - else: - log.info("No remote search methods found.") - - -async def get_local_search_methods(): - for f in (Path(__file__).parent.parent / "reference_data/search_methods").glob( - "*.ttl" - ): - g = Graph().parse(f, format="ttl") - await generate_search_methods(g) - - -async def generate_search_methods(g): - uri = g.value(None, RDF.type, PREZ.SearchMethod) - identifier = g.value(uri, DCTERMS.identifier, None) - title: Literal = g.value(uri, RDFS.label, None) - template_query = Template(g.value(uri, RDF.value, None)) - sm = SearchMethod( - uri=uri, identifier=identifier, title=title, template_query=template_query - ) - search_methods.update({identifier: sm}) diff --git a/prez/sparql/methods.py b/prez/sparql/methods.py deleted file mode 100644 index 7657e127..00000000 --- a/prez/sparql/methods.py +++ /dev/null @@ -1,237 +0,0 @@ -import asyncio -import logging -from abc import ABC, abstractmethod -from typing import List -from typing import Tuple -from urllib.parse import quote_plus - -import httpx -import pyoxigraph -from fastapi.concurrency import run_in_threadpool -from rdflib import Namespace, Graph, URIRef, Literal, BNode - -from prez.config import settings -from prez.models.model_exceptions import InvalidSPARQLQueryException - -PREZ = Namespace("https://prez.dev/") - -log = logging.getLogger(__name__) - - -class Repo(ABC): - @abstractmethod - async def rdf_query_to_graph(self, query: str): - pass - - @abstractmethod - async def tabular_query_to_table(self, query: str, context: URIRef = None): - pass - - async def send_queries( - self, rdf_queries: List[str], tabular_queries: List[Tuple[URIRef, str]] = None - ): - # Common logic to send both query types in parallel - results = await asyncio.gather( - *[self.rdf_query_to_graph(query) for query in rdf_queries if query], - *[ - self.tabular_query_to_table(query, context) - for context, query in tabular_queries - if query - ], - ) - g = Graph() - tabular_results = [] - for result in results: - if isinstance(result, Graph): - g += result - else: - tabular_results.append(result) - return g, tabular_results - - @abstractmethod - def sparql(self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "GET"): - pass - - -class RemoteSparqlRepo(Repo): - def __init__(self, async_client: httpx.AsyncClient): - self.async_client = async_client - - async def _send_query(self, query: str, mediatype="text/turtle"): - """Sends a SPARQL query asynchronously. - Args: query: str: A SPARQL query to be sent asynchronously. - Returns: httpx.Response: A httpx.Response object - """ - query_rq = self.async_client.build_request( - "POST", - url=settings.sparql_endpoint, - headers={"Accept": mediatype}, - data={"query": query}, - ) - response = await self.async_client.send(query_rq, stream=True) - return response - - async def rdf_query_to_graph(self, query: str) -> Graph: - """ - Sends a SPARQL query asynchronously and parses the response into an RDFLib Graph. - Args: query: str: A SPARQL query to be sent asynchronously. - Returns: rdflib.Graph: An RDFLib Graph object - """ - response = await self._send_query(query) - g = Graph() - await response.aread() - return g.parse(data=response.text, format="turtle") - - async def tabular_query_to_table(self, query: str, context: URIRef = None): - """ - Sends a SPARQL query asynchronously and parses the response into a table format. - The optional context parameter allows an identifier to be supplied with the query, such that multiple results can be - distinguished from each other. - """ - response = await self._send_query(query, "application/sparql-results+json") - await response.aread() - return context, response.json()["results"]["bindings"] - - async def sparql( - self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "GET" - ): - """Sends a starlette Request object (containing a SPARQL query in the URL parameters) to a proxied SPARQL - endpoint.""" - # Uses GET if the proxied query was received as a query param using GET - # Uses POST if the proxied query was received as a form-encoded body using POST - - headers = [] - for header in raw_headers: - if header[0] not in (b"host", b"content-length", b"content-type"): - headers.append(header) - query_escaped_as_bytes = f"query={quote_plus(query)}".encode("utf-8") - if method == "GET": - url = httpx.URL(url=settings.sparql_endpoint, query=query_escaped_as_bytes) - content = None - else: - headers.append((b"content-type", b"application/x-www-form-urlencoded")) - url = httpx.URL(url=settings.sparql_endpoint) - content = query_escaped_as_bytes - - headers.append((b"host", str(url.host).encode("utf-8"))) - rp_req = self.async_client.build_request(method, url, headers=headers, content=content) - return await self.async_client.send(rp_req, stream=True) - - -class PyoxigraphRepo(Repo): - def __init__(self, pyoxi_store: pyoxigraph.Store): - self.pyoxi_store = pyoxi_store - - def _handle_query_solution_results(self, results: pyoxigraph.QuerySolutions) -> dict: - """Organise the query results into format serializable by FastAPIs JSONResponse.""" - variables = results.variables - results_dict = {"head": {"vars": [v.value for v in results.variables]}} - results_list = [] - for result in results: - result_dict = {} - for var in variables: - binding = result[var] - if binding: - binding_type = self._pyoxi_result_type(binding) - result_dict[str(var)[1:]] = { - "type": binding_type, - "value": binding.value, - } - results_list.append(result_dict) - results_dict["results"] = {"bindings": results_list} - return results_dict - - @staticmethod - def _handle_query_triples_results(results: pyoxigraph.QueryTriples) -> Graph: - """Parse the query results into a Graph object.""" - ntriples = " .\n".join([str(r) for r in list(results)]) + " ." - g = Graph() - g.bind("prez", URIRef("https://prez.dev/")) - if ntriples == " .": - return g - return g.parse(data=ntriples, format="ntriples") - - def _sync_rdf_query_to_graph(self, query: str) -> Graph: - results = self.pyoxi_store.query(query) - result_graph = self._handle_query_triples_results(results) - return result_graph - - def _sync_tabular_query_to_table(self, query: str, context: URIRef = None) -> tuple: - results = self.pyoxi_store.query(query) - results_dict = self._handle_query_solution_results(results) - # only return the bindings from the results. - return context, results_dict["results"]["bindings"] - - def _sparql(self, query: str) -> dict | Graph | bool: - """Submit a sparql query to the pyoxigraph store and return the formatted results.""" - try: - results = self.pyoxi_store.query(query) - except SyntaxError as e: - raise InvalidSPARQLQueryException(e.msg) - if isinstance(results, pyoxigraph.QuerySolutions): # a SELECT query result - results_dict = self._handle_query_solution_results(results) - return results_dict - elif isinstance(results, pyoxigraph.QueryTriples): # a CONSTRUCT query result - result_graph = self._handle_query_triples_results(results) - return result_graph - elif isinstance(results, bool): - results_dict = {"head": {}, "boolean": results} - return results_dict - else: - raise TypeError(f"Unexpected result class {type(results)}") - - async def rdf_query_to_graph(self, query: str) -> Graph: - return await run_in_threadpool(self._sync_rdf_query_to_graph, query) - - async def tabular_query_to_table(self, query: str, context: URIRef = None) -> list: - return await run_in_threadpool( - self._sync_tabular_query_to_table, query, context - ) - - async def sparql(self, query: str, raw_headers: list[tuple[bytes, bytes]], method: str = "") -> list | Graph | bool: - return self._sparql(query) - - @staticmethod - def _pyoxi_result_type(term) -> str: - if isinstance(term, pyoxigraph.Literal): - return "literal" - elif isinstance(term, pyoxigraph.NamedNode): - return "uri" - elif isinstance(term, pyoxigraph.BlankNode): - return "bnode" - else: - raise ValueError(f"Unknown type: {type(term)}") - - -class OxrdflibRepo(Repo): - def __init__(self, oxrdflib_graph: Graph): - self.oxrdflib_graph = oxrdflib_graph - - def _sync_rdf_query_to_graph(self, query: str) -> Graph: - results = self.oxrdflib_graph.query(query) - return results.graph - - def _sync_tabular_query_to_table(self, query: str, context: URIRef = None): - results = self.oxrdflib_graph.query(query) - reformatted_results = [] - for result in results: - reformatted_result = {} - for var in results.vars: - binding = result[var] - if binding: - str_type = self._str_type_for_rdflib_type(binding) - reformatted_result[str(var)] = {"type": str_type, "value": binding} - reformatted_results.append(reformatted_result) - return context, reformatted_results - - async def rdf_query_to_graph(self, query: str) -> Graph: - return await run_in_threadpool(self._sync_rdf_query_to_graph, query) - - async def tabular_query_to_table(self, query: str, context: URIRef = None): - return await run_in_threadpool( - self._sync_tabular_query_to_table, query, context - ) - - def _str_type_for_rdflib_type(self, instance): - map = {URIRef: "uri", BNode: "bnode", Literal: "literal"} - return map[type(instance)] diff --git a/prez/sparql/objects_listings.py b/prez/sparql/objects_listings.py deleted file mode 100644 index c60f1d7d..00000000 --- a/prez/sparql/objects_listings.py +++ /dev/null @@ -1,904 +0,0 @@ -import logging -from functools import lru_cache -from itertools import chain -from textwrap import dedent -from typing import List, Optional, Tuple, Dict, FrozenSet - -from rdflib import Graph, URIRef, Namespace, Literal - -from prez.cache import endpoints_graph_cache, tbox_cache, profiles_graph_cache -from prez.config import settings -from prez.models import SearchMethod -from prez.models.listing import ListingModel -from prez.models.profiles_item import ProfileItem -from prez.models.profiles_listings import ProfilesMembers -from prez.reference_data.prez_ns import ONT -from prez.services.curie_functions import get_uri_for_curie_id - -log = logging.getLogger(__name__) - -ALTREXT = Namespace("http://www.w3.org/ns/dx/connegp/altr-ext#") -PREZ = Namespace("https://prez.dev/") - - -def generate_listing_construct( - focus_item, - profile: URIRef, - page: Optional[int] = 1, - per_page: Optional[int] = 20, - ordering_predicate: URIRef = None, -): - """ - For a given URI, finds items with the specified relation(s). - Generates a SPARQL construct query for a listing of items - """ - if not ordering_predicate: - ordering_predicate = settings.label_predicates[0] - - if isinstance(focus_item, (ProfilesMembers, ListingModel)): # listings can include - # "context" in the same way objects can, using include/exclude predicates etc. - ( - include_predicates, - exclude_predicates, - inverse_predicates, - sequence_predicates, - ) = get_item_predicates(profile, focus_item.selected_class) - else: # for objects, this context is already included in the separate "generate_item_construct" function, so these - # predicates are explicitly set to None here to avoid duplication. - include_predicates = ( - exclude_predicates - ) = inverse_predicates = sequence_predicates = None - ( - child_to_focus, - parent_to_focus, - focus_to_child, - focus_to_parent, - relative_properties, - ) = get_listing_predicates(profile, focus_item.selected_class) - if ( - focus_item.uri - # and not focus_item.top_level_listing # if it's a top level class we don't need a listing relation - we're - # # searching by class - and not child_to_focus - and not parent_to_focus - and not focus_to_child - and not focus_to_parent - # do not need to check relative properties - they will only be used if one of the other listing relations - # are defined - ): - log.warning( - f"Requested listing of objects related to {focus_item.uri}, however the profile {profile} does not" - f" define any listing relations for this for this class, for example focus to child." - ) - return None - uri_or_tl_item = ( - "?top_level_item" if focus_item.top_level_listing else f"<{focus_item.uri}>" - ) # set the focus - - # item to a variable if it's a top level listing (this will utilise "class based" listing, where objects are listed - # based on them being an instance of a class), else use the URI of the "parent" off of which members will be listed. - # TODO collapse this to an inline expression below; include change in both object and listing queries - sequence_construct, sequence_construct_where = generate_sequence_construct( - sequence_predicates, uri_or_tl_item - ) - query = dedent( - f""" - PREFIX dcterms: - PREFIX prez: - PREFIX rdf: - PREFIX rdfs: - PREFIX xsd: - PREFIX skos: - - CONSTRUCT {{ - {f'{uri_or_tl_item} a <{focus_item.base_class}> .{chr(10)}' if focus_item.top_level_listing else ""}\ - {sequence_construct} - {f'{uri_or_tl_item} ?focus_to_child ?child_item .{chr(10)}' if focus_to_child else ""}\ - {f'{uri_or_tl_item} ?focus_to_parent ?parent_item .{chr(10)}' if focus_to_parent else ""}\ - {f'?child_to_focus_s ?child_to_focus {uri_or_tl_item} .{chr(10)}' if child_to_focus else ""}\ - {f'?parent_to_focus_s ?parent_to_focus {uri_or_tl_item} .{chr(10)}' if parent_to_focus else ""}\ - {generate_relative_properties("construct", relative_properties, child_to_focus, parent_to_focus, - focus_to_child, focus_to_parent)}\ - {f"{uri_or_tl_item} ?p ?o ." if include_predicates else ""}\ - }} - WHERE {{ - {f'{uri_or_tl_item} a <{focus_item.base_class}> .{chr(10)}' if focus_item.top_level_listing else ""}\ - {f'OPTIONAL {{ {uri_or_tl_item} ?p ?o .' if include_predicates else ""}\ - {f'{generate_include_predicates(include_predicates)} }}' if include_predicates else ""} \ - {sequence_construct_where}\ - {generate_focus_to_x_predicates(uri_or_tl_item, focus_to_child, focus_to_parent)} \ - {generate_x_to_focus_predicates(uri_or_tl_item, child_to_focus, parent_to_focus)} {chr(10)} \ - {generate_relative_properties("select", relative_properties, child_to_focus, parent_to_focus, - focus_to_child, focus_to_parent)}\ - {{ - SELECT ?top_level_item ?child_item - WHERE {{ - {f'{uri_or_tl_item} a <{focus_item.base_class}> .{chr(10)}' if focus_item.top_level_listing else generate_focus_to_x_predicates(uri_or_tl_item, focus_to_child, focus_to_parent)}\ - - {f''' - OPTIONAL {{ - {f'{uri_or_tl_item} <{ordering_predicate}> ?label .' if focus_item.top_level_listing else ""} - }} - ''' if settings.order_lists_by_label else ""} - }} - {f''' - {'ORDER BY ASC(?label)' if ordering_predicate else "ORDER BY ?top_level_item"} - ''' if settings.order_lists_by_label else ""} - {f"LIMIT {per_page}{chr(10)}" - f"OFFSET {(page - 1) * per_page}" if page is not None and per_page is not None else ""} - }} - }} - - """ - ).strip() - - log.debug(f"Listing construct query for {focus_item} is:\n{query}") - return query - - -@lru_cache(maxsize=128) -def generate_item_construct(focus_item, profile: URIRef): - search_query = ( - True if isinstance(focus_item, SearchMethod) else False - ) # generates a listing of search results - ( - include_predicates, - exclude_predicates, - inverse_predicates, - sequence_predicates, - ) = get_item_predicates(profile, focus_item.selected_class) - bnode_depth = profiles_graph_cache.value( - profile, - ALTREXT.hasBNodeDepth, - None, - default=2, - ) - if search_query: - uri_or_search_item = "?search_result_uri" - else: - uri_or_search_item = f"<{focus_item.uri}>" - - sequence_construct, sequence_construct_where = generate_sequence_construct( - sequence_predicates, uri_or_search_item - ) - - construct_query = dedent( - f""" PREFIX dcterms: - PREFIX rdfs: - PREFIX prez: - CONSTRUCT {{ - {f'{search_query_construct()} {chr(10)}' if search_query else ""}\ - \t{uri_or_search_item} ?p ?o1 . - {sequence_construct} - {f'{chr(9)}?s ?inverse_predicate {uri_or_search_item} .' if inverse_predicates else ""} - {generate_bnode_construct(bnode_depth)} \ - \n}} - WHERE {{ - {{ {f'{focus_item.populated_query}' if search_query else ""} }} - {{ - {uri_or_search_item} ?p ?o1 . {chr(10)} \ - {f'?s ?inverse_predicate {uri_or_search_item}{chr(10)}' if inverse_predicates else chr(10)} \ - {generate_exclude_predicates(exclude_predicates)} \ - {generate_include_predicates(include_predicates)} \ - {generate_inverse_predicates(inverse_predicates)} \ - {generate_bnode_select(bnode_depth)}\ - }} - - UNION {{ - {sequence_construct_where}\ - }} - }} - """ - ) - log.debug(f"Item Construct query for {uri_or_search_item} is:\n{construct_query}") - return construct_query - - -def search_query_construct(): - return dedent( - f"""?hashID a prez:SearchResult ; - prez:searchResultWeight ?weight ; - prez:searchResultPredicate ?predicate ; - prez:searchResultMatch ?match ; - prez:searchResultURI ?search_result_uri .""" - ) - - -def generate_relative_properties( - construct_select, - relative_properties, - in_children, - in_parents, - out_children, - out_parents, -): - """ - Generate the relative properties construct or select for a listing query. - i.e. properties on nodes related to the focus item NOT the focus item itself - """ - if not relative_properties: - return "" - rel_string = "" - kvs = { - "ic": in_children, - "ip": in_parents, - "oc": out_children, - "op": out_parents, - } - other_kvs = { - "ic": "child_to_focus_s", - "ip": "parent_to_focus_s", - "oc": "child_item", - "op": "parent_item", - } - for k, v in kvs.items(): - if v: - if construct_select == "select": - rel_string += f"""OPTIONAL {{ """ - rel_string += f"""?{other_kvs[k]} ?rel_{k}_props ?rel_{k}_val .\n""" - if construct_select == "select": - rel_string += f"""VALUES ?rel_{k}_props {{ {" ".join('<' + str(pred) + '>' for pred in relative_properties)} }} }}\n""" - return rel_string - - -def generate_focus_to_x_predicates(uri_or_tl_item, focus_to_child, focus_to_parent): - where = "" - if focus_to_child: - where += f"""{uri_or_tl_item} ?focus_to_child ?child_item . - VALUES ?focus_to_child {{ {" ".join('<' + str(pred) + '>' for pred in focus_to_child)} }}\n""" - if focus_to_parent: - where += f"""{uri_or_tl_item} ?focus_to_parent ?parent_item . - VALUES ?focus_to_parent {{ {" ".join('<' + str(pred) + '>' for pred in focus_to_parent)} }}\n""" - # if not focus_to_child and not focus_to_parent: - # where += "VALUES ?focus_to_child {}\nVALUES ?focus_to_parent {}" - return where - - -def generate_x_to_focus_predicates(uri_or_tl_item, child_to_focus, parent_to_focus): - if not child_to_focus and not parent_to_focus: - return "" - where = "" - if child_to_focus: - where += f"""?child_to_focus_s ?child_to_focus {uri_or_tl_item} ; - VALUES ?child_to_focus {{ {" ".join('<' + str(pred) + '>' for pred in child_to_focus)} }}\n""" - if parent_to_focus: - where += f"""?parent_to_focus_s ?parent_to_focus {uri_or_tl_item} ; - VALUES ?parent_to_focus {{ {" ".join('<' + str(pred) + '>' for pred in parent_to_focus)} }}\n""" - # if not child_to_focus and not parent_to_focus: - # where += "VALUES ?child_to_focus {}\nVALUES ?parent_to_focus {}" - return where - - -def generate_include_predicates(include_predicates): - """ - Generates a SPARQL VALUES clause for a list of predicates, of the form: - VALUES ?p { } - """ - if include_predicates: - return f"""VALUES ?p{{\n{chr(10).join([f"<{p}>" for p in include_predicates])}\n}}""" - return "" - - -def generate_exclude_predicates(exclude_predicates): - if exclude_predicates: - return f"""FILTER(?p NOT IN ({chr(10).join([f"<{p}>" for p in exclude_predicates])}))""" - return "" - - -def generate_inverse_predicates(inverse_predicates): - """ - Generates a SPARQL VALUES clause for a list of inverse predicates, of the form: - VALUES ?inverse_predicate { } - """ - if inverse_predicates: - return f"""VALUES ?inverse_predicate{{\n{chr(10).join([f"<{p}>" for p in inverse_predicates])}\n}}""" - return "" - - -def _generate_sequence_construct(object_uri, sequence_predicates, path_n=0): - """ - Generates part of a SPARQL CONSTRUCT query for property paths, given a list of lists of property paths. - """ - if sequence_predicates: - all_sequence_construct = "" - for predicate_list in sequence_predicates: - construct_and_where = ( - f"\t{object_uri} <{predicate_list[0]}> ?seq_o1_{path_n} ." - ) - for i in range(1, len(predicate_list)): - construct_and_where += f"\n\t?seq_o{i}_{path_n} <{predicate_list[i]}> ?seq_o{i + 1}_{path_n} ." - all_sequence_construct += construct_and_where - return all_sequence_construct - return "" - - -def generate_sequence_construct( - sequence_predicates: list[list[URIRef]], uri_or_tl_item: str -) -> tuple[str, str]: - sequence_construct = "" - sequence_construct_where = "" - if sequence_predicates: - for i, sequence_predicate in enumerate(sequence_predicates): - seq_partial_str = "OPTIONAL {\n" - generate_sequence_construct_result: str = _generate_sequence_construct( - uri_or_tl_item, [sequence_predicate], i - ) - seq_partial_str += generate_sequence_construct_result - seq_partial_str += "\n}\n" - sequence_construct_where += seq_partial_str - sequence_construct += generate_sequence_construct_result - - return sequence_construct, sequence_construct_where - - -def generate_bnode_construct(depth): - """ - Generate the construct query for the bnodes, this is of the form: - ?o1 ?p2 ?o2 . - ?o2 ?p3 ?o3 . - ... - """ - return "\n" + "\n".join( - [f"\t?o{i + 1} ?p{i + 2} ?o{i + 2} ." for i in range(depth)] - ) - - -def generate_bnode_select(depth): - """ - Generates a SPARQL select string for bnodes to a given depth, of the form: - OPTIONAL { - FILTER(ISBLANK(?o1)) - ?o1 ?p2 ?o2 ; - OPTIONAL { - FILTER(ISBLANK(?o2)) - ?o2 ?p3 ?o3 ; - OPTIONAL { ... - } - } - } - """ - part_one = "\n".join( - [ - f"""{chr(9) * (i + 1)}OPTIONAL {{ -{chr(9) * (i + 2)}FILTER(ISBLANK(?o{i + 1})) -{chr(9) * (i + 2)}?o{i + 1} ?p{i + 2} ?o{i + 2} .""" - for i in range(depth) - ] - ) - part_two = "".join( - [f"{chr(10)}{chr(9) * (i + 1)}}}" for i in reversed(range(depth))] - ) - return part_one + part_two - - -async def get_annotation_properties( - item_graph: Graph, -): - """ - Gets annotation data used for HTML display. - This includes the label, description, and provenance, if available. - Note the following three default predicates are always included. This allows context, i.e. background ontologies, - which are often diverse in the predicates they use, to be aligned with the default predicates used by Prez. The full - range of predicates used can be manually included via profiles. - """ - label_predicates = settings.label_predicates - description_predicates = settings.description_predicates - explanation_predicates = settings.provenance_predicates - other_predicates = settings.other_predicates - terms = ( - set(i for i in item_graph.predicates() if isinstance(i, URIRef)) - | set(i for i in item_graph.objects() if isinstance(i, URIRef)) - | set(i for i in item_graph.subjects() if isinstance(i, URIRef)) - ) - # TODO confirm caching of SUBJECT labels does not cause issues! this could be a lot of labels. Perhaps these are - # better separated and put in an LRU cache. Or it may not be worth the effort. - if not terms: - return None, Graph() - # read labels from the tbox cache, this should be the majority of labels - uncached_terms, labels_g = get_annotations_from_tbox_cache( - terms, - label_predicates, - description_predicates, - explanation_predicates, - other_predicates, - ) - - def other_predicates_statement(other_predicates, uncached_terms_other): - return f"""UNION - {{ - ?unannotated_term ?other_prop ?other . - VALUES ?other_prop {{ {" ".join('<' + str(pred) + '>' for pred in other_predicates)} }} - VALUES ?unannotated_term {{ {" ".join('<' + str(term) + '>' for term in uncached_terms_other)} - }} - }}""" - - queries_for_uncached = f"""CONSTRUCT {{ - ?unlabeled_term ?label_prop ?label . - ?undescribed_term ?desc_prop ?description . - ?unexplained_term ?expl_prop ?explanation . - ?unannotated_term ?other_prop ?other . - }} - WHERE {{ - {{ - ?unlabeled_term ?label_prop ?label . - VALUES ?label_prop {{ {" ".join('<' + str(pred) + '>' for pred in label_predicates)} }} - VALUES ?unlabeled_term {{ {" ".join('<' + str(term) + '>' for term in uncached_terms["labels"])} }} - FILTER(lang(?label) = "" || lang(?label) = "en" || lang(?label) = "en-AU") - }} - UNION - {{ - ?undescribed_term ?desc_prop ?description . - VALUES ?desc_prop {{ {" ".join('<' + str(pred) + '>' for pred in description_predicates)} }} - VALUES ?undescribed_term {{ {" ".join('<' + str(term) + '>' for term in uncached_terms["descriptions"])} - }} - }} - UNION - {{ - ?unexplained_term ?expl_prop ?explanation . - VALUES ?expl_prop {{ {" ".join('<' + str(pred) + '>' for pred in explanation_predicates)} }} - VALUES ?unexplained_term {{ {" ".join('<' + str(term) + '>' for term in uncached_terms["provenance"])} - }} - }} - {other_predicates_statement(other_predicates, uncached_terms["other"]) if other_predicates else ""} - }}""" - return queries_for_uncached, labels_g - - -def get_annotations_from_tbox_cache( - terms: List[URIRef], label_props, description_props, explanation_props, other_props -): - """ - Gets labels from the TBox cache, returns a list of terms that were not found in the cache, and a graph of labels, - descriptions, and explanations - """ - labels_from_cache = Graph(bind_namespaces="rdflib") - terms_list = list(terms) - props_from_cache = { - "labels": list( - chain( - *( - tbox_cache.triples_choices((terms_list, prop, None)) - for prop in label_props - ) - ) - ), - "descriptions": list( - chain( - *( - tbox_cache.triples_choices((terms_list, prop, None)) - for prop in description_props - ) - ) - ), - "provenance": list( - chain( - *( - tbox_cache.triples_choices((terms_list, prop, None)) - for prop in explanation_props - ) - ) - ), - "other": list( - chain( - *( - tbox_cache.triples_choices((terms_list, prop, None)) - for prop in other_props - ) - ) - ), - } - # get all the annotations we can from the cache - all = list(chain(*props_from_cache.values())) - for triple in all: - labels_from_cache.add(triple) - # the remaining terms are not in the cache; we need to query the SPARQL endpoint to attempt to get them - uncached_props = { - k: list(set(terms) - set(triple[0] for triple in v)) - for k, v in props_from_cache.items() - } - return uncached_props, labels_from_cache - - -# hit the count cache first, if it's not there, hit the SPARQL endpoint -def generate_listing_count_construct(item: ListingModel, endpoint_uri: str): - """ - Generates a SPARQL construct query to count either: - 1. the members of a collection, if a URI is given, or; - 2. the number of instances of a base class, given a base class. - """ - if not item.top_level_listing: - # count based on relation to a parent object - first find the relevant parent->child or child->parent relation - # from the endpoint definition. - p2f_relation = endpoints_graph_cache.value( - subject=URIRef(endpoint_uri), predicate=ONT.ParentToFocusRelation - ) - f2p_relation = endpoints_graph_cache.value( - subject=URIRef(endpoint_uri), predicate=ONT.FocusToParentRelation - ) - assert p2f_relation or f2p_relation, ( - f"Endpoint {endpoint_uri} does not have a parent to focus or focus to " - f"parent relation defined." - ) - p2f_statement = f"<{item.uri}> <{p2f_relation}> ?item ." if p2f_relation else "" - f2p_statement = f"?item <{f2p_relation}> <{item.uri}> ." if f2p_relation else "" - query = dedent( - f""" - PREFIX prez: - PREFIX rdfs: - - CONSTRUCT {{ <{item.uri}> prez:count ?count }} - WHERE {{ - SELECT (COUNT(?item) as ?count) - WHERE {{ - {p2f_statement} - {f2p_statement} - }} - }}""" - ).strip() - return query - else: # item.selected_class - query = dedent( - f""" - PREFIX prez: - - CONSTRUCT {{ <{item.base_class}> prez:count ?count }} - WHERE {{ - SELECT (COUNT(?item) as ?count) - WHERE {{ - ?item a <{item.base_class}> . - }} - }}""" - ).strip() - return query - - -def get_relevant_shape_bns_for_profile(selected_class, profile): - """ - Gets the shape blank nodes URIs from the profiles graph for a given profile. - """ - if not profile: - return None - shape_bns = list( - profiles_graph_cache.objects( - subject=profile, - predicate=ALTREXT.hasNodeShape, - ) - ) - if not shape_bns: - return None - relevant_shape_bns = [ - triple[0] - for triple in profiles_graph_cache.triples_choices( - ( - list(shape_bns), - URIRef("http://www.w3.org/ns/shacl#targetClass"), - selected_class, - ) - ) - ] - return relevant_shape_bns - - -def get_listing_predicates(profile, selected_class): - """ - Gets predicates relevant to listings of objects as specified in the profile. - This is used in two scenarios: - 1. "Collection" endpoints, for top level listing of objects of a particular type - 2. For a specific object, where it has members - The predicates retrieved from profiles are: - - child to focus, for example where the object of interest is a Concept Scheme, and is linked to Concept(s) via - the predicate skos:inScheme - - focus to child, for example where the object of interest is a Feature Collection, and is linked to Feature(s) - via the predicate rdfs:member - - parent to focus, for example where the object of interest is a Feature Collection, and is linked to Dataset(s) via - the predicate dcterms:hasPart - - focus to parents, for example where the object of interest is a Concept, and is linked to Concept Scheme(s) via - the predicate skos:inScheme - - relative properties, properties of the parent/child objects that should also be returned. For example, if the - focus object is a Concept Scheme, and the predicate skos:inScheme is used to link from Concept(s) (using - altr-ext:childToFocus) then specifying skos:broader as a relative property will cause the broader concepts to - be returned for each concept - """ - shape_bns = get_relevant_shape_bns_for_profile(selected_class, profile) - if not shape_bns: - return [], [], [], [], [] - child_to_focus = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - ALTREXT.childToFocus, - None, - ) - ) - ] - parent_to_focus = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - ALTREXT.parentToFocus, - None, - ) - ) - ] - focus_to_child = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - ALTREXT.focusToChild, - None, - ) - ) - ] - focus_to_parent = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - ALTREXT.focusToParent, - None, - ) - ) - ] - relative_properties = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - ALTREXT.relativeProperties, - None, - ) - ) - ] - return ( - child_to_focus, - parent_to_focus, - focus_to_child, - focus_to_parent, - relative_properties, - ) - - -def get_item_predicates(profile, selected_class): - """ - Gets any predicates specified in the profile, this includes: - - predicates to include. Uses sh:path - - predicates to exclude. Uses sh:path in conjunction with dash:hidden. - - inverse path predicates to include (inbound links to the object). Uses sh:inversePath. - - sequence path predicates to include, expressed as a list. Uses sh:sequencePath. - """ - shape_bns = get_relevant_shape_bns_for_profile(selected_class, profile) - if not shape_bns: - log.info( - f"No special predicates (include/exclude/inverse/sequence) found for class {selected_class} in profile " - f"{profile}. Default behaviour is to include all predicates, and blank nodes to a depth of two." - ) - return None, None, None, None - includes = [ - i[2] - for i in profiles_graph_cache.triples_choices( - (shape_bns, URIRef("http://www.w3.org/ns/shacl#path"), None) - ) - ] - excludes = [ - i[2] - for i in profiles_graph_cache.triples_choices( - (shape_bns, ALTREXT.exclude, None) - ) - ] - inverses = [ - i[2] - for i in profiles_graph_cache.triples_choices( - (shape_bns, URIRef("http://www.w3.org/ns/shacl#inversePath"), None) - ) - ] - _sequence_nodes = [ - i[2] - for i in profiles_graph_cache.triples_choices( - ( - shape_bns, - URIRef("http://www.w3.org/ns/shacl#sequencePath"), - None, - ) - ) - ] - sequence_paths = [ - [path_item for path_item in profiles_graph_cache.items(i)] - for i in _sequence_nodes - ] - return includes, excludes, inverses, sequence_paths - - -def select_profile_mediatype( - classes: List[URIRef], - requested_profile_uri: URIRef = None, - requested_profile_token: str = None, - requested_mediatypes: List[Tuple] = None, -): - """ - Returns a SPARQL SELECT query which will determine the profile and mediatype to return based on user requests, - defaults, and the availability of these in profiles. - - NB: Most specific class refers to the rdfs:Class of an object which has the most specific rdfs:subClassOf links to - the base class delivered by that API endpoint. The base classes delivered by each API endpoint are: - - SpacePrez: - /s/datasets -> prez:DatasetList - /s/datasets/{ds_id} -> dcat:Dataset - /s/datasets/{ds_id}/collections/{fc_id} -> geo:FeatureCollection - /s/datasets/{ds_id}/collections -> prez:FeatureCollectionList - /s/datasets/{ds_id}/collections/{fc_id}/features -> geo:Feature - - VocPrez: - /v/schemes -> skos:ConceptScheme - /v/collections -> skos:Collection - /v/schemes/{cs_id}/concepts -> skos:Concept - - CatPrez: - /c/catalogs -> dcat:Catalog - /c/catalogs/{cat_id}/datasets -> dcat:Dataset - - The following logic is used to determine the profile and mediatype to be returned: - - 1. If a profile and mediatype are requested, they are returned if a matching profile which has the requested - mediatype is found, otherwise the default profile for the most specific class is returned, with its default - mediatype. - 2. If a profile only is requested, if it can be found it is returned, otherwise the default profile for the most - specific class is returned. In both cases the default mediatype is returned. - 3. If a mediatype only is requested, the default profile for the most specific class is returned, and if the - requested mediatype is available for that profile, it is returned, otherwise the default mediatype for that profile - is returned. - 4. If neither a profile nor mediatype is requested, the default profile for the most specific class is returned, - with the default mediatype for that profile. - """ - if requested_profile_token: - requested_profile_uri = get_uri_for_curie_id(requested_profile_token) - query = dedent( - f""" PREFIX altr-ext: - PREFIX dcat: - PREFIX dcterms: - PREFIX geo: - PREFIX prez: - PREFIX prof: - PREFIX rdfs: - PREFIX skos: - PREFIX sh: - - SELECT ?profile ?title ?class (count(?mid) as ?distance) ?req_profile ?def_profile ?format ?req_format ?def_format - - WHERE {{ - VALUES ?class {{{" ".join('<' + str(klass) + '>' for klass in classes)}}} - ?class rdfs:subClassOf* ?mid . - ?mid rdfs:subClassOf* ?base_class . - VALUES ?base_class {{ dcat:Dataset geo:FeatureCollection prez:FeatureCollectionList prez:FeatureList geo:Feature - skos:ConceptScheme skos:Concept skos:Collection prez:DatasetList prez:VocPrezCollectionList prez:SchemesList - prez:CatalogList prez:ResourceList prez:ProfilesList dcat:Catalog dcat:Resource prof:Profile prez:SPARQLQuery - prez:SearchResult }} - ?profile altr-ext:constrainsClass ?class ; - altr-ext:hasResourceFormat ?format ; - dcterms:title ?title .\ - {f'BIND(?profile=<{requested_profile_uri}> as ?req_profile)' if requested_profile_uri else ''} - BIND(EXISTS {{ ?shape sh:targetClass ?class ; - altr-ext:hasDefaultProfile ?profile }} AS ?def_profile) - {generate_mediatype_if_statements(requested_mediatypes) if requested_mediatypes else ''} - BIND(EXISTS {{ ?profile altr-ext:hasDefaultResourceFormat ?format }} AS ?def_format) - }} - GROUP BY ?class ?profile ?req_profile ?def_profile ?format ?req_format ?def_format ?title - ORDER BY DESC(?req_profile) DESC(?distance) DESC(?def_profile) DESC(?req_format) DESC(?def_format)""" - ) - return query - - -def generate_mediatype_if_statements(requested_mediatypes: list): - """ - Generates a list of if statements which will be used to determine the mediatype to return based on user requests, - and the availability of these in profiles. - These are of the form: - BIND( - IF(?format="application/ld+json", "0.9", - IF(?format="text/html", "0.8", - IF(?format="image/apng", "0.7", ""))) AS ?req_format) - """ - # TODO ConnegP appears to return a tuple of q values and profiles for headers, and only profiles (no q values) if they - # are not specified in QSAs. - if not isinstance(next(iter(requested_mediatypes)), tuple): - requested_mediatypes = [(1, mt) for mt in requested_mediatypes] - - line_join = "," + "\n" - ifs = ( - f"BIND(\n" - f"""{line_join.join({chr(9) + 'IF(?format="' + tup[1] + '", "' + str(tup[0]) + '"' for tup in requested_mediatypes})}""" - f""", ""{')' * len(requested_mediatypes)}\n""" - f"\tAS ?req_format)" - ) - return ifs - - -def get_endpoint_template_queries(classes: FrozenSet[URIRef]): - """ - NB the FILTER clause here should NOT be required but RDFLib has a bug (perhaps related to the +/* operators - - requires further investigation). Removing the FILTER clause will return too many results in instances where there - should be NO results - as if the VALUES ?classes clause is not used. - """ - query = f""" - PREFIX ont: - PREFIX xsd: - - SELECT ?endpoint ?parent_endpoint ?relation_direction ?relation_predicate ?endpoint_template ?distance - {{ - VALUES ?classes {{ {" ".join('<' + str(klass) + '>' for klass in classes)} }} - {{ - ?endpoint a ont:ObjectEndpoint ; - ont:endpointTemplate ?endpoint_template ; - ont:deliversClasses ?classes . - BIND("0"^^xsd:integer AS ?distance) - }} - UNION - {{ - ?endpoint ?relation_direction ?relation_predicate ; - ont:endpointTemplate ?endpoint_template ; - ont:deliversClasses ?classes . - FILTER(?classes IN ({", ".join('<' + str(klass) + '>' for klass in classes)})) - VALUES ?relation_direction {{ont:FocusToParentRelation ont:ParentToFocusRelation}} - {{ SELECT ?parent_endpoint ?endpoint (count(?intermediate) as ?distance) - {{ - ?endpoint ont:parentEndpoint+ ?intermediate ; - ont:deliversClasses ?classes . - ?intermediate ont:parentEndpoint* ?parent_endpoint . - ?intermediate a ?intermediateEPClass . - ?parent_endpoint a ?parentEPClass . - VALUES ?intermediateEPClass {{ont:ObjectEndpoint}} - VALUES ?parentEPClass {{ont:ObjectEndpoint}} - }} - GROUP BY ?parent_endpoint ?endpoint - - }} - }} - }} ORDER BY DESC(?distance) - """ - return query - - -def generate_relationship_query( - uri: URIRef, endpoint_to_relations: Dict[URIRef, List[Tuple[URIRef, Literal]]] -): - """ - Generates a SPARQL query of the form: - SELECT * {{ SELECT ?endpoint ?parent_1 ?parent_2 - WHERE { - BIND("/s/datasets/$parent_1/collections/$object" as ?endpoint) - ?parent_1 . - }}} - """ - if not endpoint_to_relations: - return None - subqueries = [] - for endpoint, relations in endpoint_to_relations.items(): - subquery = f"""{{ SELECT ?endpoint {" ".join(["?parent_" + str(i + 1) for i, _ in enumerate(relations)])} - WHERE {{\n BIND("{endpoint}" as ?endpoint)\n""" - uri_str = f"<{uri}>" - for i, relation in enumerate(relations): - predicate, direction = relation - parent = "?parent_" + str(i + 1) - if predicate: - if direction == URIRef("https://prez.dev/ont/ParentToFocusRelation"): - subquery += f"{parent} <{predicate}> {uri_str} .\n" - else: # assuming the direction is "focus_to_parent" - subquery += f"{uri_str} <{predicate}> {parent} .\n" - uri_str = parent - subquery += "}}" - subqueries.append(subquery) - - union_query = "SELECT * {" + " UNION ".join(subqueries) + "}" - return union_query - - -def startup_count_objects(): - """ - Retrieves hardcoded counts for collections in the dataset (feature collections, datasets etc.) - """ - return f"""PREFIX prez: -CONSTRUCT {{ ?collection prez:count ?count }} -WHERE {{ ?collection prez:count ?count }}""" diff --git a/prez/sparql/resource.py b/prez/sparql/resource.py deleted file mode 100644 index c0cea689..00000000 --- a/prez/sparql/resource.py +++ /dev/null @@ -1,9 +0,0 @@ -from rdflib import Graph - -from prez.sparql.methods import Repo - - -async def get_resource(iri: str, repo: Repo) -> Graph: - query = f"""DESCRIBE <{iri}>""" - graph, _ = await repo.send_queries([query], []) - return graph diff --git a/prez/url.py b/prez/url.py old mode 100644 new mode 100755 index 2d836081..0635d59a --- a/prez/url.py +++ b/prez/url.py @@ -10,11 +10,11 @@ def order_urls(order: list[str], values: list[str]): >>> preferred_order = [ >>> "/v/vocab", >>> "/v/collection", - >>> "/s/datasets", + >>> "/s/catalogs", >>> "/c/catalogs" >>> ] >>> urls = [ - >>> "/s/datasets/blah", + >>> "/s/catalogs/blah", >>> "/object/blah", >>> "/v/collection/123", >>> "/c/catalogs/321", @@ -24,7 +24,7 @@ def order_urls(order: list[str], values: list[str]): >>> assert sorted_urls == [ >>> "/v/vocab/some-scheme", >>> "/v/collection/123", - >>> "/s/datasets/blah", + >>> "/s/catalogs/blah", >>> "/c/catalogs/321", >>> "/object/blah" >>> ] diff --git a/pyproject.toml b/pyproject.toml index fdaa21ca..46fbf721 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,23 +20,25 @@ include = [ [tool.poetry.dependencies] python = "^3.11" -uvicorn = "^0.21.1" -httpx = "*" -rdflib = "^6.3.1" -connegp = { file = "connegp-0.1.5-py3-none-any.whl" } -async-lru = "^1.0.3" -geojson-rewind = "^1.0.3" +uvicorn = "^0.30.0" +httpx = "^0.27.0" +rdflib = "^7.0.0" toml = "^0.10.2" -fastapi = "^0.95.0" -python-multipart = "^0.0.6" +fastapi = "^0.111.0" jinja2 = "^3.1.2" oxrdflib = "^0.3.6" +pydantic = "^2.7.2" +pydantic-settings = "^2.2.0" +pyld = "^2.0.4" +shapely = "^2.0.3" +aiocache = "^0.12.2" +sparql-grammar-pydantic = "^0.1.2" [tool.poetry.group.dev.dependencies] -pytest = "^7.1.2" +pytest = "^8.2.1" pre-commit = "^2.15.0" -black = "^22.3.0" -pytest-asyncio = "^0.19.0" +black = "^24.4.2" +pytest-asyncio = "^0.23.7" requests = "^2.28.1" scalene = "^1.5.18" python-dotenv = "^1.0.0" diff --git a/tests/data/bnode_depth/bnode_depth-1.ttl b/test_data/bnode_depth-1.ttl similarity index 100% rename from tests/data/bnode_depth/bnode_depth-1.ttl rename to test_data/bnode_depth-1.ttl diff --git a/tests/data/bnode_depth/bnode_depth-2-2.ttl b/test_data/bnode_depth-2-2.ttl similarity index 100% rename from tests/data/bnode_depth/bnode_depth-2-2.ttl rename to test_data/bnode_depth-2-2.ttl diff --git a/tests/data/bnode_depth/bnode_depth-2.ttl b/test_data/bnode_depth-2.ttl similarity index 100% rename from tests/data/bnode_depth/bnode_depth-2.ttl rename to test_data/bnode_depth-2.ttl diff --git a/tests/data/bnode_depth/bnode_depth-4.ttl b/test_data/bnode_depth-4.ttl similarity index 100% rename from tests/data/bnode_depth/bnode_depth-4.ttl rename to test_data/bnode_depth-4.ttl diff --git a/test_data/catprez.ttl b/test_data/catprez.ttl new file mode 100644 index 00000000..47f17372 --- /dev/null +++ b/test_data/catprez.ttl @@ -0,0 +1,39 @@ +PREFIX dcat: +PREFIX dcterms: +PREFIX ex: +PREFIX rdf: +PREFIX rdfs: + +ex:CatalogOne a dcat:Catalog ; + rdfs:label "Catalog One" ; + dcterms:hasPart ex:DCATResource ; + ex:property "Catalog property" ; +. + +ex:DCATResource a dcat:Resource ; + rdfs:label "DCAT Resource" ; + dcterms:hasPart ex:RDFResource ; + ex:property "DCAT Resource property" +. + +ex:RDFResource a rdf:Resource ; + rdfs:label "RDF Resource" ; + ex:property "RDF resource property" ; +. + +ex:CatalogTwo a dcat:Catalog ; + rdfs:label "amazing catalog" ; + dcterms:hasPart ex:DCATResourceTwo ; + ex:property "complete" ; +. + +ex:DCATResourceTwo a dcat:Resource ; + rdfs:label "rightful" ; + dcterms:hasPart ex:RDFResourceTwo ; + ex:property "exposure" +. + +ex:RDFResourceTwo a rdf:Resource ; + rdfs:label "salty" ; + ex:property "proficient" ; +. \ No newline at end of file diff --git a/test_data/cql/README.md b/test_data/cql/README.md new file mode 100644 index 00000000..1261b5b1 --- /dev/null +++ b/test_data/cql/README.md @@ -0,0 +1,2 @@ +Additional CQL test data is in `prez/examples/cql/`. The example data is located there such that the built docker image +can utilise it as examples for the OpenAPI documentation. \ No newline at end of file diff --git a/test_data/cql/example01.json b/test_data/cql/example01.json new file mode 100644 index 00000000..b81dafdf --- /dev/null +++ b/test_data/cql/example01.json @@ -0,0 +1,7 @@ +{ + "op": "=", + "args": [ + { "property": "scene_id" }, + "LC82030282019133LGN00" + ] +} diff --git a/test_data/cql/example02.json b/test_data/cql/example02.json new file mode 100644 index 00000000..ced9d24b --- /dev/null +++ b/test_data/cql/example02.json @@ -0,0 +1,7 @@ +{ + "op": "like", + "args": [ + { "property": "eo:instrument" }, + "OLI%" + ] +} diff --git a/test_data/cql/example03.json b/test_data/cql/example03.json new file mode 100644 index 00000000..fc98d5e9 --- /dev/null +++ b/test_data/cql/example03.json @@ -0,0 +1,7 @@ +{ + "op": "in", + "args": [ + { "property": "landsat:wrs_path" }, + [ "153", "154", "15X" ] + ] +} diff --git a/test_data/cql/example05a.json b/test_data/cql/example05a.json new file mode 100644 index 00000000..de561ead --- /dev/null +++ b/test_data/cql/example05a.json @@ -0,0 +1,19 @@ +{ + "op": "or", + "args": [ + { + "op": "=", + "args": [ + { "property": "ro:cloud_cover" }, + 0.1 + ] + }, + { + "op": "=", + "args": [ + { "property": "ro:cloud_cover" }, + 0.2 + ] + } + ] +} diff --git a/test_data/cql/example05b.json b/test_data/cql/example05b.json new file mode 100644 index 00000000..aa0fa9a6 --- /dev/null +++ b/test_data/cql/example05b.json @@ -0,0 +1,7 @@ +{ + "op": "in", + "args": [ + { "property": "ro:cloud_cover" }, + [ 0.1, 0.2 ] + ] +} diff --git a/test_data/cql/example06b.json b/test_data/cql/example06b.json new file mode 100644 index 00000000..e91f8c71 --- /dev/null +++ b/test_data/cql/example06b.json @@ -0,0 +1,33 @@ +{ + "op": "and", + "args": [ + { + "op": ">=", + "args": [ + { "property": "eo:cloud_cover" }, + 0.1 + ] + }, + { + "op": "<=", + "args": [ + { "property": "eo:cloud_cover" }, + 0.2 + ] + }, + { + "op": "=", + "args": [ + { "property": "landsat:wrs_row" }, + 28 + ] + }, + { + "op": "=", + "args": [ + { "property": "landsat:wrs_path" }, + 203 + ] + } + ] +} diff --git a/test_data/cql/example07.json b/test_data/cql/example07.json new file mode 100644 index 00000000..d3b9cd68 --- /dev/null +++ b/test_data/cql/example07.json @@ -0,0 +1,35 @@ +{ + "op": "and", + "args": [ + { + "op": "like", + "args": [ + { "property": "eo:instrument" }, + "OLI%" + ] + }, + { + "op": "s_intersects", + "args": [ + { "property": "footprint" }, + { + "type": "Polygon", + "coordinates": [ + [ [ 43.5845, -79.5442 ], + [ 43.6079, -79.4893 ], + [ 43.5677, -79.4632 ], + [ 43.6129, -79.3925 ], + [ 43.6223, -79.3238 ], + [ 43.6576, -79.3163 ], + [ 43.7945, -79.1178 ], + [ 43.8144, -79.1542 ], + [ 43.8555, -79.1714 ], + [ 43.7509, -79.639 ], + [ 43.5845, -79.5442 ] + ] + ] + } + ] + } + ] +} diff --git a/test_data/cql/example08.json b/test_data/cql/example08.json new file mode 100644 index 00000000..8eb14bd9 --- /dev/null +++ b/test_data/cql/example08.json @@ -0,0 +1,48 @@ +{ + "op": "and", + "args": [ + { + "op": "=", + "args": [ + { "property": "beamMode" }, + "ScanSAR Narrow" + ] + }, + { + "op": "=", + "args": [ + { "property": "swathDirection" }, + "ascending" + ] + }, + { + "op": "=", + "args": [ + { "property": "polarization" }, + "HH+VV+HV+VH" + ] + }, + { + "op": "s_intersects", + "args": [ + { + "property": "footprint" + }, + { + "type": "Polygon", + "coordinates": [ + [ [ -77.117938, 38.93686 ], + [ -77.040604, 39.995648 ], + [ -76.910536, 38.892912 ], + [ -77.039359, 38.791753 ], + [ -77.047906, 38.841462 ], + [ -77.034183, 38.840655 ], + [ -77.033142, 38.85749 ], + [ -77.117938, 38.93686 ] + ] + ] + } + ] + } + ] +} diff --git a/test_data/cql/example09.json b/test_data/cql/example09.json new file mode 100644 index 00000000..60d0c83b --- /dev/null +++ b/test_data/cql/example09.json @@ -0,0 +1,7 @@ +{ + "op": ">", + "args": [ + { "property": "floors" }, + 5 + ] +} diff --git a/test_data/cql/example10.json b/test_data/cql/example10.json new file mode 100644 index 00000000..8a0db022 --- /dev/null +++ b/test_data/cql/example10.json @@ -0,0 +1,7 @@ +{ + "op": "<=", + "args": [ + { "property": "taxes" }, + 500 + ] +} diff --git a/test_data/cql/example11.json b/test_data/cql/example11.json new file mode 100644 index 00000000..d605fe18 --- /dev/null +++ b/test_data/cql/example11.json @@ -0,0 +1,7 @@ +{ + "op": "like", + "args": [ + { "property": "owner" }, + "%Jones%" + ] +} diff --git a/test_data/cql/example12.json b/test_data/cql/example12.json new file mode 100644 index 00000000..e7bca46e --- /dev/null +++ b/test_data/cql/example12.json @@ -0,0 +1,7 @@ +{ + "op": "like", + "args": [ + { "property": "owner" }, + "Mike%" + ] +} diff --git a/test_data/cql/example14.json b/test_data/cql/example14.json new file mode 100644 index 00000000..129dce86 --- /dev/null +++ b/test_data/cql/example14.json @@ -0,0 +1,7 @@ +{ + "op": "=", + "args": [ + { "property": "swimming_pool" }, + true + ] +} diff --git a/test_data/cql/example15.json b/test_data/cql/example15.json new file mode 100644 index 00000000..8f7704c7 --- /dev/null +++ b/test_data/cql/example15.json @@ -0,0 +1,19 @@ +{ + "op": "and", + "args": [ + { + "op": ">", + "args": [ + { "property": "floor" }, + 5 + ] + }, + { + "op": "=", + "args": [ + { "property": "swimming_pool" }, + true + ] + } + ] +} diff --git a/test_data/cql/example17.json b/test_data/cql/example17.json new file mode 100644 index 00000000..67b4bb45 --- /dev/null +++ b/test_data/cql/example17.json @@ -0,0 +1,31 @@ +{ + "op": "or", + "args": [ + { + "op": "and", + "args": [ + { + "op": ">", + "args": [ + { "property": "floors" }, + 5 + ] + }, + { + "op": "=", + "args": [ + { "property": "material" }, + "brick" + ] + } + ] + }, + { + "op": "=", + "args": [ + { "property": "swimming_pool" }, + true + ] + } + ] +} diff --git a/test_data/cql/example29.json b/test_data/cql/example29.json new file mode 100644 index 00000000..dbb44221 --- /dev/null +++ b/test_data/cql/example29.json @@ -0,0 +1,7 @@ +{ + "op": "=", + "args": [ + { "property": "id" }, + "fa7e1920-9107-422d-a3db-c468cbc5d6df" + ] +} diff --git a/test_data/cql/example31.json b/test_data/cql/example31.json new file mode 100644 index 00000000..6c2c03a0 --- /dev/null +++ b/test_data/cql/example31.json @@ -0,0 +1,7 @@ +{ + "op": "<", + "args": [ + { "property": "value" }, + 10 + ] +} diff --git a/test_data/cql/example32.json b/test_data/cql/example32.json new file mode 100644 index 00000000..ef1b6cad --- /dev/null +++ b/test_data/cql/example32.json @@ -0,0 +1,7 @@ +{ + "op": ">", + "args": [ + { "property": "value" }, + 10 + ] +} diff --git a/test_data/cql/example33.json b/test_data/cql/example33.json new file mode 100644 index 00000000..12cfdc21 --- /dev/null +++ b/test_data/cql/example33.json @@ -0,0 +1,7 @@ +{ + "op": "<=", + "args": [ + { "property": "value" }, + 10 + ] +} diff --git a/test_data/cql/example34.json b/test_data/cql/example34.json new file mode 100644 index 00000000..a8d6ca23 --- /dev/null +++ b/test_data/cql/example34.json @@ -0,0 +1,7 @@ +{ + "op": ">=", + "args": [ + { "property": "value" }, + 10 + ] +} diff --git a/test_data/cql/example35.json b/test_data/cql/example35.json new file mode 100644 index 00000000..3b6fee0e --- /dev/null +++ b/test_data/cql/example35.json @@ -0,0 +1,7 @@ +{ + "op": "like", + "args": [ + { "property": "name" }, + "foo%" + ] +} diff --git a/test_data/cql/example39.json b/test_data/cql/example39.json new file mode 100644 index 00000000..b24ff974 --- /dev/null +++ b/test_data/cql/example39.json @@ -0,0 +1,7 @@ +{ + "op": "in", + "args": [ + { "property": "value" }, + [ 1.0, 2.0, 3.0 ] + ] +} diff --git a/test_data/object_catalog_bblocks_catalog.ttl b/test_data/object_catalog_bblocks_catalog.ttl new file mode 100644 index 00000000..86b4b547 --- /dev/null +++ b/test_data/object_catalog_bblocks_catalog.ttl @@ -0,0 +1,12 @@ +@prefix dcat: . +@prefix dcterms: . +@prefix vocab: . +@prefix catalog: . +@prefix prez: . + +catalog:bblocks + a dcat:Catalog ; + dcterms:identifier "bblocks" ; + dcterms:title "A catalog of Building Block Vocabularies" ; + dcterms:hasPart vocab:api , vocab:datatype , vocab:parameter , vocab:schema ; + . diff --git a/test_data/object_vocab_api_bblocks.ttl b/test_data/object_vocab_api_bblocks.ttl new file mode 100644 index 00000000..15cb9aa3 --- /dev/null +++ b/test_data/object_vocab_api_bblocks.ttl @@ -0,0 +1,38 @@ +@prefix bblocks: . +@prefix dct: . +@prefix prov: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . +@prefix xsd: . +@prefix vocab: . +@prefix prez: . + +vocab:api + a skos:ConceptScheme ; + skos:prefLabel "API Building Blocks" ; + skos:hasTopConcept bblocks:ogc.unstable.sosa ; + dct:identifier "api" ; + . + +bblocks:ogc.unstable.sosa a skos:Concept, + bblocks:Api ; + rdfs:label "Sensor, Observation, Sample, and Actuator (SOSA)" ; + dct:abstract "The SOSA (Sensor, Observation, Sample, and Actuator) ontology is a realisation of the Observations, Measurements and Sampling (OMS) Conceptual model" ; + dct:created "2023-04-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-04-13"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:api ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status ; + . diff --git a/test_data/object_vocab_datatype_bblocks.ttl b/test_data/object_vocab_datatype_bblocks.ttl new file mode 100644 index 00000000..9651ba4c --- /dev/null +++ b/test_data/object_vocab_datatype_bblocks.ttl @@ -0,0 +1,38 @@ +@prefix bblocks: . +@prefix dct: . +@prefix prov: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . +@prefix xsd: . +@prefix vocab: . + +vocab:datatype + a skos:ConceptScheme ; + skos:prefLabel "Datatype Building Blocks" ; + skos:hasTopConcept bblocks:ogc.ogc-utils.iri-or-curie ; + dct:identifier "datatype" ; + . + +bblocks:ogc.ogc-utils.iri-or-curie a skos:Concept, + bblocks:Datatype ; + rdfs:label "IRI or CURIE" ; + dct:abstract "This Building Block defines a data type for a full IRI/URI or a CURIE (with or without a prefix)" ; + dct:created "2023-08-08T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/ogc-utils/iri-or-curie/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/ogc-utils/iri-or-curie/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/ogc-utils/iri-or-curie/index.json" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-03-09"^^xsd:date ; + dct:source , + , + ; + skos:inScheme , vocab:datatype ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . diff --git a/test_data/object_vocab_parameter_bblocks.ttl b/test_data/object_vocab_parameter_bblocks.ttl new file mode 100644 index 00000000..23c920a7 --- /dev/null +++ b/test_data/object_vocab_parameter_bblocks.ttl @@ -0,0 +1,61 @@ +@prefix bblocks: . +@prefix dct: . +@prefix prov: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . +@prefix xsd: . +@prefix vocab: . + +vocab:parameter + a skos:ConceptScheme ; + skos:prefLabel "Parameter Building Blocks" ; + skos:hasTopConcept bblocks:ogc.geo.common.parameters.bbox , bblocks:ogc.geo.common.parameters.bbox-crs ; + dct:identifier "parameter" + . + +bblocks:ogc.geo.common.parameters.bbox a skos:Concept, + bblocks:Parameter ; + rdfs:label "bbox" ; + dct:abstract "The bbox query parameter provides a simple mechanism for filtering resources based on their location. It selects all resources that intersect a rectangle (map view) or box (including height information)." ; + dct:created "2022-05-24T13:51:38+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/common/parameters/bbox/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/common/parameters/bbox/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/common/parameters/bbox/index.md" ] ; + dct:hasVersion "1.0" ; + dct:modified "2022-05-24"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:parameter ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.common.parameters.bbox-crs a skos:Concept, + bblocks:Parameter ; + rdfs:label "bbox-crs" ; + dct:abstract "The bbox-crs query parameter can be used to assert the coordinate reference system that is used for the coordinate values of the bbox parameter." ; + dct:created "2022-07-05T01:01:01+02:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/common/parameters/bbox-crs/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/common/parameters/bbox-crs/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/common/parameters/bbox-crs/" ] ; + dct:hasVersion "1.0" ; + dct:modified "2022-07-05"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:parameter ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + + + + diff --git a/test_data/object_vocab_schema_bblocks.ttl b/test_data/object_vocab_schema_bblocks.ttl new file mode 100644 index 00000000..f71f849a --- /dev/null +++ b/test_data/object_vocab_schema_bblocks.ttl @@ -0,0 +1,414 @@ +@prefix bblocks: . +@prefix dct: . +@prefix prov: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . +@prefix xsd: . +@prefix vocab: . + +vocab:schema + a skos:ConceptScheme ; + dct:identifier "schema" ; + skos:prefLabel "Schema Building Blocks" ; + skos:hasTopConcept bblocks:ogc.unstable.sosa.examples.vectorObservation , + bblocks:ogc.unstable.sosa.examples.vectorObservationFeature , + bblocks:ogc.unstable.sosa.features.observation , + bblocks:ogc.unstable.sosa.features.observationCollection , + bblocks:ogc.unstable.sosa.properties.observation , + bblocks:ogc.unstable.sosa.properties.observationCollection , + bblocks:ogc.ogc-utils.json-link , + bblocks:ogc.geo.features.feature , + bblocks:ogc.geo.features.featureCollection , + bblocks:ogc.geo.geopose.advanced , + bblocks:ogc.geo.geopose.basic.quaternion , + bblocks:ogc.geo.geopose.basic.ypr , + bblocks:ogc.geo.json-fg.feature , + bblocks:ogc.geo.json-fg.feature-lenient , + bblocks:ogc.geo.json-fg.featureCollection , + bblocks:ogc.geo.json-fg.featureCollection-lenient , + bblocks:ogc.geo.common.data_types.bounding_box , + bblocks:ogc.geo.common.data_types.geojson + . + + +bblocks:ogc.unstable.sosa.examples.vectorObservation a skos:Concept, + bblocks:Schema ; + rdfs:label "Example SOSA Vector Observation" ; + dct:abstract "This building block defines an example SOSA Vector Observation" ; + dct:created "2023-05-19T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/examples/vectorObservation/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/examples/vectorObservation/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/examples/vectorObservation/index.md" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-05-19"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.unstable.sosa.examples.vectorObservationFeature a skos:Concept, + bblocks:Schema ; + rdfs:label "Example SOSA Vector Observation Feature" ; + dct:abstract "This building block defines an example SOSA Observation Feature for a Vector Observation" ; + dct:created "2023-05-19T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/examples/vectorObservationFeature/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/examples/vectorObservationFeature/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/examples/vectorObservationFeature/" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-05-19"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.unstable.sosa.features.observation a skos:Concept, + bblocks:Schema ; + rdfs:label "SOSA Observation Feature" ; + dct:abstract "This building blocks defines a GeoJSON feature containing a SOSA Observation" ; + dct:created "2023-05-18T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/features/observation/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/features/observation/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/features/observation/index.json" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-05-18"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.unstable.sosa.features.observationCollection a skos:Concept, + bblocks:Schema ; + rdfs:label "SOSA ObservationCollection Feature" ; + dct:abstract "This building blocks defines an ObservationCollection Feature according to the SOSA/SSN v1.1 specification." ; + dct:created "2023-04-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/features/observationCollection/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/features/observationCollection/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/features/observationCollection/index.md" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-04-28"^^xsd:date ; + dct:source , + ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.unstable.sosa.properties.observation a skos:Concept, + bblocks:Schema ; + rdfs:label "SOSA Observation" ; + dct:abstract "This building block defines the set of properties for an observation according to the SOSA/SSN specification. These properties may be directly included into a root element of a JSON object or used in the properties container of a GeoJSON feature." ; + dct:created "2023-04-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/properties/observation/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/properties/observation/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/properties/observation/" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-04-13"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.unstable.sosa.properties.observationCollection a skos:Concept, + bblocks:Schema ; + rdfs:label "SOSA ObservationCollection" ; + dct:abstract "This building blocks defines an ObservationCollection according to the SOSA/SSN v1.1 specification." ; + dct:created "2023-04-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/unstable/sosa/properties/observationCollection/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/unstable/sosa/properties/observationCollection/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/unstable/sosa/properties/observationCollection/" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-04-28"^^xsd:date ; + dct:source , + ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.ogc-utils.json-link a skos:Concept, + bblocks:Schema ; + rdfs:label "JSON Link" ; + dct:abstract "Web linking is used to express relationships between resources. The JSON object representation of links described here is used consistently in OGC API’s." ; + dct:created "2022-05-18T15:21:59+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/ogc-utils/json-link/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/ogc-utils/json-link/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/ogc-utils/json-link/index.md" ] ; + dct:hasVersion "0.1" ; + dct:modified "2022-05-18"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.features.feature a skos:Concept, + bblocks:Schema ; + rdfs:label "Feature" ; + dct:abstract "A feature. Every feature is a sub-resource of an OGC Collection." ; + dct:created "2023-05-24T14:56:51+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/features/feature/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/features/feature/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/features/feature/index.json" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-05-15"^^xsd:date ; + dct:source , + ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.features.featureCollection a skos:Concept, + bblocks:Schema ; + rdfs:label "Feature Collection" ; + dct:abstract "A collection of features." ; + dct:created "2023-06-26T14:56:51+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/features/featureCollection/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/features/featureCollection/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/features/featureCollection/index.json" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-06-26"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.geopose.advanced a skos:Concept, + bblocks:Schema ; + rdfs:label "GeoPose Advanced" ; + dct:abstract "Advanced GeoPose allowing flexible outer frame specification, quaternion orientation, and valid time." ; + dct:created "2023-07-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/geopose/advanced/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/geopose/advanced/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/geopose/advanced/" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-07-13"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.geopose.basic.quaternion a skos:Concept, + bblocks:Schema ; + rdfs:label "GeoPose Basic-Quaternion" ; + dct:abstract "Basic GeoPose using quaternion to specify orientation" ; + dct:created "2023-07-13T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/geopose/basic/quaternion/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/geopose/basic/quaternion/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/geopose/basic/quaternion/" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-07-13"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.geopose.basic.ypr a skos:Concept, + bblocks:Schema ; + rdfs:label "GeoPose Basic-YPR" ; + dct:abstract "Basic GeoPose using yaw, pitch, and roll to specify orientation" ; + dct:created "2023-03-15T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/geopose/basic/ypr/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/geopose/basic/ypr/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/geopose/basic/ypr/index.json" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-07-13"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.json-fg.feature a skos:Concept, + bblocks:Schema ; + rdfs:label "JSON-FG Feature" ; + dct:abstract "A OGC Features and Geometries JSON (JSON-FG) Feature, extending GeoJSON to support a limited set of additional capabilities that are out-of-scope for GeoJSON, but that are important for a variety of use cases involving feature data." ; + dct:created "2023-05-31T14:56:51+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/json-fg/feature/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/json-fg/feature/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/json-fg/feature/index.json" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-05-31"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.json-fg.feature-lenient a skos:Concept, + bblocks:Schema ; + rdfs:label "JSON-FG Feature - Lenient" ; + dct:abstract "A OGC Features and Geometries JSON (JSON-FG) Feature that does not require the \"time\" and \"place\" properties." ; + dct:created "2023-08-08T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/json-fg/feature-lenient/index.md" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/json-fg/feature-lenient/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/json-fg/feature-lenient/" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-08-08"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.json-fg.featureCollection a skos:Concept, + bblocks:Schema ; + rdfs:label "JSON-FG Feature Collection" ; + dct:abstract "A collection of OGC Features and Geometries JSON (JSON-FG) Features, extending GeoJSON to support a limited set of additional capabilities that are out-of-scope for GeoJSON, but that are important for a variety of use cases involving feature data." ; + dct:created "2023-05-31T14:56:51+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/json-fg/featureCollection/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/json-fg/featureCollection/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/json-fg/featureCollection/index.md" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-05-31"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.json-fg.featureCollection-lenient a skos:Concept, + bblocks:Schema ; + rdfs:label "JSON-FG Feature Collection - Lenient" ; + dct:abstract "A collection of lenient OGC Features and Geometries JSON (JSON-FG) Features, that do not require the \"time\" and \"place\" properties" ; + dct:created "2023-08-08T00:00:00+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/json-fg/featureCollection-lenient/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/json-fg/featureCollection-lenient/index.md" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/json-fg/featureCollection-lenient/" ] ; + dct:hasVersion "0.1" ; + dct:modified "2023-08-08"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.common.data_types.bounding_box a skos:Concept, + bblocks:Schema ; + rdfs:label "Bounding Box" ; + dct:abstract "The bounding box JSON object describes a simple spatial extent of a resource. For OGC API’s this could be a feature, a feature collection or a dataset, but it can be used in any JSON resource that wants to communicate its rough location. The extent is simple in that the bounding box does not describe the precise location and shape of the resource, but provides an axis-aligned approximation of the spatial extent that can be used as an initial test whether two resources are potentially intersecting each other." ; + dct:created "2022-05-24T13:51:38+00:00"^^xsd:dateTime ; + dct:description [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/common/data_types/bounding_box/index.json" ], + [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/common/data_types/bounding_box/" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/common/data_types/bounding_box/index.md" ] ; + dct:hasVersion "1.0.1" ; + dct:modified "2023-03-09"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . + +bblocks:ogc.geo.common.data_types.geojson a skos:Concept, + bblocks:Schema ; + rdfs:label "GeoJSON" ; + dct:abstract "A GeoJSON object" ; + dct:created "2023-05-24T14:56:51+00:00"^^xsd:dateTime ; + dct:description [ dct:format "text/html" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/slate-build/geo/common/data_types/geojson/" ], + [ dct:format "application/json" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/json-full/geo/common/data_types/geojson/index.json" ], + [ dct:format "text/markdown" ; + rdfs:isDefinedBy "https://opengeospatial.github.io/bblocks/generateddocs/markdown/geo/common/data_types/geojson/index.md" ] ; + dct:hasVersion "1.0" ; + dct:modified "2023-05-15"^^xsd:date ; + dct:source ; + skos:inScheme , vocab:schema ; + bblocks:hasJsonLdContext ; + bblocks:hasSchema , + ; + bblocks:scope ; + bblocks:status . diff --git a/tests/data/spaceprez/input/redirect-foaf-homepage.ttl b/test_data/redirect-foaf-homepage.ttl similarity index 100% rename from tests/data/spaceprez/input/redirect-foaf-homepage.ttl rename to test_data/redirect-foaf-homepage.ttl diff --git a/tests/data/spaceprez/input/sandgate.ttl b/test_data/sandgate.ttl similarity index 99% rename from tests/data/spaceprez/input/sandgate.ttl rename to test_data/sandgate.ttl index 0733b153..3ee1a761 100644 --- a/tests/data/spaceprez/input/sandgate.ttl +++ b/test_data/sandgate.ttl @@ -7,11 +7,11 @@ PREFIX sand: PREFIX xsd: - a dcat:Dataset ; + a dcat:Catalog ; dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; dcterms:identifier "sandgate"^^xsd:token ; dcterms:title "Sandgate example dataset"@en ; - rdfs:member + dcterms:hasPart sand:catchments , sand:facilities , sand:floods , @@ -27,6 +27,7 @@ sand:catchments dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; dcterms:identifier "catchments"^^xsd:token ; dcterms:title "Geofabric Contracted Catchments"@en ; + rdfs:label "Geofabric Contracted Catchments"@en ; rdfs:member sand:cc12109444 , sand:cc12109445 ; @@ -41,6 +42,7 @@ sand:facilities dcterms:description "Sandgate area demo Facilities"@en ; dcterms:identifier "facilities"^^xsd:token ; dcterms:title "Sandgate are demo Facilities"@en ; + rdfs:label "Sandgate are demo Facilities"@en ; rdfs:member sand:bhc , sand:bhca , @@ -63,6 +65,7 @@ sand:floods dcterms:description "Sandgate flooded areas"@en ; dcterms:identifier "floods"^^xsd:token ; dcterms:title "Sandgate flooded areas"@en ; + rdfs:label "Sandgate flooded areas"@en ; rdfs:member sand:f001 , sand:f023 , @@ -79,6 +82,7 @@ sand:roads dcterms:description "Sandgate main roads"@en ; dcterms:identifier "roads"^^xsd:token ; dcterms:title "Sandgate main roads"@en ; + rdfs:label "Sandgate main roads"@en ; rdfs:member sand:bt , sand:fp ; diff --git a/test_data/spaceprez.ttl b/test_data/spaceprez.ttl new file mode 100644 index 00000000..380bb9f0 --- /dev/null +++ b/test_data/spaceprez.ttl @@ -0,0 +1,28 @@ +PREFIX dcat: +PREFIX dcterms: +PREFIX ex: +PREFIX geo: +PREFIX rdfs: + + +ex:SpacePrezCatalog a dcat:Catalog ; + dcterms:title "SpacePrez Catalog" ; + dcterms:description "A catalog of SpacePrez data" ; + dcterms:hasPart ex:FeatureCollection ; +. + +ex:FeatureCollection a geo:FeatureCollection ; + rdfs:label "Geo Feature Collection" ; + rdfs:member ex:Feature1 , ex:Feature2 ; + ex:property "lower level feature collection property" +. + +ex:Feature1 a geo:Feature ; + rdfs:label "Feature 1" ; + ex:property "feature property" ; +. + +ex:Feature2 a geo:Feature ; + rdfs:label "Feature 2" ; + ex:property "feature property" ; +. \ No newline at end of file diff --git a/test_data/vocprez.ttl b/test_data/vocprez.ttl new file mode 100644 index 00000000..8272b81c --- /dev/null +++ b/test_data/vocprez.ttl @@ -0,0 +1,43 @@ +PREFIX dcat: +PREFIX dcterms: +PREFIX ex: +PREFIX rdfs: +PREFIX skos: + +ex:VocPrezCatalog a dcat:Catalog ; + rdfs:label "A Demo Catalog" ; + dcterms:hasPart ex:SchemingConceptScheme ; + ex:property "cataract" ; +. + +ex:SchemingConceptScheme a skos:ConceptScheme ; + skos:prefLabel "The Scheming Concept Scheme" ; + skos:hasTopConcept ex:TopLevelConcept ; + ex:property "schemish conceptual property" +. + +ex:TopLevelConcept a skos:Concept ; + skos:prefLabel "The toppiest of concepts" ; + ex:property "a property of the toppiest concept" ; + skos:narrower ex:SecondLevelConcept , ex:SiblingSecondLevelConcept ; + skos:inScheme ex:SchemingConceptScheme ; +. + +ex:SecondLevelConcept a skos:Concept ; + skos:prefLabel "A second level concept" ; + ex:property "a property of the second level concept" ; + skos:narrower ex:ThirdLevelConcept ; + skos:inScheme ex:SchemingConceptScheme ; +. + +ex:SiblingSecondLevelConcept a skos:Concept ; + skos:prefLabel "A sibling second level concept" ; + ex:property "a property of the sibling second level concept" ; + skos:inScheme ex:SchemingConceptScheme ; +. + +ex:ThirdLevelConcept a skos:Concept ; + skos:prefLabel "A third level concept" ; + ex:property "a property of the third level concept" ; + skos:inScheme ex:SchemingConceptScheme ; +. \ No newline at end of file diff --git a/tests/test_dd_profiles.py b/tests/TO_FIX_test_dd_profiles.py old mode 100644 new mode 100755 similarity index 98% rename from tests/test_dd_profiles.py rename to tests/TO_FIX_test_dd_profiles.py index d2843f8a..7628b8b1 --- a/tests/test_dd_profiles.py +++ b/tests/TO_FIX_test_dd_profiles.py @@ -6,9 +6,9 @@ from fastapi.testclient import TestClient from pyoxigraph.pyoxigraph import Store -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo +from prez.app import app +from prez.dependencies import get_data_repo +from prez.repositories import Repo, PyoxigraphRepo @pytest.fixture(scope="session") @@ -34,9 +34,7 @@ def test_client(test_repo: Repo) -> TestClient: def override_get_repo(): return test_repo - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo + app.dependency_overrides[get_data_repo] = override_get_repo with TestClient(app) as c: yield c @@ -49,7 +47,7 @@ def override_get_repo(): "url, mediatype, expected_data", [ [ - "/v/vocab?_profile=prfl:dd&_mediatype=", + "/v/catalogs/prez:vocprez-container-catalog/collections?_profile=prfl:dd&_mediatype=", "application/json", { "@context": { diff --git a/tests/test_endpoints_vocprez.py b/tests/TO_FIX_test_endpoints_vocprez.py old mode 100644 new mode 100755 similarity index 82% rename from tests/test_endpoints_vocprez.py rename to tests/TO_FIX_test_endpoints_vocprez.py index d5090ef6..e80f7ca1 --- a/tests/test_endpoints_vocprez.py +++ b/tests/TO_FIX_test_endpoints_vocprez.py @@ -1,3 +1,4 @@ +import time from pathlib import Path import pytest @@ -6,9 +7,9 @@ from rdflib import Graph, URIRef from rdflib.compare import isomorphic -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo +from prez.app import app +from prez.dependencies import get_data_repo +from prez.repositories import Repo, PyoxigraphRepo @pytest.fixture(scope="session") @@ -28,17 +29,29 @@ def test_repo(test_store: Store) -> Repo: return PyoxigraphRepo(test_store) +def wait_for_app_to_be_ready(client, timeout=10): + start_time = time.time() + while time.time() - start_time < timeout: + try: + response = client.get("/health") + if response.status_code == 200: + return + except Exception as e: + print(e) + time.sleep(0.5) + raise RuntimeError("App did not start within the specified timeout") + + @pytest.fixture(scope="session") def test_client(test_repo: Repo) -> TestClient: # Override the dependency to use the test_repo def override_get_repo(): return test_repo - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo + app.dependency_overrides[get_data_repo] = override_get_repo with TestClient(app) as c: + wait_for_app_to_be_ready(c) yield c # Remove the override to ensure subsequent tests are unaffected @@ -64,7 +77,9 @@ def get_curie(test_client: TestClient, iri: str) -> str: def test_vocab_listing(test_client: TestClient): - response = test_client.get(f"/v/vocab?_mediatype=text/anot+turtle") + response = test_client.get( + f"/v/vocab?_mediatype=text/anot+turtle&_profile=vocpub:schemes-list" + ) response_graph = Graph().parse(data=response.text) expected_graph = Graph().parse( Path(__file__).parent @@ -76,10 +91,10 @@ def test_vocab_listing(test_client: TestClient): ) -@pytest.mark.xfail( - reason="oxigraph's DESCRIBE does not include blank nodes so the expected response is not what will " - "be returned - route should not need describe query" -) +# @pytest.mark.xfail( +# reason="oxigraph's DESCRIBE does not include blank nodes so the expected response is not what will " +# "be returned - route should not need describe query" +# ) @pytest.mark.parametrize( "iri, expected_result_file, description", [ @@ -147,9 +162,9 @@ def test_concept_scheme_top_concepts( assert isomorphic(expected_graph, response_graph), f"Failed test: {description}" -@pytest.mark.xfail( - reason="issue with oxigraph counting children that do not exist (giving childrenCount 1; should be 0)" -) +# @pytest.mark.xfail( +# reason="issue with oxigraph counting children that do not exist (giving childrenCount 1; should be 0)" +# ) @pytest.mark.parametrize( "concept_scheme_iri, concept_iri, expected_result_file, description", [ @@ -177,14 +192,19 @@ def test_concept_narrowers( concept_scheme_curie = get_curie(test_client, concept_scheme_iri) concept_curie = get_curie(test_client, concept_iri) response = test_client.get( - f"/v/vocab/{concept_scheme_curie}/{concept_curie}/narrowers?_mediatype=text/anot+turtle" + f"/v/vocab/{concept_scheme_curie}/{concept_curie}/narrowers?_mediatype=text/anot+turtle&_profile=https://w3id.org/profile/vocpub" ) response_graph = Graph(bind_namespaces="rdflib").parse(data=response.text) expected_graph = Graph().parse( Path(__file__).parent / f"../tests/data/vocprez/expected_responses/{expected_result_file}" ) - assert isomorphic(expected_graph, response_graph), f"Failed test: {description}" + assert isomorphic(response_graph, expected_graph), print( + f"RESPONSE GRAPH\n{response_graph.serialize()}," + f"EXPECTED GRAPH\n{expected_graph.serialize()}", + f"MISSING TRIPLES\n{(expected_graph - response_graph).serialize()}", + f"EXTRA TRIPLES\n{(response_graph - expected_graph).serialize()}", + ) @pytest.mark.parametrize( @@ -221,7 +241,12 @@ def test_concept( Path(__file__).parent / f"../tests/data/vocprez/expected_responses/{expected_result_file}" ) - assert isomorphic(expected_graph, response_graph) + assert isomorphic(response_graph, expected_graph), print( + f"RESPONSE GRAPH\n{response_graph.serialize()}," + f"EXPECTED GRAPH\n{expected_graph.serialize()}", + f"MISSING TRIPLES\n{(expected_graph - response_graph).serialize()}", + f"EXTRA TRIPLES\n{(response_graph - expected_graph).serialize()}", + ) def test_collection_listing(test_client: TestClient): diff --git a/tests/TO_FIX_test_search.py b/tests/TO_FIX_test_search.py new file mode 100755 index 00000000..916143c2 --- /dev/null +++ b/tests/TO_FIX_test_search.py @@ -0,0 +1,174 @@ +from pathlib import Path +from urllib.parse import urlencode + +import pytest +from fastapi.testclient import TestClient +from pyoxigraph.pyoxigraph import Store +from rdflib import Literal, URIRef, Graph +from rdflib.compare import isomorphic + +from prez.app import app +from prez.dependencies import get_data_repo +from prez.repositories import Repo, PyoxigraphRepo + + +@pytest.fixture(scope="session") +def test_store() -> Store: + # Create a new pyoxigraph Store + store = Store() + + for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): + store.load(file.read_bytes(), "text/turtle") + + return store + + +@pytest.fixture(scope="session") +def test_repo(test_store: Store) -> Repo: + # Create a PyoxigraphQuerySender using the test_store + return PyoxigraphRepo(test_store) + + +@pytest.fixture(scope="session") +def client(test_repo: Repo) -> TestClient: + # Override the dependency to use the test_repo + def override_get_repo(): + return test_repo + + app.dependency_overrides[get_data_repo] = override_get_repo + + with TestClient(app) as c: + yield c + + # Remove the override to ensure subsequent tests are unaffected + app.dependency_overrides.clear() + + +@pytest.fixture(scope="module") +def test_method_creation(): + method = SearchMethod( + uri=URIRef("https://prez.dev/uri"), + identifier=Literal("identifier"), + title=Literal("title"), + query=Literal("query"), + ) + return method + + +def test_search_focus_to_filter(client: TestClient): + base_url = "/search" + params = { + "term": "contact", + "method": "default", + "focus-to-filter[skos:broader]": "http://resource.geosciml.org/classifier/cgi/contacttype/metamorphic_contact", + } + # Constructing the final URL + final_url = f"{base_url}?{urlencode(params)}" + response = client.get(final_url) + response_graph = Graph().parse(data=response.text, format="turtle") + expected_graph = Graph().parse( + Path(__file__).parent + / "../tests/data/search/expected_responses/focus_to_filter_search.ttl" + ) + assert isomorphic(expected_graph, response_graph) + + +def test_search_filter_to_focus(client: TestClient): + base_url = "/search" + params = { + "term": "storage", + "method": "default", + "filter-to-focus[skos:broader]": "http://linked.data.gov.au/def/borehole-purpose/carbon-capture-and-storage", + } + # Constructing the final URL + final_url = f"{base_url}?{urlencode(params)}" + response = client.get(final_url) + response_graph = Graph().parse(data=response.text, format="turtle") + expected_graph = Graph().parse( + Path(__file__).parent + / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" + ) + assert isomorphic(expected_graph, response_graph) + + +@pytest.mark.xfail( + reason="This generates a valid query that has been tested in Fuseki, which RDFLib and Pyoxigraph cannot run(!)" +) +def test_search_filter_to_focus_multiple(client: TestClient): + base_url = "/search" + params = { + "term": "storage", + "method": "default", + "filter-to-focus[skos:broader]": "http://resource.geosciml.org/classifier/cgi/contacttype/metamorphic_contact,http://linked.data.gov.au/def/borehole-purpose/greenhouse-gas-storage", + } + # Constructing the final URL + final_url = f"{base_url}?{urlencode(params)}" + response = client.get(final_url) + response_graph = Graph().parse(data=response.text, format="turtle") + expected_graph = Graph().parse( + Path(__file__).parent + / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" + ) + assert isomorphic(expected_graph, response_graph) + + +@pytest.mark.xfail( + reason="This generates a valid query that has been tested in Fuseki, which RDFLib struggles with" +) +def test_search_focus_to_filter_multiple(client: TestClient): + base_url = "/search" + params = { + "term": "storage", + "method": "default", + "focus-to-filter[skos:broader]": "http://linked.data.gov.au/def/borehole-purpose/carbon-capture-and-storage,http://linked.data.gov.au/def/borehole-purpose/pggd", + } + # Constructing the final URL + final_url = f"{base_url}?{urlencode(params)}" + response = client.get(final_url) + response_graph = Graph().parse(data=response.text, format="turtle") + expected_graph = Graph().parse( + Path(__file__).parent + / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" + ) + assert isomorphic(expected_graph, response_graph) + + +@pytest.mark.parametrize( + "qsas, expected_focus_to_filter, expected_filter_to_focus", + [ + ( + { + "term": "value1", + "method": "value2", + "filter-to-focus[rdfs:member]": "value3", + "focus-to-filter[dcterms:title]": "value4", + }, + [(URIRef("http://purl.org/dc/terms/title"), "value4")], + [(URIRef("http://www.w3.org/2000/01/rdf-schema#member"), "value3")], + ), + ( + { + "term": "value1", + "method": "value2", + "focus-to-filter[dcterms:title]": "value4", + }, + [(URIRef("http://purl.org/dc/terms/title"), "value4")], + [], + ), + ( + { + "term": "value1", + "method": "value2", + "filter-to-focus[rdfs:member]": "value3", + }, + [], + [(URIRef("http://www.w3.org/2000/01/rdf-schema#member"), "value3")], + ), + ({"term": "value1", "method": "value2"}, [], []), + ], +) +def test_extract_qsa_params(qsas, expected_focus_to_filter, expected_filter_to_focus): + focus_to_filter_params, filter_to_focus_params = extract_qsa_params(qsas) + + assert focus_to_filter_params == expected_focus_to_filter + assert filter_to_focus_params == expected_filter_to_focus diff --git a/tests/__init__.py b/tests/__init__.py old mode 100644 new mode 100755 diff --git a/tests/_test_count.py b/tests/_test_count.py new file mode 100755 index 00000000..9e7a831b --- /dev/null +++ b/tests/_test_count.py @@ -0,0 +1,45 @@ +import pytest +from fastapi.testclient import TestClient + + +def get_curie(client: TestClient, iri: str) -> str: + response = client.get(f"/identifier/curie/{iri}") + if response.status_code != 200: + raise ValueError(f"Failed to retrieve curie for {iri}. {response.text}") + return response.text + + +@pytest.mark.parametrize( + "iri, inbound, outbound, count", + [ + [ + "http://linked.data.gov.au/def/borehole-purpose", + "http://www.w3.org/2004/02/skos/core#inScheme", + None, + 0, + ], + [ + "http://linked.data.gov.au/def/borehole-purpose-no-children", + "http://www.w3.org/2004/02/skos/core#inScheme", + None, + 0, + ], + [ + "http://linked.data.gov.au/def/borehole-purpose", + None, + "http://www.w3.org/2004/02/skos/core#hasTopConcept", + 0, + ], + ], +) +def test_count( + client: TestClient, + iri: str, + inbound: str | None, + outbound: str | None, + count: int, +): + curie = get_curie(client, iri) + params = {"curie": curie, "inbound": inbound, "outbound": outbound} + response = client.get(f"/count", params=params) + assert int(response.text) == count diff --git a/tests/_test_cql.py b/tests/_test_cql.py new file mode 100755 index 00000000..7557727f --- /dev/null +++ b/tests/_test_cql.py @@ -0,0 +1,71 @@ +import json +from pathlib import Path +from urllib.parse import quote_plus + +import pytest + + +cql_filenames = [ + "example01.json", + "example02.json", + "example03.json", + "example05a.json", + "example05b.json", + "example06b.json", + "example09.json", + "example10.json", + "example11.json", + "example12.json", + "example14.json", + "example15.json", + "example17.json", + "example29.json", + "example31.json", + "example32.json", + "example33.json", + "example34.json", + "example35.json", + "example39.json", +] + +# @pytest.mark.parametrize( +# "cql_json_filename", +# cql_filenames +# ) +# def test_simple_post(client, cql_json_filename): +# cql_json_path = Path(__file__).parent.parent / f"test_data/cql/input/{cql_json_filename}" +# cql_json = json.loads(cql_json_path.read_text()) +# headers = {"content-type": "application/json"} +# response = client.post("/cql", json=cql_json, headers=headers) +# assert response.status_code == 200 + + +@pytest.mark.parametrize("cql_json_filename", cql_filenames) +def test_simple_get(client, cql_json_filename): + cql_json_path = ( + Path(__file__).parent.parent / f"test_data/cql/input/{cql_json_filename}" + ) + cql_json = json.loads(cql_json_path.read_text()) + query_string = quote_plus(json.dumps(cql_json)) + response = client.get(f"/cql?filter={query_string}") + assert response.status_code == 200 + + +# def test_intersects_post(client): +# cql_json_path = Path(__file__).parent.parent / f"test_data/cql/input/geo_intersects.json" +# cql_json = json.loads(cql_json_path.read_text()) +# headers = {"content-type": "application/json"} +# response = client.post("/cql", json=cql_json, headers=headers) +# assert response.status_code == 200 + + +def test_intersects_get(client): + cql_json_path = ( + Path(__file__).parent.parent / f"test_data/cql/input/geo_intersects.json" + ) + cql_json = json.loads(cql_json_path.read_text()) + query_string = quote_plus(json.dumps(cql_json)) + response = client.get( + f"/cql?filter={query_string}&_mediatype=application/sparql-query" + ) + assert response.status_code == 200 diff --git a/tests/_test_cql_fuseki.py b/tests/_test_cql_fuseki.py new file mode 100755 index 00000000..bd81e987 --- /dev/null +++ b/tests/_test_cql_fuseki.py @@ -0,0 +1,109 @@ +# NB these tests require a running Fuseki server with the appropriate data loaded. The tests will fail if the server is not +# running or the data is not loaded. ALL data in the test_data directory is required. +import json +import os +import time +from pathlib import Path +from urllib.parse import quote_plus + +import httpx +import pytest +from rdflib import Graph +from starlette.testclient import TestClient + +from prez.app import assemble_app + + +def docker_run(): + command = ( + "docker run -d --name fuseki -p 3030:3030 " + "-v $(pwd)/cql-fuseki-config.ttl:/fuseki/config.ttl " + "-v $(pwd)/../test_data:/rdf " + "-e ADMIN_PASSWORD=pw " + "ghcr.io/zazuko/fuseki-geosparql:v3.3.1" + ) + os.system(command) + + +def healthcheck(url, interval, timeout, retries): + for _ in range(retries): + try: + response = httpx.get(url, timeout=timeout) + if response.status_code == 200: + print("Service is healthy") + return True + except httpx.RequestError: + pass + time.sleep(interval) + print("Service is not healthy") + return False + + +if not healthcheck("http://localhost:3030", 1, 3, 1): + docker_run() +online = False +while not online: + online = healthcheck("http://localhost:3030", 5, 10, 3) + + +@pytest.fixture(scope="module") +def client_fuseki() -> TestClient: + app = assemble_app() + with TestClient(app) as c: + yield c + + +# cql_filenames = [] +# +# @pytest.mark.parametrize( +# "cql_json_filename", +# cql_filenames +# ) +def test_spatial_contains(client_fuseki): + file = Path(__file__).parent.parent / "prez/examples/cql/geo_contains.json" + with file.open() as f: + cql = json.load(f) + cql_str = json.dumps(cql) + cql_encoded = quote_plus(cql_str) + response = client_fuseki.get(f"/cql?filter={cql_encoded}&_mediatype=text/turtle") + response_graph = Graph().parse(data=response.text) + print(response_graph.serialize(format="turtle")) + print("x") + + +def test_spatial_contains_filter(client_fuseki): + file = Path(__file__).parent.parent / "prez/examples/cql/geo_contains_filter.json" + with file.open() as f: + cql = json.load(f) + cql_str = json.dumps(cql) + cql_encoded = quote_plus(cql_str) + response = client_fuseki.get( + f"/cql?filter={cql_encoded}&_mediatype=application/sparql-query" + ) + response_graph = Graph().parse(data=response.text) + print(response_graph.serialize(format="turtle")) + print("x") + + +def test_spatial_contains_like(client_fuseki): + file = Path(__file__).parent.parent / "prez/examples/cql/geo_contains_like.json" + with file.open() as f: + cql = json.load(f) + cql_str = json.dumps(cql) + cql_encoded = quote_plus(cql_str) + response = client_fuseki.get(f"/cql?filter={cql_encoded}") + response_graph = Graph().parse(data=response.text) + print(response_graph.serialize(format="turtle")) + + +def test_spatial_contains_inverse(client_fuseki): + file = Path(__file__).parent.parent / "prez/examples/cql/geo_contains_inverse.json" + with file.open() as f: + cql = json.load(f) + cql_str = json.dumps(cql) + cql_encoded = quote_plus(cql_str) + response = client_fuseki.get( + f"/cql?filter={cql_encoded}&_mediatype=application/sparql-query" + ) + response_graph = Graph().parse(data=response.text) + print(response_graph.serialize(format="turtle")) diff --git a/tests/_test_curie_generation.py b/tests/_test_curie_generation.py old mode 100644 new mode 100755 index 79c2164e..26272df0 --- a/tests/_test_curie_generation.py +++ b/tests/_test_curie_generation.py @@ -5934,7 +5934,8 @@ def test_get_curie_id_for_uri_negative(): assert get_curie_id_for_uri(uri) -def test_get_uri_for_curie_id(): - assert get_uri_for_curie_id(curie_id="skos:prefLabel") == URIRef( +@pytest.mark.asyncio +async def test_await_get_uri_for_curie_id(): + assert await get_uri_for_curie_id(curie_id="skos:prefLabel") == URIRef( "http://www.w3.org/2004/02/skos/core#prefLabel" ) diff --git a/tests/conftest.py b/tests/conftest.py old mode 100644 new mode 100755 index de6414fb..a47a5da4 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,111 @@ import os +from rdflib import Graph, URIRef + +# comment / uncomment for the CQL tests - cannot figure out how to get a different conftest picked up. os.environ["SPARQL_REPO_TYPE"] = "pyoxigraph" + +# os.environ["SPARQL_ENDPOINT"] = "http://localhost:3030/dataset" +# os.environ["SPARQL_REPO_TYPE"] = "remote" + +from pathlib import Path + +import pytest +from fastapi.testclient import TestClient +from pyoxigraph.pyoxigraph import Store + +from prez.app import assemble_app +from prez.dependencies import get_data_repo +from prez.repositories import Repo, PyoxigraphRepo + + +@pytest.fixture(scope="module") +def test_store() -> Store: + # Create a new pyoxigraph Store + store = Store() + + for file in Path(__file__).parent.glob("../test_data/*.ttl"): + store.load(file.read_bytes(), "text/turtle") + + return store + + +@pytest.fixture(scope="module") +def test_repo(test_store: Store) -> Repo: + # Create a PyoxigraphQuerySender using the test_store + return PyoxigraphRepo(test_store) + + +@pytest.fixture(scope="module") +def client(test_repo: Repo) -> TestClient: + # Override the dependency to use the test_repo + def override_get_repo(): + return test_repo + + app = assemble_app() + + app.dependency_overrides[get_data_repo] = override_get_repo + + with TestClient(app) as c: + yield c + + # Remove the override to ensure subsequent tests are unaffected + app.dependency_overrides.clear() + + +@pytest.fixture(scope="module") +def client_no_override() -> TestClient: + + app = assemble_app() + + with TestClient(app) as c: + yield c + + +@pytest.fixture() +def a_spaceprez_catalog_link(client): + r = client.get("/catalogs") + g = Graph().parse(data=r.text) + member_uri = URIRef("https://example.com/SpacePrezCatalog") + link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) + return link + + +@pytest.fixture() +def an_fc_link(client, a_spaceprez_catalog_link): + r = client.get(f"{a_spaceprez_catalog_link}/collections") + g = Graph().parse(data=r.text) + links = g.objects(subject=None, predicate=URIRef(f"https://prez.dev/link")) + for link in links: + if link != a_spaceprez_catalog_link: + return link + + +@pytest.fixture() +def a_feature_link(client, an_fc_link): + r = client.get(f"{an_fc_link}/items") + g = Graph().parse(data=r.text) + links = g.objects(subject=None, predicate=URIRef(f"https://prez.dev/link")) + for link in links: + if link != an_fc_link: + return link + + +@pytest.fixture() +def a_catprez_catalog_link(client): + # get link for first catalog + r = client.get("/catalogs") + g = Graph().parse(data=r.text) + member_uri = URIRef("https://example.com/CatalogOne") + link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) + return link + + +@pytest.fixture() +def a_resource_link(client, a_catprez_catalog_link): + r = client.get(a_catprez_catalog_link) + g = Graph().parse(data=r.text) + links = g.objects(subject=None, predicate=URIRef(f"https://prez.dev/link")) + for link in links: + if link != a_catprez_catalog_link: + return link diff --git a/tests/cql-fuseki-config.ttl b/tests/cql-fuseki-config.ttl new file mode 100644 index 00000000..cd4e38b5 --- /dev/null +++ b/tests/cql-fuseki-config.ttl @@ -0,0 +1,52 @@ +## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX fuseki: +PREFIX rdf: +PREFIX rdfs: +PREFIX ja: +PREFIX geosparql: + +[] rdf:type fuseki:Server ; + fuseki:services ( + :service + ) . + +:service rdf:type fuseki:Service ; + fuseki:name "dataset" ; + fuseki:endpoint [ fuseki:operation fuseki:query ; ] ; + fuseki:endpoint [ fuseki:operation fuseki:query ; fuseki:name "sparql" ]; + fuseki:endpoint [ fuseki:operation fuseki:query ; fuseki:name "query" ] ; + fuseki:endpoint [ fuseki:operation fuseki:update ; fuseki:name "update" ]; + fuseki:endpoint [ fuseki:operation fuseki:gsp-r ; fuseki:name "get" ] ; + fuseki:endpoint [ fuseki:operation fuseki:gsp-rw ; fuseki:name "data" ]; + fuseki:dataset <#geo_ds> ; + . + +<#geo_ds> rdf:type geosparql:GeosparqlDataset ; + geosparql:dataset :dataset ; + geosparql:inference true ; + geosparql:queryRewrite true ; + geosparql:indexEnabled true ; + geosparql:applyDefaultGeometry true ; +. + +# Transactional in-memory dataset. +:dataset rdf:type ja:MemoryDataset ; + ## Optional load with data on start-up + ja:data "/rdf/sandgate.ttl"; + ja:data "/rdf/object_vocab_parameter_bblocks.ttl"; + ja:data "/rdf/object_catalog_bblocks_catalog.ttl"; + ja:data "/rdf/bnode_depth-1.ttl"; + ja:data "/rdf/bnode_depth-2.ttl"; + ja:data "/rdf/catprez.ttl"; + ja:data "/rdf/object_vocab_datatype_bblocks.ttl"; + ja:data "/rdf/vocprez.ttl"; + ja:data "/rdf/bnode_depth-2-2.ttl"; + ja:data "/rdf/bnode_depth-4.ttl"; + ja:data "/rdf/spaceprez.ttl"; + ja:data "/rdf/sandgate.ttl"; + ja:data "/rdf/object_vocab_api_bblocks.ttl"; + ja:data "/rdf/object_vocab_schema_bblocks.ttl"; + ja:data "/rdf/redirect-foaf-homepage.ttl"; + . diff --git a/tests/data/catprez/expected_responses/catalog_anot.ttl b/tests/data/catprez/expected_responses/catalog_anot.ttl deleted file mode 100644 index e1b3e004..00000000 --- a/tests/data/catprez/expected_responses/catalog_anot.ttl +++ /dev/null @@ -1,201 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix prov: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - -dcterms:created rdfs:label "Date Created"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:hasPart rdfs:label "Has Part"@en ; - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:modified rdfs:label "Date Modified"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -dcterms:title rdfs:label "Title"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - -dcat:hadRole rdfs:label "hadRole"@en . - -prov:agent rdfs:label "agent" . - -prov:qualifiedAttribution rdfs:label "qualified attribution" . - - a dcat:Catalog ; - rdfs:label "IDN Demonstration Catalogue" ; - dcterms:created "2022-07-31"^^xsd:date ; - dcterms:description """The Indigenous Data Network's demonstration catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:hasPart , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - dcterms:identifier "democat"^^xsd:token, - "pd:democat"^^prez:identifier ; - dcterms:modified "2022-08-29"^^xsd:date ; - dcterms:title "IDN Demonstration Catalogue" ; - prov:qualifiedAttribution [ dcat:hadRole , - , - ; - prov:agent ] ; - prez:link "/c/catalogs/pd:democat" . - -schema:description rdfs:label "description" . - -schema:name rdfs:label "name" . - - rdfs:label "author"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party who authored the resource" ; - skos:prefLabel "author"@en . - - rdfs:label "custodian"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party that accepts accountability and responsibility for the resource and ensures appropriate care and maintenance of the resource" ; - skos:prefLabel "custodian"@en . - - rdfs:label "owner"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party that owns the resource" ; - skos:prefLabel "owner"@en . - -dcat:Catalog rdfs:label "Catalog"@en . - - dcterms:description """This dataset has been developed by the Australian Government as an authoritative source of indigenous location names across Australia. It is sponsored by the Spatial Policy Branch within the Department of Communications and managed solely by the Department of Human Services. -The dataset is designed to support the accurate positioning, consistent reporting, and effective delivery of Australian Government programs and services to indigenous locations. -The dataset contains Preferred and Alternate names for indigenous locations where Australian Government programs and services have been, are being, or may be provided. The Preferred name will always default to a State or Territory jurisdiction's gazetted name so the term 'preferred' does not infer that this is the locally known name for the location. Similarly, locational details are aligned, where possible, with those published in State and Territory registers. -This dataset is NOT a complete listing of all locations at which indigenous people reside. Town and city names are not included in the dataset. The dataset contains names that represent indigenous communities, outstations, defined indigenous areas within a town or city or locations where services have been provided.""" ; - dcterms:title "Australian Government Indigenous Programs & Policy Locations (AGIL) dataset" . - - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:identifier "pd:AAC-SA"^^prez:identifier ; - dcterms:title "Annual Aboriginal Census,1921-1944 - South Australia" ; - prez:link "/c/catalogs/pd:democat/resources/pd:AAC-SA" . - - dcterms:description "A 2020 review of First Nations Identified physical collections held by the ANU. Not published." ; - dcterms:title "2020 ANU First Nations Collections Review" . - - dcterms:description """The Aboriginal and Torres Strait Islander Community Profiles (ACPs) are tabulations giving key census characteristics of Aboriginal and Torres Strait Islander persons, families and dwellings, covering most topics on the 1991 Census of Population and Housing form. This profile is presented at the ATSIC Region level. - -The ACP consists of 29 tables which crosstabulate characteristics including gender, age, place of birth, religion, marital status, education, income, occupation and employment status.""" ; - dcterms:title "1991 Census of Population and Housing: Aboriginal and Torres Strait Islander Community Profile: ATSIC Regions" . - - dcterms:description """Austlang provides information about Indigenous Australian languages which has been assembled from referenced sources. -The dataset provided here includes the language names, each with a unique alpha-numeric code which functions as a stable identifier, alternative/variant names and spellings and the approximate location of each language variety.""" ; - dcterms:title "Austlang database." . - - dcterms:description """The Indigenous Protected Areas (IPA) programme has demonstrated successes across a broad range of outcome areas, effectively overcoming barriers to addressing Indigenous disadvantage and engaging Indigenous Australians in meaningful employment to achieve large scale conservation outcomes, thus aligning the interests of Indigenous Australians and the broader community. - -The Birriliburu & Matuwa Kurrara Kurrara (MKK) IPAs have provided an opportunity for Martu people to reconnect with and actively manage their traditional country. - -The two IPAs have proved a useful tool with which to leverage third party investment, through a joint management arrangement with the Western Australia (WA) Government, project specific funding from environmental NGOs and mutually beneficial partnerships with the private sector. - -Increased and diversified investment from a range of funding sources would meet the high demand for Ranger jobs and could deliver a more expansive programme of works, which would, in turn, increase the social, economic and cultural outcomes for Martu Rangers and Community Members.""" ; - dcterms:title "SRI Investment Analysis of the Birriliburu and Matuwa Kurrara Kurrara Indigenous Protected Areas (2016)" . - - dcterms:description "UTS has taken over this data, but needs help to turn it into an ongoing public database" ; - dcterms:title "Aboriginal Deaths and Injuries in Custody" . - - dcterms:description "(Torrens University). An earlier application with Marcia for AIATSIS funding was never considered." ; - dcterms:title "GDP and Genuine Progress Indicator" . - - dcterms:description "Land that is owned or managed by Australia’s Indigenous communities, or over which Indigenous people have use and rights, was compiled from information supplied by Australian, state and territory governments and other statutory authorities with Indigenous land and sea management interests." ; - dcterms:title "Indigenous Land and Sea Interests " . - - dcterms:description "Registered & Notified Indigenous Land Use Agreements – (as per s. 24BH(1)(a), s. 24CH and s. 24DI(1)(a)) across Australia, The Central Resource for Sharing and Enabling Environmental Data in NSW" ; - dcterms:title "Indigenous Land Use Agreement Boundaries with basic metadata and status" . - - dcterms:description "Printed catalog highlighting ANU Indigenous Research activities at the time of publication" ; - dcterms:title "Indigenous Research Compendium 2018" . - - dcterms:description "These are extensive paper records which Ian Anderson has proposed incorporating in a database. Negotiation is still needed." ; - dcterms:title "Tasmanian Aboriginal genealogies" . - - dcterms:description "NSW prison population data and quarterly custody reports" ; - dcterms:title "NSW Custody Statistics" . - - dcterms:description "This comprises records of about 70,000 Indigenous and 30,000 non-Indigenous people surveyed in the 1970s and 1980s. Some paper records are held at AIATSIS. Microfilms of others are at UNSW Archives. There have been preliminary discussions with AIATSIS, the National Library and former members of the Hollows team about a program to digitise the records. IDN staff/resources would be needed." ; - dcterms:title "The Fred Hollows Archive (National Trachoma and Eye Health Program)" . - - dcterms:description """Conference powerpoint presentation - -Case study in exemplary IDG. -- Survey of native title prescribed bodies corporate (PBCs) -- Collect data on PBCs’ capacity, capabilities, needs and aspirations to better inform policies that affect PBCs -- Started data collection May 2019, to finish in 3rd quarter 2019""" ; - dcterms:title "Prescribed bodies corporate (PBCs) Survey 2019" . - - dcterms:description """Aboriginal and Torres Strait Islander people are the Indigenous people of Australia. They are not one group, but comprise hundreds of groups that have their own distinct set of languages, histories and cultural traditions. - -AIHW reports and other products include information about Indigenous Australians, where data quality permits. Thus, information and statistics about Indigenous Australians can be found in most AIHW products. - -In December 2021, AIHW released the Regional Insights for Indigenous Communities (RIFIC). The aim of this website is to provide access to data at a regional level, to help communities set their priorities and participate in joint planning with government and service providers. - -AIHW products that focus specifically on Indigenous Australians are captured on this page.""" ; - dcterms:title "Regional Insights for Indigenous Communities" . - - dcterms:description "Access still to be negotiated with the Museum." ; - dcterms:title "The Sandra Smith Archive" . - - dcterms:description "Strong demand but controversial." ; - dcterms:title "Tindale/Horton map" . - - dcterms:description """TLCMap is a set of tools that work together for mapping Australian history and culture. - -Note that historical placenames in TLCmap is a HASS-I integration activity.""" ; - dcterms:title "Time Layered Cultural Map of Australia" . - - rdfs:label "Indigenous Data Network" ; - schema:description "The IDN is within the University of Melbourne. It was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities.", - "The Indigenous Data Network (IDN) was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities."@en ; - schema:name "Indigenous Data Network" . - diff --git a/tests/data/catprez/expected_responses/catalog_listing_anot.ttl b/tests/data/catprez/expected_responses/catalog_listing_anot.ttl deleted file mode 100644 index 23b11e2e..00000000 --- a/tests/data/catprez/expected_responses/catalog_listing_anot.ttl +++ /dev/null @@ -1,57 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - - a dcat:Catalog ; - rdfs:label "IDN Demonstration Catalogue" ; - dcterms:description """The Indigenous Data Network's demonstration catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:identifier "pd:democat"^^prez:identifier ; - dcterms:title "IDN Demonstration Catalogue" ; - prez:link "/c/catalogs/pd:democat" . - - a dcat:Catalog ; - dcterms:description """The Indigenous Data Network's catalogue of Agents. This catalogue contains instances of Agents - People and Organisations - related to the holding of indigenous data. This includes non-indigenous Agents - -This catalogue extends on standard Agent information to include properties useful to understand the indigeneity of Agents: whether they are or not, or how much they are, indigenous"""@en ; - dcterms:identifier "dtst:agents"^^prez:identifier ; - dcterms:title "IDN Agents Catalogue" ; - prez:link "/c/catalogs/dtst:agents" . - - a dcat:Catalog ; - dcterms:description """The Indigenous Data Network's catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:identifier "dtst:democat"^^prez:identifier ; - dcterms:title "IDN Datasets Catalogue" ; - prez:link "/c/catalogs/dtst:democat" . - - a dcat:Catalog ; - dcterms:description "This is the system catalogue implemented by this instance of CatPrez that lists all its other Catalog instances"@en ; - dcterms:identifier "sys:catprez"^^prez:identifier ; - dcterms:title "CatPrez System Catalogue" ; - prez:link "/c/catalogs/sys:catprez" . - -dcat:Catalog rdfs:label "Catalog"@en ; - prez:count 4 . - diff --git a/tests/data/catprez/expected_responses/resource_anot.ttl b/tests/data/catprez/expected_responses/resource_anot.ttl deleted file mode 100644 index 0ab4b07a..00000000 --- a/tests/data/catprez/expected_responses/resource_anot.ttl +++ /dev/null @@ -1,57 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix xsd: . - -dcterms:creator rdfs:label "Creator"@en ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:issued rdfs:label "Date Issued"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - -dcterms:title rdfs:label "Title"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - - a dcat:Resource ; - dcterms:creator ; - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:identifier "pd:AAC-SA"^^prez:identifier ; - dcterms:issued "2011-07-22"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Annual Aboriginal Census,1921-1944 - South Australia" ; - prez:link "/c/catalogs/pd:democat/resources/pd:AAC-SA" . - - rdfs:label "IDN Demonstration Catalogue" ; - dcterms:description """The Indigenous Data Network's demonstration catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:identifier "pd:democat"^^prez:identifier ; - dcterms:title "IDN Demonstration Catalogue" . - -schema:description rdfs:label "description" . - -schema:name rdfs:label "name" . - - rdfs:label "Australian National University" ; - schema:description "ANU is a world-leading university in Australia’s capital. Excellence is embedded in our approach to research and education." ; - schema:name "Australian National University" . - diff --git a/tests/data/catprez/expected_responses/resource_listing_anot.ttl b/tests/data/catprez/expected_responses/resource_listing_anot.ttl deleted file mode 100644 index 71167d57..00000000 --- a/tests/data/catprez/expected_responses/resource_listing_anot.ttl +++ /dev/null @@ -1,201 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdfs: . -@prefix schema: . -@prefix xsd: . - -dcterms:creator rdfs:label "Creator"@en ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:hasPart rdfs:label "Has Part"@en ; - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:issued rdfs:label "Date Issued"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - -dcterms:title rdfs:label "Title"@en . - -rdfs:label rdfs:label "label" . - - rdfs:label "IDN Demonstration Catalogue" ; - dcterms:description """The Indigenous Data Network's demonstration catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:hasPart , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - dcterms:identifier "pd:democat"^^prez:identifier ; - dcterms:title "IDN Demonstration Catalogue" ; - prez:count 67 ; - prez:link "/c/catalogs/pd:democat" . - -schema:description rdfs:label "description" . - -schema:name rdfs:label "name" . - - dcterms:creator ; - dcterms:description """This dataset has been developed by the Australian Government as an authoritative source of indigenous location names across Australia. It is sponsored by the Spatial Policy Branch within the Department of Communications and managed solely by the Department of Human Services. -The dataset is designed to support the accurate positioning, consistent reporting, and effective delivery of Australian Government programs and services to indigenous locations. -The dataset contains Preferred and Alternate names for indigenous locations where Australian Government programs and services have been, are being, or may be provided. The Preferred name will always default to a State or Territory jurisdiction's gazetted name so the term 'preferred' does not infer that this is the locally known name for the location. Similarly, locational details are aligned, where possible, with those published in State and Territory registers. -This dataset is NOT a complete listing of all locations at which indigenous people reside. Town and city names are not included in the dataset. The dataset contains names that represent indigenous communities, outstations, defined indigenous areas within a town or city or locations where services have been provided.""" ; - dcterms:issued "2013-12-02"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Australian Government Indigenous Programs & Policy Locations (AGIL) dataset" . - - dcterms:creator ; - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:identifier "pd:AAC-SA"^^prez:identifier ; - dcterms:issued "2011-07-22"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Annual Aboriginal Census,1921-1944 - South Australia" ; - prez:link "/c/catalogs/pd:democat/resources/pd:AAC-SA" . - - dcterms:description "A 2020 review of First Nations Identified physical collections held by the ANU. Not published." ; - dcterms:publisher ; - dcterms:title "2020 ANU First Nations Collections Review" . - - dcterms:creator ; - dcterms:description """The Aboriginal and Torres Strait Islander Community Profiles (ACPs) are tabulations giving key census characteristics of Aboriginal and Torres Strait Islander persons, families and dwellings, covering most topics on the 1991 Census of Population and Housing form. This profile is presented at the ATSIC Region level. - -The ACP consists of 29 tables which crosstabulate characteristics including gender, age, place of birth, religion, marital status, education, income, occupation and employment status.""" ; - dcterms:issued "2007-03-16"^^xsd:date ; - dcterms:publisher ; - dcterms:title "1991 Census of Population and Housing: Aboriginal and Torres Strait Islander Community Profile: ATSIC Regions" . - - dcterms:creator ; - dcterms:description """Austlang provides information about Indigenous Australian languages which has been assembled from referenced sources. -The dataset provided here includes the language names, each with a unique alpha-numeric code which functions as a stable identifier, alternative/variant names and spellings and the approximate location of each language variety.""" ; - dcterms:publisher ; - dcterms:title "Austlang database." . - - dcterms:creator ; - dcterms:description """The Indigenous Protected Areas (IPA) programme has demonstrated successes across a broad range of outcome areas, effectively overcoming barriers to addressing Indigenous disadvantage and engaging Indigenous Australians in meaningful employment to achieve large scale conservation outcomes, thus aligning the interests of Indigenous Australians and the broader community. - -The Birriliburu & Matuwa Kurrara Kurrara (MKK) IPAs have provided an opportunity for Martu people to reconnect with and actively manage their traditional country. - -The two IPAs have proved a useful tool with which to leverage third party investment, through a joint management arrangement with the Western Australia (WA) Government, project specific funding from environmental NGOs and mutually beneficial partnerships with the private sector. - -Increased and diversified investment from a range of funding sources would meet the high demand for Ranger jobs and could deliver a more expansive programme of works, which would, in turn, increase the social, economic and cultural outcomes for Martu Rangers and Community Members.""" ; - dcterms:issued "0601-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "SRI Investment Analysis of the Birriliburu and Matuwa Kurrara Kurrara Indigenous Protected Areas (2016)" . - - dcterms:description "UTS has taken over this data, but needs help to turn it into an ongoing public database" ; - dcterms:publisher , - ; - dcterms:title "Aboriginal Deaths and Injuries in Custody" . - - dcterms:description "(Torrens University). An earlier application with Marcia for AIATSIS funding was never considered." ; - dcterms:publisher ; - dcterms:title "GDP and Genuine Progress Indicator" . - - dcterms:creator ; - dcterms:description "Land that is owned or managed by Australia’s Indigenous communities, or over which Indigenous people have use and rights, was compiled from information supplied by Australian, state and territory governments and other statutory authorities with Indigenous land and sea management interests." ; - dcterms:issued "2019-04-03"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Land and Sea Interests " . - - dcterms:creator ; - dcterms:description "Registered & Notified Indigenous Land Use Agreements – (as per s. 24BH(1)(a), s. 24CH and s. 24DI(1)(a)) across Australia, The Central Resource for Sharing and Enabling Environmental Data in NSW" ; - dcterms:issued "2013-12-05"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Land Use Agreement Boundaries with basic metadata and status" . - - dcterms:description "Printed catalog highlighting ANU Indigenous Research activities at the time of publication" ; - dcterms:publisher ; - dcterms:title "Indigenous Research Compendium 2018" . - - dcterms:description "These are extensive paper records which Ian Anderson has proposed incorporating in a database. Negotiation is still needed." ; - dcterms:publisher ; - dcterms:title "Tasmanian Aboriginal genealogies" . - - dcterms:creator ; - dcterms:description "NSW prison population data and quarterly custody reports" ; - dcterms:issued "2022-08-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "NSW Custody Statistics" . - - dcterms:description "This comprises records of about 70,000 Indigenous and 30,000 non-Indigenous people surveyed in the 1970s and 1980s. Some paper records are held at AIATSIS. Microfilms of others are at UNSW Archives. There have been preliminary discussions with AIATSIS, the National Library and former members of the Hollows team about a program to digitise the records. IDN staff/resources would be needed." ; - dcterms:publisher , - ; - dcterms:title "The Fred Hollows Archive (National Trachoma and Eye Health Program)" . - - dcterms:creator ; - dcterms:description """Conference powerpoint presentation - -Case study in exemplary IDG. -- Survey of native title prescribed bodies corporate (PBCs) -- Collect data on PBCs’ capacity, capabilities, needs and aspirations to better inform policies that affect PBCs -- Started data collection May 2019, to finish in 3rd quarter 2019""" ; - dcterms:issued "2019-07-03"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Prescribed bodies corporate (PBCs) Survey 2019" . - - dcterms:creator ; - dcterms:description """Aboriginal and Torres Strait Islander people are the Indigenous people of Australia. They are not one group, but comprise hundreds of groups that have their own distinct set of languages, histories and cultural traditions. - -AIHW reports and other products include information about Indigenous Australians, where data quality permits. Thus, information and statistics about Indigenous Australians can be found in most AIHW products. - -In December 2021, AIHW released the Regional Insights for Indigenous Communities (RIFIC). The aim of this website is to provide access to data at a regional level, to help communities set their priorities and participate in joint planning with government and service providers. - -AIHW products that focus specifically on Indigenous Australians are captured on this page.""" ; - dcterms:issued "1101-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Regional Insights for Indigenous Communities" . - - dcterms:description "Access still to be negotiated with the Museum." ; - dcterms:publisher ; - dcterms:title "The Sandra Smith Archive" . - - dcterms:description "Strong demand but controversial." ; - dcterms:publisher ; - dcterms:title "Tindale/Horton map" . - - dcterms:description """TLCMap is a set of tools that work together for mapping Australian history and culture. - -Note that historical placenames in TLCmap is a HASS-I integration activity.""" ; - dcterms:publisher ; - dcterms:title "Time Layered Cultural Map of Australia" . - - rdfs:label "Services Australia" ; - schema:name "Services Australia" . - - rdfs:label "Australian Federal Government" ; - schema:name "Australian Government" . - - rdfs:label "Australian National University" ; - schema:description "ANU is a world-leading university in Australia’s capital. Excellence is embedded in our approach to research and education." ; - schema:name "Australian National University" . - - rdfs:label "AIATSIS" . - diff --git a/tests/data/catprez/input/AAC-SA.ttl b/tests/data/catprez/input/AAC-SA.ttl deleted file mode 100644 index f370e3b2..00000000 --- a/tests/data/catprez/input/AAC-SA.ttl +++ /dev/null @@ -1,51 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX ex: -PREFIX iso: -PREFIX prov: -PREFIX xsd: - - - dcterms:hasPart ; -. - - - dcterms:hasPart ; -. - - - a dcat:Resource ; - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:identifier "AAC-SA"^^xsd:token ; - dcterms:issued "2011-07-22"^^xsd:date ; - dcterms:license "All Rights Reserved" ; - dcterms:rights "Copyright © 2011, The Australian National University. All rights reserved." ; - dcterms:spatial - , - ; - dcterms:temporal "1921-1944" ; - dcterms:title "Annual Aboriginal Census,1921-1944 - South Australia" ; - dcterms:accessRights ; - dcat:accessURL "https://www.atsida.edu.au/archive/datasets/au.edu.anu.ada.ddi.20002-sa"^^xsd:anyURI ; - dcat:theme - , - ; - prov:qualifiedAttribution - [ - dcat:hadRole iso:originator ; - prov:agent "Gordon Briscoe, Len Smith" - ] , - [ - dcat:hadRole iso:rightsHolder ; - prov:agent - ] , - [ - dcat:hadRole iso:custodian ; - prov:agent "ATSIDA.1" - ] ; - ex:home "https://www.atsida.edu.au/" ; - ex:notes "The Annual Aboriginal Census is considered as a significant official source of Aboriginal population statistics. It was conducted annually in June from 1921 to 1944, exempting the war years between 1941 and 1944 in each State and Territory. The 1944 census was incomplete with New South Wales not taking part at all. Enumeration of Aboriginal populations was poor and difficulties in classification occurred. The Census was a collaboration of the Commonwealth Bureau of Census and Statistics who initiated the study, State and Territory Statisticians, the Protector of Aborigines, and local police officers who conducted the enumeration. The Annual Aboriginal Census is also referred to as the Annual Census of Aborigines and Police Census." ; -. diff --git a/tests/data/catprez/input/_idn-ac.ttl b/tests/data/catprez/input/_idn-ac.ttl deleted file mode 100644 index 5752fb28..00000000 --- a/tests/data/catprez/input/_idn-ac.ttl +++ /dev/null @@ -1,23 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX isoroles: -PREFIX prov: -PREFIX xsd: - - - a dcat:Catalog ; - dcterms:created "2022-08-15"^^xsd:date ; - dcterms:description """The Indigenous Data Network's catalogue of Agents. This catalogue contains instances of Agents - People and Organisations - related to the holding of indigenous data. This includes non-indigenous Agents - -This catalogue extends on standard Agent information to include properties useful to understand the indigeneity of Agents: whether they are or not, or how much they are, indigenous"""@en ; - dcterms:identifier "idnac"^^xsd:token ; - dcterms:modified "2022-08-15"^^xsd:date ; - dcterms:title "IDN Agents Catalogue" ; - prov:qualifiedAttribution [ - dcat:hadRole - isoroles:author , - isoroles:custodian , - isoroles:owner ; - prov:agent - ] ; -. diff --git a/tests/data/catprez/input/_idn-dc.ttl b/tests/data/catprez/input/_idn-dc.ttl deleted file mode 100644 index df21d2a7..00000000 --- a/tests/data/catprez/input/_idn-dc.ttl +++ /dev/null @@ -1,25 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX isoroles: -PREFIX prov: -PREFIX xsd: - - - a dcat:Catalog ; - dcterms:created "2022-07-31"^^xsd:date ; - dcterms:description """The Indigenous Data Network's catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:identifier "idndc"^^xsd:token ; - dcterms:modified "2022-08-29"^^xsd:date ; - dcterms:title "IDN Datasets Catalogue" ; - prov:qualifiedAttribution [ - dcat:hadRole - isoroles:author , - isoroles:custodian , - isoroles:owner ; - prov:agent - ] ; -. diff --git a/tests/data/catprez/input/_system-catalog.ttl b/tests/data/catprez/input/_system-catalog.ttl deleted file mode 100644 index c00da0de..00000000 --- a/tests/data/catprez/input/_system-catalog.ttl +++ /dev/null @@ -1,32 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX idnth: -PREFIX idnroles: -PREFIX isoroles: -PREFIX owl: -PREFIX prov: -PREFIX sdo: -PREFIX skos: -PREFIX xsd: - - - a dcat:Catalog ; - dcterms:identifier "catprez"^^xsd:token ; - dcterms:title "CatPrez System Catalogue" ; - dcterms:description """This is the system catalogue implemented by this instance of CatPrez that lists all its other Catalog instances"""@en ; - dcterms:created "2022-08-03"^^xsd:date ; - dcterms:modified "2022-08-29"^^xsd:date ; - prov:qualifiedAttribution [ - a prov:Attribution; - prov:agent ; - dcat:hadRole isoroles:author , isoroles:owner , isoroles:custodian ; - ] ; - dcterms:hasPart - , - ; -. - - a dcat:Resource . - - a dcat:Resource . - diff --git a/tests/data/catprez/input/agents.ttl b/tests/data/catprez/input/agents.ttl deleted file mode 100644 index 5d4fc709..00000000 --- a/tests/data/catprez/input/agents.ttl +++ /dev/null @@ -1,133 +0,0 @@ -PREFIX aarr: -PREFIX dcat: -PREFIX dcterms: -PREFIX democat: -PREFIX idncp: -PREFIX prov: -PREFIX rdfs: -PREFIX sdo: -PREFIX xsd: - - - a sdo:Organization ; - sdo:name "Indigenous Data Network" ; - rdfs:label "Indigenous Data Network" ; - sdo:description "The IDN is within the University of Melbourne. It was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities." ; - sdo:url "https://mspgh.unimelb.edu.au/centres-institutes/centre-for-health-equity/research-group/indigenous-data-network"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Person ; - dcterms:type sdo:Person ; - sdo:name "Nicholas J. Car"@en ; - rdfs:label "Nicholas J. Car"@en ; - sdo:email "nick@kurrawong.net"^^xsd:anyURI ; - dcat:relation [ - dcat:hadRole aarr:affiliateOf ; - prov:agent ; - ] ; - dcterms:type ; -. - - - a sdo:Person ; - sdo:name "Sandra Silcot"@en ; - rdfs:label "Sandra Silcot"@en ; - sdo:email "ssilcot@gmail.com"^^xsd:anyURI ; - dcat:relation [ - dcat:hadRole aarr:affiliateOf ; - prov:agent ; - ] ; -. - - - a sdo:Organization ; - sdo:name "KurrawongAI" ; - rdfs:label "KurrawongAI" ; - sdo:description "Kurrawong AI is a small, Artificial Intelligence, company in Australia specialising in Knowledge Graphs." ; - sdo:url "https://kurrawong.net"^^xsd:anyURI ; - sdo:identifier "31 353 542 036"^^idncp:abnId ; - dcterms:type ; -. - - - a sdo:Organization ; - sdo:name "Australian Federal Government" ; - rdfs:label "Australian Federal Government" ; - sdo:url "https://www.australia.gov.au"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Organization ; - sdo:name "Australian Bureau of Statistics" ; - rdfs:label "Australian Bureau of Statistics" ; - sdo:url "https://www.abs.gov.au"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Organization ; - dcat:relation [ - dcat:hadRole aarr:precursorOrganisation ; - prov:agent ; - ] ; - sdo:name "Services Australia" ; - rdfs:label "Services Australia" ; - sdo:url "https://www.servicesaustralia.gov.au"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Organization ; - sdo:identifier - "O-000880"^^idncp:agorId , - "CA-7853"^^idncp:crsId ; - dcat:relation [ - dcat:hadRole aarr:descendantOrganisation ; - prov:agent ; - ] ; - sdo:name "Department of Human Services" ; - rdfs:label "Department of Human Services" ; - sdo:url "https://www.humanservices.gov.au"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Organization ; - sdo:name "Australian Government Indigenous Locations Working Group 2007-2012" ; - rdfs:label "Australian Government Indigenous Locations Working Group 2007-2012" ; - dcat:relation [ - dcat:hadRole aarr:partOf ; - prov:agent ; # TODO: Find a better parent - ] ; - dcterms:type ; -. - - - a sdo:Organization ; - sdo:name "Australian Bureau of Statistics Centre of Aboriginal and Torres Strait Islander Statistics" ; - rdfs:label "Australian Bureau of Statistics Centre of Aboriginal and Torres Strait Islander Statistics" ; - dcat:relation [ - dcat:hadRole aarr:partOf ; - prov:agent ; - ] ; - dcterms:type ; - sdo:url "https://www.abs.gov.au/about/aboriginal-and-torres-strait-islander-peoples/aboriginal-and-torres-strait-islander-engagement"^^xsd:anyURI ; -. - - - a sdo:Organization ; - sdo:name "University of Technology Sydney" ; - rdfs:label "University of Technology Sydney" ; - sdo:url "https://www.uts.edu.au"^^xsd:anyURI ; - dcterms:type ; -. - - - a sdo:Organisation ; - sdo:name "National Library of Australia" ; - rdfs:label "National Library of Australia" ; - sdo:url "https://www.nla.gov.au/"^^xsd:anyURI ; -. diff --git a/tests/data/catprez/input/labels.ttl b/tests/data/catprez/input/labels.ttl deleted file mode 100644 index 51f3e6c3..00000000 --- a/tests/data/catprez/input/labels.ttl +++ /dev/null @@ -1,13 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX geofab: -PREFIX rdfs: -PREFIX sand: -PREFIX xsd: - - -dcterms:identifier rdfs:label "Identifier"@en ; - rdfs:comment "A unique identifier of the item." . - -dcat:Dataset rdfs:label "Dataset"@en . diff --git a/tests/data/catprez/input/pd_democat.ttl b/tests/data/catprez/input/pd_democat.ttl deleted file mode 100644 index 34c95b82..00000000 --- a/tests/data/catprez/input/pd_democat.ttl +++ /dev/null @@ -1,716 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix prov: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - -dcterms:created rdfs:label "Date Created"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:creator rdfs:label "Creator"@en ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:hasPart rdfs:label "Has Part"@en ; - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:issued rdfs:label "Date Issued"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:modified rdfs:label "Date Modified"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - -dcterms:title rdfs:label "Title"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - -dcat:hadRole rdfs:label "hadRole"@en . - -prov:agent rdfs:label "agent" . - -prov:qualifiedAttribution rdfs:label "qualified attribution" . - - a dcat:Catalog ; - rdfs:label "IDN Demonstration Catalogue" ; - dcterms:created "2022-07-31"^^xsd:date ; - dcterms:description """The Indigenous Data Network's demonstration catalogue of datasets. This catalogue contains records of datasets in Australia, most of which have some relation to indigenous Australia. - -The purpose of this catalogue is not to act as a master catalogue of indigenous data in Australia to demonstrate improved metadata models and rating systems for data and metadata in order to improve indigenous data governance. - -The content of this catalogue conforms to the Indigenous Data Network's Catalogue Profile which is a profile of the DCAT, SKOS and PROV data models."""@en ; - dcterms:hasPart , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - dcterms:identifier "democat"^^xsd:token, - "pd:democat"^^prez:identifier ; - dcterms:modified "2022-08-29"^^xsd:date ; - dcterms:title "IDN Demonstration Catalogue" ; - prov:qualifiedAttribution [ dcat:hadRole , - , - ; - prov:agent ] ; - . - - rdfs:label "IDN Role Codes"@en ; - dcterms:identifier "vcb:idn-role-codes"^^prez:identifier ; - dcterms:provenance "Derived from the ISO 19115's CI Role Code vocabulary"@en ; - skos:definition "The Indigenous Data Network's vocabulary of the types of roles Agents - People and Organisations - play in relation to data."@en ; - skos:prefLabel "IDN Role Codes"@en . - - rdfs:label "ISO CI Role Code codes"@en ; - dcterms:identifier "dn-rl-cds:iso-roles"^^prez:identifier ; - dcterms:provenance "The list of Concepts from the original ISO CI Role Code vocabulary"@en ; - skos:definition "Codes from the original ISO CI Role Code codelist"@en ; - skos:prefLabel "ISO CI Role Code codes"@en . - -schema:name rdfs:label "name" . - - rdfs:label "author"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party who authored the resource" ; - skos:prefLabel "author"@en ; - . - - rdfs:label "custodian"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party that accepts accountability and responsibility for the resource and ensures appropriate care and maintenance of the resource" ; - skos:prefLabel "custodian"@en ; - . - - rdfs:label "owner"@en ; - dcterms:provenance "Presented in the original standard's codelist"@en ; - ns1:status ; - skos:definition "party that owns the resource" ; - skos:prefLabel "owner"@en ; - . - - - a dcat:Resource ; - dcterms:creator ; - dcterms:description """Needs to be integrated with KHRD. Negotiation required with State Library. - -Comprises Barwick's publications and conference papers; Barwick's PhD.; work with the Australian Institute of Aboriginal Studies and the Aboriginal History journal; work on major research projects; incoming and outgoing correspondence; reference material, and collected genealogies of Aboriginal Victorian families.""" ; - dcterms:issued "2007-01-10"^^xsd:date ; - dcterms:publisher ; - dcterms:title "The Diane Barwick Archive" ; -. - -dcat:Catalog rdfs:label "Catalog"@en . - - dcterms:creator ; - dcterms:description """This dataset has been developed by the Australian Government as an authoritative source of indigenous location names across Australia. It is sponsored by the Spatial Policy Branch within the Department of Communications and managed solely by the Department of Human Services. -The dataset is designed to support the accurate positioning, consistent reporting, and effective delivery of Australian Government programs and services to indigenous locations. -The dataset contains Preferred and Alternate names for indigenous locations where Australian Government programs and services have been, are being, or may be provided. The Preferred name will always default to a State or Territory jurisdiction's gazetted name so the term 'preferred' does not infer that this is the locally known name for the location. Similarly, locational details are aligned, where possible, with those published in State and Territory registers. -This dataset is NOT a complete listing of all locations at which indigenous people reside. Town and city names are not included in the dataset. The dataset contains names that represent indigenous communities, outstations, defined indigenous areas within a town or city or locations where services have been provided.""" ; - dcterms:issued "2013-12-02"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Australian Government Indigenous Programs & Policy Locations (AGIL) dataset" ; - . - - dcterms:creator ; - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:issued "2011-07-22"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Annual Aboriginal Census,1921-1944 - Australia" ; - . - - a dcat:Resource ; - dcterms:creator ; - dcterms:description """This study contains time series of data of the Annual Aboriginal Census for Australia, Australian Capital Territory, New South Wales, Northern Territory, Queensland, South Australia, Tasmania, Victoria and Western Australia from 1921 to 1944. - -Special care notice: -Aboriginal and Torres Strait Islander people, researchers and other users should be aware that material in this dataset may contain material that is considered offensive. The data has been retained in its original format because it represents an evidential record of language, beliefs or other cultural situations at a point in time.""" ; - dcterms:issued "2011-07-22"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Annual Aboriginal Census,1921-1944 - South Australia" ; - . - - dcterms:description "Existing database at ANU" ; - dcterms:publisher ; - dcterms:title "The Australian Dictionary of Biography" ; -. - - dcterms:description "A database of Agents - Organisations & People - with roles relating to indigenous data" ; - dcterms:publisher ; - dcterms:title "Indigenous Data Network's Agents DB" ; -. - - dcterms:description "An Indigenous geography and gazetteer, including a Loc-I framework for tribal, language and community data. Requires developmental work in collaboration with Universities, ABS, AIHW, Geoscience Australia, AURIN etc etc." ; - dcterms:publisher , - , - ; - dcterms:title "Indigenous Gazetteer" ; - . - - dcterms:creator ; - dcterms:description "The Australian National University is home to many research collections of national and international significance. Material from the ANU Archives, ANU Classics Museum, ANU Library, Asia Pacific Map Collection and the Noel Butlin Archives Centre are being progressivley digitised and made available through this repository." ; - dcterms:publisher ; - dcterms:title "ANU Archive and Library Collections - \"Indigenous\" Search" ; - . - - dcterms:description "A 2020 review of First Nations Identified physical collections held by the ANU. Not published." ; - dcterms:publisher ; - dcterms:title "2020 ANU First Nations Collections Review" ; - . - - dcterms:description "The University's Open Research digital repository ecompasses a number of research collections which the wider community is free to browse." ; - dcterms:title "ANU Open Research Collections" ; - . - - dcterms:creator ; - dcterms:description """The Australian National University, through its Open Research repository collects, maintains, preserves, promotes and disseminates its open access scholarly materials. - -Open Research holds a variety of scholarly publications including journal articles; books and book chapters; conference papers, posters and presentations; theses; creative works; photographs and much more in a number of collections and formats. The wider community is free to browse this material and all members of the ANU community (past and present) are encouraged to contribute their research.""" ; - dcterms:issued "2016-05-19"^^xsd:date ; - dcterms:publisher ; - dcterms:title "ANU Open Research Library - \"Indigenous\" Search (Thesis Library)" ; -. - - dcterms:description "Publications, Ethics, Grants" ; - dcterms:publisher ; - dcterms:title "ANU Research Information Enterprise System" ; - . - - dcterms:creator ; - dcterms:description """Needs to be made fully maintainable, sustainable interoperable and web-accessible - -ATNS provides an online portal for people seeking information on agreements with Indigenous peoples. We aim to promote knowledge and transparency by capturing the range and variety of agreement making occurring in Australia and other parts of the world. - -We gather and review information from publicly available academic sources, online materials and documents provided by the organisations and agencies involved in agreement-making processes. No confidential material is published. """ ; - dcterms:issued "1905-07-11"^^xsd:date ; - dcterms:publisher ; - dcterms:title "The Agreements, Treaties and Negotiated Settlements Database" ; - . - - dcterms:creator ; - dcterms:description """The Aboriginal and Torres Strait Islander Community Profiles (ACPs) are tabulations giving key census characteristics of Aboriginal and Torres Strait Islander persons, families and dwellings, covering most topics on the 1991 Census of Population and Housing form. This profile is presented at the Aboriginal Community level. -The ACP consists of 29 tables which crosstabulate characteristics including gender, age, place of birth, religion, marital status, education, income, occupation and employment status.""" ; - dcterms:issued "2005-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "1991 Census of Population and Housing: Aboriginal and Torres Strait Islander Community Profile: Aboriginal Community, ACT" ; - . - - dcterms:creator ; - dcterms:description """The Aboriginal and Torres Strait Islander Community Profiles (ACPs) are tabulations giving key census characteristics of Aboriginal and Torres Strait Islander persons, families and dwellings, covering most topics on the 1991 Census of Population and Housing form. This profile is presented at the ATSIC Region level. - -The ACP consists of 29 tables which crosstabulate characteristics including gender, age, place of birth, religion, marital status, education, income, occupation and employment status.""" ; - dcterms:issued "2007-03-16"^^xsd:date ; - dcterms:publisher ; - dcterms:title "1991 Census of Population and Housing: Aboriginal and Torres Strait Islander Community Profile: ATSIC Regions" ; -. - - dcterms:creator ; - dcterms:description """The Aboriginal and Torres Strait Islander Community Profiles (ACPs) are tabulations giving key census characteristics of Aboriginal and Torres Strait Islander persons, families and dwellings, covering most topics on the 1991 Census of Population and Housing form. This profile is presented at the ATSIC Zone level. -The ACP consists of 29 tables which crosstabulate characteristics including gender, age, place of birth, religion, marital status, education, income, occupation and employment status.""" ; - dcterms:issued "2005-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "1991 Census of Population and Housing: Aboriginal and Torres Strait Islander Community Profile: ATSIC Zones" ; -. - - dcterms:creator ; - dcterms:description "ATSIDA is a specialised trusted research data management facility, and thematic archive within the Australian Data Archive for Australian Aboriginal and Torres Strait Islander research data managed by the UTS Library. ATSIDA provides a transformational research platform working at the nexus of researchers, communities and other stakeholders in preserving and ensuring ethical access to research data related to Indigenous communities. ATSIDA works with universities, government and other organisations to increase Indigenous student and staff research capacity, support Indigenous researchers and those working with Indigenous research data. It engages with communities to manage appropriate access and return of digital materials.", - "The Aboriginal and Torres Strait Islander Data Archive at the Australian Data Archive and ANU Archives. This was specifically mentioned in the NCRIS Roadmap as an existing strength to be built on. It needs staff at the Data Archive to fully curate and digitise these collections and make them web-accessible." ; - dcterms:issued "2008-01-01"^^xsd:date ; - dcterms:publisher , - ; - dcterms:title "ABORIGINAL & TORRES STRAIT ISLANDER DATA ARCHIVE", - "The Aboriginal and Torres Strait Islander Data Archive at ADA, ANU" ; -. - - dcterms:description "This looks like a mirror of the ADA archive. Many links are broken." ; - dcterms:publisher ; - dcterms:title "The Aboriginal and Torres Strait Islander Data Archive at Jumbunna, UTS" ; -. - - dcterms:creator ; - dcterms:description """Austlang provides information about Indigenous Australian languages which has been assembled from referenced sources. -The dataset provided here includes the language names, each with a unique alpha-numeric code which functions as a stable identifier, alternative/variant names and spellings and the approximate location of each language variety.""" ; - dcterms:publisher ; - dcterms:title "Austlang database." ; -. - - dcterms:creator ; - dcterms:description """The Indigenous Protected Areas (IPA) programme has demonstrated successes across a broad range of outcome areas, effectively overcoming barriers to addressing Indigenous disadvantage and engaging Indigenous Australians in meaningful employment to achieve large scale conservation outcomes, thus aligning the interests of Indigenous Australians and the broader community. - -The Birriliburu & Matuwa Kurrara Kurrara (MKK) IPAs have provided an opportunity for Martu people to reconnect with and actively manage their traditional country. - -The two IPAs have proved a useful tool with which to leverage third party investment, through a joint management arrangement with the Western Australia (WA) Government, project specific funding from environmental NGOs and mutually beneficial partnerships with the private sector. - -Increased and diversified investment from a range of funding sources would meet the high demand for Ranger jobs and could deliver a more expansive programme of works, which would, in turn, increase the social, economic and cultural outcomes for Martu Rangers and Community Members.""" ; - dcterms:issued "0601-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "SRI Investment Analysis of the Birriliburu and Matuwa Kurrara Kurrara Indigenous Protected Areas (2016)" ; -. - - dcterms:description "Historical population data and biographical records" ; - dcterms:publisher ; - dcterms:title "Briscoe-Smith Archive" ; -. - - dcterms:creator ; - dcterms:description """The Composite Gazetteer of Australia is a cloud-based system allowing users to easily discover, interrogate and download place names information from Australia and its external territories. It is developed as a partnership between contributing agencies of the Intergovernmental Committee on Surveying and Mapping (ICSM) and is built on modern infrastructure providing automated ingestion and validation, producing a composite dataset from the individual jurisdictional gazetteers. - -The place names database is a collection of jurisdictional data that is combined to create the Composite Gazetteer of Australia. Place name information is managed at a local level by jurisdictions. The place name database and the Composite Gazetteer of Australia are maintained by ICSM.""" ; - dcterms:issued "2018-01-02"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Compound Gazetteer of Australia" ; -. - - dcterms:creator ; - dcterms:description "The Cultural Heritage Parties dataset is the spatial representation of state-wide Aboriginal and Torres Strait Islander Native Title Party boundaries within Queensland as described under the Aboriginal Cultural Heritage Act 2003 and the Torres Strait Islander Cultural Heritage Act 2003 (the Acts)." ; - dcterms:issued "2022-08-08"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Cultural Heritage Party boundaries - Queensland" ; -. - - dcterms:description "Productivity Commissions data dashboard arising from the National Agreement on Closing the Gap." ; - dcterms:issued "2022-03-31"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Closing the gap information repository" ; -. - - dcterms:creator ; - dcterms:description "Norman B. Tindale ; tribal boundaries drawn by Winifred Mumford on a base map produced by the Division of National Mapping, Department of National Development, Canberra, Australia." ; - dcterms:issued "1974-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Distribution of the Aboriginal Tribes of Australia (1940)" ; -. - - dcterms:description "UTS has taken over this data, but needs help to turn it into an ongoing public database" ; - dcterms:publisher , - ; - dcterms:title "Aboriginal Deaths and Injuries in Custody" ; -. - - dcterms:description "Barry Hansen and Yothu Yindi Foundation have done extensive work on where the money goes in the NT. Needs to be a national database." ; - dcterms:publisher ; - dcterms:title "Expenditure on Indigenous Advancement" ; -. - - dcterms:description "(Torrens University). An earlier application with Marcia for AIATSIS funding was never considered." ; - dcterms:publisher ; - dcterms:title "GDP and Genuine Progress Indicator" ; -. - - dcterms:creator ; - dcterms:description "The Snapshot is an ongoing research project that links enterprises on Indigenous business registries to data held by the Australian Bureau of Statistics. It will enable us to track the industries, revenue, employment outcome and growth of Indigenous businesses. This report provides an unprecedented snapshot of the Indigenous business sector to help dismantle the many stereotypes and myths that have led to lost opportunities for Indigenous business growth. There is mention of an I-BLADE dataset." ; - dcterms:issued "2021-05-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Business Sector Snapshot 1.1 Indigenous Businesses Sector Snapshot Study, Insights from I-BLADE 1.0" ; -. - - dcterms:creator ; - dcterms:description "Land that is owned or managed by Australia’s Indigenous communities, or over which Indigenous people have use and rights, was compiled from information supplied by Australian, state and territory governments and other statutory authorities with Indigenous land and sea management interests." ; - dcterms:issued "2019-04-03"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Land and Sea Interests " ; -. - - dcterms:creator ; - dcterms:description "Registered & Notified Indigenous Land Use Agreements – (as per s. 24BH(1)(a), s. 24CH and s. 24DI(1)(a)) across Australia, The Central Resource for Sharing and Enabling Environmental Data in NSW" ; - dcterms:issued "2013-12-05"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Land Use Agreement Boundaries with basic metadata and status" ; -. - - dcterms:description "Printed catalog highlighting ANU Indigenous Research activities at the time of publication" ; - dcterms:publisher ; - dcterms:title "Indigenous Research Compendium 2018" ; -. - - dcterms:description """Various projects from $10 million Indigenous Research Fund administered by AIATSIS. -A number of projects are described p13-15 here. -One might expect a number of these would give rise to relevant data collections and information on methods. -Each of these projects should be catalogued? Or not?""" ; - dcterms:publisher ; - dcterms:title "Indigenous Research Exchange/Knowledge Exchange Platform" ; -. - - dcterms:creator ; - dcterms:description """Sandra Silcot has identified the steps required to make this fully maintainable and sustainable. -Koori Health Research Database (Janet McCalman) traces BDM of 7,800 Aboriginals in Victoria & New South Wales Australia from 19th Century to the present. It is built from Yggdrasil, an existing open-source web database application designed for large population studies of family history https://rdxx.org/notes.sandra/khrd/slides/khrd-apa2012-talk.pdf.html""" ; - dcterms:publisher ; - dcterms:title "The Koori Health Research Database" ; -. - - dcterms:creator ; - dcterms:description """The Mayi Kuwayu Study looks at how Aboriginal and Torres Strait Islander wellbeing is linked to things like connection to country, cultural practices, spirituality and language use. -Our research team follows a large number of Aboriginal and Torres Strait Islander people and asks about their culture and wellbeing. As a longitudinal study, we are surveying people and then ask them to take the same survey every few years, so that we can understand what influences changes over time. -This is the first time a national study of this type has been done and will provide an evidence base to allow for the creation of better policies and programs. -This study has been created by and for Aboriginal and Torres Strait Islander people. It is an Aboriginal and Torres Strait Islander controlled research resource. -The Mayi Kuwayu team are experienced at working closely with communities across Australia, and the study has majority Aboriginal and Torres Strait Islander staffing and study governance (decision making) structure.""" ; - dcterms:issued "2018-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "The National Study of Aboriginal and Torres Strait Islander Wellbeing" ; -. - - dcterms:description "These are extensive paper records which Ian Anderson has proposed incorporating in a database. Negotiation is still needed." ; - dcterms:publisher ; - dcterms:title "Tasmanian Aboriginal genealogies" ; -. - - dcterms:creator ; - dcterms:description "The Historical Census and Colonial Data Archive (HCCDA) is an archive of Australian colonial census publications and reports covering the period from 1833 to 1901, the year of Australia's federation. The corpus includes 18,638 pages of text, and approximately 15000 tables, all with full digital images, text conversion and individually identified pages and tables. Please note that the archive contains colonial census reports, but not individual census returns." ; - dcterms:issued "1833-07-09"^^xsd:date ; - dcterms:publisher ; - dcterms:title "The Historical Census and Colonial Data Archive" ; -. - - dcterms:creator ; - dcterms:description "Noongar Boodjar Language Centre (NBLC) in Perth have partnered with the Atlas of Living Australia to link Noongar-Wudjari language and knowledge for plants and animals to western science knowledge to create the Noongar-Wudjari Plant and Animal online Encyclopedia. This project focused on the Noongar-Wudjari clan, from the South coast of WA, and worked specifically with Wudjari knowledge holders - Lynette Knapp and Gail Yorkshire to record, preserve and share their ancestral language and knowledge about plants and animals. Knowledge and language for 90 plants and animals were collected and are now ready for publication through the Atlas of Living Australia (ala.org.au)." ; - dcterms:publisher ; - dcterms:title "Noongar Boodjar Plants and Animals" ; -. - - dcterms:creator ; - dcterms:description """We are making a national resource for Indigenous health and heritage, which is based on our collection of biological samples, genome data and documents from Indigenous communities in many parts of Australia. You can find out more about NCIG and its collections at ncig.anu.edu.au. - -Information in these collections tells two kinds of stories. - -We are working with Indigenous communities to decide how to tell the stories of the people who are represented in the collection. We do not make personal information available, but the website lets you know what collections we have and how to contact us if you want to know more. - -There is also the story about how the collection was made and how it can be useful to researchers and other people. - -This website helps to tell this second story by making some records and documents from the collection openly available. There is information about the people who collected the samples and made the records, why they carried out their studies, the places they visited and some of the results of their studies.""" ; - dcterms:issued "2015-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "National Centre for Indigenous Genomics data" ; -. - - dcterms:creator ; - dcterms:description "NSW prison population data and quarterly custody reports" ; - dcterms:issued "2022-08-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "NSW Custody Statistics" ; -. - - dcterms:description "Existing database at the National Library" ; - dcterms:publisher ; - dcterms:title "People Australia" ; -. - - dcterms:description "Databases held by the NNTT" ; - dcterms:publisher ; - dcterms:title "Native Title Databases at the National Native Title Tribunal" ; -. - - dcterms:description "This comprises records of about 70,000 Indigenous and 30,000 non-Indigenous people surveyed in the 1970s and 1980s. Some paper records are held at AIATSIS. Microfilms of others are at UNSW Archives. There have been preliminary discussions with AIATSIS, the National Library and former members of the Hollows team about a program to digitise the records. IDN staff/resources would be needed." ; - dcterms:publisher , - ; - dcterms:title "The Fred Hollows Archive (National Trachoma and Eye Health Program)" ; -. - - dcterms:creator ; - dcterms:description """Conference powerpoint presentation - -Case study in exemplary IDG. -- Survey of native title prescribed bodies corporate (PBCs) -- Collect data on PBCs’ capacity, capabilities, needs and aspirations to better inform policies that affect PBCs -- Started data collection May 2019, to finish in 3rd quarter 2019""" ; - dcterms:issued "2019-07-03"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Prescribed bodies corporate (PBCs) Survey 2019" ; -. - - dcterms:publisher ; - dcterms:title "AG Productivity Commission - Report on Government Services: Indigenous Compendium reports 2005-2015" ; -. - - dcterms:description "This dataset is of police offences by Aboriginals in Western Australia" ; - dcterms:publisher ; - dcterms:title "Police Offenses WA (Erin Mathews)" ; -. - - dcterms:creator ; - dcterms:description """Aboriginal and Torres Strait Islander people are the Indigenous people of Australia. They are not one group, but comprise hundreds of groups that have their own distinct set of languages, histories and cultural traditions. - -AIHW reports and other products include information about Indigenous Australians, where data quality permits. Thus, information and statistics about Indigenous Australians can be found in most AIHW products. - -In December 2021, AIHW released the Regional Insights for Indigenous Communities (RIFIC). The aim of this website is to provide access to data at a regional level, to help communities set their priorities and participate in joint planning with government and service providers. - -AIHW products that focus specifically on Indigenous Australians are captured on this page.""" ; - dcterms:issued "1101-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Regional Insights for Indigenous Communities" ; -. - - dcterms:creator ; - dcterms:description """Data workbooks presenting the latest Social Health Atlases of Australia are available for the whole of Australia by Population Health Area, Local Government Area, and Primary Health Network, and by Indigenous Area for the Aboriginal & Torres Strait Islander population. Data are also available by Quintile of Socioeconomic Disadvantage of Area (current period and time series), and Remoteness Area (current period and time series), for both the whole population, and the Aboriginal & Torres Strait Islander population (current period only). - -These workbooks are derived from ABS Census data releases.""" ; - dcterms:issued "2022-06"^^xsd:gYearMonth ; - dcterms:publisher ; - dcterms:title "Social Health Atlases of Australia" ; -. - - dcterms:creator ; - dcterms:description "Summarises all available aerial survey data and metadata used to characterise the long-term distribution and abundance of magpie geese in the Northern Territory undertaken by different institutions and publically available in several journals (Appendix A). Summarised also are results from a PhD study (E. Ligtermoet) documenting the cultural harvesting values of magpie geese ascertained by interviews with Kakadu Traditional Owners (2011-2015)." ; - dcterms:issued "2016-12-15"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Supplementary Material used to characterise the spatial and temporal dynamics of magpie goose populations in the Kakadu Region NT and their cultural harvesting values" ; -. - - dcterms:creator ; - dcterms:description "The Minyumai Indigenous Protected Areas (IPA) has provided an opportunity for the Bandjalang clan to re-engage with culture and language through country. Through land and fire management work, Bandjalang traditional owners have seen the restoration of native plants and animals that were thought to have been lost. Their return serves as a powerful reminder of the resilience of the Bandjalang people and enables them to better understand themselves, their culture, and their place in the world. The IPA programme has demonstrated successes across a broad range of outcome areas, effectively overcoming barriers to addressing Indigenous disadvantage and engaging Indigenous Australians in meaningful employment to achieve large scale conservation outcomes, thus aligning the interests of Indigenous Australians and the broader community." ; - dcterms:issued "0601-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Social Return on Investment analysis of the Minyumai Indigenous Protected Area" ; -. - - dcterms:description "Access still to be negotiated with the Museum." ; - dcterms:publisher ; - dcterms:title "The Sandra Smith Archive" ; -. - - dcterms:description "Strong demand but controversial." ; - dcterms:publisher ; - dcterms:title "Tindale/Horton map" ; -. - - dcterms:description """TLCMap is a set of tools that work together for mapping Australian history and culture. - -Note that historical placenames in TLCmap is a HASS-I integration activity.""" ; - dcterms:publisher ; - dcterms:title "Time Layered Cultural Map of Australia" ; -. - - dcterms:creator ; - dcterms:description """The Victorian Perinatal Data Collection (VPDC) is a population-based surveillance system that collects for analysis comprehensive information on the health of mothers and babies, in order to contribute to improvements in their health. - -The VPDC contains information on obstetric conditions, procedures and outcomes, neonatal morbidity and congenital anomalies relating to every birth in Victoria. - -This data is reported annually to the AIHW as part of the National Perinatal Data Collection managed by the AIHW. The AIHW produces the annual report Australia’s mothers and babies, using the National Perinatal Data Collection and other data.""" ; - dcterms:issued "2022-01-07"^^xsd:date ; - dcterms:publisher ; - dcterms:title "The Victorian Perinatal database" ; -. - - dcterms:description """This was nominated by Sandra Eades. Investigation, documentation and negotiation needed. - -https://www.datalinkage-wa.org.au/dlb-services/derived-indigenous-status-flag/ ?""" ; - dcterms:title "Western Australia Linked Data" ; -. - - dcterms:creator ; - dcterms:description "In 2012, the remote Aboriginal community of Wilcannia in western NSW hosted the first Australian pilot of a Cuban mass adult literacy campaign model known as Yes I Can. The aim was to investigate the appropriateness of this model in Aboriginal Australia. Building on an intensive community development process of ‘socialisation and mobilisation’, sixteen community members with very low literacy graduated from the basic literacy course, with the majority continuing on into post-literacy activities, further training and/or employment." ; - dcterms:issued "2013-06-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Aboriginal adult literacy campaign - Wilcannia Pilot Project Final Evaluation Report" ; -. - - dcterms:creator ; - dcterms:description """The Yawuru Knowing Our Community (YKC) Household Survey was commissioned by the Nyamba Buru Yawuru Board of Directors in December 2010. This report and associated data base are the property of the NBY Board. The report was designed and produced by The Kimberley Institute, Centre for Aboriginal Economic Policy Research at The Australian National University, and the Broome Aboriginal community. -In September 2010, the NBY Board resolved to undertake a comprehensive population survey of Broome to inform the Board’s investment strategy, particularly on social housing.""" ; - dcterms:issued "2011-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Yawuru Knowing Our Community Household Survey" ; -. - - dcterms:creator ; - dcterms:description """Yumi Sabe is an Australian Kriol term that translates to 'we know', or, 'we have the knowledge'. - -Yumi Sabe is an Indigenous Knowledge Exchange that helps Indigenous communities, researchers and policy makers to access and use data to inform and improve policies and programs and demonstrate the complexity and diversity of Aboriginal and Torres Strait Islander peoples', research and culture. - -This is a beta product that is still being refined and developed. Please contact us if you have any issues or feedback.""" ; - dcterms:issued "2022-07-04"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Research Exchange Platform" ; -. - - dcterms:creator ; - dcterms:description "The Australia's Indigenous land and forest estate (2020) is a continental spatial dataset that identifies and reports separately the individual attributes of Australia's Indigenous estate, namely the extent of land and forest over which Indigenous peoples and communities have ownership, management and co-management, or other special rights." ; - dcterms:issued "0301-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Australia's Indigenous land and forest estate (2020)" ; -. - - rdfs:label "Agreements Treaties and Negotiated Settlements" . - - rdfs:label "ATSIDA" ; - schema:name "ATSIDA.1" . - - rdfs:label "Indigenous Studies Unit" . - - dcterms:creator ; - dcterms:description """Tandana is owned and managed by the National Aboriginal Cultural Institute Inc. It is Australia’s oldest Aboriginal-owned and managed multi-arts centre. -As Tandana is government funded it reports annually on the funding supplied and its distribution.""" ; - dcterms:issued "2018-01-10"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Tandanya Annual Reporting Regulatory Data" ; -. - - dcterms:creator ; - dcterms:description "Indigenous Areas (IAREs) are medium sized geographic areas built from whole Indigenous Locations. They are designed for the release and analysis of more detailed statistics for Aboriginal and Torres Strait Islander people. Whole Indigenous Areas aggregate to form Indigenous Regions."@en ; - dcterms:issued "2021-10-06"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Areas within the ASGS" ; -. - - dcterms:creator ; - dcterms:description """This is a reference geospatial dataset developed by the Australian Bureau of Statistics which provides the most granular form of Indigenous Structure represented in the Australian Statistical Geography Standard (ASGS), currently at Edition 3 (2021). Indigenous Locations (ILOCs) are designed to allow the production and analysis of statistics relating to Aboriginal and Torres Strait Islander people with a high level of spatial accuracy, while also maintaining the confidentiality of individuals. It has been designed in consultation with the ABS Centre for Aboriginal and Torres Strait Islander Statistics to incorporate statistical and community requirements wherever possible. - -ILOCs are geographic areas built from whole Statistical Areas Level 1 (SA1s). They are designed to represent small Aboriginal and Torres Strait Islander communities (urban and rural) that are near each other or that share language, traditional borders or Native Title. They usually have a minimum population of about 90 people. In some cases, Indigenous Locations have a smaller Aboriginal and Torres Strait Islander population to meet statistical requirements or to better represent the local community. - -Where a community is too small for confidentiality requirements, it is combined with another, related population. Remaining Statistical Areas Level 1 are combined into larger areas, which will include a more dispersed Aboriginal and Torres Strait Islander population. - -In some cases, Aboriginal and Torres Strait Islander communities that are too small to be identified separately have been combined with other nearby and associated communities. This has resulted in some multi-part Indigenous Locations where related communities are represented as a single Indigenous Location but are geographically separate. This enables the release of Census of Population and Housing data and other data for Aboriginal and Torres Strait Islander communities in a meaningful way, while balancing confidentiality and statistical requirements. - -There are 1,139 ILOCs covering the whole of Australia without gaps or overlaps. Whole ILOCs aggregate to form Indigenous Areas (IAREs). Whole Indigenous Areas aggregate to form Indigenous Regions (IREGs). - -Indigenous Locations are identified by eight-digit hierarchical codes consisting of a one-digit State or Territory identifier, followed by a two-digit Indigenous Region identifier, a three-digit Indigenous Area identifier and finally a two-digit Indigenous Location identifier. Within each Indigenous Area, Indigenous Location identifiers are unique. When change occurs, old codes are retired and the next available identifier is assigned. - -Shapefiles for Indigenous Locations and other components of the ABS's Indigenous Structure are available: https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3/jul2021-jun2026/access-and-downloads/digital-boundary-files - -This catalog entry refers to the latest ASGS release. For all releases refer to the ABS: https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3"""@en ; - dcterms:issued "2021-10-06"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Locations within the Australian Statistical Geography Standard (ASGS) Edition 3" ; -. - - dcterms:creator ; - dcterms:description "Indigenous Regions (IREGs) are large geographic areas built from whole Indigenous Areas and are based on historical boundaries. The larger population of Indigenous Regions enables highly detailed analysis."@en ; - dcterms:issued "2021-10-06"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Regions within the ASGS" ; -. - - schema:name "Services Australia" . - - rdfs:label "University of Melbourne" ; - schema:description "The University of Melbourne is a public research university located in Melbourne, Australia. Founded in 1853, it is Australia's second oldest university and the oldest in Victoria." ; - schema:name "The University of Melbourne" . - - schema:name "Marcia Langton" . - - dcterms:description """Aboriginal and Torres Strait Islander collections, including the Mountford-Sheard Collection INDIGENOUS COLLECTIONS -The State Library has a significant and developing amount of specialist material relating to Aboriginal and Torres Strait Islander people including the Mountford-Sheard Collection. -The papers of the Mountford-Sheard Collection which comprise an extensive collection of Charles P. Mountford's expedition journals, photographs, film, sound recordings, artworks, objects and research. The papers were compiled with the assistance and encouragement of friend and colleague Harold L Sheard. Mountford developed his appreciation of Australian Aboriginal people and their customs, beliefs and art over many years of expeditions, making it his life's work.""" ; - dcterms:title "Mountford-Sheard Collection" ; -. - - dcterms:creator ; - dcterms:description "The Deebing Creek mission was founded by the Aboriginal Protection Society of Ipswich. Work started on the establishment of an Aboriginal mission at Deebing Creek around 1887. The correspondence records of the Home Secretary’s Office, Chief Protector of Aboriginals and the Southern Protector of Aboriginals Offices are a valuable source of information relating to Deebing Creek." ; - dcterms:issued "2501-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Correspondence relating to Aboriginal and Torres Strait Islander people - Deebing Creek explanatory notes" ; -. - - dcterms:creator ; - dcterms:description """This dataset details the Dedicated Indigenous Protected Areas (IPA) across Australia through the implementation of the Indigenous Protected Areas Programme. These boundaries are not legally binding. -An Indigenous Protected Area (IPA) is an area of Indigenous-owned land or sea where traditional Indigenous owners have entered into an agreement with the Australian Government to promote biodiversity and cultural resource conservation- making up over over half of Australia's National Reserve System. - -Further information can be found at the website below. - -https://www.awe.gov.au/agriculture-land/land/indigenous-protected-areas""" ; - dcterms:issued "2201-01-01"^^xsd:date ; - dcterms:publisher ; - dcterms:title "Indigenous Protected Areas (IPA) - Dedicated" ; -. - - schema:name "Australian Government" . - - rdfs:label "Indigenous Data Network" ; - schema:description "The IDN is within the University of Melbourne. It was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities.", - "The Indigenous Data Network (IDN) was established in 2018 to support and coordinate the governance of Indigenous data for Aboriginal and Torres Strait Islander peoples and empower Aboriginal and Torres Strait Islander communities to decide their own local data priorities."@en ; - schema:name "Indigenous Data Network" . - - schema:name "Australian Bureau of Statistics" . - - rdfs:label "AIATSIS" . - - rdfs:label "Australian National University" ; - schema:description "ANU is a world-leading university in Australia’s capital. Excellence is embedded in our approach to research and education." ; - schema:name "Australian National University" . - diff --git a/tests/data/object/expected_responses/fc.ttl b/tests/data/object/expected_responses/fc.ttl deleted file mode 100644 index 059b7f64..00000000 --- a/tests/data/object/expected_responses/fc.ttl +++ /dev/null @@ -1,58 +0,0 @@ -@prefix dcterms: . -@prefix geo: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - dcterms:identifier "cgi:contacttype"^^prez:identifier ; - dcterms:provenance "this vocabulary" ; - skos:definition "All Concepts in this vocabulary" ; - skos:prefLabel "Contact Type - All Concepts"@en . - - dcterms:identifier "2016.01:contacttype"^^prez:identifier ; - dcterms:provenance "Original set of terms from the GeosciML standard" ; - skos:definition "This scheme describes the concept space for Contact Type concepts, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme. Designed for use in the contactType property in GeoSciML Contact elements."@en ; - skos:prefLabel "Contact Type"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -rdfs:member rdfs:label "member" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - dcterms:identifier "preztest:dataset"^^prez:identifier . - - a geo:FeatureCollection ; - dcterms:identifier "preztest:feature-collection"^^prez:identifier ; - rdfs:member ; - prez:link "/s/datasets/preztest:dataset/collections/preztest:feature-collection" . - - dcterms:identifier "cntcttyp:alteration_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - skos:prefLabel "alteration facies contact"@en ; - prez:link "/s/datasets/preztest:dataset/collections/preztest:feature-collection/items/cntcttyp:alteration_facies_contact", - "/v/collection/cgi:contacttype/cntcttyp:alteration_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:alteration_facies_contact" . - -geo:FeatureCollection skos:definition "A collection of individual Features."@en ; - skos:prefLabel "Feature Collection"@en . - diff --git a/tests/data/object/expected_responses/feature.ttl b/tests/data/object/expected_responses/feature.ttl deleted file mode 100644 index fc02e124..00000000 --- a/tests/data/object/expected_responses/feature.ttl +++ /dev/null @@ -1,59 +0,0 @@ -@prefix dcterms: . -@prefix geo: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -dcterms:type rdfs:label "Type"@en ; - dcterms:description "Recommended practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [[DCMI-TYPE](http://dublincore.org/documents/dcmi-type-vocabulary/)]. To describe the file format, physical medium, or dimensions of the resource, use the property Format."@en . - -geo:asWKT skos:definition "The WKT serialization of a Geometry"@en ; - skos:prefLabel "as WKT"@en . - -geo:hasGeometry skos:definition "A spatial representation for a given Feature."@en ; - skos:prefLabel "has geometry"@en . - -geo:hasMetricArea skos:definition "The area of a Spatial Object in square meters."@en ; - skos:prefLabel "has area in square meters"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - dcterms:description "The Australian national dataset of important hydrological features such as rivers, water bodies, aquifers and monitoring points"@en ; - dcterms:identifier "ldgovau:geofabric"^^prez:identifier ; - dcterms:title "Australian Hydrological Geospatial Fabric"@en . - - dcterms:description "Contracted Catchments hydrological catchments designed to build stable reporting regions"@en ; - dcterms:identifier "geofab:catchments"^^prez:identifier ; - dcterms:title "Contracted Catchments"@en . - - a geo:Feature, - ; - dcterms:identifier "102208962"^^xsd:token, - "hydrd:102208962"^^prez:identifier ; - dcterms:title "Contracted Catchment 102208962" ; - dcterms:type ; - geo:hasGeometry [ geo:asWKT "MULTIPOLYGON (((122.23180562900006 -17.564583177999964, 122.23208340700012 -17.564583177999964, 122.23208340700012 -17.56486095599996, 122.23180562900006 -17.56486095599996, 122.23180562900006 -17.564583177999964)), ((122.23180562900006 -17.564583177999964, 122.23152785200011 -17.564583177999964, 122.23152785200011 -17.564305399999967, 122.23180562900006 -17.564305399999967, 122.23180562900006 -17.564583177999964)), ((122.23152785200011 -17.564305399999967, 122.23125007400006 -17.564305399999967, 122.23125007400006 -17.56402762199997, 122.23152785200011 -17.56402762199997, 122.23152785200011 -17.564305399999967)), ((122.23125007400006 -17.56402762199997, 122.22902785200006 -17.56402762199997, 122.22902785200006 -17.564305399999967, 122.22875007400012 -17.564305399999967, 122.22875007400012 -17.564583177999964, 122.22847229600006 -17.564583177999964, 122.22847229600006 -17.56486095599996, 122.22819451800001 -17.56486095599996, 122.22819451800001 -17.56513873299997, 122.22791674000007 -17.56513873299997, 122.22791674000007 -17.565416510999967, 122.22763896300012 -17.565416510999967, 122.22763896300012 -17.565694288999964, 122.22736118500006 -17.565694288999964, 122.22736118500006 -17.56597206699996, 122.22708340700001 -17.56597206699996, 122.22708340700001 -17.56624984499996, 122.22680562900007 -17.56624984499996, 122.22680562900007 -17.566527621999967, 122.22291674000007 -17.566527621999967, 122.22291674000007 -17.566805399999964, 122.22263896300001 -17.566805399999964, 122.22263896300001 -17.56708317799996, 122.22236118500007 -17.56708317799996, 122.22236118500007 -17.56736095599996, 122.22208340700001 -17.56736095599996, 122.22208340700001 -17.567638732999967, 122.22180562900007 -17.567638732999967, 122.22180562900007 -17.567916510999964, 122.22152785200001 -17.567916510999964, 122.22152785200001 -17.568194288999962, 122.22125007400007 -17.568194288999962, 122.22125007400007 -17.56847206699996, 122.22097229600001 -17.56847206699996, 122.22097229600001 -17.568749844999957, 122.22069451800007 -17.568749844999957, 122.22069451800007 -17.569027621999965, 122.22041674000002 -17.569027621999965, 122.22041674000002 -17.569305399999962, 122.22013896300007 -17.569305399999962, 122.22013896300007 -17.56958317799996, 122.21986118500001 -17.56958317799996, 122.21986118500001 -17.569860955999957, 122.21958340700007 -17.569860955999957, 122.21958340700007 -17.570138732999965, 122.21930562900002 -17.570138732999965, 122.21930562900002 -17.570416510999962, 122.21902785200007 -17.570416510999962, 122.21902785200007 -17.57069428899996, 122.21875007400001 -17.57069428899996, 122.21875007400001 -17.570972066999957, 122.21208340700002 -17.570972066999957, 122.21208340700002 -17.571249844999954, 122.21180562900008 -17.571249844999954, 122.21180562900008 -17.571527621999962, 122.21152785100003 -17.571527621999962, 122.21152785100003 -17.57180539999996, 122.21125007400008 -17.57180539999996, 122.21125007400008 -17.572083177999957, 122.21097229600002 -17.572083177999957, 122.21097229600002 -17.572360955999955, 122.21069451800008 -17.572360955999955, 122.21069451800008 -17.572638732999962, 122.21041674000003 -17.572638732999962, 122.21041674000003 -17.57291651099996, 122.21013896300008 -17.57291651099996, 122.21013896300008 -17.573194288999957, 122.20986118500002 -17.573194288999957, 122.20986118500002 -17.573472066999955, 122.20958340700008 -17.573472066999955, 122.20958340700008 -17.573749844999952, 122.20930562900003 -17.573749844999952, 122.20930562900003 -17.57402762199996, 122.20902785100009 -17.57402762199996, 122.20902785100009 -17.574305399999957, 122.20875007400002 -17.574305399999957, 122.20875007400002 -17.574583177999955, 122.20847229600008 -17.574583177999955, 122.20847229600008 -17.574860955999952, 122.20819451800003 -17.574860955999952, 122.20819451800003 -17.57513873299996, 122.20791674000009 -17.57513873299996, 122.20791674000009 -17.575416510999958, 122.20763896300002 -17.575416510999958, 122.20763896300002 -17.575694288999955, 122.20736118500008 -17.575694288999955, 122.20736118500008 -17.575972066999952, 122.20708340700003 -17.575972066999952, 122.20708340700003 -17.57624984499995, 122.20680562900009 -17.57624984499995, 122.20680562900009 -17.576527621999958, 122.20652785100003 -17.576527621999958, 122.20652785100003 -17.576805399999955, 122.20625007400008 -17.576805399999955, 122.20625007400008 -17.577083177999953, 122.20597229600003 -17.577083177999953, 122.20597229600003 -17.57736095599995, 122.20569451800009 -17.57736095599995, 122.20569451800009 -17.577638733999947, 122.20541674000003 -17.577638733999947, 122.20541674000003 -17.577916510999955, 122.20513896300008 -17.577916510999955, 122.20513896300008 -17.578194288999953, 122.20486118500003 -17.578194288999953, 122.20486118500003 -17.57847206699995, 122.20430562900003 -17.57847206699995, 122.20430562900003 -17.578749844999948, 122.20402785100009 -17.578749844999948, 122.20402785100009 -17.579027621999955, 122.20375007400003 -17.579027621999955, 122.20375007400003 -17.579305399999953, 122.20347229600009 -17.579305399999953, 122.20347229600009 -17.57958317799995, 122.2001389620001 -17.57958317799995, 122.2001389620001 -17.579860955999948, 122.19986118500003 -17.579860955999948, 122.19986118500003 -17.580138733999945, 122.19958340700009 -17.580138733999945, 122.19958340700009 -17.580416510999953, 122.19930562900004 -17.580416510999953, 122.19930562900004 -17.58069428899995, 122.1990278510001 -17.58069428899995, 122.1990278510001 -17.580972066999948, 122.19875007400003 -17.580972066999948, 122.19875007400003 -17.581249844999945, 122.19847229600009 -17.581249844999945, 122.19847229600009 -17.581527621999953, 122.19819451800004 -17.581527621999953, 122.19819451800004 -17.58180539999995, 122.1979167400001 -17.58180539999995, 122.1979167400001 -17.582083177999948, 122.19763896200004 -17.582083177999948, 122.19763896200004 -17.582360955999945, 122.19736118500009 -17.582360955999945, 122.19736118500009 -17.582638733999943, 122.19708340700004 -17.582638733999943, 122.19708340700004 -17.58291651099995, 122.19652785100004 -17.58291651099995, 122.19652785100004 -17.583194288999948, 122.19597229600004 -17.583194288999948, 122.19597229600004 -17.583472066999946, 122.19152785100005 -17.583472066999946, 122.19152785100005 -17.583749844999943, 122.1912500740001 -17.583749844999943, 122.1912500740001 -17.58402762199995, 122.19097229600004 -17.58402762199995, 122.19097229600004 -17.58430539999995, 122.1906945180001 -17.58430539999995, 122.1906945180001 -17.584583177999946, 122.19041674000005 -17.584583177999946, 122.19041674000005 -17.584860955999943, 122.18986118500004 -17.584860955999943, 122.18986118500004 -17.58513873399994, 122.1868056290001 -17.58513873399994, 122.1868056290001 -17.584860955999943, 122.18597229600005 -17.584860955999943, 122.18597229600005 -17.584583177999946, 122.18541674000005 -17.584583177999946, 122.18541674000005 -17.58430539999995, 122.18513896200011 -17.58430539999995, 122.18513896200011 -17.584583177999946, 122.18541674000005 -17.584583177999946, 122.18541674000005 -17.584860955999943, 122.1856945180001 -17.584860955999943, 122.1856945180001 -17.58986095599994, 122.18541674000005 -17.58986095599994, 122.18541674000005 -17.59097206699994, 122.18513896200011 -17.59097206699994, 122.18513896200011 -17.591249844999936, 122.18513896200011 -17.591527622999934, 122.18541674000005 -17.591527622999934, 122.1856945180001 -17.591527622999934, 122.1856945180001 -17.59180539999994, 122.18597229600005 -17.59180539999994, 122.18597229600005 -17.59208317799994, 122.18625007300011 -17.59208317799994, 122.18625007300011 -17.592360955999936, 122.18652785100005 -17.592360955999936, 122.18652785100005 -17.592638733999934, 122.1868056290001 -17.592638733999934, 122.1868056290001 -17.59291651099994, 122.18708340700005 -17.59291651099994, 122.18708340700005 -17.59430539999994, 122.18708340700005 -17.594583177999937, 122.18708340700005 -17.594860955999934, 122.1868056290001 -17.594860955999934, 122.1868056290001 -17.59513873399993, 122.1868056290001 -17.59541651099994, 122.1868056290001 -17.595694288999937, 122.1868056290001 -17.595972066999934, 122.1868056290001 -17.59624984499993, 122.18652785100005 -17.59624984499993, 122.18652785100005 -17.59652762299993, 122.18652785100005 -17.596805399999937, 122.18652785100005 -17.597083177999934, 122.18625007300011 -17.597083177999934, 122.18625007300011 -17.59736095599993, 122.18597229600005 -17.59736095599993, 122.18597229600005 -17.59763873399993, 122.18597229600005 -17.597916510999937, 122.1856945180001 -17.597916510999937, 122.1856945180001 -17.598194288999935, 122.18541674000005 -17.598194288999935, 122.18541674000005 -17.598472066999932, 122.18541674000005 -17.59874984499993, 122.18541674000005 -17.599027622999927, 122.18513896200011 -17.599027622999927, 122.18513896200011 -17.599305399999935, 122.18513896200011 -17.599583177999932, 122.18513896200011 -17.59986095599993, 122.18486118500005 -17.59986095599993, 122.18486118500005 -17.600138733999927, 122.18486118500005 -17.600416510999935, 122.18486118500005 -17.600694288999932, 122.18486118500005 -17.60097206699993, 122.1845834070001 -17.60097206699993, 122.1845834070001 -17.601249844999927, 122.18430562900005 -17.601249844999927, 122.18430562900005 -17.60152762299998, 122.18402785100011 -17.60152762299998, 122.18402785100011 -17.601805399999932, 122.18375007300006 -17.601805399999932, 122.18375007300006 -17.60208317799993, 122.1834722960001 -17.60208317799993, 122.1834722960001 -17.602360955999927, 122.18319451800005 -17.602360955999927, 122.18319451800005 -17.60263873399998, 122.18291674000011 -17.60263873399998, 122.18291674000011 -17.602916510999933, 122.18263896200006 -17.602916510999933, 122.18263896200006 -17.60319428899993, 122.1823611850001 -17.60319428899993, 122.1823611850001 -17.603472066999927, 122.18208340700005 -17.603472066999927, 122.18208340700005 -17.60374984499998, 122.18180562900011 -17.60374984499998, 122.18180562900011 -17.60402762299998, 122.18152785100006 -17.60402762299998, 122.18152785100006 -17.60430539999993, 122.18125007300011 -17.60430539999993, 122.18125007300011 -17.604583177999928, 122.18097229600005 -17.604583177999928, 122.18097229600005 -17.604860955999982, 122.18069451800011 -17.604860955999982, 122.18069451800011 -17.60513873399998, 122.18041674000006 -17.60513873399998, 122.18041674000006 -17.605416511999977, 122.18013896200011 -17.605416511999977, 122.18013896200011 -17.605694288999928, 122.17986118500005 -17.605694288999928, 122.17986118500005 -17.605972066999982, 122.17958340700011 -17.605972066999982, 122.17958340700011 -17.60624984499998, 122.17930562900005 -17.60624984499998, 122.17930562900005 -17.606527622999977, 122.17902785100011 -17.606527622999977, 122.17902785100011 -17.606805399999928, 122.17875007300006 -17.606805399999928, 122.17875007300006 -17.607083177999982, 122.17847229600011 -17.607083177999982, 122.17847229600011 -17.60736095599998, 122.17819451800005 -17.60736095599998, 122.17819451800005 -17.607638733999977, 122.17791674000011 -17.607638733999977, 122.17791674000011 -17.607916511999974, 122.17763896200006 -17.607916511999974, 122.17763896200006 -17.608194288999982, 122.17736118500011 -17.608194288999982, 122.17736118500011 -17.60847206699998, 122.17708340700005 -17.60847206699998, 122.17708340700005 -17.608749844999977, 122.17680562900011 -17.608749844999977, 122.17680562900011 -17.609027622999974, 122.17652785100006 -17.609027622999974, 122.17652785100006 -17.608749844999977, 122.17652785100006 -17.60847206699998, 122.176250073 -17.60847206699998, 122.176250073 -17.608194288999982, 122.176250073 -17.607916511999974, 122.176250073 -17.607638733999977, 122.17597229600005 -17.607638733999977, 122.17597229600005 -17.60736095599998, 122.17597229600005 -17.607083177999982, 122.17597229600005 -17.606805399999928, 122.17569451800011 -17.606805399999928, 122.17569451800011 -17.606527622999977, 122.17569451800011 -17.60624984499998, 122.17569451800011 -17.605972066999982, 122.17569451800011 -17.605694288999928, 122.175138962 -17.605694288999928, 122.175138962 -17.605416511999977, 122.17486118500005 -17.605416511999977, 122.17486118500005 -17.604860955999982, 122.17458340700011 -17.604860955999982, 122.17458340700011 -17.604583177999928, 122.17458340700011 -17.60430539999993, 122.17430562900006 -17.60430539999993, 122.17430562900006 -17.60402762299998, 122.17430562900006 -17.60374984499998, 122.17402785100012 -17.60374984499998, 122.17402785100012 -17.603472066999927, 122.17402785100012 -17.60319428899993, 122.17402785100012 -17.60208317799993, 122.17375007300006 -17.60208317799993, 122.17375007300006 -17.601805399999932, 122.17375007300006 -17.60152762299998, 122.17375007300006 -17.601249844999927, 122.17347229600011 -17.601249844999927, 122.17347229600011 -17.60097206699993, 122.17347229600011 -17.600694288999932, 122.17319451800006 -17.600694288999932, 122.17319451800006 -17.600416510999935, 122.17291674000012 -17.600416510999935, 122.17291674000012 -17.600138733999927, 122.17263896200006 -17.600138733999927, 122.17263896200006 -17.59986095599993, 122.17263896200006 -17.599583177999932, 122.17236118400001 -17.599583177999932, 122.17236118400001 -17.599305399999935, 122.17208340700006 -17.599305399999935, 122.17208340700006 -17.599027622999927, 122.17180562900012 -17.599027622999927, 122.17180562900012 -17.59874984499993, 122.17152785100006 -17.59874984499993, 122.17152785100006 -17.598472066999932, 122.17152785100006 -17.598194288999935, 122.17152785100006 -17.597916510999937, 122.17152785100006 -17.59763873399993, 122.17125007300001 -17.59763873399993, 122.17125007300001 -17.59736095599993, 122.17125007300001 -17.597083177999934, 122.17097229600006 -17.597083177999934, 122.17097229600006 -17.59652762299993, 122.17069451800012 -17.59652762299993, 122.17069451800012 -17.59624984499993, 122.17041674000006 -17.59624984499993, 122.17041674000006 -17.595972066999934, 122.17013896200001 -17.595972066999934, 122.17013896200001 -17.595694288999937, 122.16958340700012 -17.595694288999937, 122.16958340700012 -17.59541651099994, 122.16930562900006 -17.59541651099994, 122.16930562900006 -17.59513873399993, 122.16902785100001 -17.59513873399993, 122.16902785100001 -17.594860955999934, 122.16902785100001 -17.594583177999937, 122.16902785100001 -17.59430539999994, 122.16875007300007 -17.59430539999994, 122.16875007300007 -17.59402762299993, 122.16847229600012 -17.59402762299993, 122.16847229600012 -17.593749844999934, 122.16819451800006 -17.593749844999934, 122.16819451800006 -17.593472066999936, 122.16819451800006 -17.59319428899994, 122.16791674000001 -17.59319428899994, 122.16791674000001 -17.59291651099994, 122.16791674000001 -17.592638733999934, 122.16791674000001 -17.592360955999936, 122.16791674000001 -17.59208317799994, 122.16819451800006 -17.59208317799994, 122.16819451800006 -17.59180539999994, 122.16847229600012 -17.59180539999994, 122.16847229600012 -17.591527622999934, 122.16819451800006 -17.591527622999934, 122.16819451800006 -17.591249844999936, 122.16791674000001 -17.591249844999936, 122.16791674000001 -17.59097206699994, 122.16763896200007 -17.59097206699994, 122.16763896200007 -17.59069428899994, 122.16763896200007 -17.590416510999944, 122.16736118400001 -17.590416510999944, 122.16736118400001 -17.590138733999936, 122.16708340700006 -17.590138733999936, 122.16680562900001 -17.590138733999936, 122.16680562900001 -17.58986095599994, 122.16652785100007 -17.58986095599994, 122.16652785100007 -17.58958317799994, 122.16652785100007 -17.589305399999944, 122.16652785100007 -17.589027621999946, 122.16652785100007 -17.58874984499994, 122.16625007300001 -17.58874984499994, 122.16625007300001 -17.589027621999946, 122.16597229600006 -17.589027621999946, 122.16569451800001 -17.589027621999946, 122.16541674000007 -17.589027621999946, 122.16513896200001 -17.589027621999946, 122.16513896200001 -17.58874984499994, 122.16486118400007 -17.58874984499994, 122.16486118400007 -17.58847206699994, 122.16458340700001 -17.58847206699994, 122.16430562900007 -17.58847206699994, 122.16430562900007 -17.588194288999944, 122.16430562900007 -17.587916510999946, 122.16402785100001 -17.587916510999946, 122.16402785100001 -17.58763873399994, 122.16430562900007 -17.58763873399994, 122.16430562900007 -17.58736095599994, 122.16430562900007 -17.587083177999943, 122.16430562900007 -17.586805399999946, 122.16402785100001 -17.586805399999946, 122.16402785100001 -17.58652762199995, 122.16375007300007 -17.58652762199995, 122.16375007300007 -17.58624984499994, 122.16347229600001 -17.58624984499994, 122.16347229600001 -17.585972066999943, 122.16347229600001 -17.585694288999946, 122.16319451800007 -17.585694288999946, 122.16319451800007 -17.58541651099995, 122.16291674000001 -17.58541651099995, 122.16291674000001 -17.58513873399994, 122.16263896200007 -17.58513873399994, 122.16263896200007 -17.584860955999943, 122.16263896200007 -17.584583177999946, 122.16263896200007 -17.58430539999995, 122.16236118400002 -17.58430539999995, 122.16208340700007 -17.58430539999995, 122.16208340700007 -17.58402762199995, 122.16180562900001 -17.58402762199995, 122.16152785100007 -17.58402762199995, 122.16152785100007 -17.583749844999943, 122.16125007300002 -17.583749844999943, 122.16097229600007 -17.583749844999943, 122.16069451800001 -17.583749844999943, 122.16069451800001 -17.583472066999946, 122.16041674000007 -17.583472066999946, 122.16013896200002 -17.583472066999946, 122.16013896200002 -17.583194288999948, 122.15986118400008 -17.583194288999948, 122.15986118400008 -17.58291651099995, 122.15902785100002 -17.58291651099995, 122.15902785100002 -17.582638733999943, 122.15875007300008 -17.582638733999943, 122.15875007300008 -17.582360955999945, 122.15847229500002 -17.582360955999945, 122.15847229500002 -17.582638733999943, 122.15791674000002 -17.582638733999943, 122.15763896200008 -17.582638733999943, 122.15763896200008 -17.58291651099995, 122.15736118400002 -17.58291651099995, 122.15708340700007 -17.58291651099995, 122.15708340700007 -17.582638733999943, 122.15680562900002 -17.582638733999943, 122.15680562900002 -17.582360955999945, 122.15652785100008 -17.582360955999945, 122.15652785100008 -17.582083177999948, 122.15652785100008 -17.58180539999995, 122.15625007300002 -17.58180539999995, 122.15625007300002 -17.581249844999945, 122.15597229500008 -17.581249844999945, 122.15597229500008 -17.580972066999948, 122.15541674000008 -17.580972066999948, 122.15541674000008 -17.58069428899995, 122.15513896200002 -17.58069428899995, 122.15458340700002 -17.58069428899995, 122.15458340700002 -17.580416510999953, 122.15430562900008 -17.580416510999953, 122.15347229500003 -17.580416510999953, 122.15347229500003 -17.580138733999945, 122.15291674000002 -17.580138733999945, 122.15291674000002 -17.579860955999948, 122.15263896200008 -17.579860955999948, 122.15263896200008 -17.57958317799995, 122.15236118400003 -17.57958317799995, 122.15236118400003 -17.579305399999953, 122.15208340700008 -17.579305399999953, 122.15208340700008 -17.578749844999948, 122.15180562900002 -17.578749844999948, 122.15180562900002 -17.57847206699995, 122.15152785100008 -17.57847206699995, 122.15152785100008 -17.577916510999955, 122.15125007300003 -17.577916510999955, 122.15125007300003 -17.57513873299996, 122.15125007300003 -17.574860955999952, 122.15125007300003 -17.574583177999955, 122.15125007300003 -17.574305399999957, 122.15125007300003 -17.57180539999996, 122.15097229500009 -17.57180539999996, 122.15097229500009 -17.57069428899996, 122.15069451800002 -17.57069428899996, 122.15069451800002 -17.56958317799996, 122.15041674000008 -17.56958317799996, 122.15041674000008 -17.569305399999962, 122.15041674000008 -17.568749844999957, 122.15013896200003 -17.568749844999957, 122.15013896200003 -17.567916510999964, 122.14986118400009 -17.567916510999964, 122.14986118400009 -17.56736095599996, 122.14958340700002 -17.56736095599996, 122.14958340700002 -17.566805399999964, 122.14930562900008 -17.566805399999964, 122.14930562900008 -17.566527621999967, 122.14902785100003 -17.566527621999967, 122.14902785100003 -17.56597206699996, 122.14875007300009 -17.56597206699996, 122.14875007300009 -17.565694288999964, 122.14847229500003 -17.565694288999964, 122.14847229500003 -17.56513873299997, 122.14819451800008 -17.56513873299997, 122.14819451800008 -17.56486095599996, 122.14763896200009 -17.56486095599996, 122.14763896200009 -17.564583177999964, 122.14736118400003 -17.564583177999964, 122.14736118400003 -17.564305399999967, 122.14708340700008 -17.564305399999967, 122.14708340700008 -17.56402762199997, 122.14680562900003 -17.56402762199997, 122.14680562900003 -17.56374984499996, 122.14652785100009 -17.56374984499996, 122.14652785100009 -17.563472066999964, 122.14625007300003 -17.563472066999964, 122.14625007300003 -17.563194288999966, 122.14625007300003 -17.56291651099997, 122.14625007300003 -17.56263873299997, 122.14625007300003 -17.562360955999964, 122.14597229500009 -17.562360955999964, 122.14597229500009 -17.56180539999997, 122.14569451800003 -17.56180539999997, 122.14569451800003 -17.559860955999966, 122.14597229500009 -17.559860955999966, 122.14597229500009 -17.55958317799997, 122.14597229500009 -17.559027621999974, 122.14597229500009 -17.558749843999976, 122.14625007300003 -17.558749843999976, 122.14625007300003 -17.55847206699997, 122.14625007300003 -17.55819428899997, 122.14652785100009 -17.55819428899997, 122.14652785100009 -17.557916510999974, 122.14680562900003 -17.557916510999974, 122.14680562900003 -17.556805399999973, 122.14708340700008 -17.556805399999973, 122.14708340700008 -17.550972066999975, 122.15013896200003 -17.550972066999975, 122.15013896200003 -17.551249843999926, 122.15041674000008 -17.551249843999926, 122.15041674000008 -17.550694288999978, 122.15069451800002 -17.550694288999978, 122.15069451800002 -17.549583177999978, 122.15097229500009 -17.549583177999978, 122.15097229500009 -17.54874984399993, 122.15125007300003 -17.54874984399993, 122.15125007300003 -17.547916510999983, 122.15152785100008 -17.547916510999983, 122.15152785100008 -17.545416510999928, 122.15125007300003 -17.545416510999928, 122.15125007300003 -17.54402762199993, 122.15097229500009 -17.54402762199993, 122.15097229500009 -17.539027621999935, 122.15541674000008 -17.539027621999935, 122.15541674000008 -17.538749843999938, 122.15736118400002 -17.538749843999938, 122.15736118400002 -17.53847206699993, 122.16486118400007 -17.53847206699993, 122.16486118400007 -17.538749843999938, 122.16513896200001 -17.538749843999938, 122.16513896200001 -17.539027621999935, 122.16569451800001 -17.539027621999935, 122.16569451800001 -17.539305399999932, 122.16597229600006 -17.539305399999932, 122.16597229600006 -17.53958317799993, 122.16680562900001 -17.53958317799993, 122.16680562900001 -17.539860954999938, 122.175138962 -17.539860954999938, 122.175138962 -17.53958317799993, 122.17597229600005 -17.53958317799993, 122.17597229600005 -17.539305399999932, 122.17652785100006 -17.539305399999932, 122.17652785100006 -17.539027621999935, 122.17708340700005 -17.539027621999935, 122.17708340700005 -17.538749843999938, 122.17986118500005 -17.538749843999938, 122.17986118500005 -17.539027621999935, 122.18013896200011 -17.539027621999935, 122.18013896200011 -17.539305399999932, 122.18041674000006 -17.539305399999932, 122.18041674000006 -17.53958317799993, 122.18097229600005 -17.53958317799993, 122.18097229600005 -17.539860954999938, 122.18125007300011 -17.539860954999938, 122.18125007300011 -17.540138732999935, 122.18180562900011 -17.540138732999935, 122.18180562900011 -17.540416510999933, 122.1823611850001 -17.540416510999933, 122.1823611850001 -17.54069428899993, 122.18291674000011 -17.54069428899993, 122.18291674000011 -17.540972066999927, 122.1834722960001 -17.540972066999927, 122.1834722960001 -17.541249843999935, 122.18402785100011 -17.541249843999935, 122.18402785100011 -17.541527621999933, 122.18430562900005 -17.541527621999933, 122.18430562900005 -17.54180539999993, 122.1845834070001 -17.54180539999993, 122.1845834070001 -17.542360954999936, 122.18486118500005 -17.542360954999936, 122.18486118500005 -17.542638732999933, 122.18513896200011 -17.542638732999933, 122.18513896200011 -17.54291651099993, 122.18541674000005 -17.54291651099993, 122.18541674000005 -17.543472066999982, 122.1856945180001 -17.543472066999982, 122.1856945180001 -17.543749843999933, 122.18597229600005 -17.543749843999933, 122.18597229600005 -17.54402762199993, 122.18625007300011 -17.54402762199993, 122.18625007300011 -17.544305399999928, 122.18652785100005 -17.544305399999928, 122.18652785100005 -17.544583177999982, 122.18708340700005 -17.544583177999982, 122.18708340700005 -17.544860954999933, 122.1879167400001 -17.544860954999933, 122.1879167400001 -17.54513873299993, 122.1884722960001 -17.54513873299993, 122.1884722960001 -17.545416510999928, 122.1890278510001 -17.545416510999928, 122.1890278510001 -17.545694288999982, 122.18986118500004 -17.545694288999982, 122.18986118500004 -17.54597206699998, 122.19986118500003 -17.54597206699998, 122.19986118500003 -17.54624984399993, 122.20041674000004 -17.54624984399993, 122.20041674000004 -17.546527621999928, 122.20069451800009 -17.546527621999928, 122.20069451800009 -17.546805399999982, 122.20097229600003 -17.546805399999982, 122.20097229600003 -17.54708317799998, 122.20125007400009 -17.54708317799998, 122.20125007400009 -17.54736095499993, 122.20152785100004 -17.54736095499993, 122.20152785100004 -17.54763873299993, 122.20180562900009 -17.54763873299993, 122.20180562900009 -17.547916510999983, 122.20208340700003 -17.547916510999983, 122.20208340700003 -17.54819428899998, 122.20236118500009 -17.54819428899998, 122.20236118500009 -17.548472066999977, 122.20375007400003 -17.548472066999977, 122.20375007400003 -17.54874984399993, 122.20458340700009 -17.54874984399993, 122.20458340700009 -17.549027621999983, 122.20513896300008 -17.549027621999983, 122.20513896300008 -17.54930539999998, 122.20541674000003 -17.54930539999998, 122.20541674000003 -17.549583177999978, 122.20597229600003 -17.549583177999978, 122.20597229600003 -17.549860955999975, 122.20625007400008 -17.549860955999975, 122.20625007400008 -17.550138732999926, 122.20652785100003 -17.550138732999926, 122.20652785100003 -17.55041651099998, 122.20680562900009 -17.55041651099998, 122.20680562900009 -17.550694288999978, 122.20708340700003 -17.550694288999978, 122.20708340700003 -17.550972066999975, 122.20736118500008 -17.550972066999975, 122.20736118500008 -17.551249843999926, 122.20763896300002 -17.551249843999926, 122.20763896300002 -17.55152762199998, 122.20791674000009 -17.55152762199998, 122.20791674000009 -17.551805399999978, 122.20819451800003 -17.551805399999978, 122.20819451800003 -17.552083177999975, 122.20847229600008 -17.552083177999975, 122.20847229600008 -17.552360955999973, 122.20875007400002 -17.552360955999973, 122.20875007400002 -17.55263873299998, 122.20902785100009 -17.55263873299998, 122.20902785100009 -17.552916510999978, 122.20930562900003 -17.552916510999978, 122.20930562900003 -17.553194288999975, 122.20958340700008 -17.553194288999975, 122.20958340700008 -17.553472066999973, 122.21013896300008 -17.553472066999973, 122.21013896300008 -17.55374984399998, 122.21041674000003 -17.55374984399998, 122.21041674000003 -17.55402762199998, 122.21069451800008 -17.55402762199998, 122.21069451800008 -17.554305399999976, 122.21097229600002 -17.554305399999976, 122.21097229600002 -17.554583177999973, 122.21125007400008 -17.554583177999973, 122.21125007400008 -17.55486095599997, 122.21152785100003 -17.55486095599997, 122.21152785100003 -17.55513873299998, 122.21180562900008 -17.55513873299998, 122.21180562900008 -17.555416510999976, 122.21208340700002 -17.555416510999976, 122.21208340700002 -17.555694288999973, 122.21236118500008 -17.555694288999973, 122.21236118500008 -17.55597206699997, 122.21319451800002 -17.55597206699997, 122.21319451800002 -17.55624984399998, 122.21402785100008 -17.55624984399998, 122.21402785100008 -17.556527621999976, 122.21486118500002 -17.556527621999976, 122.21486118500002 -17.556805399999973, 122.21541674000002 -17.556805399999973, 122.21541674000002 -17.55708317799997, 122.21569451800008 -17.55708317799997, 122.21569451800008 -17.557360955999968, 122.21625007400007 -17.557360955999968, 122.21625007400007 -17.557638732999976, 122.21680562900008 -17.557638732999976, 122.21680562900008 -17.557916510999974, 122.21736118500007 -17.557916510999974, 122.21736118500007 -17.55819428899997, 122.21791674000008 -17.55819428899997, 122.21791674000008 -17.55847206699997, 122.21819451800002 -17.55847206699997, 122.21819451800002 -17.558749843999976, 122.21847229600007 -17.558749843999976, 122.21847229600007 -17.559027621999974, 122.21875007400001 -17.559027621999974, 122.21875007400001 -17.55930539999997, 122.21930562900002 -17.55930539999997, 122.21930562900002 -17.55958317799997, 122.21958340700007 -17.55958317799997, 122.21958340700007 -17.559860955999966, 122.22041674000002 -17.559860955999966, 122.22041674000002 -17.560138732999974, 122.22097229600001 -17.560138732999974, 122.22097229600001 -17.56041651099997, 122.22152785200001 -17.56041651099997, 122.22152785200001 -17.56069428899997, 122.22180562900007 -17.56069428899997, 122.22180562900007 -17.560972066999966, 122.22208340700001 -17.560972066999966, 122.22208340700001 -17.561249843999974, 122.22236118500007 -17.561249843999974, 122.22236118500007 -17.56152762199997, 122.22263896300001 -17.56152762199997, 122.22263896300001 -17.56180539999997, 122.22291674000007 -17.56180539999997, 122.22291674000007 -17.562083177999966, 122.22319451800001 -17.562083177999966, 122.22319451800001 -17.562360955999964, 122.22347229600007 -17.562360955999964, 122.22347229600007 -17.56263873299997, 122.22375007400001 -17.56263873299997, 122.22375007400001 -17.56291651099997, 122.22402785200006 -17.56291651099997, 122.22402785200006 -17.563194288999966, 122.22430562900001 -17.563194288999966, 122.22430562900001 -17.563472066999964, 122.23097229600012 -17.563472066999964, 122.23097229600012 -17.56374984499996, 122.23125007400006 -17.56374984499996, 122.23125007400006 -17.56402762199997)))"^^geo:wktLiteral ] ; - geo:hasMetricArea 3.455107e+07 ; - prez:link "/s/datasets/ldgovau:geofabric/collections/geofab:catchments/items/hydrd:102208962" . - -geo:Feature skos:definition "A discrete spatial phenomenon in a universe of discourse."@en ; - skos:prefLabel "Feature"@en . - diff --git a/tests/data/profiles/remote_profile.ttl b/tests/data/profiles/remote_profile.ttl deleted file mode 100644 index b3caa154..00000000 --- a/tests/data/profiles/remote_profile.ttl +++ /dev/null @@ -1,19 +0,0 @@ -PREFIX altr-ext: -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX owl: -PREFIX prez: -PREFIX prof: -PREFIX rdf: -PREFIX rdfs: -PREFIX sh: -PREFIX skos: -PREFIX xsd: - - - a prof:Profile , prez:SpacePrezProfile ; - dcterms:description "an example profile" ; - dcterms:identifier "exprof"^^xsd:token ; - dcterms:title "Example" ; - . diff --git a/tests/data/search/expected_responses/filter_to_focus_search.ttl b/tests/data/search/expected_responses/filter_to_focus_search.ttl deleted file mode 100644 index dc2006b7..00000000 --- a/tests/data/search/expected_responses/filter_to_focus_search.ttl +++ /dev/null @@ -1,84 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - dcterms:identifier "brhl-prps:pggd"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Borehole purposes applicable to regulatory notification forms."@en ; - skos:prefLabel "PGGD selection"@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -rdf:type rdfs:label "type" . - -rdfs:isDefinedBy rdfs:label "isDefinedBy" . - -rdfs:label rdfs:label "label" . - -skos:altLabel rdfs:label "alternative label"@en ; - skos:definition "An alternative lexical label for a resource."@en . - -skos:inScheme rdfs:label "is in scheme"@en ; - skos:definition "Relates a resource (for example a concept) to a concept scheme in which it is included."@en . - -skos:topConceptOf rdfs:label "is top concept in scheme"@en ; - skos:definition "Relates a concept to the concept scheme that it is a top level concept of."@en . - -schema:color rdfs:label "color" . - - a prez:SearchResult ; - prez:searchResultMatch "Greenhouse Gas Storage"@en ; - prez:searchResultPredicate skos:prefLabel ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "Wells and bores drilled under permits governed by the Queensland Greenhouse Gas Storage Act 2009"@en ; - prez:searchResultPredicate skos:definition ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - -skos:Concept rdfs:label "Concept"@en ; - skos:definition "An idea or notion; a unit of thought."@en . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - - a skos:Concept ; - dcterms:identifier "brhl-prps:greenhouse-gas-storage"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy ; - skos:altLabel "GHG"@en ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Greenhouse Gas Storage Act 2009"@en ; - skos:inScheme ; - skos:prefLabel "Greenhouse Gas Storage"@en ; - skos:topConceptOf ; - prez:link "/v/collection/brhl-prps:pggd/brhl-prps:greenhouse-gas-storage", - "/v/vocab/def2:borehole-purpose/brhl-prps:greenhouse-gas-storage" . - - dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose"@en ; - prez:link "/v/vocab/def2:borehole-purpose" . - diff --git a/tests/data/search/expected_responses/focus_to_filter_search.ttl b/tests/data/search/expected_responses/focus_to_filter_search.ttl deleted file mode 100644 index 0247dad4..00000000 --- a/tests/data/search/expected_responses/focus_to_filter_search.ttl +++ /dev/null @@ -1,167 +0,0 @@ -@prefix dcterms: . -@prefix geo: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - dcterms:identifier "cgi:contacttype"^^prez:identifier ; - dcterms:provenance "this vocabulary" ; - skos:definition "All Concepts in this vocabulary" ; - skos:prefLabel "Contact Type - All Concepts"@en . - -rdf:type rdfs:label "type" . - -rdfs:isDefinedBy rdfs:label "isDefinedBy" . - -rdfs:label rdfs:label "label" . - -skos:broader rdfs:label "has broader"@en ; - skos:definition "Relates a concept to a concept that is more general in meaning."@en . - -skos:inScheme rdfs:label "is in scheme"@en ; - skos:definition "Relates a resource (for example a concept) to a concept scheme in which it is included."@en . - - dcterms:identifier "preztest:dataset"^^prez:identifier . - - dcterms:identifier "preztest:feature-collection"^^prez:identifier . - - a prez:SearchResult ; - prez:searchResultMatch "metasomatic facies contact"@en ; - prez:searchResultPredicate skos:prefLabel ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - prez:searchResultPredicate skos:definition ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "A metasomatic facies contact separating rocks which have been mineralised and contain a particular mineral assemblage from those which contain a different assemblage. Mineralization is a kind of metasomatism that introduces ecomomically important minerals."@en ; - prez:searchResultPredicate skos:definition ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "A metamorphic contact separating rocks that have undergone metasomatism of a particular facies from those that have undergone metasomatism of another facies. Metasomatism is distinguished from metamorphism by significant changes in bulk chemistry of the affected rock."@en ; - prez:searchResultPredicate skos:definition ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "metamorphic facies contact"@en ; - prez:searchResultPredicate skos:prefLabel ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "mineralisation assemblage contact"@en ; - prez:searchResultPredicate skos:prefLabel ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "A metamorphic contact separating rocks that have undergone metamorphism of a particular facies from those that have undergone metamorphism of another facies."@en ; - prez:searchResultPredicate skos:definition ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - - a prez:SearchResult ; - prez:searchResultMatch "alteration facies contact"@en ; - prez:searchResultPredicate skos:prefLabel ; - prez:searchResultURI ; - prez:searchResultWeight 10 . - -geo:Feature skos:definition "A discrete spatial phenomenon in a universe of discourse."@en ; - skos:prefLabel "Feature"@en . - - a geo:Feature, - skos:Concept ; - dcterms:identifier "alteration_facies_contact"^^xsd:token, - "cntcttyp:alteration_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - skos:inScheme ; - skos:prefLabel "alteration facies contact"@en ; - prez:link "/s/datasets/preztest:dataset/collections/preztest:feature-collection/items/cntcttyp:alteration_facies_contact", - "/v/collection/cgi:contacttype/cntcttyp:alteration_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:alteration_facies_contact" . - - a skos:Concept ; - dcterms:identifier "metamorphic_facies_contact"^^xsd:token, - "cntcttyp:metamorphic_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metamorphic contact separating rocks that have undergone metamorphism of a particular facies from those that have undergone metamorphism of another facies."@en ; - skos:inScheme ; - skos:prefLabel "metamorphic facies contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metamorphic_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metamorphic_facies_contact" . - - a skos:Concept ; - dcterms:identifier "metasomatic_facies_contact"^^xsd:token, - "cntcttyp:metasomatic_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metamorphic contact separating rocks that have undergone metasomatism of a particular facies from those that have undergone metasomatism of another facies. Metasomatism is distinguished from metamorphism by significant changes in bulk chemistry of the affected rock."@en ; - skos:inScheme ; - skos:prefLabel "metasomatic facies contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metasomatic_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metasomatic_facies_contact" . - - a skos:Concept ; - dcterms:identifier "mineralisation_assemblage_contact"^^xsd:token, - "cntcttyp:mineralisation_assemblage_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metasomatic facies contact separating rocks which have been mineralised and contain a particular mineral assemblage from those which contain a different assemblage. Mineralization is a kind of metasomatism that introduces ecomomically important minerals."@en ; - skos:inScheme ; - skos:prefLabel "mineralisation assemblage contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:mineralisation_assemblage_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:mineralisation_assemblage_contact" . - - dcterms:identifier "cntcttyp:metamorphic_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "Lithogenetic contact separating rocks that have different lithologic properties related to metamorphism, metasomatism, alteration, or mineralization. Generally separates metamorphic rock bodies, but may separate metamorphosed (broadly speaking) and non-metamorphosed rock."@en ; - skos:prefLabel "metamorphic contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metamorphic_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metamorphic_contact" . - -skos:Concept rdfs:label "Concept"@en ; - skos:definition "An idea or notion; a unit of thought."@en . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - dcterms:identifier "2016.01:contacttype"^^prez:identifier ; - dcterms:provenance "Original set of terms from the GeosciML standard" ; - skos:definition "This scheme describes the concept space for Contact Type concepts, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme. Designed for use in the contactType property in GeoSciML Contact elements."@en ; - skos:prefLabel "Contact Type"@en ; - prez:link "/v/vocab/2016.01:contacttype" . - diff --git a/tests/data/spaceprez/expected_responses/dataset_anot.ttl b/tests/data/spaceprez/expected_responses/dataset_anot.ttl deleted file mode 100644 index 6e6c7f63..00000000 --- a/tests/data/spaceprez/expected_responses/dataset_anot.ttl +++ /dev/null @@ -1,73 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix geo: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - - a dcat:Dataset ; - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "sandgate"^^xsd:token, - "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en ; - geo:hasBoundingBox [ a geo:Geometry ; - geo:asWKT "POLYGON ((152.9075 -27.42,153.16 -27.42,153.16 -27.2234024,152.9075 -27.2234024,152.9075 -27.42))"^^geo:wktLiteral ] ; - rdfs:member , - , - , - ; - prez:link "/s/datasets/exds:sandgate" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -geo:asWKT skos:definition "The WKT serialization of a Geometry"@en ; - skos:prefLabel "as WKT"@en . - -geo:hasBoundingBox skos:definition "The minimum or smallest bounding or enclosing box of a given Feature."@en ; - skos:prefLabel "has bounding box"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -rdfs:member rdfs:label "member" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; - dcterms:identifier "sndgt:catchments"^^prez:identifier ; - dcterms:title "Geofabric Contracted Catchments"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments" . - - dcterms:description "Sandgate area demo Facilities"@en ; - dcterms:identifier "sndgt:facilities"^^prez:identifier ; - dcterms:title "Sandgate are demo Facilities"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:facilities" . - - dcterms:description "Sandgate flooded areas"@en ; - dcterms:identifier "sndgt:floods"^^prez:identifier ; - dcterms:title "Sandgate flooded areas"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:floods" . - - dcterms:description "Sandgate main roads"@en ; - dcterms:identifier "sndgt:roads"^^prez:identifier ; - dcterms:title "Sandgate main roads"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:roads" . - -geo:Geometry skos:definition "A coherent set of direct positions in space. The positions are held within a Spatial Reference System (SRS)."@en ; - skos:prefLabel "Geometry"@en . - -dcat:Dataset rdfs:label "Dataset"@en . - diff --git a/tests/data/spaceprez/expected_responses/dataset_listing_anot.ttl b/tests/data/spaceprez/expected_responses/dataset_listing_anot.ttl deleted file mode 100644 index 0a557b75..00000000 --- a/tests/data/spaceprez/expected_responses/dataset_listing_anot.ttl +++ /dev/null @@ -1,52 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - - a dcat:Dataset ; - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en ; - prez:link "/s/datasets/exds:sandgate" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - a dcat:Dataset ; - dcterms:description "The Australian national dataset of important hydrological features such as rivers, water bodies, aquifers and monitoring points"@en ; - dcterms:identifier "ldgovau:geofabric"^^prez:identifier ; - dcterms:title "Australian Hydrological Geospatial Fabric"@en ; - prez:link "/s/datasets/ldgovau:geofabric" . - - a dcat:Dataset ; - dcterms:description "The Australian Geocoded National Address File (G-NAF) is Australia’s authoritative, geocoded address file. It is built and maintained by Geoscape Australia using authoritative government data.."@en ; - dcterms:identifier "ldgovau:gnaf"^^prez:identifier ; - dcterms:title "Geocoded National Address File"@en ; - skos:prefLabel "Geocoded National Address File"@en ; - prez:link "/s/datasets/ldgovau:gnaf" . - - a dcat:Dataset ; - dcterms:identifier "preztest:dataset"^^prez:identifier ; - prez:link "/s/datasets/preztest:dataset" . - -dcat:Dataset rdfs:label "Dataset"@en ; - prez:count 4 . - diff --git a/tests/data/spaceprez/expected_responses/feature_anot.ttl b/tests/data/spaceprez/expected_responses/feature_anot.ttl deleted file mode 100644 index 35ae5c4e..00000000 --- a/tests/data/spaceprez/expected_responses/feature_anot.ttl +++ /dev/null @@ -1,59 +0,0 @@ -@prefix dcterms: . -@prefix geo: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en . - - dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; - dcterms:identifier "sndgt:catchments"^^prez:identifier ; - dcterms:title "Geofabric Contracted Catchments"@en . - - a geo:Feature, - ; - rdfs:label "Contracted Catchment 12109444" ; - dcterms:identifier "cc12109444"^^xsd:token, - "sndgt:cc12109444"^^prez:identifier ; - geo:hasGeometry [ a geo:Geometry ; - geo:asGeoJSON "{\"type\": \"Polygon\", \"coordinates\": [[[153.06, -27.28], [153.06, -27.2825], [153.0625, -27.2825], [153.065, -27.2825], [153.065, -27.305], [153.0675, -27.305], [153.0675, -27.31], [153.07, -27.31], [153.07, -27.3125], [153.0725, -27.3125], [153.0725, -27.3175], [153.075, -27.3175], [153.075, -27.32], [153.0775, -27.32], [153.0775, -27.3225], [153.08, -27.3225], [153.085, -27.3225], [153.085, -27.325], [153.0875, -27.325], [153.0875, -27.33], [153.085, -27.33], [153.0825, -27.33], [153.0825, -27.3325], [153.085, -27.3325], [153.085, -27.335], [153.0875, -27.335], [153.09, -27.335], [153.09, -27.3375], [153.0925, -27.3375], [153.0925, -27.34], [153.0975, -27.34], [153.0975, -27.3425], [153.1025, -27.3425], [153.1025, -27.345], [153.1075, -27.345], [153.1075, -27.3475], [153.11, -27.3475], [153.1125, -27.3475], [153.115, -27.3475], [153.115, -27.35], [153.12, -27.35], [153.12, -27.3525], [153.125, -27.3525], [153.125, -27.355], [153.13, -27.355], [153.13, -27.3575], [153.135, -27.3575], [153.135, -27.36], [153.1375, -27.36], [153.1425, -27.36], [153.1475, -27.36], [153.1525, -27.36], [153.1525, -27.3625], [153.155, -27.3625], [153.155, -27.365], [153.1575, -27.365], [153.1575, -27.375], [153.16, -27.375], [153.16, -27.3775], [153.16, -27.38], [153.1575, -27.38], [153.155, -27.38], [153.155, -27.3825], [153.1525, -27.3825], [153.1525, -27.385], [153.15, -27.385], [153.15, -27.3875], [153.145, -27.3875], [153.145, -27.39], [153.1425, -27.39], [153.1425, -27.3925], [153.14, -27.3925], [153.14, -27.395], [153.14, -27.3975], [153.14, -27.4], [153.1375, -27.4], [153.1375, -27.4025], [153.135, -27.4025], [153.135, -27.405], [153.135, -27.4075], [153.135, -27.4125], [153.135, -27.415], [153.13, -27.415], [153.13, -27.4175], [153.1275, -27.4175], [153.1225, -27.4175], [153.1225, -27.42], [153.1175, -27.42], [153.1125, -27.42], [153.1125, -27.4175], [153.11, -27.4175], [153.11, -27.415], [153.1075, -27.415], [153.1075, -27.4125], [153.0975, -27.4125], [153.0975, -27.415], [153.0925, -27.415], [153.0875, -27.415], [153.085, -27.415], [153.08, -27.415], [153.08, -27.4125], [153.0775, -27.4125], [153.0775, -27.41], [153.075, -27.41], [153.075, -27.405], [153.07, -27.405], [153.07, -27.4025], [153.0675, -27.4025], [153.0675, -27.4], [153.065, -27.4], [153.065, -27.3975], [153.0625, -27.3975], [153.0625, -27.395], [153.06, -27.395], [153.06, -27.3925], [153.0275, -27.3925], [153.0275, -27.395], [153.025, -27.395], [153.025, -27.3975], [153.0175, -27.3975], [153.0175, -27.4], [153.0125, -27.4], [153.0125, -27.4025], [153.005, -27.4025], [153.005, -27.405], [153.0025, -27.405], [152.9975, -27.405], [152.9975, -27.4025], [152.9925, -27.4025], [152.9925, -27.4], [152.9875, -27.4], [152.9825, -27.4], [152.9825, -27.3975], [152.98, -27.3975], [152.98, -27.3925], [152.975, -27.3925], [152.975, -27.3875], [152.97, -27.3875], [152.96, -27.3875], [152.96, -27.39], [152.955, -27.39], [152.955, -27.3925], [152.945, -27.3925], [152.94, -27.3925], [152.9375, -27.3925], [152.9375, -27.39], [152.925, -27.39], [152.925, -27.385], [152.925, -27.3825], [152.93, -27.3825], [152.9325, -27.3825], [152.9325, -27.38], [152.9375, -27.38], [152.9375, -27.3825], [152.94, -27.3825], [152.94, -27.38], [152.9475, -27.38], [152.9475, -27.3825], [152.9525, -27.3825], [152.9525, -27.38], [152.965, -27.38], [152.9675, -27.38], [152.9675, -27.3775], [152.98, -27.3775], [152.98, -27.375], [152.9825, -27.375], [152.9825, -27.3725], [152.985, -27.3725], [152.985, -27.37], [152.9875, -27.37], [152.9875, -27.3675], [152.99, -27.3675], [152.99, -27.3625], [152.9925, -27.3625], [152.9925, -27.355], [152.995, -27.355], [152.995, -27.3525], [153, -27.3525], [153, -27.35], [153.005, -27.35], [153.01, -27.35], [153.01, -27.3475], [153.0175, -27.3475], [153.0175, -27.335], [153.02, -27.335], [153.02, -27.33], [153.0225, -27.33], [153.0225, -27.3275], [153.025, -27.3275], [153.025, -27.325], [153.0275, -27.325], [153.0275, -27.3225], [153.03, -27.3225], [153.03, -27.32], [153.0325, -27.32], [153.0325, -27.3175], [153.035, -27.3175], [153.035, -27.305], [153.0375, -27.305], [153.0375, -27.3], [153.04, -27.3], [153.04, -27.2975], [153.0425, -27.2975], [153.0425, -27.2825], [153.04, -27.2825], [153.04, -27.28], [153.0425, -27.28], [153.05, -27.28], [153.06, -27.28]]]}"^^geo:geoJSONLiteral ; - geo:asWKT "POLYGON ((153.06 -27.28, 153.06 -27.2825, 153.0625 -27.2825, 153.065 -27.2825, 153.065 -27.305, 153.0675 -27.305, 153.0675 -27.31, 153.07 -27.31, 153.07 -27.3125, 153.0725 -27.3125, 153.0725 -27.3175, 153.075 -27.3175, 153.075 -27.32, 153.0775 -27.32, 153.0775 -27.3225, 153.08 -27.3225, 153.085 -27.3225, 153.085 -27.325, 153.0875 -27.325, 153.0875 -27.33, 153.085 -27.33, 153.0825 -27.33, 153.0825 -27.3325, 153.085 -27.3325, 153.085 -27.335, 153.0875 -27.335, 153.09 -27.335, 153.09 -27.3375, 153.0925 -27.3375, 153.0925 -27.34, 153.0975 -27.34, 153.0975 -27.3425, 153.1025 -27.3425, 153.1025 -27.345, 153.1075 -27.345, 153.1075 -27.3475, 153.11 -27.3475, 153.1125 -27.3475, 153.115 -27.3475, 153.115 -27.35, 153.12 -27.35, 153.12 -27.3525, 153.125 -27.3525, 153.125 -27.355, 153.13 -27.355, 153.13 -27.3575, 153.135 -27.3575, 153.135 -27.36, 153.1375 -27.36, 153.1425 -27.36, 153.1475 -27.36, 153.1525 -27.36, 153.1525 -27.3625, 153.155 -27.3625, 153.155 -27.365, 153.1575 -27.365, 153.1575 -27.375, 153.16 -27.375, 153.16 -27.3775, 153.16 -27.38, 153.1575 -27.38, 153.155 -27.38, 153.155 -27.3825, 153.1525 -27.3825, 153.1525 -27.385, 153.15 -27.385, 153.15 -27.3875, 153.145 -27.3875, 153.145 -27.39, 153.1425 -27.39, 153.1425 -27.3925, 153.14 -27.3925, 153.14 -27.395, 153.14 -27.3975, 153.14 -27.4, 153.1375 -27.4, 153.1375 -27.4025, 153.135 -27.4025, 153.135 -27.405, 153.135 -27.4075, 153.135 -27.4125, 153.135 -27.415, 153.13 -27.415, 153.13 -27.4175, 153.1275 -27.4175, 153.1225 -27.4175, 153.1225 -27.42, 153.1175 -27.42, 153.1125 -27.42, 153.1125 -27.4175, 153.11 -27.4175, 153.11 -27.415, 153.1075 -27.415, 153.1075 -27.4125, 153.0975 -27.4125, 153.0975 -27.415, 153.0925 -27.415, 153.0875 -27.415, 153.085 -27.415, 153.08 -27.415, 153.08 -27.4125, 153.0775 -27.4125, 153.0775 -27.41, 153.075 -27.41, 153.075 -27.405, 153.07 -27.405, 153.07 -27.4025, 153.0675 -27.4025, 153.0675 -27.4, 153.065 -27.4, 153.065 -27.3975, 153.0625 -27.3975, 153.0625 -27.395, 153.06 -27.395, 153.06 -27.3925, 153.0275 -27.3925, 153.0275 -27.395, 153.025 -27.395, 153.025 -27.3975, 153.0175 -27.3975, 153.0175 -27.4, 153.0125 -27.4, 153.0125 -27.4025, 153.005 -27.4025, 153.005 -27.405, 153.0025 -27.405, 152.9975 -27.405, 152.9975 -27.4025, 152.9925 -27.4025, 152.9925 -27.4, 152.9875 -27.4, 152.9825 -27.4, 152.9825 -27.3975, 152.98 -27.3975, 152.98 -27.3925, 152.975 -27.3925, 152.975 -27.3875, 152.97 -27.3875, 152.96 -27.3875, 152.96 -27.39, 152.955 -27.39, 152.955 -27.3925, 152.945 -27.3925, 152.94 -27.3925, 152.9375 -27.3925, 152.9375 -27.39, 152.925 -27.39, 152.925 -27.385, 152.925 -27.3825, 152.93 -27.3825, 152.9325 -27.3825, 152.9325 -27.38, 152.9375 -27.38, 152.9375 -27.3825, 152.94 -27.3825, 152.94 -27.38, 152.9475 -27.38, 152.9475 -27.3825, 152.9525 -27.3825, 152.9525 -27.38, 152.965 -27.38, 152.9675 -27.38, 152.9675 -27.3775, 152.98 -27.3775, 152.98 -27.375, 152.9825 -27.375, 152.9825 -27.3725, 152.985 -27.3725, 152.985 -27.37, 152.9875 -27.37, 152.9875 -27.3675, 152.99 -27.3675, 152.99 -27.3625, 152.9925 -27.3625, 152.9925 -27.355, 152.995 -27.355, 152.995 -27.3525, 153 -27.3525, 153 -27.35, 153.005 -27.35, 153.01 -27.35, 153.01 -27.3475, 153.0175 -27.3475, 153.0175 -27.335, 153.02 -27.335, 153.02 -27.33, 153.0225 -27.33, 153.0225 -27.3275, 153.025 -27.3275, 153.025 -27.325, 153.0275 -27.325, 153.0275 -27.3225, 153.03 -27.3225, 153.03 -27.32, 153.0325 -27.32, 153.0325 -27.3175, 153.035 -27.3175, 153.035 -27.305, 153.0375 -27.305, 153.0375 -27.3, 153.04 -27.3, 153.04 -27.2975, 153.0425 -27.2975, 153.0425 -27.2825, 153.04 -27.2825, 153.04 -27.28, 153.0425 -27.28, 153.05 -27.28, 153.06 -27.28))"^^geo:wktLiteral ] ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments/items/sndgt:cc12109444" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -geo:asGeoJSON skos:definition "The GeoJSON serialization of a Geometry"@en ; - skos:prefLabel "as GeoJSON"@en . - -geo:asWKT skos:definition "The WKT serialization of a Geometry"@en ; - skos:prefLabel "as WKT"@en . - -geo:hasGeometry skos:definition "A spatial representation for a given Feature."@en ; - skos:prefLabel "has geometry"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - -geo:Feature skos:definition "A discrete spatial phenomenon in a universe of discourse."@en ; - skos:prefLabel "Feature"@en . - -geo:Geometry skos:definition "A coherent set of direct positions in space. The positions are held within a Spatial Reference System (SRS)."@en ; - skos:prefLabel "Geometry"@en . - diff --git a/tests/data/spaceprez/expected_responses/feature_collection_anot.ttl b/tests/data/spaceprez/expected_responses/feature_collection_anot.ttl deleted file mode 100644 index 41adf6a4..00000000 --- a/tests/data/spaceprez/expected_responses/feature_collection_anot.ttl +++ /dev/null @@ -1,63 +0,0 @@ -@prefix dcterms: . -@prefix geo: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en . - - a geo:FeatureCollection ; - dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; - dcterms:identifier "catchments"^^xsd:token, - "sndgt:catchments"^^prez:identifier ; - dcterms:title "Geofabric Contracted Catchments"@en ; - geo:hasBoundingBox [ a geo:Geometry ; - geo:asWKT "POLYGON ((152.9075 -27.42,153.16 -27.42,153.16 -27.2775,152.9075 -27.2775,152.9075 -27.42))"^^geo:wktLiteral ] ; - rdfs:member , - ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -geo:asWKT skos:definition "The WKT serialization of a Geometry"@en ; - skos:prefLabel "as WKT"@en . - -geo:hasBoundingBox skos:definition "The minimum or smallest bounding or enclosing box of a given Feature."@en ; - skos:prefLabel "has bounding box"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -rdfs:member rdfs:label "member" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - rdfs:label "Contracted Catchment 12109444" ; - dcterms:identifier "sndgt:cc12109444"^^prez:identifier ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments/items/sndgt:cc12109444" . - - rdfs:label "Contracted Catchment 12109445" ; - dcterms:identifier "sndgt:cc12109445"^^prez:identifier ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments/items/sndgt:cc12109445" . - -geo:FeatureCollection skos:definition "A collection of individual Features."@en ; - skos:prefLabel "Feature Collection"@en . - -geo:Geometry skos:definition "A coherent set of direct positions in space. The positions are held within a Spatial Reference System (SRS)."@en ; - skos:prefLabel "Geometry"@en . - diff --git a/tests/data/spaceprez/expected_responses/feature_collection_listing_anot.ttl b/tests/data/spaceprez/expected_responses/feature_collection_listing_anot.ttl deleted file mode 100644 index 0f7919fa..00000000 --- a/tests/data/spaceprez/expected_responses/feature_collection_listing_anot.ttl +++ /dev/null @@ -1,47 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdfs: . -@prefix xsd: . - - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en ; - rdfs:member , - , - , - ; - prez:count 4 ; - prez:link "/s/datasets/exds:sandgate" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -rdfs:label rdfs:label "label" . - -rdfs:member rdfs:label "member" . - - dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; - dcterms:identifier "sndgt:catchments"^^prez:identifier ; - dcterms:title "Geofabric Contracted Catchments"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments" . - - dcterms:description "Sandgate area demo Facilities"@en ; - dcterms:identifier "sndgt:facilities"^^prez:identifier ; - dcterms:title "Sandgate are demo Facilities"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:facilities" . - - dcterms:description "Sandgate flooded areas"@en ; - dcterms:identifier "sndgt:floods"^^prez:identifier ; - dcterms:title "Sandgate flooded areas"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:floods" . - - dcterms:description "Sandgate main roads"@en ; - dcterms:identifier "sndgt:roads"^^prez:identifier ; - dcterms:title "Sandgate main roads"@en ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:roads" . - diff --git a/tests/data/spaceprez/expected_responses/feature_listing_anot.ttl b/tests/data/spaceprez/expected_responses/feature_listing_anot.ttl deleted file mode 100644 index cc0d1613..00000000 --- a/tests/data/spaceprez/expected_responses/feature_listing_anot.ttl +++ /dev/null @@ -1,37 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdfs: . -@prefix xsd: . - - dcterms:description "Example floods, roads, catchment and facilities in the Sandgate are"@en ; - dcterms:identifier "exds:sandgate"^^prez:identifier ; - dcterms:title "Sandgate example dataset"@en . - - dcterms:description "Hydrological catchments that are 'contracted', that is, guarenteed, to appear on multiple Geofabric surface hydrology data products"@en ; - dcterms:identifier "sndgt:catchments"^^prez:identifier ; - dcterms:title "Geofabric Contracted Catchments"@en ; - rdfs:member , - ; - prez:count 2 ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:title rdfs:label "Title"@en . - -rdfs:label rdfs:label "label" . - -rdfs:member rdfs:label "member" . - - rdfs:label "Contracted Catchment 12109444" ; - dcterms:identifier "sndgt:cc12109444"^^prez:identifier ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments/items/sndgt:cc12109444" . - - rdfs:label "Contracted Catchment 12109445" ; - dcterms:identifier "sndgt:cc12109445"^^prez:identifier ; - prez:link "/s/datasets/exds:sandgate/collections/sndgt:catchments/items/sndgt:cc12109445" . - diff --git a/tests/data/spaceprez/input/geofabric_small.ttl b/tests/data/spaceprez/input/geofabric_small.ttl deleted file mode 100644 index faa52915..00000000 --- a/tests/data/spaceprez/input/geofabric_small.ttl +++ /dev/null @@ -1,110 +0,0 @@ -@prefix ahgf: . -@prefix dcat: . -@prefix dcterms: . -@prefix geo: . -@prefix owl: . -@prefix prov: . -@prefix rdf: . -@prefix rdfs: . -@prefix vcard: . -@prefix xsd: . - - - a dcat:Dataset ; - dcterms:identifier "geofabric"^^xsd:token ; - dcterms:title "Australian Hydrological Geospatial Fabric"@en ; - dcterms:description "The Australian national dataset of important hydrological features such as rivers, water bodies, aquifers and monitoring points"@en ; - rdfs:member - ; - dcterms:source "http://www.bom.gov.au/water/geofabric/download.shtml"^^xsd:anyURI ; - geo:hasBoundingBox [ - a geo:Geometry ; - geo:asWKT "POLYGON ((112 -44, 112 -10, 154 -10, 154 -44, 112 -44))"^^geo:wktLiteral ; - ] ; -. - - - a geo:FeatureCollection ; - dcterms:identifier "catchments"^^xsd:token ; - dcterms:title "Contracted Catchments"@en ; - dcterms:description "Contracted Catchments hydrological catchments designed to build stable reporting regions"@en ; - dcterms:isPartOf ; - geo:hasBoundingBox [ - a geo:Geometry ; - geo:asWKT "POLYGON ((112 -44, 112 -10, 154 -10, 154 -44, 112 -44))"^^geo:wktLiteral ; - ] ; - rdfs:member - , - , - , - , - ; -. - - a geo:Feature, - ahgf:ContractedCatchment ; - dcterms:identifier "102208961"^^xsd:token ; - dcterms:title "Fake Catchment Name" ; - dcterms:type ahgf:NonContractedArea ; - geo:hasGeometry [ geo:asWKT "MULTIPOLYGON (((122.2548611850001 -17.495138732999976, 122.2548611850001 -17.495416510999974, 122.25541674100009 -17.495416510999974, 122.25541674100009 -17.49569428799998, 122.25625007400004 -17.49569428799998, 122.25625007400004 -17.49597206599998, 122.25680563000003 -17.49597206599998, 122.25680563000003 -17.496249843999976, 122.25736118500004 -17.496249843999976, 122.25736118500004 -17.496527621999974, 122.25763896300009 -17.496527621999974, 122.25763896300009 -17.49680539999997, 122.25819451900009 -17.49680539999997, 122.25819451900009 -17.49708317699998, 122.25847229600004 -17.49708317699998, 122.25847229600004 -17.497360954999976, 122.25930563000009 -17.497360954999976, 122.25930563000009 -17.497638732999974, 122.26013896300003 -17.497638732999974, 122.26013896300003 -17.49791651099997, 122.26069451900003 -17.49791651099997, 122.26069451900003 -17.49819428799998, 122.26097229600009 -17.49819428799998, 122.26097229600009 -17.498472065999977, 122.26125007400003 -17.498472065999977, 122.26125007400003 -17.498749843999974, 122.26180563000003 -17.498749843999974, 122.26180563000003 -17.49902762199997, 122.26208340700009 -17.49902762199997, 122.26208340700009 -17.49930539999997, 122.26236118500003 -17.49930539999997, 122.26236118500003 -17.499583176999977, 122.26347229600003 -17.499583176999977, 122.26347229600003 -17.499860954999974, 122.26541674100008 -17.499860954999974, 122.26541674100008 -17.50013873299997, 122.26736118500003 -17.50013873299997, 122.26736118500003 -17.50041651099997, 122.26791674100002 -17.50041651099997, 122.26791674100002 -17.500694287999977, 122.26819451900008 -17.500694287999977, 122.26819451900008 -17.500972065999974, 122.26847229600003 -17.500972065999974, 122.26847229600003 -17.50124984399997, 122.26902785200002 -17.50124984399997, 122.26902785200002 -17.50152762199997, 122.26958340700003 -17.50152762199997, 122.26958340700003 -17.501805399999967, 122.26986118500008 -17.501805399999967, 122.26986118500008 -17.502083176999975, 122.27013896300002 -17.502083176999975, 122.27013896300002 -17.502360954999972, 122.27069451900002 -17.502360954999972, 122.27069451900002 -17.50263873299997, 122.27097229600008 -17.50263873299997, 122.27097229600008 -17.502916510999967, 122.27152785200008 -17.502916510999967, 122.27152785200008 -17.503194287999975, 122.27791674100001 -17.503194287999975, 122.27791674100001 -17.503472065999972, 122.27847229600002 -17.503472065999972, 122.27847229600002 -17.50374984399997, 122.28402785200001 -17.50374984399997, 122.28402785200001 -17.504027621999967, 122.28708340800006 -17.504027621999967, 122.28736118500001 -17.504027621999967, 122.28736118500001 -17.50374984399997, 122.28791674100012 -17.50374984399997, 122.28791674100012 -17.503472065999972, 122.28819451900006 -17.503472065999972, 122.28819451900006 -17.503194287999975, 122.28847229700011 -17.503194287999975, 122.28847229700011 -17.502916510999967, 122.28875007400006 -17.502916510999967, 122.28875007400006 -17.50263873299997, 122.28902785200012 -17.50263873299997, 122.28902785200012 -17.502360954999972, 122.28930563000006 -17.502360954999972, 122.28930563000006 -17.502083176999975, 122.28958340800011 -17.502083176999975, 122.28958340800011 -17.501805399999967, 122.28986118500006 -17.501805399999967, 122.28986118500006 -17.50152762199997, 122.29013896300012 -17.50152762199997, 122.29013896300012 -17.50124984399997, 122.29041674100006 -17.50124984399997, 122.29041674100006 -17.500972065999974, 122.29069451900011 -17.500972065999974, 122.29069451900011 -17.500694287999977, 122.29097229700005 -17.500694287999977, 122.29097229700005 -17.50041651099997, 122.29125007400012 -17.50041651099997, 122.29125007400012 -17.50013873299997, 122.29152785200006 -17.50013873299997, 122.29152785200006 -17.499860954999974, 122.29180563000011 -17.499860954999974, 122.29180563000011 -17.499583176999977, 122.29208340800005 -17.499583176999977, 122.29208340800005 -17.49930539999997, 122.29236118500012 -17.49930539999997, 122.29236118500012 -17.49902762199997, 122.29263896300006 -17.49902762199997, 122.29263896300006 -17.498749843999974, 122.29347229700011 -17.498749843999974, 122.29347229700011 -17.49902762199997, 122.29375007400006 -17.49902762199997, 122.29375007400006 -17.49930539999997, 122.29430563000005 -17.49930539999997, 122.29430563000005 -17.499583176999977, 122.29458340800011 -17.499583176999977, 122.29458340800011 -17.499860954999974, 122.29513896300011 -17.499860954999974, 122.29513896300011 -17.50013873299997, 122.29541674100005 -17.50013873299997, 122.29541674100005 -17.50041651099997, 122.29597229700005 -17.50041651099997, 122.29597229700005 -17.500694287999977, 122.29986118600004 -17.500694287999977, 122.29986118600004 -17.50041651099997, 122.30319451900004 -17.50041651099997, 122.30319451900004 -17.500694287999977, 122.30375007400005 -17.500694287999977, 122.30375007400005 -17.500972065999974, 122.30430563000004 -17.500972065999974, 122.30430563000004 -17.50124984399997, 122.3045834080001 -17.50124984399997, 122.3051389630001 -17.50124984399997, 122.3051389630001 -17.50152762199997, 122.3062500740001 -17.50152762199997, 122.3062500740001 -17.501805399999967, 122.3079167410001 -17.501805399999967, 122.3079167410001 -17.50152762199997, 122.3084722970001 -17.50152762199997, 122.3084722970001 -17.50124984399997, 122.30930563000004 -17.50124984399997, 122.30930563000004 -17.500972065999974, 122.31041674100004 -17.500972065999974, 122.31041674100004 -17.500694287999977, 122.31152785200004 -17.500694287999977, 122.31152785200004 -17.50041651099997, 122.31208340800003 -17.50041651099997, 122.31208340800003 -17.50013873299997, 122.3129167410001 -17.50013873299997, 122.3129167410001 -17.499860954999974, 122.31319451900004 -17.499860954999974, 122.31319451900004 -17.499583176999977, 122.3140278520001 -17.499583176999977, 122.3140278520001 -17.49930539999997, 122.32069451900009 -17.49930539999997, 122.32069451900009 -17.499583176999977, 122.32152785200003 -17.499583176999977, 122.32152785200003 -17.499860954999974, 122.32458340800008 -17.499860954999974, 122.32458340800008 -17.50013873299997, 122.32958340800008 -17.50013873299997, 122.32958340800008 -17.499860954999974, 122.33013896400007 -17.499860954999974, 122.33013896400007 -17.50041651099997, 122.33041674100002 -17.50041651099997, 122.33041674100002 -17.506527621999965, 122.33013896400007 -17.506527621999965, 122.33013896400007 -17.507360954999967, 122.32986118600002 -17.507360954999967, 122.32986118600002 -17.507916510999962, 122.32958340800008 -17.507916510999962, 122.32958340800008 -17.510972065999965, 122.32930563000002 -17.510972065999965, 122.32930563000002 -17.512083176999965, 122.32902785200008 -17.512083176999965, 122.32902785200008 -17.514027621999958, 122.32875007500002 -17.514027621999958, 122.32875007500002 -17.515416510999955, 122.32847229700008 -17.515416510999955, 122.32847229700008 -17.515694288999953, 122.32819451900002 -17.515694288999953, 122.32819451900002 -17.51597206599996, 122.32791674100008 -17.51597206599996, 122.32791674100008 -17.516249843999958, 122.32763896400002 -17.516249843999958, 122.32763896400002 -17.516527621999955, 122.32736118600008 -17.516527621999955, 122.32736118600008 -17.516805399999953, 122.32708340800002 -17.516805399999953, 122.32708340800002 -17.51708317699996, 122.32680563000008 -17.51708317699996, 122.32680563000008 -17.51736095499996, 122.32652785200003 -17.51736095499996, 122.32652785200003 -17.517638732999956, 122.32625007500008 -17.517638732999956, 122.32625007500008 -17.517916510999953, 122.32597229700002 -17.517916510999953, 122.32597229700002 -17.51819428899995, 122.32569451900008 -17.51819428899995, 122.32569451900008 -17.51847206599996, 122.32541674100003 -17.51847206599996, 122.32541674100003 -17.518749843999956, 122.32513896300009 -17.518749843999956, 122.32513896300009 -17.519027621999953, 122.32458340800008 -17.519027621999953, 122.32458340800008 -17.51930539999995, 122.32430563000003 -17.51930539999995, 122.32430563000003 -17.51958317699996, 122.32375007500002 -17.51958317699996, 122.32375007500002 -17.519860954999956, 122.32319451900003 -17.519860954999956, 122.32319451900003 -17.520138732999953, 122.32291674100009 -17.520138732999953, 122.32291674100009 -17.52041651099995, 122.32263896300003 -17.52041651099995, 122.32263896300003 -17.520694288999948, 122.32236118600008 -17.520694288999948, 122.32236118600008 -17.520972065999956, 122.32208340800003 -17.520972065999956, 122.32208340800003 -17.52180539999995, 122.32180563000009 -17.52180539999995, 122.32180563000009 -17.524583177999943, 122.32152785200003 -17.524583177999943, 122.32152785200003 -17.525416510999946, 122.32125007500008 -17.525416510999946, 122.32125007500008 -17.52847206599995, 122.32097229700003 -17.52847206599995, 122.32097229700003 -17.528749843999947, 122.32069451900009 -17.528749843999947, 122.32069451900009 -17.52930539999994, 122.32041674100003 -17.52930539999994, 122.32041674100003 -17.529860954999947, 122.32013896300009 -17.529860954999947, 122.32013896300009 -17.530138732999944, 122.31986118600003 -17.530138732999944, 122.31986118600003 -17.53041651099994, 122.31958340800009 -17.53041651099994, 122.31958340800009 -17.53069428899994, 122.31930563000003 -17.53069428899994, 122.31930563000003 -17.531249843999944, 122.31902785200009 -17.531249843999944, 122.31902785200009 -17.531527621999942, 122.31875007500003 -17.531527621999942, 122.31875007500003 -17.532083177999937, 122.31847229700008 -17.532083177999937, 122.31847229700008 -17.53291651099994, 122.31819451900003 -17.53291651099994, 122.31819451900003 -17.533472065999945, 122.31791674100009 -17.533472065999945, 122.31791674100009 -17.534305399999937, 122.31763896300004 -17.534305399999937, 122.31763896300004 -17.534860954999942, 122.31736118600008 -17.534860954999942, 122.31736118600008 -17.535416510999937, 122.31708340800003 -17.535416510999937, 122.31708340800003 -17.535972066999932, 122.31680563000009 -17.535972066999932, 122.31680563000009 -17.536527621999937, 122.31652785200004 -17.536527621999937, 122.31652785200004 -17.536805399999935, 122.31625007500008 -17.536805399999935, 122.31625007500008 -17.537083177999932, 122.31597229700003 -17.537083177999932, 122.31597229700003 -17.53736095499994, 122.31569451900009 -17.53736095499994, 122.31569451900009 -17.537638732999937, 122.31541674100004 -17.537638732999937, 122.31541674100004 -17.537916510999935, 122.3151389630001 -17.537916510999935, 122.3151389630001 -17.538194288999932, 122.31486118600003 -17.538194288999932, 122.31486118600003 -17.53847206699993, 122.31458340800009 -17.53847206699993, 122.31458340800009 -17.538749843999938, 122.31430563000004 -17.538749843999938, 122.31430563000004 -17.539027621999935, 122.3140278520001 -17.539027621999935, 122.3140278520001 -17.539305399999932, 122.31375007500003 -17.539305399999932, 122.31375007500003 -17.53958317799993, 122.31347229700009 -17.53958317799993, 122.31347229700009 -17.539860954999938, 122.31319451900004 -17.539860954999938, 122.31319451900004 -17.540138732999935, 122.3129167410001 -17.540138732999935, 122.3129167410001 -17.540416510999933, 122.31263896300004 -17.540416510999933, 122.31263896300004 -17.54069428899993, 122.31208340800003 -17.54069428899993, 122.31208340800003 -17.540972066999927, 122.31097229700003 -17.540972066999927, 122.31097229700003 -17.541249843999935, 122.3095834080001 -17.541249843999935, 122.3095834080001 -17.541527621999933, 122.30819451900004 -17.541527621999933, 122.30819451900004 -17.54180539999993, 122.3073611860001 -17.54180539999993, 122.3073611860001 -17.542083177999928, 122.3068056300001 -17.542083177999928, 122.3068056300001 -17.542360954999936, 122.3062500740001 -17.542360954999936, 122.3062500740001 -17.542638732999933, 122.3056945190001 -17.542638732999933, 122.3056945190001 -17.54291651099993, 122.30541674100004 -17.54291651099993, 122.30541674100004 -17.543194288999928, 122.3051389630001 -17.543194288999928, 122.3051389630001 -17.543472066999982, 122.30486118600004 -17.543472066999982, 122.30486118600004 -17.543749843999933, 122.3045834080001 -17.543749843999933, 122.3045834080001 -17.54402762199993, 122.30430563000004 -17.54402762199993, 122.30430563000004 -17.544305399999928, 122.3040278520001 -17.544305399999928, 122.3040278520001 -17.544583177999982, 122.3034722970001 -17.544583177999982, 122.3034722970001 -17.544860954999933, 122.30263896300005 -17.544860954999933, 122.30263896300005 -17.54513873299993, 122.30125007400011 -17.54513873299993, 122.30125007400011 -17.545416510999928, 122.30041674100005 -17.545416510999928, 122.30041674100005 -17.545694288999982, 122.29986118600004 -17.545694288999982, 122.29986118600004 -17.54597206699998, 122.29875007400005 -17.54597206699998, 122.29875007400005 -17.54624984399993, 122.29736118500011 -17.54624984399993, 122.29736118500011 -17.546527621999928, 122.29652785200005 -17.546527621999928, 122.29652785200005 -17.546805399999982, 122.29597229700005 -17.546805399999982, 122.29597229700005 -17.54708317799998, 122.29541674100005 -17.54708317799998, 122.29541674100005 -17.54736095499993, 122.29513896300011 -17.54736095499993, 122.29513896300011 -17.54763873299993, 122.29458340800011 -17.54763873299993, 122.29458340800011 -17.547916510999983, 122.29430563000005 -17.547916510999983, 122.29430563000005 -17.54819428899998, 122.29402785200011 -17.54819428899998, 122.29402785200011 -17.548472066999977, 122.29375007400006 -17.548472066999977, 122.29375007400006 -17.54874984399993, 122.29347229700011 -17.54874984399993, 122.29347229700011 -17.549027621999983, 122.29319451900005 -17.549027621999983, 122.29319451900005 -17.54930539999998, 122.29291674100011 -17.54930539999998, 122.29291674100011 -17.549583177999978, 122.29263896300006 -17.549583177999978, 122.29263896300006 -17.549860955999975, 122.29236118500012 -17.549860955999975, 122.29236118500012 -17.550138732999926, 122.29208340800005 -17.550138732999926, 122.29208340800005 -17.55041651099998, 122.29180563000011 -17.55041651099998, 122.29180563000011 -17.550694288999978, 122.29152785200006 -17.550694288999978, 122.29152785200006 -17.550972066999975, 122.29125007400012 -17.550972066999975, 122.29125007400012 -17.551249843999926, 122.29097229700005 -17.551249843999926, 122.29097229700005 -17.55152762199998, 122.28791674100012 -17.55152762199998, 122.28791674100012 -17.551805399999978, 122.28680563000012 -17.551805399999978, 122.28680563000012 -17.552083177999975, 122.28625007400001 -17.552083177999975, 122.28625007400001 -17.552360955999973, 122.28541674100006 -17.552360955999973, 122.28541674100006 -17.55263873299998, 122.28430563000006 -17.55263873299998, 122.28430563000006 -17.552916510999978, 122.28291674100001 -17.552916510999978, 122.28291674100001 -17.553194288999975, 122.28236118500001 -17.553194288999975, 122.28236118500001 -17.553472066999973, 122.28208340800006 -17.553472066999973, 122.28208340800006 -17.55374984399998, 122.28152785200007 -17.55374984399998, 122.28152785200007 -17.55402762199998, 122.28125007400001 -17.55402762199998, 122.28125007400001 -17.554305399999976, 122.28041674100007 -17.554305399999976, 122.28041674100007 -17.554583177999973, 122.28013896300001 -17.554583177999973, 122.28013896300001 -17.55486095599997, 122.27986118500007 -17.55486095599997, 122.27986118500007 -17.55513873299998, 122.27958340800001 -17.55513873299998, 122.27958340800001 -17.555416510999976, 122.27930563000007 -17.555416510999976, 122.27930563000007 -17.555694288999973, 122.27902785200001 -17.555694288999973, 122.27902785200001 -17.55597206699997, 122.27875007400007 -17.55597206699997, 122.27875007400007 -17.55624984399998, 122.27847229600002 -17.55624984399998, 122.27847229600002 -17.556527621999976, 122.27819451900007 -17.556527621999976, 122.27819451900007 -17.556805399999973, 122.27791674100001 -17.556805399999973, 122.27791674100001 -17.55708317799997, 122.27375007400008 -17.55708317799997, 122.27375007400008 -17.557360955999968, 122.27319451900007 -17.557360955999968, 122.27319451900007 -17.557638732999976, 122.27291674100002 -17.557638732999976, 122.27291674100002 -17.557916510999974, 122.27263896300008 -17.557916510999974, 122.27263896300008 -17.55819428899997, 122.26930563000008 -17.55819428899997, 122.26930563000008 -17.55847206699997, 122.26819451900008 -17.55847206699997, 122.26819451900008 -17.558749843999976, 122.26541674100008 -17.558749843999976, 122.26541674100008 -17.559027621999974, 122.26430563000008 -17.559027621999974, 122.26430563000008 -17.55930539999997, 122.25902785200003 -17.55930539999997, 122.25902785200003 -17.559027621999974, 122.25625007400004 -17.559027621999974, 122.25625007400004 -17.55930539999997, 122.25430563000009 -17.55930539999997, 122.25430563000009 -17.55958317799997, 122.2531945180001 -17.55958317799997, 122.2531945180001 -17.559860955999966, 122.2526389630001 -17.559860955999966, 122.2526389630001 -17.560138732999974, 122.25180563000004 -17.560138732999974, 122.25180563000004 -17.56041651099997, 122.25069451800005 -17.56041651099997, 122.25069451800005 -17.56069428899997, 122.2493056300001 -17.56069428899997, 122.2493056300001 -17.560972066999966, 122.2487500740001 -17.560972066999966, 122.2487500740001 -17.561249843999974, 122.24347229600005 -17.561249843999974, 122.24347229600005 -17.560972066999966, 122.24236118500005 -17.560972066999966, 122.24236118500005 -17.56069428899997, 122.23930562900011 -17.56069428899997, 122.23930562900011 -17.560972066999966, 122.23902785200005 -17.560972066999966, 122.23902785200005 -17.561249843999974, 122.23875007400011 -17.561249843999974, 122.23875007400011 -17.56152762199997, 122.23847229600005 -17.56152762199997, 122.23847229600005 -17.562083177999966, 122.23819451800011 -17.562083177999966, 122.23819451800011 -17.562360955999964, 122.23791674100005 -17.562360955999964, 122.23791674100005 -17.56263873299997, 122.23763896300011 -17.56263873299997, 122.23763896300011 -17.56291651099997, 122.23736118500005 -17.56291651099997, 122.23736118500005 -17.563194288999966, 122.23708340700011 -17.563194288999966, 122.23708340700011 -17.563472066999964, 122.23680562900006 -17.563472066999964, 122.23680562900006 -17.56374984499996, 122.23652785200011 -17.56374984499996, 122.23652785200011 -17.56402762199997, 122.23625007400005 -17.56402762199997, 122.23625007400005 -17.564305399999967, 122.23597229600011 -17.564305399999967, 122.23597229600011 -17.564583177999964, 122.23569451800006 -17.564583177999964, 122.23569451800006 -17.56486095599996, 122.23513896300005 -17.56486095599996, 122.23513896300005 -17.56513873299997, 122.23236118500006 -17.56513873299997, 122.23236118500006 -17.56486095599996, 122.23208340700012 -17.56486095599996, 122.23208340700012 -17.564583177999964, 122.23180562900006 -17.564583177999964, 122.23180562900006 -17.564305399999967, 122.23152785200011 -17.564305399999967, 122.23152785200011 -17.56402762199997, 122.23125007400006 -17.56402762199997, 122.23125007400006 -17.56374984499996, 122.23097229600012 -17.56374984499996, 122.23097229600012 -17.563472066999964, 122.22430562900001 -17.563472066999964, 122.22430562900001 -17.563194288999966, 122.22402785200006 -17.563194288999966, 122.22402785200006 -17.56291651099997, 122.22375007400001 -17.56291651099997, 122.22375007400001 -17.56263873299997, 122.22347229600007 -17.56263873299997, 122.22347229600007 -17.562360955999964, 122.22319451800001 -17.562360955999964, 122.22319451800001 -17.562083177999966, 122.22291674000007 -17.562083177999966, 122.22291674000007 -17.56180539999997, 122.22263896300001 -17.56180539999997, 122.22263896300001 -17.56152762199997, 122.22236118500007 -17.56152762199997, 122.22236118500007 -17.561249843999974, 122.22208340700001 -17.561249843999974, 122.22208340700001 -17.560972066999966, 122.22180562900007 -17.560972066999966, 122.22180562900007 -17.56069428899997, 122.22152785200001 -17.56069428899997, 122.22152785200001 -17.56041651099997, 122.22097229600001 -17.56041651099997, 122.22097229600001 -17.560138732999974, 122.22041674000002 -17.560138732999974, 122.22041674000002 -17.559860955999966, 122.21958340700007 -17.559860955999966, 122.21958340700007 -17.55958317799997, 122.21930562900002 -17.55958317799997, 122.21930562900002 -17.55930539999997, 122.21875007400001 -17.55930539999997, 122.21875007400001 -17.559027621999974, 122.21847229600007 -17.559027621999974, 122.21847229600007 -17.558749843999976, 122.21819451800002 -17.558749843999976, 122.21819451800002 -17.55847206699997, 122.21791674000008 -17.55847206699997, 122.21791674000008 -17.55819428899997, 122.21736118500007 -17.55819428899997, 122.21736118500007 -17.557916510999974, 122.21680562900008 -17.557916510999974, 122.21680562900008 -17.557638732999976, 122.21625007400007 -17.557638732999976, 122.21625007400007 -17.557360955999968, 122.21569451800008 -17.557360955999968, 122.21569451800008 -17.55708317799997, 122.21541674000002 -17.55708317799997, 122.21541674000002 -17.556805399999973, 122.21486118500002 -17.556805399999973, 122.21486118500002 -17.556527621999976, 122.21402785100008 -17.556527621999976, 122.21402785100008 -17.55624984399998, 122.21319451800002 -17.55624984399998, 122.21319451800002 -17.55597206699997, 122.21236118500008 -17.55597206699997, 122.21236118500008 -17.555694288999973, 122.21208340700002 -17.555694288999973, 122.21208340700002 -17.555416510999976, 122.21180562900008 -17.555416510999976, 122.21180562900008 -17.55513873299998, 122.21152785100003 -17.55513873299998, 122.21152785100003 -17.55486095599997, 122.21125007400008 -17.55486095599997, 122.21125007400008 -17.554583177999973, 122.21097229600002 -17.554583177999973, 122.21097229600002 -17.554305399999976, 122.21069451800008 -17.554305399999976, 122.21069451800008 -17.55402762199998, 122.21041674000003 -17.55402762199998, 122.21041674000003 -17.55374984399998, 122.21013896300008 -17.55374984399998, 122.21013896300008 -17.553472066999973, 122.20958340700008 -17.553472066999973, 122.20958340700008 -17.553194288999975, 122.20930562900003 -17.553194288999975, 122.20930562900003 -17.552916510999978, 122.20902785100009 -17.552916510999978, 122.20902785100009 -17.55263873299998, 122.20875007400002 -17.55263873299998, 122.20875007400002 -17.552360955999973, 122.20847229600008 -17.552360955999973, 122.20847229600008 -17.552083177999975, 122.20819451800003 -17.552083177999975, 122.20819451800003 -17.551805399999978, 122.20791674000009 -17.551805399999978, 122.20791674000009 -17.55152762199998, 122.20763896300002 -17.55152762199998, 122.20763896300002 -17.551249843999926, 122.20736118500008 -17.551249843999926, 122.20736118500008 -17.550972066999975, 122.20708340700003 -17.550972066999975, 122.20708340700003 -17.550694288999978, 122.20680562900009 -17.550694288999978, 122.20680562900009 -17.55041651099998, 122.20652785100003 -17.55041651099998, 122.20652785100003 -17.550138732999926, 122.20625007400008 -17.550138732999926, 122.20625007400008 -17.549860955999975, 122.20597229600003 -17.549860955999975, 122.20597229600003 -17.549583177999978, 122.20541674000003 -17.549583177999978, 122.20541674000003 -17.54930539999998, 122.20513896300008 -17.54930539999998, 122.20513896300008 -17.549027621999983, 122.20458340700009 -17.549027621999983, 122.20458340700009 -17.54874984399993, 122.20375007400003 -17.54874984399993, 122.20375007400003 -17.548472066999977, 122.20236118500009 -17.548472066999977, 122.20236118500009 -17.54819428899998, 122.20208340700003 -17.54819428899998, 122.20208340700003 -17.547916510999983, 122.20180562900009 -17.547916510999983, 122.20180562900009 -17.54763873299993, 122.20152785100004 -17.54763873299993, 122.20152785100004 -17.54736095499993, 122.20125007400009 -17.54736095499993, 122.20125007400009 -17.54708317799998, 122.20097229600003 -17.54708317799998, 122.20097229600003 -17.546805399999982, 122.20069451800009 -17.546805399999982, 122.20069451800009 -17.546527621999928, 122.20041674000004 -17.546527621999928, 122.20041674000004 -17.54624984399993, 122.19986118500003 -17.54624984399993, 122.19986118500003 -17.54597206699998, 122.18986118500004 -17.54597206699998, 122.18986118500004 -17.545694288999982, 122.1890278510001 -17.545694288999982, 122.1890278510001 -17.545416510999928, 122.1884722960001 -17.545416510999928, 122.1884722960001 -17.54513873299993, 122.1879167400001 -17.54513873299993, 122.1879167400001 -17.544860954999933, 122.18708340700005 -17.544860954999933, 122.18708340700005 -17.544583177999982, 122.18652785100005 -17.544583177999982, 122.18652785100005 -17.544305399999928, 122.18625007300011 -17.544305399999928, 122.18625007300011 -17.54402762199993, 122.18597229600005 -17.54402762199993, 122.18597229600005 -17.543749843999933, 122.1856945180001 -17.543749843999933, 122.1856945180001 -17.543472066999982, 122.18541674000005 -17.543472066999982, 122.18541674000005 -17.54291651099993, 122.18513896200011 -17.54291651099993, 122.18513896200011 -17.542638732999933, 122.18486118500005 -17.542638732999933, 122.18486118500005 -17.542360954999936, 122.1845834070001 -17.542360954999936, 122.1845834070001 -17.54180539999993, 122.18430562900005 -17.54180539999993, 122.18430562900005 -17.541527621999933, 122.18402785100011 -17.541527621999933, 122.18402785100011 -17.541249843999935, 122.1834722960001 -17.541249843999935, 122.1834722960001 -17.540972066999927, 122.18291674000011 -17.540972066999927, 122.18291674000011 -17.54069428899993, 122.1823611850001 -17.54069428899993, 122.1823611850001 -17.540416510999933, 122.18180562900011 -17.540416510999933, 122.18180562900011 -17.540138732999935, 122.18125007300011 -17.540138732999935, 122.18125007300011 -17.539860954999938, 122.18097229600005 -17.539860954999938, 122.18097229600005 -17.53958317799993, 122.18041674000006 -17.53958317799993, 122.18041674000006 -17.539305399999932, 122.18013896200011 -17.539305399999932, 122.18013896200011 -17.539027621999935, 122.17986118500005 -17.539027621999935, 122.17986118500005 -17.538749843999938, 122.17708340700005 -17.538749843999938, 122.17708340700005 -17.539027621999935, 122.17652785100006 -17.539027621999935, 122.17652785100006 -17.539305399999932, 122.17597229600005 -17.539305399999932, 122.17597229600005 -17.53958317799993, 122.175138962 -17.53958317799993, 122.175138962 -17.539860954999938, 122.16680562900001 -17.539860954999938, 122.16680562900001 -17.53958317799993, 122.16652785100007 -17.53958317799993, 122.16597229600006 -17.53958317799993, 122.16597229600006 -17.539305399999932, 122.16569451800001 -17.539305399999932, 122.16569451800001 -17.539027621999935, 122.16513896200001 -17.539027621999935, 122.16513896200001 -17.538749843999938, 122.16486118400007 -17.538749843999938, 122.16486118400007 -17.53847206699993, 122.15736118400002 -17.53847206699993, 122.15736118400002 -17.538749843999938, 122.15541674000008 -17.538749843999938, 122.15541674000008 -17.539027621999935, 122.15097229500009 -17.539027621999935, 122.15097229500009 -17.539305399999932, 122.15097229500009 -17.542360954999936, 122.15097229500009 -17.54402762199993, 122.15125007300003 -17.54402762199993, 122.15125007300003 -17.545416510999928, 122.15152785100008 -17.545416510999928, 122.15152785100008 -17.547916510999983, 122.15125007300003 -17.547916510999983, 122.15125007300003 -17.54874984399993, 122.15097229500009 -17.54874984399993, 122.15097229500009 -17.549583177999978, 122.15069451800002 -17.549583177999978, 122.15069451800002 -17.550694288999978, 122.15041674000008 -17.550694288999978, 122.15041674000008 -17.551249843999926, 122.15013896200003 -17.551249843999926, 122.15013896200003 -17.550972066999975, 122.14736118400003 -17.550972066999975, 122.14736118400003 -17.54291651099993, 122.14708340700008 -17.54291651099993, 122.14708340700008 -17.539305399999932, 122.14736118400003 -17.539305399999932, 122.14736118400003 -17.536805399999935, 122.14763896200009 -17.536805399999935, 122.14763896200009 -17.536527621999937, 122.14736118400003 -17.536527621999937, 122.14736118400003 -17.53513873299994, 122.14708340700008 -17.53513873299994, 122.14708340700008 -17.53402762199994, 122.14680562900003 -17.53402762199994, 122.14680562900003 -17.533194288999937, 122.14652785100009 -17.533194288999937, 122.14652785100009 -17.53291651099994, 122.14652785100009 -17.532638732999942, 122.14652785100009 -17.532083177999937, 122.14625007300003 -17.532083177999937, 122.14625007300003 -17.53180539999994, 122.14625007300003 -17.531527621999942, 122.14652785100009 -17.531527621999942, 122.14652785100009 -17.531249843999944, 122.14652785100009 -17.528749843999947, 122.14625007300003 -17.528749843999947, 122.14625007300003 -17.526805399999944, 122.14597229500009 -17.526805399999944, 122.14597229500009 -17.52513873299995, 122.14569451800003 -17.52513873299995, 122.14569451800003 -17.523472065999954, 122.14597229500009 -17.523472065999954, 122.14597229500009 -17.522360954999954, 122.14569451800003 -17.522360954999954, 122.14569451800003 -17.51958317699996, 122.14541674000009 -17.51958317699996, 122.14541674000009 -17.518749843999956, 122.14513896200003 -17.518749843999956, 122.14513896200003 -17.517916510999953, 122.14486118400009 -17.517916510999953, 122.14486118400009 -17.516805399999953, 122.14763896200009 -17.516805399999953, 122.14763896200009 -17.51708317699996, 122.14791674000003 -17.51708317699996, 122.14791674000003 -17.51736095499996, 122.14819451800008 -17.51736095499996, 122.14819451800008 -17.517916510999953, 122.14847229500003 -17.517916510999953, 122.14847229500003 -17.518749843999956, 122.14847229500003 -17.51930539999995, 122.14847229500003 -17.51958317699996, 122.14847229500003 -17.519860954999956, 122.14875007300009 -17.519860954999956, 122.14875007300009 -17.52041651099995, 122.14902785100003 -17.52041651099995, 122.14902785100003 -17.521249843999954, 122.14930562900008 -17.521249843999954, 122.14930562900008 -17.52291651099995, 122.14930562900008 -17.524583177999943, 122.14930562900008 -17.52486095499995, 122.14958340700002 -17.52486095499995, 122.14958340700002 -17.52597206599995, 122.14958340700002 -17.52624984399995, 122.14986118400009 -17.52624984399995, 122.14986118400009 -17.526805399999944, 122.14986118400009 -17.52708317799994, 122.15013896200003 -17.52708317799994, 122.15013896200003 -17.526805399999944, 122.15375007300008 -17.526805399999944, 122.15375007300008 -17.526527621999946, 122.15486118400008 -17.526527621999946, 122.15486118400008 -17.52624984399995, 122.15652785100008 -17.52624984399995, 122.15652785100008 -17.52597206599995, 122.15986118400008 -17.52597206599995, 122.15986118400008 -17.525694288999944, 122.16041674000007 -17.525694288999944, 122.16041674000007 -17.525416510999946, 122.16097229600007 -17.525416510999946, 122.16097229600007 -17.52513873299995, 122.16208340700007 -17.52513873299995, 122.16208340700007 -17.52486095499995, 122.16347229600001 -17.52486095499995, 122.16347229600001 -17.524583177999943, 122.17069451800012 -17.524583177999943, 122.17069451800012 -17.524305399999946, 122.17097229600006 -17.524305399999946, 122.17097229600006 -17.52402762199995, 122.17125007300001 -17.52402762199995, 122.17125007300001 -17.52374984399995, 122.17152785100006 -17.52374984399995, 122.17152785100006 -17.523472065999954, 122.17180562900012 -17.523472065999954, 122.17180562900012 -17.523194288999946, 122.17208340700006 -17.523194288999946, 122.17208340700006 -17.52291651099995, 122.17236118400001 -17.52291651099995, 122.17236118400001 -17.52263873299995, 122.17291674000012 -17.52263873299995, 122.17291674000012 -17.522360954999954, 122.17458340700011 -17.522360954999954, 122.17458340700011 -17.522083177999946, 122.175138962 -17.522083177999946, 122.175138962 -17.52180539999995, 122.17541674000006 -17.52180539999995, 122.17541674000006 -17.52152762199995, 122.17569451800011 -17.52152762199995, 122.17569451800011 -17.521249843999954, 122.17597229600005 -17.521249843999954, 122.17597229600005 -17.520972065999956, 122.176250073 -17.520972065999956, 122.176250073 -17.520694288999948, 122.17652785100006 -17.520694288999948, 122.17652785100006 -17.52041651099995, 122.17680562900011 -17.52041651099995, 122.17680562900011 -17.520138732999953, 122.17708340700005 -17.520138732999953, 122.17708340700005 -17.519860954999956, 122.17736118500011 -17.519860954999956, 122.17736118500011 -17.51958317699996, 122.17763896200006 -17.51958317699996, 122.17763896200006 -17.51930539999995, 122.17791674000011 -17.51930539999995, 122.17791674000011 -17.519027621999953, 122.17819451800005 -17.519027621999953, 122.17819451800005 -17.518749843999956, 122.17847229600011 -17.518749843999956, 122.17847229600011 -17.51847206599996, 122.17875007300006 -17.51847206599996, 122.17875007300006 -17.51819428899995, 122.17902785100011 -17.51819428899995, 122.17902785100011 -17.517916510999953, 122.17930562900005 -17.517916510999953, 122.17930562900005 -17.517638732999956, 122.17958340700011 -17.517638732999956, 122.17958340700011 -17.51736095499996, 122.17986118500005 -17.51736095499996, 122.17986118500005 -17.51708317699996, 122.18013896200011 -17.51708317699996, 122.18013896200011 -17.516805399999953, 122.18125007300011 -17.516805399999953, 122.18125007300011 -17.516527621999955, 122.18208340700005 -17.516527621999955, 122.18208340700005 -17.516249843999958, 122.18319451800005 -17.516249843999958, 122.18319451800005 -17.51597206599996, 122.18402785100011 -17.51597206599996, 122.18402785100011 -17.515694288999953, 122.1845834070001 -17.515694288999953, 122.1845834070001 -17.515416510999955, 122.18513896200011 -17.515416510999955, 122.18513896200011 -17.515138732999958, 122.18986118500004 -17.515138732999958, 122.18986118500004 -17.515416510999955, 122.19041674000005 -17.515416510999955, 122.19041674000005 -17.515694288999953, 122.1912500740001 -17.515694288999953, 122.1912500740001 -17.51597206599996, 122.19208340700004 -17.51597206599996, 122.19208340700004 -17.516249843999958, 122.19541674000004 -17.516249843999958, 122.19541674000004 -17.516527621999955, 122.19625007400009 -17.516527621999955, 122.19625007400009 -17.516805399999953, 122.1968056290001 -17.516805399999953, 122.1968056290001 -17.51708317699996, 122.19763896200004 -17.51708317699996, 122.19763896200004 -17.51736095499996, 122.20902785100009 -17.51736095499996, 122.20902785100009 -17.51708317699996, 122.20930562900003 -17.51708317699996, 122.20930562900003 -17.516805399999953, 122.20958340700008 -17.516805399999953, 122.20958340700008 -17.516527621999955, 122.21013896300008 -17.516527621999955, 122.21013896300008 -17.516249843999958, 122.21069451800008 -17.516249843999958, 122.21069451800008 -17.51597206599996, 122.21125007400008 -17.51597206599996, 122.21125007400008 -17.515694288999953, 122.21152785100003 -17.515694288999953, 122.21152785100003 -17.515416510999955, 122.21180562900008 -17.515416510999955, 122.21180562900008 -17.515138732999958, 122.21208340700002 -17.515138732999958, 122.21208340700002 -17.51486095499996, 122.21236118500008 -17.51486095499996, 122.21236118500008 -17.514583176999963, 122.21263896300002 -17.514583176999963, 122.21263896300002 -17.514305399999955, 122.21291674000008 -17.514305399999955, 122.21291674000008 -17.514027621999958, 122.21319451800002 -17.514027621999958, 122.21319451800002 -17.51374984399996, 122.21347229600008 -17.51374984399996, 122.21347229600008 -17.513472065999963, 122.21375007400002 -17.513472065999963, 122.21375007400002 -17.513194288999955, 122.21402785100008 -17.513194288999955, 122.21402785100008 -17.512916510999958, 122.21430562900002 -17.512916510999958, 122.21430562900002 -17.51263873299996, 122.21458340700008 -17.51263873299996, 122.21458340700008 -17.512360954999963, 122.21486118500002 -17.512360954999963, 122.21486118500002 -17.512083176999965, 122.21513896300007 -17.512083176999965, 122.21513896300007 -17.511805399999957, 122.21541674000002 -17.511805399999957, 122.21541674000002 -17.51152762199996, 122.21569451800008 -17.51152762199996, 122.21569451800008 -17.511249843999963, 122.21597229600002 -17.511249843999963, 122.21597229600002 -17.510972065999965, 122.21625007400007 -17.510972065999965, 122.21625007400007 -17.510694288999957, 122.21652785200001 -17.510694288999957, 122.21652785200001 -17.51041651099996, 122.21680562900008 -17.51041651099996, 122.21680562900008 -17.510138732999962, 122.21791674000008 -17.510138732999962, 122.21791674000008 -17.509860954999965, 122.21902785200007 -17.509860954999965, 122.21902785200007 -17.509583176999968, 122.21958340700007 -17.509583176999968, 122.21958340700007 -17.50930539999996, 122.21986118500001 -17.50930539999996, 122.21986118500001 -17.509027621999962, 122.22013896300007 -17.509027621999962, 122.22013896300007 -17.508749843999965, 122.22041674000002 -17.508749843999965, 122.22041674000002 -17.508472065999968, 122.22069451800007 -17.508472065999968, 122.22069451800007 -17.50819428899996, 122.22097229600001 -17.50819428899996, 122.22097229600001 -17.507916510999962, 122.22125007400007 -17.507916510999962, 122.22125007400007 -17.507638732999965, 122.22152785200001 -17.507638732999965, 122.22152785200001 -17.507360954999967, 122.22180562900007 -17.507360954999967, 122.22180562900007 -17.50708317699997, 122.22208340700001 -17.50708317699997, 122.22208340700001 -17.506805399999962, 122.22708340700001 -17.506805399999962, 122.22708340700001 -17.506527621999965, 122.22763896300012 -17.506527621999965, 122.22763896300012 -17.506249843999967, 122.22791674000007 -17.506249843999967, 122.22791674000007 -17.50597206599997, 122.22847229600006 -17.50597206599997, 122.22847229600006 -17.505694287999972, 122.23680562900006 -17.505694287999972, 122.23680562900006 -17.505416510999964, 122.23736118500005 -17.505416510999964, 122.23736118500005 -17.505138732999967, 122.23763896300011 -17.505138732999967, 122.23763896300011 -17.50486095499997, 122.23791674100005 -17.50486095499997, 122.23791674100005 -17.504583176999972, 122.23819451800011 -17.504583176999972, 122.23819451800011 -17.504305399999964, 122.23847229600005 -17.504305399999964, 122.23847229600005 -17.504027621999967, 122.23902785200005 -17.504027621999967, 122.23902785200005 -17.50374984399997, 122.23930562900011 -17.50374984399997, 122.23930562900011 -17.503472065999972, 122.23958340700005 -17.503472065999972, 122.23958340700005 -17.503194287999975, 122.23986118500011 -17.503194287999975, 122.23986118500011 -17.502916510999967, 122.24013896300005 -17.502916510999967, 122.24013896300005 -17.50263873299997, 122.2404167410001 -17.50263873299997, 122.2404167410001 -17.502360954999972, 122.24069451800005 -17.502360954999972, 122.24069451800005 -17.502083176999975, 122.24097229600011 -17.502083176999975, 122.24097229600011 -17.501805399999967, 122.24125007400005 -17.501805399999967, 122.24125007400005 -17.50152762199997, 122.2415278520001 -17.50152762199997, 122.2415278520001 -17.50124984399997, 122.24180562900005 -17.50124984399997, 122.24180562900005 -17.500972065999974, 122.24208340700011 -17.500972065999974, 122.24208340700011 -17.500694287999977, 122.24236118500005 -17.500694287999977, 122.24236118500005 -17.50041651099997, 122.2426389630001 -17.50041651099997, 122.2426389630001 -17.50013873299997, 122.24291674100004 -17.50013873299997, 122.24291674100004 -17.499860954999974, 122.24319451800011 -17.499860954999974, 122.24319451800011 -17.499583176999977, 122.24347229600005 -17.499583176999977, 122.24347229600005 -17.49930539999997, 122.2437500740001 -17.49930539999997, 122.2437500740001 -17.49902762199997, 122.24402785200004 -17.49902762199997, 122.24402785200004 -17.498749843999974, 122.2443056300001 -17.498749843999974, 122.2443056300001 -17.498472065999977, 122.24458340700005 -17.498472065999977, 122.24458340700005 -17.49819428799998, 122.2448611850001 -17.49819428799998, 122.2448611850001 -17.49791651099997, 122.24513896300004 -17.49791651099997, 122.24513896300004 -17.497638732999974, 122.2454167410001 -17.497638732999974, 122.2454167410001 -17.497360954999976, 122.24569451800005 -17.497360954999976, 122.24569451800005 -17.49708317699998, 122.2459722960001 -17.49708317699998, 122.2459722960001 -17.49680539999997, 122.24625007400005 -17.49680539999997, 122.24625007400005 -17.496527621999974, 122.2465278520001 -17.496527621999974, 122.2465278520001 -17.496249843999976, 122.24680563000004 -17.496249843999976, 122.24680563000004 -17.49597206599998, 122.2470834070001 -17.49597206599998, 122.2470834070001 -17.49569428799998, 122.24736118500005 -17.49569428799998, 122.24736118500005 -17.495416510999974, 122.2476389630001 -17.495416510999974, 122.2476389630001 -17.495138732999976, 122.2548611850001 -17.495138732999976)))"^^geo:wktLiteral ] ; - geo:hasMetricArea 8.701201e+07 . - - a geo:Feature, - ahgf:ContractedCatchment ; - dcterms:identifier "102208962"^^xsd:token ; - dcterms:title "Contracted Catchment 102208962" ; - dcterms:type ahgf:NonContractedArea ; - geo:hasGeometry [ geo:asWKT "MULTIPOLYGON (((122.23180562900006 -17.564583177999964, 122.23208340700012 -17.564583177999964, 122.23208340700012 -17.56486095599996, 122.23180562900006 -17.56486095599996, 122.23180562900006 -17.564583177999964)), ((122.23180562900006 -17.564583177999964, 122.23152785200011 -17.564583177999964, 122.23152785200011 -17.564305399999967, 122.23180562900006 -17.564305399999967, 122.23180562900006 -17.564583177999964)), ((122.23152785200011 -17.564305399999967, 122.23125007400006 -17.564305399999967, 122.23125007400006 -17.56402762199997, 122.23152785200011 -17.56402762199997, 122.23152785200011 -17.564305399999967)), ((122.23125007400006 -17.56402762199997, 122.22902785200006 -17.56402762199997, 122.22902785200006 -17.564305399999967, 122.22875007400012 -17.564305399999967, 122.22875007400012 -17.564583177999964, 122.22847229600006 -17.564583177999964, 122.22847229600006 -17.56486095599996, 122.22819451800001 -17.56486095599996, 122.22819451800001 -17.56513873299997, 122.22791674000007 -17.56513873299997, 122.22791674000007 -17.565416510999967, 122.22763896300012 -17.565416510999967, 122.22763896300012 -17.565694288999964, 122.22736118500006 -17.565694288999964, 122.22736118500006 -17.56597206699996, 122.22708340700001 -17.56597206699996, 122.22708340700001 -17.56624984499996, 122.22680562900007 -17.56624984499996, 122.22680562900007 -17.566527621999967, 122.22291674000007 -17.566527621999967, 122.22291674000007 -17.566805399999964, 122.22263896300001 -17.566805399999964, 122.22263896300001 -17.56708317799996, 122.22236118500007 -17.56708317799996, 122.22236118500007 -17.56736095599996, 122.22208340700001 -17.56736095599996, 122.22208340700001 -17.567638732999967, 122.22180562900007 -17.567638732999967, 122.22180562900007 -17.567916510999964, 122.22152785200001 -17.567916510999964, 122.22152785200001 -17.568194288999962, 122.22125007400007 -17.568194288999962, 122.22125007400007 -17.56847206699996, 122.22097229600001 -17.56847206699996, 122.22097229600001 -17.568749844999957, 122.22069451800007 -17.568749844999957, 122.22069451800007 -17.569027621999965, 122.22041674000002 -17.569027621999965, 122.22041674000002 -17.569305399999962, 122.22013896300007 -17.569305399999962, 122.22013896300007 -17.56958317799996, 122.21986118500001 -17.56958317799996, 122.21986118500001 -17.569860955999957, 122.21958340700007 -17.569860955999957, 122.21958340700007 -17.570138732999965, 122.21930562900002 -17.570138732999965, 122.21930562900002 -17.570416510999962, 122.21902785200007 -17.570416510999962, 122.21902785200007 -17.57069428899996, 122.21875007400001 -17.57069428899996, 122.21875007400001 -17.570972066999957, 122.21208340700002 -17.570972066999957, 122.21208340700002 -17.571249844999954, 122.21180562900008 -17.571249844999954, 122.21180562900008 -17.571527621999962, 122.21152785100003 -17.571527621999962, 122.21152785100003 -17.57180539999996, 122.21125007400008 -17.57180539999996, 122.21125007400008 -17.572083177999957, 122.21097229600002 -17.572083177999957, 122.21097229600002 -17.572360955999955, 122.21069451800008 -17.572360955999955, 122.21069451800008 -17.572638732999962, 122.21041674000003 -17.572638732999962, 122.21041674000003 -17.57291651099996, 122.21013896300008 -17.57291651099996, 122.21013896300008 -17.573194288999957, 122.20986118500002 -17.573194288999957, 122.20986118500002 -17.573472066999955, 122.20958340700008 -17.573472066999955, 122.20958340700008 -17.573749844999952, 122.20930562900003 -17.573749844999952, 122.20930562900003 -17.57402762199996, 122.20902785100009 -17.57402762199996, 122.20902785100009 -17.574305399999957, 122.20875007400002 -17.574305399999957, 122.20875007400002 -17.574583177999955, 122.20847229600008 -17.574583177999955, 122.20847229600008 -17.574860955999952, 122.20819451800003 -17.574860955999952, 122.20819451800003 -17.57513873299996, 122.20791674000009 -17.57513873299996, 122.20791674000009 -17.575416510999958, 122.20763896300002 -17.575416510999958, 122.20763896300002 -17.575694288999955, 122.20736118500008 -17.575694288999955, 122.20736118500008 -17.575972066999952, 122.20708340700003 -17.575972066999952, 122.20708340700003 -17.57624984499995, 122.20680562900009 -17.57624984499995, 122.20680562900009 -17.576527621999958, 122.20652785100003 -17.576527621999958, 122.20652785100003 -17.576805399999955, 122.20625007400008 -17.576805399999955, 122.20625007400008 -17.577083177999953, 122.20597229600003 -17.577083177999953, 122.20597229600003 -17.57736095599995, 122.20569451800009 -17.57736095599995, 122.20569451800009 -17.577638733999947, 122.20541674000003 -17.577638733999947, 122.20541674000003 -17.577916510999955, 122.20513896300008 -17.577916510999955, 122.20513896300008 -17.578194288999953, 122.20486118500003 -17.578194288999953, 122.20486118500003 -17.57847206699995, 122.20430562900003 -17.57847206699995, 122.20430562900003 -17.578749844999948, 122.20402785100009 -17.578749844999948, 122.20402785100009 -17.579027621999955, 122.20375007400003 -17.579027621999955, 122.20375007400003 -17.579305399999953, 122.20347229600009 -17.579305399999953, 122.20347229600009 -17.57958317799995, 122.2001389620001 -17.57958317799995, 122.2001389620001 -17.579860955999948, 122.19986118500003 -17.579860955999948, 122.19986118500003 -17.580138733999945, 122.19958340700009 -17.580138733999945, 122.19958340700009 -17.580416510999953, 122.19930562900004 -17.580416510999953, 122.19930562900004 -17.58069428899995, 122.1990278510001 -17.58069428899995, 122.1990278510001 -17.580972066999948, 122.19875007400003 -17.580972066999948, 122.19875007400003 -17.581249844999945, 122.19847229600009 -17.581249844999945, 122.19847229600009 -17.581527621999953, 122.19819451800004 -17.581527621999953, 122.19819451800004 -17.58180539999995, 122.1979167400001 -17.58180539999995, 122.1979167400001 -17.582083177999948, 122.19763896200004 -17.582083177999948, 122.19763896200004 -17.582360955999945, 122.19736118500009 -17.582360955999945, 122.19736118500009 -17.582638733999943, 122.19708340700004 -17.582638733999943, 122.19708340700004 -17.58291651099995, 122.19652785100004 -17.58291651099995, 122.19652785100004 -17.583194288999948, 122.19597229600004 -17.583194288999948, 122.19597229600004 -17.583472066999946, 122.19152785100005 -17.583472066999946, 122.19152785100005 -17.583749844999943, 122.1912500740001 -17.583749844999943, 122.1912500740001 -17.58402762199995, 122.19097229600004 -17.58402762199995, 122.19097229600004 -17.58430539999995, 122.1906945180001 -17.58430539999995, 122.1906945180001 -17.584583177999946, 122.19041674000005 -17.584583177999946, 122.19041674000005 -17.584860955999943, 122.18986118500004 -17.584860955999943, 122.18986118500004 -17.58513873399994, 122.1868056290001 -17.58513873399994, 122.1868056290001 -17.584860955999943, 122.18597229600005 -17.584860955999943, 122.18597229600005 -17.584583177999946, 122.18541674000005 -17.584583177999946, 122.18541674000005 -17.58430539999995, 122.18513896200011 -17.58430539999995, 122.18513896200011 -17.584583177999946, 122.18541674000005 -17.584583177999946, 122.18541674000005 -17.584860955999943, 122.1856945180001 -17.584860955999943, 122.1856945180001 -17.58986095599994, 122.18541674000005 -17.58986095599994, 122.18541674000005 -17.59097206699994, 122.18513896200011 -17.59097206699994, 122.18513896200011 -17.591249844999936, 122.18513896200011 -17.591527622999934, 122.18541674000005 -17.591527622999934, 122.1856945180001 -17.591527622999934, 122.1856945180001 -17.59180539999994, 122.18597229600005 -17.59180539999994, 122.18597229600005 -17.59208317799994, 122.18625007300011 -17.59208317799994, 122.18625007300011 -17.592360955999936, 122.18652785100005 -17.592360955999936, 122.18652785100005 -17.592638733999934, 122.1868056290001 -17.592638733999934, 122.1868056290001 -17.59291651099994, 122.18708340700005 -17.59291651099994, 122.18708340700005 -17.59430539999994, 122.18708340700005 -17.594583177999937, 122.18708340700005 -17.594860955999934, 122.1868056290001 -17.594860955999934, 122.1868056290001 -17.59513873399993, 122.1868056290001 -17.59541651099994, 122.1868056290001 -17.595694288999937, 122.1868056290001 -17.595972066999934, 122.1868056290001 -17.59624984499993, 122.18652785100005 -17.59624984499993, 122.18652785100005 -17.59652762299993, 122.18652785100005 -17.596805399999937, 122.18652785100005 -17.597083177999934, 122.18625007300011 -17.597083177999934, 122.18625007300011 -17.59736095599993, 122.18597229600005 -17.59736095599993, 122.18597229600005 -17.59763873399993, 122.18597229600005 -17.597916510999937, 122.1856945180001 -17.597916510999937, 122.1856945180001 -17.598194288999935, 122.18541674000005 -17.598194288999935, 122.18541674000005 -17.598472066999932, 122.18541674000005 -17.59874984499993, 122.18541674000005 -17.599027622999927, 122.18513896200011 -17.599027622999927, 122.18513896200011 -17.599305399999935, 122.18513896200011 -17.599583177999932, 122.18513896200011 -17.59986095599993, 122.18486118500005 -17.59986095599993, 122.18486118500005 -17.600138733999927, 122.18486118500005 -17.600416510999935, 122.18486118500005 -17.600694288999932, 122.18486118500005 -17.60097206699993, 122.1845834070001 -17.60097206699993, 122.1845834070001 -17.601249844999927, 122.18430562900005 -17.601249844999927, 122.18430562900005 -17.60152762299998, 122.18402785100011 -17.60152762299998, 122.18402785100011 -17.601805399999932, 122.18375007300006 -17.601805399999932, 122.18375007300006 -17.60208317799993, 122.1834722960001 -17.60208317799993, 122.1834722960001 -17.602360955999927, 122.18319451800005 -17.602360955999927, 122.18319451800005 -17.60263873399998, 122.18291674000011 -17.60263873399998, 122.18291674000011 -17.602916510999933, 122.18263896200006 -17.602916510999933, 122.18263896200006 -17.60319428899993, 122.1823611850001 -17.60319428899993, 122.1823611850001 -17.603472066999927, 122.18208340700005 -17.603472066999927, 122.18208340700005 -17.60374984499998, 122.18180562900011 -17.60374984499998, 122.18180562900011 -17.60402762299998, 122.18152785100006 -17.60402762299998, 122.18152785100006 -17.60430539999993, 122.18125007300011 -17.60430539999993, 122.18125007300011 -17.604583177999928, 122.18097229600005 -17.604583177999928, 122.18097229600005 -17.604860955999982, 122.18069451800011 -17.604860955999982, 122.18069451800011 -17.60513873399998, 122.18041674000006 -17.60513873399998, 122.18041674000006 -17.605416511999977, 122.18013896200011 -17.605416511999977, 122.18013896200011 -17.605694288999928, 122.17986118500005 -17.605694288999928, 122.17986118500005 -17.605972066999982, 122.17958340700011 -17.605972066999982, 122.17958340700011 -17.60624984499998, 122.17930562900005 -17.60624984499998, 122.17930562900005 -17.606527622999977, 122.17902785100011 -17.606527622999977, 122.17902785100011 -17.606805399999928, 122.17875007300006 -17.606805399999928, 122.17875007300006 -17.607083177999982, 122.17847229600011 -17.607083177999982, 122.17847229600011 -17.60736095599998, 122.17819451800005 -17.60736095599998, 122.17819451800005 -17.607638733999977, 122.17791674000011 -17.607638733999977, 122.17791674000011 -17.607916511999974, 122.17763896200006 -17.607916511999974, 122.17763896200006 -17.608194288999982, 122.17736118500011 -17.608194288999982, 122.17736118500011 -17.60847206699998, 122.17708340700005 -17.60847206699998, 122.17708340700005 -17.608749844999977, 122.17680562900011 -17.608749844999977, 122.17680562900011 -17.609027622999974, 122.17652785100006 -17.609027622999974, 122.17652785100006 -17.608749844999977, 122.17652785100006 -17.60847206699998, 122.176250073 -17.60847206699998, 122.176250073 -17.608194288999982, 122.176250073 -17.607916511999974, 122.176250073 -17.607638733999977, 122.17597229600005 -17.607638733999977, 122.17597229600005 -17.60736095599998, 122.17597229600005 -17.607083177999982, 122.17597229600005 -17.606805399999928, 122.17569451800011 -17.606805399999928, 122.17569451800011 -17.606527622999977, 122.17569451800011 -17.60624984499998, 122.17569451800011 -17.605972066999982, 122.17569451800011 -17.605694288999928, 122.175138962 -17.605694288999928, 122.175138962 -17.605416511999977, 122.17486118500005 -17.605416511999977, 122.17486118500005 -17.604860955999982, 122.17458340700011 -17.604860955999982, 122.17458340700011 -17.604583177999928, 122.17458340700011 -17.60430539999993, 122.17430562900006 -17.60430539999993, 122.17430562900006 -17.60402762299998, 122.17430562900006 -17.60374984499998, 122.17402785100012 -17.60374984499998, 122.17402785100012 -17.603472066999927, 122.17402785100012 -17.60319428899993, 122.17402785100012 -17.60208317799993, 122.17375007300006 -17.60208317799993, 122.17375007300006 -17.601805399999932, 122.17375007300006 -17.60152762299998, 122.17375007300006 -17.601249844999927, 122.17347229600011 -17.601249844999927, 122.17347229600011 -17.60097206699993, 122.17347229600011 -17.600694288999932, 122.17319451800006 -17.600694288999932, 122.17319451800006 -17.600416510999935, 122.17291674000012 -17.600416510999935, 122.17291674000012 -17.600138733999927, 122.17263896200006 -17.600138733999927, 122.17263896200006 -17.59986095599993, 122.17263896200006 -17.599583177999932, 122.17236118400001 -17.599583177999932, 122.17236118400001 -17.599305399999935, 122.17208340700006 -17.599305399999935, 122.17208340700006 -17.599027622999927, 122.17180562900012 -17.599027622999927, 122.17180562900012 -17.59874984499993, 122.17152785100006 -17.59874984499993, 122.17152785100006 -17.598472066999932, 122.17152785100006 -17.598194288999935, 122.17152785100006 -17.597916510999937, 122.17152785100006 -17.59763873399993, 122.17125007300001 -17.59763873399993, 122.17125007300001 -17.59736095599993, 122.17125007300001 -17.597083177999934, 122.17097229600006 -17.597083177999934, 122.17097229600006 -17.59652762299993, 122.17069451800012 -17.59652762299993, 122.17069451800012 -17.59624984499993, 122.17041674000006 -17.59624984499993, 122.17041674000006 -17.595972066999934, 122.17013896200001 -17.595972066999934, 122.17013896200001 -17.595694288999937, 122.16958340700012 -17.595694288999937, 122.16958340700012 -17.59541651099994, 122.16930562900006 -17.59541651099994, 122.16930562900006 -17.59513873399993, 122.16902785100001 -17.59513873399993, 122.16902785100001 -17.594860955999934, 122.16902785100001 -17.594583177999937, 122.16902785100001 -17.59430539999994, 122.16875007300007 -17.59430539999994, 122.16875007300007 -17.59402762299993, 122.16847229600012 -17.59402762299993, 122.16847229600012 -17.593749844999934, 122.16819451800006 -17.593749844999934, 122.16819451800006 -17.593472066999936, 122.16819451800006 -17.59319428899994, 122.16791674000001 -17.59319428899994, 122.16791674000001 -17.59291651099994, 122.16791674000001 -17.592638733999934, 122.16791674000001 -17.592360955999936, 122.16791674000001 -17.59208317799994, 122.16819451800006 -17.59208317799994, 122.16819451800006 -17.59180539999994, 122.16847229600012 -17.59180539999994, 122.16847229600012 -17.591527622999934, 122.16819451800006 -17.591527622999934, 122.16819451800006 -17.591249844999936, 122.16791674000001 -17.591249844999936, 122.16791674000001 -17.59097206699994, 122.16763896200007 -17.59097206699994, 122.16763896200007 -17.59069428899994, 122.16763896200007 -17.590416510999944, 122.16736118400001 -17.590416510999944, 122.16736118400001 -17.590138733999936, 122.16708340700006 -17.590138733999936, 122.16680562900001 -17.590138733999936, 122.16680562900001 -17.58986095599994, 122.16652785100007 -17.58986095599994, 122.16652785100007 -17.58958317799994, 122.16652785100007 -17.589305399999944, 122.16652785100007 -17.589027621999946, 122.16652785100007 -17.58874984499994, 122.16625007300001 -17.58874984499994, 122.16625007300001 -17.589027621999946, 122.16597229600006 -17.589027621999946, 122.16569451800001 -17.589027621999946, 122.16541674000007 -17.589027621999946, 122.16513896200001 -17.589027621999946, 122.16513896200001 -17.58874984499994, 122.16486118400007 -17.58874984499994, 122.16486118400007 -17.58847206699994, 122.16458340700001 -17.58847206699994, 122.16430562900007 -17.58847206699994, 122.16430562900007 -17.588194288999944, 122.16430562900007 -17.587916510999946, 122.16402785100001 -17.587916510999946, 122.16402785100001 -17.58763873399994, 122.16430562900007 -17.58763873399994, 122.16430562900007 -17.58736095599994, 122.16430562900007 -17.587083177999943, 122.16430562900007 -17.586805399999946, 122.16402785100001 -17.586805399999946, 122.16402785100001 -17.58652762199995, 122.16375007300007 -17.58652762199995, 122.16375007300007 -17.58624984499994, 122.16347229600001 -17.58624984499994, 122.16347229600001 -17.585972066999943, 122.16347229600001 -17.585694288999946, 122.16319451800007 -17.585694288999946, 122.16319451800007 -17.58541651099995, 122.16291674000001 -17.58541651099995, 122.16291674000001 -17.58513873399994, 122.16263896200007 -17.58513873399994, 122.16263896200007 -17.584860955999943, 122.16263896200007 -17.584583177999946, 122.16263896200007 -17.58430539999995, 122.16236118400002 -17.58430539999995, 122.16208340700007 -17.58430539999995, 122.16208340700007 -17.58402762199995, 122.16180562900001 -17.58402762199995, 122.16152785100007 -17.58402762199995, 122.16152785100007 -17.583749844999943, 122.16125007300002 -17.583749844999943, 122.16097229600007 -17.583749844999943, 122.16069451800001 -17.583749844999943, 122.16069451800001 -17.583472066999946, 122.16041674000007 -17.583472066999946, 122.16013896200002 -17.583472066999946, 122.16013896200002 -17.583194288999948, 122.15986118400008 -17.583194288999948, 122.15986118400008 -17.58291651099995, 122.15902785100002 -17.58291651099995, 122.15902785100002 -17.582638733999943, 122.15875007300008 -17.582638733999943, 122.15875007300008 -17.582360955999945, 122.15847229500002 -17.582360955999945, 122.15847229500002 -17.582638733999943, 122.15791674000002 -17.582638733999943, 122.15763896200008 -17.582638733999943, 122.15763896200008 -17.58291651099995, 122.15736118400002 -17.58291651099995, 122.15708340700007 -17.58291651099995, 122.15708340700007 -17.582638733999943, 122.15680562900002 -17.582638733999943, 122.15680562900002 -17.582360955999945, 122.15652785100008 -17.582360955999945, 122.15652785100008 -17.582083177999948, 122.15652785100008 -17.58180539999995, 122.15625007300002 -17.58180539999995, 122.15625007300002 -17.581249844999945, 122.15597229500008 -17.581249844999945, 122.15597229500008 -17.580972066999948, 122.15541674000008 -17.580972066999948, 122.15541674000008 -17.58069428899995, 122.15513896200002 -17.58069428899995, 122.15458340700002 -17.58069428899995, 122.15458340700002 -17.580416510999953, 122.15430562900008 -17.580416510999953, 122.15347229500003 -17.580416510999953, 122.15347229500003 -17.580138733999945, 122.15291674000002 -17.580138733999945, 122.15291674000002 -17.579860955999948, 122.15263896200008 -17.579860955999948, 122.15263896200008 -17.57958317799995, 122.15236118400003 -17.57958317799995, 122.15236118400003 -17.579305399999953, 122.15208340700008 -17.579305399999953, 122.15208340700008 -17.578749844999948, 122.15180562900002 -17.578749844999948, 122.15180562900002 -17.57847206699995, 122.15152785100008 -17.57847206699995, 122.15152785100008 -17.577916510999955, 122.15125007300003 -17.577916510999955, 122.15125007300003 -17.57513873299996, 122.15125007300003 -17.574860955999952, 122.15125007300003 -17.574583177999955, 122.15125007300003 -17.574305399999957, 122.15125007300003 -17.57180539999996, 122.15097229500009 -17.57180539999996, 122.15097229500009 -17.57069428899996, 122.15069451800002 -17.57069428899996, 122.15069451800002 -17.56958317799996, 122.15041674000008 -17.56958317799996, 122.15041674000008 -17.569305399999962, 122.15041674000008 -17.568749844999957, 122.15013896200003 -17.568749844999957, 122.15013896200003 -17.567916510999964, 122.14986118400009 -17.567916510999964, 122.14986118400009 -17.56736095599996, 122.14958340700002 -17.56736095599996, 122.14958340700002 -17.566805399999964, 122.14930562900008 -17.566805399999964, 122.14930562900008 -17.566527621999967, 122.14902785100003 -17.566527621999967, 122.14902785100003 -17.56597206699996, 122.14875007300009 -17.56597206699996, 122.14875007300009 -17.565694288999964, 122.14847229500003 -17.565694288999964, 122.14847229500003 -17.56513873299997, 122.14819451800008 -17.56513873299997, 122.14819451800008 -17.56486095599996, 122.14763896200009 -17.56486095599996, 122.14763896200009 -17.564583177999964, 122.14736118400003 -17.564583177999964, 122.14736118400003 -17.564305399999967, 122.14708340700008 -17.564305399999967, 122.14708340700008 -17.56402762199997, 122.14680562900003 -17.56402762199997, 122.14680562900003 -17.56374984499996, 122.14652785100009 -17.56374984499996, 122.14652785100009 -17.563472066999964, 122.14625007300003 -17.563472066999964, 122.14625007300003 -17.563194288999966, 122.14625007300003 -17.56291651099997, 122.14625007300003 -17.56263873299997, 122.14625007300003 -17.562360955999964, 122.14597229500009 -17.562360955999964, 122.14597229500009 -17.56180539999997, 122.14569451800003 -17.56180539999997, 122.14569451800003 -17.559860955999966, 122.14597229500009 -17.559860955999966, 122.14597229500009 -17.55958317799997, 122.14597229500009 -17.559027621999974, 122.14597229500009 -17.558749843999976, 122.14625007300003 -17.558749843999976, 122.14625007300003 -17.55847206699997, 122.14625007300003 -17.55819428899997, 122.14652785100009 -17.55819428899997, 122.14652785100009 -17.557916510999974, 122.14680562900003 -17.557916510999974, 122.14680562900003 -17.556805399999973, 122.14708340700008 -17.556805399999973, 122.14708340700008 -17.550972066999975, 122.15013896200003 -17.550972066999975, 122.15013896200003 -17.551249843999926, 122.15041674000008 -17.551249843999926, 122.15041674000008 -17.550694288999978, 122.15069451800002 -17.550694288999978, 122.15069451800002 -17.549583177999978, 122.15097229500009 -17.549583177999978, 122.15097229500009 -17.54874984399993, 122.15125007300003 -17.54874984399993, 122.15125007300003 -17.547916510999983, 122.15152785100008 -17.547916510999983, 122.15152785100008 -17.545416510999928, 122.15125007300003 -17.545416510999928, 122.15125007300003 -17.54402762199993, 122.15097229500009 -17.54402762199993, 122.15097229500009 -17.539027621999935, 122.15541674000008 -17.539027621999935, 122.15541674000008 -17.538749843999938, 122.15736118400002 -17.538749843999938, 122.15736118400002 -17.53847206699993, 122.16486118400007 -17.53847206699993, 122.16486118400007 -17.538749843999938, 122.16513896200001 -17.538749843999938, 122.16513896200001 -17.539027621999935, 122.16569451800001 -17.539027621999935, 122.16569451800001 -17.539305399999932, 122.16597229600006 -17.539305399999932, 122.16597229600006 -17.53958317799993, 122.16680562900001 -17.53958317799993, 122.16680562900001 -17.539860954999938, 122.175138962 -17.539860954999938, 122.175138962 -17.53958317799993, 122.17597229600005 -17.53958317799993, 122.17597229600005 -17.539305399999932, 122.17652785100006 -17.539305399999932, 122.17652785100006 -17.539027621999935, 122.17708340700005 -17.539027621999935, 122.17708340700005 -17.538749843999938, 122.17986118500005 -17.538749843999938, 122.17986118500005 -17.539027621999935, 122.18013896200011 -17.539027621999935, 122.18013896200011 -17.539305399999932, 122.18041674000006 -17.539305399999932, 122.18041674000006 -17.53958317799993, 122.18097229600005 -17.53958317799993, 122.18097229600005 -17.539860954999938, 122.18125007300011 -17.539860954999938, 122.18125007300011 -17.540138732999935, 122.18180562900011 -17.540138732999935, 122.18180562900011 -17.540416510999933, 122.1823611850001 -17.540416510999933, 122.1823611850001 -17.54069428899993, 122.18291674000011 -17.54069428899993, 122.18291674000011 -17.540972066999927, 122.1834722960001 -17.540972066999927, 122.1834722960001 -17.541249843999935, 122.18402785100011 -17.541249843999935, 122.18402785100011 -17.541527621999933, 122.18430562900005 -17.541527621999933, 122.18430562900005 -17.54180539999993, 122.1845834070001 -17.54180539999993, 122.1845834070001 -17.542360954999936, 122.18486118500005 -17.542360954999936, 122.18486118500005 -17.542638732999933, 122.18513896200011 -17.542638732999933, 122.18513896200011 -17.54291651099993, 122.18541674000005 -17.54291651099993, 122.18541674000005 -17.543472066999982, 122.1856945180001 -17.543472066999982, 122.1856945180001 -17.543749843999933, 122.18597229600005 -17.543749843999933, 122.18597229600005 -17.54402762199993, 122.18625007300011 -17.54402762199993, 122.18625007300011 -17.544305399999928, 122.18652785100005 -17.544305399999928, 122.18652785100005 -17.544583177999982, 122.18708340700005 -17.544583177999982, 122.18708340700005 -17.544860954999933, 122.1879167400001 -17.544860954999933, 122.1879167400001 -17.54513873299993, 122.1884722960001 -17.54513873299993, 122.1884722960001 -17.545416510999928, 122.1890278510001 -17.545416510999928, 122.1890278510001 -17.545694288999982, 122.18986118500004 -17.545694288999982, 122.18986118500004 -17.54597206699998, 122.19986118500003 -17.54597206699998, 122.19986118500003 -17.54624984399993, 122.20041674000004 -17.54624984399993, 122.20041674000004 -17.546527621999928, 122.20069451800009 -17.546527621999928, 122.20069451800009 -17.546805399999982, 122.20097229600003 -17.546805399999982, 122.20097229600003 -17.54708317799998, 122.20125007400009 -17.54708317799998, 122.20125007400009 -17.54736095499993, 122.20152785100004 -17.54736095499993, 122.20152785100004 -17.54763873299993, 122.20180562900009 -17.54763873299993, 122.20180562900009 -17.547916510999983, 122.20208340700003 -17.547916510999983, 122.20208340700003 -17.54819428899998, 122.20236118500009 -17.54819428899998, 122.20236118500009 -17.548472066999977, 122.20375007400003 -17.548472066999977, 122.20375007400003 -17.54874984399993, 122.20458340700009 -17.54874984399993, 122.20458340700009 -17.549027621999983, 122.20513896300008 -17.549027621999983, 122.20513896300008 -17.54930539999998, 122.20541674000003 -17.54930539999998, 122.20541674000003 -17.549583177999978, 122.20597229600003 -17.549583177999978, 122.20597229600003 -17.549860955999975, 122.20625007400008 -17.549860955999975, 122.20625007400008 -17.550138732999926, 122.20652785100003 -17.550138732999926, 122.20652785100003 -17.55041651099998, 122.20680562900009 -17.55041651099998, 122.20680562900009 -17.550694288999978, 122.20708340700003 -17.550694288999978, 122.20708340700003 -17.550972066999975, 122.20736118500008 -17.550972066999975, 122.20736118500008 -17.551249843999926, 122.20763896300002 -17.551249843999926, 122.20763896300002 -17.55152762199998, 122.20791674000009 -17.55152762199998, 122.20791674000009 -17.551805399999978, 122.20819451800003 -17.551805399999978, 122.20819451800003 -17.552083177999975, 122.20847229600008 -17.552083177999975, 122.20847229600008 -17.552360955999973, 122.20875007400002 -17.552360955999973, 122.20875007400002 -17.55263873299998, 122.20902785100009 -17.55263873299998, 122.20902785100009 -17.552916510999978, 122.20930562900003 -17.552916510999978, 122.20930562900003 -17.553194288999975, 122.20958340700008 -17.553194288999975, 122.20958340700008 -17.553472066999973, 122.21013896300008 -17.553472066999973, 122.21013896300008 -17.55374984399998, 122.21041674000003 -17.55374984399998, 122.21041674000003 -17.55402762199998, 122.21069451800008 -17.55402762199998, 122.21069451800008 -17.554305399999976, 122.21097229600002 -17.554305399999976, 122.21097229600002 -17.554583177999973, 122.21125007400008 -17.554583177999973, 122.21125007400008 -17.55486095599997, 122.21152785100003 -17.55486095599997, 122.21152785100003 -17.55513873299998, 122.21180562900008 -17.55513873299998, 122.21180562900008 -17.555416510999976, 122.21208340700002 -17.555416510999976, 122.21208340700002 -17.555694288999973, 122.21236118500008 -17.555694288999973, 122.21236118500008 -17.55597206699997, 122.21319451800002 -17.55597206699997, 122.21319451800002 -17.55624984399998, 122.21402785100008 -17.55624984399998, 122.21402785100008 -17.556527621999976, 122.21486118500002 -17.556527621999976, 122.21486118500002 -17.556805399999973, 122.21541674000002 -17.556805399999973, 122.21541674000002 -17.55708317799997, 122.21569451800008 -17.55708317799997, 122.21569451800008 -17.557360955999968, 122.21625007400007 -17.557360955999968, 122.21625007400007 -17.557638732999976, 122.21680562900008 -17.557638732999976, 122.21680562900008 -17.557916510999974, 122.21736118500007 -17.557916510999974, 122.21736118500007 -17.55819428899997, 122.21791674000008 -17.55819428899997, 122.21791674000008 -17.55847206699997, 122.21819451800002 -17.55847206699997, 122.21819451800002 -17.558749843999976, 122.21847229600007 -17.558749843999976, 122.21847229600007 -17.559027621999974, 122.21875007400001 -17.559027621999974, 122.21875007400001 -17.55930539999997, 122.21930562900002 -17.55930539999997, 122.21930562900002 -17.55958317799997, 122.21958340700007 -17.55958317799997, 122.21958340700007 -17.559860955999966, 122.22041674000002 -17.559860955999966, 122.22041674000002 -17.560138732999974, 122.22097229600001 -17.560138732999974, 122.22097229600001 -17.56041651099997, 122.22152785200001 -17.56041651099997, 122.22152785200001 -17.56069428899997, 122.22180562900007 -17.56069428899997, 122.22180562900007 -17.560972066999966, 122.22208340700001 -17.560972066999966, 122.22208340700001 -17.561249843999974, 122.22236118500007 -17.561249843999974, 122.22236118500007 -17.56152762199997, 122.22263896300001 -17.56152762199997, 122.22263896300001 -17.56180539999997, 122.22291674000007 -17.56180539999997, 122.22291674000007 -17.562083177999966, 122.22319451800001 -17.562083177999966, 122.22319451800001 -17.562360955999964, 122.22347229600007 -17.562360955999964, 122.22347229600007 -17.56263873299997, 122.22375007400001 -17.56263873299997, 122.22375007400001 -17.56291651099997, 122.22402785200006 -17.56291651099997, 122.22402785200006 -17.563194288999966, 122.22430562900001 -17.563194288999966, 122.22430562900001 -17.563472066999964, 122.23097229600012 -17.563472066999964, 122.23097229600012 -17.56374984499996, 122.23125007400006 -17.56374984499996, 122.23125007400006 -17.56402762199997)))"^^geo:wktLiteral ] ; - geo:hasMetricArea 3.455107e+07 . - - a geo:Feature, - ahgf:ContractedCatchment ; - dcterms:identifier "cabbage-tree"^^xsd:token ; - dcterms:title "Cabbage Tree Creek" ; - dcterms:type ahgf:NonContractedArea ; - geo:hasGeometry [ - geo:asWKT "POLYGON ((153.083029 -27.3297989, 153.0638029 -27.3246138, 153.0263808 -27.3270538, 152.9929068 -27.3546536, 152.9685309 -27.3744725, 152.9582312 -27.4061752, 152.9966833 -27.414709, 153.0366804 -27.4075467, 153.0677511 -27.4016032, 153.0775358 -27.384533, 153.0838873 -27.3676125, 153.0933287 -27.3546536, 153.0984785 -27.3459627, 153.0921271 -27.339406, 153.0857756 -27.3333063, 153.083029 -27.3297989))"^^geo:wktLiteral ; - ] ; -. - - a geo:Feature, - ahgf:ContractedCatchment ; - dcterms:identifier "cabbage-tree-geojson"^^xsd:token ; - dcterms:title "Cabbage Tree Creek w GeoJSON" ; - dcterms:type ahgf:NonContractedArea ; - geo:hasGeometry [ - geo:asWKT "POLYGON ((153.083029 -27.3297989, 153.0638029 -27.3246138, 153.0263808 -27.3270538, 152.9929068 -27.3546536, 152.9685309 -27.3744725, 152.9582312 -27.4061752, 152.9966833 -27.414709, 153.0366804 -27.4075467, 153.0677511 -27.4016032, 153.0775358 -27.384533, 153.0838873 -27.3676125, 153.0933287 -27.3546536, 153.0984785 -27.3459627, 153.0921271 -27.339406, 153.0857756 -27.3333063, 153.083029 -27.3297989))"^^geo:wktLiteral ; - geo:asGeoJSON """{ - "type": "Polygon", - "coordinates": [ - [ - [153.083029, -27.3297989], - [153.0638029, -27.3246138], - [153.0263808, -27.3270538], - [152.9929068, -27.3546536], - [152.9685309, -27.3744725], - [152.9582312, -27.4061752], - [152.9966833, -27.414709], - - [153.0775358, -27.384533], - [153.0838873, -27.3676125], - [153.0933287, -27.3546536], - [153.0984785, -27.3459627], - [153.0921271, -27.339406], - [153.0857756, -27.3333063], - [153.083029, -27.3297989] - ] - ] - }"""^^geo:asGeoJSON ; - ] ; -. - - a geo:Feature, - ahgf:ContractedCatchment ; - dcterms:identifier "kedron"^^xsd:token ; - dcterms:title "Kedron Brook" ; - dcterms:type ahgf:NonContractedArea ; - geo:hasGeometry [ - geo:asWKT "POLYGON ((153.0984785 -27.3459627, 153.0838873 -27.3676125, 153.0775358 -27.384533, 153.0677511 -27.4016032, 153.0497267 -27.4048036, 153.049555 -27.4163852, 153.0593397 -27.4253753, 153.0735876 -27.4244611, 153.0972769 -27.4169947, 153.1034567 -27.4038892, 153.1118681 -27.3961167, 153.1214812 -27.3857524, 153.1247427 -27.3731005, 153.1211378 -27.3653258, 153.1187346 -27.3575505, 153.114443 -27.3496222, 153.1080916 -27.347335, 153.0984785 -27.3459627))"^^geo:wktLiteral - ] ; -. diff --git a/tests/data/spaceprez/input/gnaf_small.ttl b/tests/data/spaceprez/input/gnaf_small.ttl deleted file mode 100644 index 61d64bd2..00000000 --- a/tests/data/spaceprez/input/gnaf_small.ttl +++ /dev/null @@ -1,318 +0,0 @@ -PREFIX addr: -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX gnaf: -PREFIX rdfs: -PREFIX sdo: -PREFIX skos: -PREFIX xsd: - - - - - a dcat:Dataset ; - dcterms:identifier "gnaf"^^xsd:token ; - dcterms:source "https://data.gov.au/data/datasets/19432f89-dc3a-4ef3-b943-5326ef1dbecc"^^xsd:anyURI ; - dcterms:title "Geocoded National Address File"@en ; - geo:hasBoundingBox [ - a geo:Geometry ; - geo:asWKT "POLYGON ((96 -45, 96 -9, 168 -9, 168 -45, 96 -45))"^^geo:wktLiteral - ] ; - rdfs:member gnaf:address ; - dcterms:description "The Australian Geocoded National Address File (G-NAF) is Australia’s authoritative, geocoded address file. It is built and maintained by Geoscape Australia using authoritative government data.."@en ; - skos:prefLabel "Geocoded National Address File"@en ; - sdo:creator ; - sdo:dateCreated "2022-05-25"^^xsd:date ; - sdo:dateModified "2022-05-25"^^xsd:date ; - sdo:datePublished "0000-00-00"^^xsd:date ; - sdo:publisher ; -. - - - a sdo:Organization ; - sdo:name "Geoscience Australia" ; - sdo:url "https://www.ga.gov.au"^^xsd:anyURI ; -. - -gnaf:address - a geo:FeatureCollection ; - dcterms:description "Contains the G-NAF's instances of the National Address Model's Address class"@en ; - dcterms:identifier "address"^^xsd:token ; - dcterms:isPartOf ; - dcterms:title "Addresses Feature Collection"@en ; - geo:hasBoundingBox [ - a geo:Geometry ; - geo:asWKT "POLYGON ((96 -45, 96 -9, 168 -9, 168 -45, 96 -45))"^^geo:wktLiteral - ] ; - rdfs:member - , - , - , - ; -. - - - a - addr:Address , - geo:Feature ; - dcterms:identifier "GAQLD155129953"^^xsd:token ; - addr:dateCreated "2013-01-11"^^xsd:date ; - addr:dateModified "2021-07-07"^^xsd:date ; - addr:hasAddressComponent - [ - addr:hasAddressComponentType ; - addr:hasTextValue "locc589ce7a8432" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "QLD172655" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "43" ; - addr:hasValue "43" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "4116" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "11" ; - addr:hasValue "11" - ] ; - addr:hasQualifiedGeometry [ - addr:hasRole ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.0550911 -27.61729753)"^^geo:wktLiteral ; - ] - ] ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.0550911 -27.61729753)"^^geo:wktLiteral ; - ] ; - addr:isAddressFor - , - ; - geo:sfWithin - , - ; -. - - - a - addr:Address , - geo:Feature ; - dcterms:identifier "GAQLD159032388"^^xsd:token ; - addr:dateCreated "2004-05-09"^^xsd:date ; - addr:dateModified "2021-07-07"^^xsd:date ; - addr:hasAddressComponent - [ - addr:hasAddressComponentType ; - addr:hasTextValue "QLD125772" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "loc69e70bdd81a8" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "343" ; - addr:hasValue "343" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "4013" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "1" ; - addr:hasValue "1" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "UNIT" ; - addr:hasValue "UNIT" - ] ; - addr:hasPrimary ; - addr:hasQualifiedGeometry [ - addr:hasRole ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.07162251 -27.39373631)"^^geo:wktLiteral ; - ] - ] ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.07162251 -27.39373631)"^^geo:wktLiteral ; - ] ; - addr:isAddressFor - , - ; - geo:sfWithin - , - ; -. - - - a - addr:Address , - geo:Feature ; - dcterms:identifier "GAQLD163179943"^^xsd:token ; - addr:dateCreated "2011-04-20"^^xsd:date ; - addr:dateModified "2021-07-07"^^xsd:date ; - addr:hasAddressComponent - [ - addr:hasAddressComponentType ; - addr:hasTextValue "QLD3324769" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "4818" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "102" ; - addr:hasValue "102" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "40" ; - addr:hasValue "40" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "loc510fd5eb7c24" ; - addr:hasValue - ] ; - addr:hasQualifiedGeometry [ - addr:hasRole ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (146.70866358 -19.25418702)"^^geo:wktLiteral ; - ] - ] ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (146.70866358 -19.25418702)"^^geo:wktLiteral ; - ] ; - addr:isAddressFor - , - ; - geo:sfWithin - , - ; -. - - - a - addr:Address , - geo:Feature ; - dcterms:identifier "GAQLD719299059"^^xsd:token ; - addr:dateCreated "2017-04-21"^^xsd:date ; - addr:dateModified "2021-07-07"^^xsd:date ; - addr:hasAddressComponent - [ - addr:hasAddressComponentType ; - addr:hasTextValue "4132" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "44" ; - addr:hasValue "44" - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "loc0e23d7691901" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "QLD110859" ; - addr:hasValue - ] , - [ - addr:hasAddressComponentType ; - addr:hasTextValue "82" ; - addr:hasValue "82" - ] ; - addr:hasQualifiedGeometry [ - addr:hasRole ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.08998758 -27.66876057)"^^geo:wktLiteral - ] - ] ; - geo:hasGeometry [ - a geo:Geometry ; - geo:asWKT "POINT (153.08998758 -27.66876057)"^^geo:wktLiteral - ] ; - addr:hasSecondary - , - ; - addr:isAddressFor - , - ; - geo:sfWithin - , - ; -. - - - rdfs:label "Marsden" ; -. - - - rdfs:label "Burdell" ; -. - - - rdfs:label "Northgate" ; -. - - - rdfs:label "Calamvale" ; -. - - - rdfs:label "Kerry" ; -. - - - rdfs:label "Melton" ; -. - - - rdfs:label "Palatine" ; -. - - - rdfs:label "Lady Musgrave" ; -. - - - rdfs:label "Mesh Block 30044850000" ; -. - - - rdfs:label "Mesh Block 30562470700" ; -. - - - rdfs:label "Mesh Block 30562777400" ; -. - - - rdfs:label "Mesh Block 30563194000" ; -. diff --git a/tests/data/spaceprez/input/labels.ttl b/tests/data/spaceprez/input/labels.ttl deleted file mode 100644 index 51f3e6c3..00000000 --- a/tests/data/spaceprez/input/labels.ttl +++ /dev/null @@ -1,13 +0,0 @@ -PREFIX dcat: -PREFIX dcterms: -PREFIX geo: -PREFIX geofab: -PREFIX rdfs: -PREFIX sand: -PREFIX xsd: - - -dcterms:identifier rdfs:label "Identifier"@en ; - rdfs:comment "A unique identifier of the item." . - -dcat:Dataset rdfs:label "Dataset"@en . diff --git a/tests/data/spaceprez/input/multiple_object.ttl b/tests/data/spaceprez/input/multiple_object.ttl deleted file mode 100644 index 303a862e..00000000 --- a/tests/data/spaceprez/input/multiple_object.ttl +++ /dev/null @@ -1,30 +0,0 @@ -PREFIX dcat: -PREFIX skos: -PREFIX dcterms: -PREFIX reg: -PREFIX status: -PREFIX rdfs: -PREFIX xsd: -PREFIX geo: - - - a geo:Feature ; - dcterms:identifier "alteration_facies_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - skos:inScheme ; - skos:prefLabel "alteration facies contact"@en ; -. - - - a geo:FeatureCollection ; - rdfs:member ; -. - - - a dcat:Dataset ; - rdfs:member ; -. diff --git a/tests/data/spaceprez/input/sandgate/catchments.geojson b/tests/data/spaceprez/input/sandgate/catchments.geojson deleted file mode 100644 index f84929cd..00000000 --- a/tests/data/spaceprez/input/sandgate/catchments.geojson +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "FeatureCollection", - "bbox": [152.9075, -27.42, 153.16, -27.2775], - "features": [ - {"type": "Feature", "properties": {"id": "cc12109444"}, "geometry": {"type": "Polygon", "coordinates": [[[153.06, -27.28], [153.05, -27.28], [153.0425, -27.28], [153.04, -27.28], [153.04, -27.2825], [153.0425, -27.2825], [153.0425, -27.2975], [153.04, -27.2975], [153.04, -27.3], [153.0375, -27.3], [153.0375, -27.305], [153.035, -27.305], [153.035, -27.3175], [153.0325, -27.3175], [153.0325, -27.32], [153.03, -27.32], [153.03, -27.3225], [153.0275, -27.3225], [153.0275, -27.325], [153.025, -27.325], [153.025, -27.3275], [153.0225, -27.3275], [153.0225, -27.33], [153.02, -27.33], [153.02, -27.335], [153.0175, -27.335], [153.0175, -27.3475], [153.01, -27.3475], [153.01, -27.35], [153.005, -27.35], [153, -27.35], [153, -27.3525], [152.995, -27.3525], [152.995, -27.355], [152.9925, -27.355], [152.9925, -27.3625], [152.99, -27.3625], [152.99, -27.3675], [152.9875, -27.3675], [152.9875, -27.37], [152.985, -27.37], [152.985, -27.3725], [152.9825, -27.3725], [152.9825, -27.375], [152.98, -27.375], [152.98, -27.3775], [152.9675, -27.3775], [152.9675, -27.38], [152.965, -27.38], [152.9525, -27.38], [152.9525, -27.3825], [152.9475, -27.3825], [152.9475, -27.38], [152.94, -27.38], [152.94, -27.3825], [152.9375, -27.3825], [152.9375, -27.38], [152.9325, -27.38], [152.9325, -27.3825], [152.93, -27.3825], [152.925, -27.3825], [152.925, -27.385], [152.925, -27.39], [152.9375, -27.39], [152.9375, -27.3925], [152.94, -27.3925], [152.945, -27.3925], [152.955, -27.3925], [152.955, -27.39], [152.96, -27.39], [152.96, -27.3875], [152.97, -27.3875], [152.975, -27.3875], [152.975, -27.3925], [152.98, -27.3925], [152.98, -27.3975], [152.9825, -27.3975], [152.9825, -27.4], [152.9875, -27.4], [152.9925, -27.4], [152.9925, -27.4025], [152.9975, -27.4025], [152.9975, -27.405], [153.0025, -27.405], [153.005, -27.405], [153.005, -27.4025], [153.0125, -27.4025], [153.0125, -27.4], [153.0175, -27.4], [153.0175, -27.3975], [153.025, -27.3975], [153.025, -27.395], [153.0275, -27.395], [153.0275, -27.3925], [153.06, -27.3925], [153.06, -27.395], [153.0625, -27.395], [153.0625, -27.3975], [153.065, -27.3975], [153.065, -27.4], [153.0675, -27.4], [153.0675, -27.4025], [153.07, -27.4025], [153.07, -27.405], [153.075, -27.405], [153.075, -27.41], [153.0775, -27.41], [153.0775, -27.4125], [153.08, -27.4125], [153.08, -27.415], [153.085, -27.415], [153.0875, -27.415], [153.0925, -27.415], [153.0975, -27.415], [153.0975, -27.4125], [153.1075, -27.4125], [153.1075, -27.415], [153.11, -27.415], [153.11, -27.4175], [153.1125, -27.4175], [153.1125, -27.42], [153.1175, -27.42], [153.1225, -27.42], [153.1225, -27.4175], [153.1275, -27.4175], [153.13, -27.4175], [153.13, -27.415], [153.135, -27.415], [153.135, -27.4125], [153.135, -27.4075], [153.135, -27.405], [153.135, -27.4025], [153.1375, -27.4025], [153.1375, -27.4], [153.14, -27.4], [153.14, -27.3975], [153.14, -27.395], [153.14, -27.3925], [153.1425, -27.3925], [153.1425, -27.39], [153.145, -27.39], [153.145, -27.3875], [153.15, -27.3875], [153.15, -27.385], [153.1525, -27.385], [153.1525, -27.3825], [153.155, -27.3825], [153.155, -27.38], [153.1575, -27.38], [153.16, -27.38], [153.16, -27.3775], [153.16, -27.375], [153.1575, -27.375], [153.1575, -27.365], [153.155, -27.365], [153.155, -27.3625], [153.1525, -27.3625], [153.1525, -27.36], [153.1475, -27.36], [153.1425, -27.36], [153.1375, -27.36], [153.135, -27.36], [153.135, -27.3575], [153.13, -27.3575], [153.13, -27.355], [153.125, -27.355], [153.125, -27.3525], [153.12, -27.3525], [153.12, -27.35], [153.115, -27.35], [153.115, -27.3475], [153.1125, -27.3475], [153.11, -27.3475], [153.1075, -27.3475], [153.1075, -27.345], [153.1025, -27.345], [153.1025, -27.3425], [153.0975, -27.3425], [153.0975, -27.34], [153.0925, -27.34], [153.0925, -27.3375], [153.09, -27.3375], [153.09, -27.335], [153.0875, -27.335], [153.085, -27.335], [153.085, -27.3325], [153.0825, -27.3325], [153.0825, -27.33], [153.085, -27.33], [153.0875, -27.33], [153.0875, -27.325], [153.085, -27.325], [153.085, -27.3225], [153.08, -27.3225], [153.0775, -27.3225], [153.0775, -27.32], [153.075, -27.32], [153.075, -27.3175], [153.0725, -27.3175], [153.0725, -27.3125], [153.07, -27.3125], [153.07, -27.31], [153.0675, -27.31], [153.0675, -27.305], [153.065, -27.305], [153.065, -27.2825], [153.0625, -27.2825], [153.06, -27.2825], [153.06, -27.28]]]}}, - {"type": "Feature", "properties": {"id": "cc12109445"}, "geometry": {"type": "Polygon", "coordinates": [[[153.0025, -27.2775], [153.0025, -27.28], [153.005, -27.28], [153.005, -27.285], [153.0075, -27.285], [153.015, -27.285], [153.015, -27.29], [153.0175, -27.29], [153.0175, -27.2925], [153.0175, -27.3025], [153.02, -27.3025], [153.02, -27.305], [153.0225, -27.305], [153.0225, -27.31], [153.0175, -27.31], [153.0175, -27.3125], [153.015, -27.3125], [153.015, -27.315], [153.015, -27.3175], [153.0175, -27.3175], [153.0175, -27.32], [153.02, -27.32], [153.02, -27.3225], [153.0275, -27.3225], [153.0275, -27.325], [153.025, -27.325], [153.025, -27.3275], [153.0225, -27.3275], [153.0225, -27.33], [153.02, -27.33], [153.02, -27.335], [153.0175, -27.335], [153.0175, -27.3475], [153.01, -27.3475], [153.01, -27.35], [153.005, -27.35], [153, -27.35], [153, -27.3525], [152.995, -27.3525], [152.995, -27.355], [152.9925, -27.355], [152.9925, -27.3625], [152.99, -27.3625], [152.99, -27.3675], [152.9875, -27.3675], [152.9875, -27.37], [152.985, -27.37], [152.985, -27.3725], [152.9825, -27.3725], [152.9825, -27.375], [152.98, -27.375], [152.98, -27.3775], [152.9675, -27.3775], [152.9675, -27.38], [152.965, -27.38], [152.9525, -27.38], [152.9525, -27.3825], [152.9475, -27.3825], [152.9475, -27.38], [152.94, -27.38], [152.94, -27.3825], [152.9375, -27.3825], [152.9375, -27.38], [152.9325, -27.38], [152.9325, -27.3825], [152.93, -27.3825], [152.925, -27.3825], [152.925, -27.385], [152.92, -27.385], [152.92, -27.3825], [152.9075, -27.3825], [152.9075, -27.38], [152.9075, -27.375], [152.9075, -27.3725], [152.915, -27.3725], [152.915, -27.37], [152.92, -27.37], [152.92, -27.3675], [152.9225, -27.3675], [152.9225, -27.365], [152.925, -27.365], [152.925, -27.3625], [152.9275, -27.3625], [152.9275, -27.36], [152.9275, -27.3575], [152.925, -27.3575], [152.925, -27.355], [152.9225, -27.355], [152.9225, -27.3525], [152.92, -27.3525], [152.92, -27.35], [152.9175, -27.35], [152.9175, -27.345], [152.92, -27.345], [152.92, -27.3325], [152.9175, -27.3325], [152.9175, -27.33], [152.915, -27.33], [152.915, -27.3275], [152.9125, -27.3275], [152.9125, -27.325], [152.9125, -27.3225], [152.9225, -27.3225], [152.9225, -27.32], [152.925, -27.32], [152.925, -27.3175], [152.9275, -27.3175], [152.9275, -27.315], [152.93, -27.315], [152.93, -27.3125], [152.9325, -27.3125], [152.9325, -27.31], [152.935, -27.31], [152.935, -27.305], [152.94, -27.305], [152.94, -27.3025], [152.9425, -27.3025], [152.9425, -27.3], [152.945, -27.3], [152.945, -27.2975], [152.95, -27.2975], [152.95, -27.295], [152.955, -27.295], [152.9575, -27.295], [152.9575, -27.2925], [152.96, -27.2925], [152.96, -27.29], [152.9625, -27.29], [152.9625, -27.2875], [152.9675, -27.2875], [152.9675, -27.285], [152.9725, -27.285], [152.9725, -27.2825], [152.9775, -27.2825], [152.9775, -27.28], [152.98, -27.28], [152.9925, -27.28], [152.9925, -27.2775], [152.9975, -27.2775], [153.0025, -27.2775]]]}} - ] -} diff --git a/tests/data/spaceprez/input/sandgate/facilities.geojson b/tests/data/spaceprez/input/sandgate/facilities.geojson deleted file mode 100644 index e11a6132..00000000 --- a/tests/data/spaceprez/input/sandgate/facilities.geojson +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "FeatureCollection", - "bbox": [153.0144819, -27.3506599, 153.1143102, -27.2234024], - "features": [ - {"type": "Feature", "properties": {"id": "bhc"}, "geometry": {"type": "Point", "coordinates": [153.0638169, -27.2897951]}}, - {"type": "Feature", "properties": {"id": "bhca"}, "geometry": {"type": "Polygon", "coordinates": [[[153.063644,-27.2894036],[153.0635207,-27.2896229],[153.0631612,-27.2896182],[153.0631291,-27.289909],[153.0631559,-27.290338],[153.0644487,-27.2904858],[153.0645614,-27.2899185],[153.0648349,-27.2895324],[153.0648135,-27.2889174],[153.0637674,-27.2887362],[153.063644,-27.2894036]]]}}, - {"type": "Feature", "properties": {"id": "bps"}, "geometry": {"type": "Point", "coordinates": [153.0536022, -27.3497934]}}, - {"type": "Feature", "properties": {"id": "cpc"}, "geometry": {"type": "Point", "coordinates": [153.0144819, -27.3506599]}}, - {"type": "Feature", "properties": {"id": "jcabi"}, "geometry": {"type": "Point", "coordinates": [153.0632873, -27.2918652]}}, - {"type": "Feature", "properties": {"id": "rps"}, "geometry": {"type": "Point", "coordinates": [153.1143102, -27.2234024]}}, - {"type": "Feature", "properties": {"id": "sac"}, "geometry": {"type": "Point", "coordinates": [153.0688897, -27.3122011]}}, - {"type": "Feature", "properties": {"id": "sps"}, "geometry": {"type": "Point", "coordinates": [153.0677583, -27.318185]}}, - {"type": "Feature", "properties": {"id": "src"}, "geometry": {"type": "Point", "coordinates": [153.0614757, -27.3111489]}}, - {"type": "Feature", "properties": {"id": "srca"}, "geometry": {"type": "Polygon", "coordinates": [[[153.0606281,-27.3096141], [153.0604564,-27.3105197], [153.0600487,-27.3109296], [153.0607354,-27.3127218], [153.063203,-27.3121212], [153.0621623,-27.3095187], [153.0617868,-27.3098333], [153.0606281,-27.3096141]]]}} - ] -} diff --git a/tests/data/spaceprez/input/sandgate/floods.geojson b/tests/data/spaceprez/input/sandgate/floods.geojson deleted file mode 100644 index 25055918..00000000 --- a/tests/data/spaceprez/input/sandgate/floods.geojson +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "FeatureCollection", - "bbox": [153.06307, -27.3151243, 153.069877, -27.2859541], - "features": [ - {"type": "Feature", "properties": {"id": "f001"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.064893899999987, -27.2909981 ], [ 153.0648081, -27.2911506 ], [ 153.064475499999986, -27.2912364 ], [ 153.064078599999988, -27.2912269 ], [ 153.0635636, -27.291265 ], [ 153.0633383, -27.2913604 ], [ 153.0632417, -27.2914462 ], [ 153.0631559, -27.2915701 ], [ 153.0630808, -27.2917036 ], [ 153.06307, -27.2917704 ], [ 153.0631773, -27.2918943 ], [ 153.0633168, -27.2920564 ], [ 153.0634241, -27.2921613 ], [ 153.063767399999989, -27.2921994 ], [ 153.0642824, -27.2922757 ], [ 153.064400400000011, -27.292371 ], [ 153.0644111, -27.2926761 ], [ 153.0643897, -27.2928764 ], [ 153.0643682, -27.2930766 ], [ 153.06434680000001, -27.2932196 ], [ 153.0642824, -27.2934675 ], [ 153.0642824, -27.2935628 ], [ 153.0643682, -27.2936391 ], [ 153.0647223, -27.2937345 ], [ 153.0648296, -27.293744 ], [ 153.064893899999987, -27.2909981 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f023"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.06487820000001, -27.30059 ], [ 153.0648031, -27.301019 ], [ 153.0648138, -27.3012955 ], [ 153.0648889, -27.3015815 ], [ 153.0648567, -27.3016768 ], [ 153.064824499999986, -27.3018198 ], [ 153.0648138, -27.3020295 ], [ 153.064824499999986, -27.3022965 ], [ 153.0647387, -27.3024109 ], [ 153.0641808, -27.3024776 ], [ 153.063698, -27.3025634 ], [ 153.0634512, -27.3026302 ], [ 153.063419, -27.3027827 ], [ 153.063440500000013, -27.303002 ], [ 153.0634619, -27.303307 ], [ 153.063622900000013, -27.3034501 ], [ 153.0638696, -27.3034882 ], [ 153.0643095, -27.3035454 ], [ 153.0645456, -27.3036026 ], [ 153.0647923, -27.3037456 ], [ 153.0650176, -27.3039553 ], [ 153.0652, -27.3041174 ], [ 153.065318, -27.3042413 ], [ 153.0653931, -27.3045083 ], [ 153.0655112, -27.3047371 ], [ 153.065790099999987, -27.3050803 ], [ 153.0660476, -27.3052519 ], [ 153.0656935, -27.3037551 ], [ 153.0652215, -27.30243 ], [ 153.06487820000001, -27.30059 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f332"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.068289099999987, -27.3113685 ], [ 153.0681389, -27.3108346 ], [ 153.0676454, -27.3103961 ], [ 153.0673021, -27.3096144 ], [ 153.0670231, -27.3088708 ], [ 153.066615399999989, -27.3088327 ], [ 153.0659932, -27.3089662 ], [ 153.0656928, -27.3091568 ], [ 153.065564, -27.3095381 ], [ 153.0658215, -27.310377 ], [ 153.0659073, -27.3107774 ], [ 153.0660361, -27.3111587 ], [ 153.0665725, -27.3113685 ], [ 153.066744199999988, -27.3115973 ], [ 153.0674094, -27.3130272 ], [ 153.0676669, -27.3135419 ], [ 153.0680102, -27.3142473 ], [ 153.0685466, -27.3151243 ], [ 153.0693191, -27.3150862 ], [ 153.0698126, -27.3147049 ], [ 153.069877, -27.3145143 ], [ 153.06970530000001, -27.3140376 ], [ 153.0694479, -27.3134085 ], [ 153.069147500000014, -27.31297 ], [ 153.0688041, -27.3124552 ], [ 153.068375, -27.3120548 ], [ 153.068074599999989, -27.3117498 ], [ 153.068289099999987, -27.3113685 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f632"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.0649154, -27.2906357 ], [ 153.0650656, -27.2892818 ], [ 153.0651407, -27.288233 ], [ 153.06513, -27.287413 ], [ 153.0650656, -27.2859541 ], [ 153.0649905, -27.2861353 ], [ 153.065012, -27.2863737 ], [ 153.065001200000012, -27.2868218 ], [ 153.0649583, -27.2871079 ], [ 153.0648296, -27.2873463 ], [ 153.0646472, -27.2873939 ], [ 153.064604300000013, -27.2875274 ], [ 153.0646365, -27.2877849 ], [ 153.0646686, -27.2879183 ], [ 153.0646686, -27.2882711 ], [ 153.0646365, -27.2885762 ], [ 153.0642609, -27.2886716 ], [ 153.0640678, -27.2888623 ], [ 153.064035600000011, -27.2890816 ], [ 153.064293099999986, -27.2894248 ], [ 153.064379, -27.2897204 ], [ 153.0642288, -27.2899206 ], [ 153.064057100000014, -27.2899969 ], [ 153.0639605, -27.2902353 ], [ 153.0639927, -27.2904069 ], [ 153.064110699999986, -27.2905309 ], [ 153.0642824, -27.2906644 ], [ 153.064497, -27.2907216 ], [ 153.064657899999986, -27.2907406 ], [ 153.064818800000012, -27.2907406 ], [ 153.0649154, -27.2906357 ] ] ] }} - ] -} diff --git a/tests/data/spaceprez/input/sandgate/roads.geojson b/tests/data/spaceprez/input/sandgate/roads.geojson deleted file mode 100644 index 6fc5775d..00000000 --- a/tests/data/spaceprez/input/sandgate/roads.geojson +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "FeatureCollection", - "bbox": [153.0617934, -27.3203138, 153.0747569, -27.2920918], - "features": [ - {"type": "Feature", "properties": {"id": "bt"}, "geometry": {"type": "LineString", "coordinates": [ [ 153.06513, -27.3143431 ], [ 153.065881100000013, -27.3140285 ], [ 153.0653983, -27.3130466 ], [ 153.0652052, -27.3122745 ], [ 153.0651193, -27.3116453 ], [ 153.064550700000012, -27.3103202 ], [ 153.0641108, -27.3092526 ], [ 153.0637889, -27.3074031 ], [ 153.0631774, -27.3057253 ], [ 153.0628448, -27.3044573 ], [ 153.0627053, -27.3036565 ], [ 153.061847, -27.2988706 ], [ 153.0617934, -27.2952 ], [ 153.062168899999989, -27.2933312 ], [ 153.0622333, -27.2920918 ] ] }}, - {"type": "Feature", "properties": {"id": "fp"}, "geometry": {"type": "LineString", "coordinates": [ [ 153.074756900000011, -27.3203138 ], [ 153.0727077, -27.3183121 ], [ 153.0715276, -27.3170824 ], [ 153.070519, -27.3157669 ], [ 153.0694891, -27.3143847 ], [ 153.067751, -27.311115 ], [ 153.0664635, -27.3072446 ], [ 153.0656267, -27.3047468 ], [ 153.065111699999989, -27.3031262 ], [ 153.0647898, -27.301677 ], [ 153.064510899999988, -27.3000372 ], [ 153.0644036, -27.2984546 ], [ 153.0643392, -27.2973296 ], [ 153.06459670000001, -27.2953656 ], [ 153.0646396, -27.2936494 ], [ 153.0644465, -27.2922764 ] ] }} - ] -} diff --git a/tests/data/spaceprez/input/sandgate/sandgate.json b/tests/data/spaceprez/input/sandgate/sandgate.json deleted file mode 100644 index 0c1c84ae..00000000 --- a/tests/data/spaceprez/input/sandgate/sandgate.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "type": "Dataset", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "properties": {"id": "sandgate"}, - "featureCollections": [ - { - "type": "FeatureCollection", - "bbox": [152.9075, -27.42, 153.16, -27.2775], - "properties": {"id": "catchments"}, - "features": [ - {"type": "Feature", "properties": {"id": "cc12109444"}, "geometry": {"type": "Polygon", "coordinates": [[[153.06, -27.28], [153.06, -27.2825], [153.0625, -27.2825], [153.065, -27.2825], [153.065, -27.305], [153.0675, -27.305], [153.0675, -27.31], [153.07, -27.31], [153.07, -27.3125], [153.0725, -27.3125], [153.0725, -27.3175], [153.075, -27.3175], [153.075, -27.32], [153.0775, -27.32], [153.0775, -27.3225], [153.08, -27.3225], [153.085, -27.3225], [153.085, -27.325], [153.0875, -27.325], [153.0875, -27.33], [153.085, -27.33], [153.0825, -27.33], [153.0825, -27.3325], [153.085, -27.3325], [153.085, -27.335], [153.0875, -27.335], [153.09, -27.335], [153.09, -27.3375], [153.0925, -27.3375], [153.0925, -27.34], [153.0975, -27.34], [153.0975, -27.3425], [153.1025, -27.3425], [153.1025, -27.345], [153.1075, -27.345], [153.1075, -27.3475], [153.11, -27.3475], [153.1125, -27.3475], [153.115, -27.3475], [153.115, -27.35], [153.12, -27.35], [153.12, -27.3525], [153.125, -27.3525], [153.125, -27.355], [153.13, -27.355], [153.13, -27.3575], [153.135, -27.3575], [153.135, -27.36], [153.1375, -27.36], [153.1425, -27.36], [153.1475, -27.36], [153.1525, -27.36], [153.1525, -27.3625], [153.155, -27.3625], [153.155, -27.365], [153.1575, -27.365], [153.1575, -27.375], [153.16, -27.375], [153.16, -27.3775], [153.16, -27.38], [153.1575, -27.38], [153.155, -27.38], [153.155, -27.3825], [153.1525, -27.3825], [153.1525, -27.385], [153.15, -27.385], [153.15, -27.3875], [153.145, -27.3875], [153.145, -27.39], [153.1425, -27.39], [153.1425, -27.3925], [153.14, -27.3925], [153.14, -27.395], [153.14, -27.3975], [153.14, -27.4], [153.1375, -27.4], [153.1375, -27.4025], [153.135, -27.4025], [153.135, -27.405], [153.135, -27.4075], [153.135, -27.4125], [153.135, -27.415], [153.13, -27.415], [153.13, -27.4175], [153.1275, -27.4175], [153.1225, -27.4175], [153.1225, -27.42], [153.1175, -27.42], [153.1125, -27.42], [153.1125, -27.4175], [153.11, -27.4175], [153.11, -27.415], [153.1075, -27.415], [153.1075, -27.4125], [153.0975, -27.4125], [153.0975, -27.415], [153.0925, -27.415], [153.0875, -27.415], [153.085, -27.415], [153.08, -27.415], [153.08, -27.4125], [153.0775, -27.4125], [153.0775, -27.41], [153.075, -27.41], [153.075, -27.405], [153.07, -27.405], [153.07, -27.4025], [153.0675, -27.4025], [153.0675, -27.4], [153.065, -27.4], [153.065, -27.3975], [153.0625, -27.3975], [153.0625, -27.395], [153.06, -27.395], [153.06, -27.3925], [153.0275, -27.3925], [153.0275, -27.395], [153.025, -27.395], [153.025, -27.3975], [153.0175, -27.3975], [153.0175, -27.4], [153.0125, -27.4], [153.0125, -27.4025], [153.005, -27.4025], [153.005, -27.405], [153.0025, -27.405], [152.9975, -27.405], [152.9975, -27.4025], [152.9925, -27.4025], [152.9925, -27.4], [152.9875, -27.4], [152.9825, -27.4], [152.9825, -27.3975], [152.98, -27.3975], [152.98, -27.3925], [152.975, -27.3925], [152.975, -27.3875], [152.97, -27.3875], [152.96, -27.3875], [152.96, -27.39], [152.955, -27.39], [152.955, -27.3925], [152.945, -27.3925], [152.94, -27.3925], [152.9375, -27.3925], [152.9375, -27.39], [152.925, -27.39], [152.925, -27.385], [152.925, -27.3825], [152.93, -27.3825], [152.9325, -27.3825], [152.9325, -27.38], [152.9375, -27.38], [152.9375, -27.3825], [152.94, -27.3825], [152.94, -27.38], [152.9475, -27.38], [152.9475, -27.3825], [152.9525, -27.3825], [152.9525, -27.38], [152.965, -27.38], [152.9675, -27.38], [152.9675, -27.3775], [152.98, -27.3775], [152.98, -27.375], [152.9825, -27.375], [152.9825, -27.3725], [152.985, -27.3725], [152.985, -27.37], [152.9875, -27.37], [152.9875, -27.3675], [152.99, -27.3675], [152.99, -27.3625], [152.9925, -27.3625], [152.9925, -27.355], [152.995, -27.355], [152.995, -27.3525], [153, -27.3525], [153, -27.35], [153.005, -27.35], [153.01, -27.35], [153.01, -27.3475], [153.0175, -27.3475], [153.0175, -27.335], [153.02, -27.335], [153.02, -27.33], [153.0225, -27.33], [153.0225, -27.3275], [153.025, -27.3275], [153.025, -27.325], [153.0275, -27.325], [153.0275, -27.3225], [153.03, -27.3225], [153.03, -27.32], [153.0325, -27.32], [153.0325, -27.3175], [153.035, -27.3175], [153.035, -27.305], [153.0375, -27.305], [153.0375, -27.3], [153.04, -27.3], [153.04, -27.2975], [153.0425, -27.2975], [153.0425, -27.2825], [153.04, -27.2825], [153.04, -27.28], [153.0425, -27.28], [153.05, -27.28], [153.06, -27.28]]]}}, - {"type": "Feature", "properties": {"id": "cc12109445"}, "geometry": {"type": "Polygon", "coordinates": [[[153.0025, -27.2775], [153.0025, -27.28], [153.005, -27.28], [153.005, -27.285], [153.0075, -27.285], [153.015, -27.285], [153.015, -27.29], [153.0175, -27.29], [153.0175, -27.2925], [153.0175, -27.3025], [153.02, -27.3025], [153.02, -27.305], [153.0225, -27.305], [153.0225, -27.31], [153.0175, -27.31], [153.0175, -27.3125], [153.015, -27.3125], [153.015, -27.315], [153.015, -27.3175], [153.0175, -27.3175], [153.0175, -27.32], [153.02, -27.32], [153.02, -27.3225], [153.0275, -27.3225], [153.0275, -27.325], [153.025, -27.325], [153.025, -27.3275], [153.0225, -27.3275], [153.0225, -27.33], [153.02, -27.33], [153.02, -27.335], [153.0175, -27.335], [153.0175, -27.3475], [153.01, -27.3475], [153.01, -27.35], [153.005, -27.35], [153, -27.35], [153, -27.3525], [152.995, -27.3525], [152.995, -27.355], [152.9925, -27.355], [152.9925, -27.3625], [152.99, -27.3625], [152.99, -27.3675], [152.9875, -27.3675], [152.9875, -27.37], [152.985, -27.37], [152.985, -27.3725], [152.9825, -27.3725], [152.9825, -27.375], [152.98, -27.375], [152.98, -27.3775], [152.9675, -27.3775], [152.9675, -27.38], [152.965, -27.38], [152.9525, -27.38], [152.9525, -27.3825], [152.9475, -27.3825], [152.9475, -27.38], [152.94, -27.38], [152.94, -27.3825], [152.9375, -27.3825], [152.9375, -27.38], [152.9325, -27.38], [152.9325, -27.3825], [152.93, -27.3825], [152.925, -27.3825], [152.925, -27.385], [152.92, -27.385], [152.92, -27.3825], [152.9075, -27.3825], [152.9075, -27.38], [152.9075, -27.375], [152.9075, -27.3725], [152.915, -27.3725], [152.915, -27.37], [152.92, -27.37], [152.92, -27.3675], [152.9225, -27.3675], [152.9225, -27.365], [152.925, -27.365], [152.925, -27.3625], [152.9275, -27.3625], [152.9275, -27.36], [152.9275, -27.3575], [152.925, -27.3575], [152.925, -27.355], [152.9225, -27.355], [152.9225, -27.3525], [152.92, -27.3525], [152.92, -27.35], [152.9175, -27.35], [152.9175, -27.345], [152.92, -27.345], [152.92, -27.3325], [152.9175, -27.3325], [152.9175, -27.33], [152.915, -27.33], [152.915, -27.3275], [152.9125, -27.3275], [152.9125, -27.325], [152.9125, -27.3225], [152.9225, -27.3225], [152.9225, -27.32], [152.925, -27.32], [152.925, -27.3175], [152.9275, -27.3175], [152.9275, -27.315], [152.93, -27.315], [152.93, -27.3125], [152.9325, -27.3125], [152.9325, -27.31], [152.935, -27.31], [152.935, -27.305], [152.94, -27.305], [152.94, -27.3025], [152.9425, -27.3025], [152.9425, -27.3], [152.945, -27.3], [152.945, -27.2975], [152.95, -27.2975], [152.95, -27.295], [152.955, -27.295], [152.9575, -27.295], [152.9575, -27.2925], [152.96, -27.2925], [152.96, -27.29], [152.9625, -27.29], [152.9625, -27.2875], [152.9675, -27.2875], [152.9675, -27.285], [152.9725, -27.285], [152.9725, -27.2825], [152.9775, -27.2825], [152.9775, -27.28], [152.98, -27.28], [152.9925, -27.28], [152.9925, -27.2775], [152.9975, -27.2775], [153.0025, -27.2775]]]}} - ] - }, - { - "type": "FeatureCollection", - "bbox": [153.0144819, -27.3506599, 153.1143102, -27.2234024], - "properties": {"id": "facilities"}, - "features": [ - {"type": "Feature", "properties": {"id": "bhc"}, "geometry": {"type": "Point", "coordinates": [153.0638169, -27.2897951]}}, - {"type": "Feature", "properties": {"id": "bhca"}, "geometry": {"type": "Polygon", "coordinates": [[[153.063644,-27.2894036],[153.0635207,-27.2896229],[153.0631612,-27.2896182],[153.0631291,-27.289909],[153.0631559,-27.290338],[153.0644487,-27.2904858],[153.0645614,-27.2899185],[153.0648349,-27.2895324],[153.0648135,-27.2889174],[153.0637674,-27.2887362],[153.063644,-27.2894036]]]}}, - {"type": "Feature", "properties": {"id": "bps"}, "geometry": {"type": "Point", "coordinates": [153.0536022, -27.3497934]}}, - {"type": "Feature", "properties": {"id": "cpc"}, "geometry": {"type": "Point", "coordinates": [153.0144819, -27.3506599]}}, - {"type": "Feature", "properties": {"id": "jcabi"}, "geometry": {"type": "Point", "coordinates": [153.0632873, -27.2918652]}}, - {"type": "Feature", "properties": {"id": "rps"}, "geometry": {"type": "Point", "coordinates": [153.1143102, -27.2234024]}}, - {"type": "Feature", "properties": {"id": "sac"}, "geometry": {"type": "Point", "coordinates": [153.0688897, -27.3122011]}}, - {"type": "Feature", "properties": {"id": "sps"}, "geometry": {"type": "Point", "coordinates": [153.0677583, -27.318185]}}, - {"type": "Feature", "properties": {"id": "src"}, "geometry": {"type": "Point", "coordinates": [153.0614757, -27.3111489]}}, - {"type": "Feature", "properties": {"id": "srca"}, "geometry": {"type": "Polygon", "coordinates": [[[153.0606281,-27.3096141], [153.0604564,-27.3105197], [153.0600487,-27.3109296], [153.0607354,-27.3127218], [153.063203,-27.3121212], [153.0621623,-27.3095187], [153.0617868,-27.3098333], [153.0606281,-27.3096141]]]}} - ] - }, - { - "type": "FeatureCollection", - "properties": {"id": "floods"}, - "bbox": [153.06307, -27.3151243, 153.069877, -27.2859541], - "features": [ - {"type": "Feature", "properties": {"id": "f001"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.064893899999987, -27.2909981 ], [ 153.0648081, -27.2911506 ], [ 153.064475499999986, -27.2912364 ], [ 153.064078599999988, -27.2912269 ], [ 153.0635636, -27.291265 ], [ 153.0633383, -27.2913604 ], [ 153.0632417, -27.2914462 ], [ 153.0631559, -27.2915701 ], [ 153.0630808, -27.2917036 ], [ 153.06307, -27.2917704 ], [ 153.0631773, -27.2918943 ], [ 153.0633168, -27.2920564 ], [ 153.0634241, -27.2921613 ], [ 153.063767399999989, -27.2921994 ], [ 153.0642824, -27.2922757 ], [ 153.064400400000011, -27.292371 ], [ 153.0644111, -27.2926761 ], [ 153.0643897, -27.2928764 ], [ 153.0643682, -27.2930766 ], [ 153.06434680000001, -27.2932196 ], [ 153.0642824, -27.2934675 ], [ 153.0642824, -27.2935628 ], [ 153.0643682, -27.2936391 ], [ 153.0647223, -27.2937345 ], [ 153.0648296, -27.293744 ], [ 153.064893899999987, -27.2909981 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f023"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.06487820000001, -27.30059 ], [ 153.0648031, -27.301019 ], [ 153.0648138, -27.3012955 ], [ 153.0648889, -27.3015815 ], [ 153.0648567, -27.3016768 ], [ 153.064824499999986, -27.3018198 ], [ 153.0648138, -27.3020295 ], [ 153.064824499999986, -27.3022965 ], [ 153.0647387, -27.3024109 ], [ 153.0641808, -27.3024776 ], [ 153.063698, -27.3025634 ], [ 153.0634512, -27.3026302 ], [ 153.063419, -27.3027827 ], [ 153.063440500000013, -27.303002 ], [ 153.0634619, -27.303307 ], [ 153.063622900000013, -27.3034501 ], [ 153.0638696, -27.3034882 ], [ 153.0643095, -27.3035454 ], [ 153.0645456, -27.3036026 ], [ 153.0647923, -27.3037456 ], [ 153.0650176, -27.3039553 ], [ 153.0652, -27.3041174 ], [ 153.065318, -27.3042413 ], [ 153.0653931, -27.3045083 ], [ 153.0655112, -27.3047371 ], [ 153.065790099999987, -27.3050803 ], [ 153.0660476, -27.3052519 ], [ 153.0656935, -27.3037551 ], [ 153.0652215, -27.30243 ], [ 153.06487820000001, -27.30059 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f332"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.068289099999987, -27.3113685 ], [ 153.0681389, -27.3108346 ], [ 153.0676454, -27.3103961 ], [ 153.0673021, -27.3096144 ], [ 153.0670231, -27.3088708 ], [ 153.066615399999989, -27.3088327 ], [ 153.0659932, -27.3089662 ], [ 153.0656928, -27.3091568 ], [ 153.065564, -27.3095381 ], [ 153.0658215, -27.310377 ], [ 153.0659073, -27.3107774 ], [ 153.0660361, -27.3111587 ], [ 153.0665725, -27.3113685 ], [ 153.066744199999988, -27.3115973 ], [ 153.0674094, -27.3130272 ], [ 153.0676669, -27.3135419 ], [ 153.0680102, -27.3142473 ], [ 153.0685466, -27.3151243 ], [ 153.0693191, -27.3150862 ], [ 153.0698126, -27.3147049 ], [ 153.069877, -27.3145143 ], [ 153.06970530000001, -27.3140376 ], [ 153.0694479, -27.3134085 ], [ 153.069147500000014, -27.31297 ], [ 153.0688041, -27.3124552 ], [ 153.068375, -27.3120548 ], [ 153.068074599999989, -27.3117498 ], [ 153.068289099999987, -27.3113685 ] ] ] }}, - {"type": "Feature", "properties": {"id": "f632"}, "geometry": {"type": "Polygon", "coordinates": [ [ [ 153.0649154, -27.2906357 ], [ 153.0650656, -27.2892818 ], [ 153.0651407, -27.288233 ], [ 153.06513, -27.287413 ], [ 153.0650656, -27.2859541 ], [ 153.0649905, -27.2861353 ], [ 153.065012, -27.2863737 ], [ 153.065001200000012, -27.2868218 ], [ 153.0649583, -27.2871079 ], [ 153.0648296, -27.2873463 ], [ 153.0646472, -27.2873939 ], [ 153.064604300000013, -27.2875274 ], [ 153.0646365, -27.2877849 ], [ 153.0646686, -27.2879183 ], [ 153.0646686, -27.2882711 ], [ 153.0646365, -27.2885762 ], [ 153.0642609, -27.2886716 ], [ 153.0640678, -27.2888623 ], [ 153.064035600000011, -27.2890816 ], [ 153.064293099999986, -27.2894248 ], [ 153.064379, -27.2897204 ], [ 153.0642288, -27.2899206 ], [ 153.064057100000014, -27.2899969 ], [ 153.0639605, -27.2902353 ], [ 153.0639927, -27.2904069 ], [ 153.064110699999986, -27.2905309 ], [ 153.0642824, -27.2906644 ], [ 153.064497, -27.2907216 ], [ 153.064657899999986, -27.2907406 ], [ 153.064818800000012, -27.2907406 ], [ 153.0649154, -27.2906357 ] ] ] }} - ] - }, - { - "type": "FeatureCollection", - "properties": {"id": "roads"}, - "bbox": [153.0617934, -27.3203138, 153.0747569, -27.2920918], - "features": [ - {"type": "Feature", "properties": {"id": "bt"}, "geometry": {"type": "LineString", "coordinates": [ [ 153.06513, -27.3143431 ], [ 153.065881100000013, -27.3140285 ], [ 153.0653983, -27.3130466 ], [ 153.0652052, -27.3122745 ], [ 153.0651193, -27.3116453 ], [ 153.064550700000012, -27.3103202 ], [ 153.0641108, -27.3092526 ], [ 153.0637889, -27.3074031 ], [ 153.0631774, -27.3057253 ], [ 153.0628448, -27.3044573 ], [ 153.0627053, -27.3036565 ], [ 153.061847, -27.2988706 ], [ 153.0617934, -27.2952 ], [ 153.062168899999989, -27.2933312 ], [ 153.0622333, -27.2920918 ] ] }}, - {"type": "Feature", "properties": {"id": "fp"}, "geometry": {"type": "LineString", "coordinates": [ [ 153.074756900000011, -27.3203138 ], [ 153.0727077, -27.3183121 ], [ 153.0715276, -27.3170824 ], [ 153.070519, -27.3157669 ], [ 153.0694891, -27.3143847 ], [ 153.067751, -27.311115 ], [ 153.0664635, -27.3072446 ], [ 153.0656267, -27.3047468 ], [ 153.065111699999989, -27.3031262 ], [ 153.0647898, -27.301677 ], [ 153.064510899999988, -27.3000372 ], [ 153.0644036, -27.2984546 ], [ 153.0643392, -27.2973296 ], [ 153.06459670000001, -27.2953656 ], [ 153.0646396, -27.2936494 ], [ 153.0644465, -27.2922764 ] ] }} - ] - } - ] -} diff --git a/tests/data/vocprez/expected_responses/beddingsurfacestructure_top_concepts.ttl b/tests/data/vocprez/expected_responses/beddingsurfacestructure_top_concepts.ttl deleted file mode 100644 index 5e536486..00000000 --- a/tests/data/vocprez/expected_responses/beddingsurfacestructure_top_concepts.ttl +++ /dev/null @@ -1,186 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - a skos:ConceptScheme ; - dcterms:identifier "rf:BeddingSurfaceStructure"^^prez:identifier ; - ns1:status ; - skos:hasTopConcept , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - skos:prefLabel "BeddingSurfaceStructure"@en ; - prez:childrenCount 21 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - - a skos:Concept ; - rdfs:label "Shrinkage (Desiccation) Cracks"@en ; - ns1:status ; - skos:prefLabel "Shrinkage (Desiccation) Cracks"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:CRACKDES" . - - a skos:Concept ; - rdfs:label "Synaeresis Cracks"@en ; - ns1:status ; - skos:prefLabel "Synaeresis Cracks"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:CRACKSYN" . - - a skos:Concept ; - rdfs:label "Parting Lineation (Primary Current Lineation)"@en ; - ns1:status ; - skos:prefLabel "Parting Lineation (Primary Current Lineation)"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:PART" . - - a skos:Concept ; - rdfs:label "Rainspots"@en ; - ns1:status ; - skos:prefLabel "Rainspots"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RAIN" . - - a skos:Concept ; - rdfs:label "Ripples"@en ; - ns1:status ; - skos:prefLabel "Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIP" . - - a skos:Concept ; - rdfs:label "Current Ripples"@en ; - ns1:status ; - skos:prefLabel "Current Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPCUR" . - - a skos:Concept ; - rdfs:label "Linguoid Current Ripples"@en ; - ns1:status ; - skos:prefLabel "Linguoid Current Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPCURLIN" . - - a skos:Concept ; - rdfs:label "Sinuous-Crested Current Rippled"@en ; - ns1:status ; - skos:prefLabel "Sinuous-Crested Current Rippled"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPCURSIN" . - - a skos:Concept ; - rdfs:label "Straight-Crested Current Ripples"@en ; - ns1:status ; - skos:prefLabel "Straight-Crested Current Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPCURSTR" . - - a skos:Concept ; - rdfs:label "Wave-Formed Ripples"@en ; - ns1:status ; - skos:prefLabel "Wave-Formed Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPWAV" . - - a skos:Concept ; - rdfs:label "Interference Wave-Formed Ripples"@en ; - ns1:status ; - skos:prefLabel "Interference Wave-Formed Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPWAVINT" . - - a skos:Concept ; - rdfs:label "Modified Wave-Formed Ripples"@en ; - ns1:status ; - skos:prefLabel "Modified Wave-Formed Ripples"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:RIPWAVMOD" . - - a skos:Concept ; - rdfs:label "Trace Fossils"@en ; - ns1:status ; - skos:prefLabel "Trace Fossils"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TF" . - - a skos:Concept ; - rdfs:label "Crawling / Walking Tracks and Trails"@en ; - ns1:status ; - skos:prefLabel "Crawling / Walking Tracks and Trails"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFCR" . - - a skos:Concept ; - rdfs:label "Foot Prints"@en ; - ns1:status ; - skos:prefLabel "Foot Prints"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFCRFOOT" . - - a skos:Concept ; - rdfs:label "Grazing Traces"@en ; - ns1:status ; - skos:prefLabel "Grazing Traces"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFGRZ" . - - a skos:Concept ; - rdfs:label "Coiled Grazing Traces"@en ; - ns1:status ; - skos:prefLabel "Coiled Grazing Traces"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFGRZCOIL" . - - a skos:Concept ; - rdfs:label "Meandering Grazing Traces"@en ; - ns1:status ; - skos:prefLabel "Meandering Grazing Traces"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFGRZMEAND" . - - a skos:Concept ; - rdfs:label "Radial Grazing Traces"@en ; - ns1:status ; - skos:prefLabel "Radial Grazing Traces"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFGRZRAD" . - - a skos:Concept ; - rdfs:label "Resting Traces"@en ; - ns1:status ; - skos:prefLabel "Resting Traces"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure/bddngsrfcstrctr:TFREST" . - - skos:prefLabel "experimental"@en ; - schema:color "#eae72c" . - - skos:prefLabel "valid"@en ; - schema:color "#36a80d" . diff --git a/tests/data/vocprez/expected_responses/collection_listing_anot.ttl b/tests/data/vocprez/expected_responses/collection_listing_anot.ttl deleted file mode 100644 index a9efcf9d..00000000 --- a/tests/data/vocprez/expected_responses/collection_listing_anot.ttl +++ /dev/null @@ -1,51 +0,0 @@ -@prefix dcterms: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - - a skos:Collection ; - dcterms:identifier "brhl-prps:pggd"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Borehole purposes applicable to regulatory notification forms."@en ; - skos:prefLabel "PGGD selection"@en ; - prez:link "/v/collection/brhl-prps:pggd" . - - a skos:Collection ; - dcterms:identifier "dpth-rfrnc:absolute"^^prez:identifier ; - dcterms:provenance "Defined here" ; - skos:definition "A fixed plane or point that describes an absolute reference for depth observations."@en ; - skos:prefLabel "Absolute"@en ; - prez:link "/v/collection/dpth-rfrnc:absolute" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - a skos:Collection ; - dcterms:identifier "cgi:contacttype"^^prez:identifier ; - dcterms:provenance "this vocabulary" ; - skos:definition "All Concepts in this vocabulary" ; - skos:prefLabel "Contact Type - All Concepts"@en ; - prez:link "/v/collection/cgi:contacttype" . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - -skos:Collection rdfs:label "Collection"@en ; - skos:definition "A meaningful collection of concepts."@en ; - prez:count 3 . - diff --git a/tests/data/vocprez/expected_responses/collection_listing_item.ttl b/tests/data/vocprez/expected_responses/collection_listing_item.ttl deleted file mode 100644 index 92907fac..00000000 --- a/tests/data/vocprez/expected_responses/collection_listing_item.ttl +++ /dev/null @@ -1,375 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix skos: . -@prefix xsd: . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - a skos:Collection ; - dcterms:identifier "contacttype"^^xsd:token, - "cgi:contacttype"^^prez:identifier ; - dcterms:provenance "this vocabulary" ; - skos:definition "All Concepts in this vocabulary" ; - skos:member , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - skos:prefLabel "Contact Type - All Concepts"@en ; - prez:link "/v/collection/cgi:contacttype" . - - dcterms:identifier "2016.01:contacttype"^^prez:identifier ; - dcterms:provenance "Original set of terms from the GeosciML standard" ; - skos:definition "This scheme describes the concept space for Contact Type concepts, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme. Designed for use in the contactType property in GeoSciML Contact elements."@en ; - skos:prefLabel "Contact Type"@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:member rdfs:label "has member"@en ; - skos:definition "Relates a collection to one of its members."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - dcterms:identifier "preztest:dataset"^^prez:identifier . - - dcterms:identifier "preztest:feature-collection"^^prez:identifier . - - dcterms:identifier "cntcttyp:alteration_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - skos:prefLabel "alteration facies contact"@en ; - prez:link "/s/datasets/preztest:dataset/collections/preztest:feature-collection/items/cntcttyp:alteration_facies_contact", - "/v/collection/cgi:contacttype/cntcttyp:alteration_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:alteration_facies_contact" . - - dcterms:identifier "cntcttyp:angular_unconformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An unconformable contact between two geological units in which the older, underlying rocks dip at an angle different from the younger, overlying strata, usually in which younger sediments rest upon the eroded surface of tilted or folded older rocks."@en ; - skos:prefLabel "angular unconformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:angular_unconformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:angular_unconformable_contact" . - - dcterms:identifier "cntcttyp:buttress_unconformity"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An unconformity in which onlapping strata are truncated against a steep topographic scarp."@en ; - skos:prefLabel "buttress unconformity"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:buttress_unconformity", - "/v/vocab/2016.01:contacttype/cntcttyp:buttress_unconformity" . - - dcterms:identifier "cntcttyp:chronostratigraphic_zone_contact"^^prez:identifier ; - dcterms:provenance "FGDC"@en ; - ns1:status ; - skos:definition "A contact between bodies of material having different ages of origin."@en ; - skos:prefLabel "chronostratigraphic-zone contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:chronostratigraphic_zone_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:chronostratigraphic_zone_contact" . - - dcterms:identifier "cntcttyp:conductivity_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A geophysical contact between bodies of material distinguished based on electrical conductivity characteristics"@en ; - skos:prefLabel "conductivity contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:conductivity_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:conductivity_contact" . - - dcterms:identifier "cntcttyp:conformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "A contact separating two geological units in which the layers are formed one above the other in order by regular, uninterrupted deposition under the same general conditions."@en ; - skos:prefLabel "conformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:conformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:conformable_contact" . - - dcterms:identifier "cntcttyp:contact"^^prez:identifier ; - dcterms:provenance "adapted from Jackson, 1997, page 137, NADM C1 2004"@en ; - ns1:status ; - skos:definition "A surface that separates geologic units. Very general concept representing any kind of surface separating two geologic units, including primary boundaries such as depositional contacts, all kinds of unconformities, intrusive contacts, and gradational contacts, as well as faults that separate geologic units."@en ; - skos:prefLabel "contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:contact", - "/v/vocab/2016.01:contacttype/cntcttyp:contact" . - - dcterms:identifier "cntcttyp:deformation_zone_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A lithogenetic bundary separating rock masses that have different deformation structure, e.g. sheared rock against non sheared rock, brecciated rock against non-brecciated rock."@en ; - skos:prefLabel "deformation zone contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:deformation_zone_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:deformation_zone_contact" . - - dcterms:identifier "cntcttyp:density_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A geophysical contact separating bodies of material with different density characteristics, generally determined through measurement and modelling of gravity variations."@en ; - skos:prefLabel "density contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:density_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:density_contact" . - - dcterms:identifier "cntcttyp:depositional_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "Lithogenetic contact at which a sedimentary or volcanic rock has been deposited on (or against) another rock body. The relationship between the older underlying rocks and younger overlying rocks is unknown or not specfied."@en ; - skos:prefLabel "depositional contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:depositional_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:depositional_contact" . - - dcterms:identifier "cntcttyp:disconformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An unconformable contact between two geological units in which the bedding of the older, underlying unit is parallel to the bedding of the younger, overlying unit, but in which the contact between the two units is marked by an irregular or uneven surface of appreciable relief."@en ; - skos:prefLabel "disconformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:disconformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:disconformable_contact" . - - dcterms:identifier "cntcttyp:faulted_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "A contact separating two bodies of material across which one body has slid past the other."@en ; - skos:prefLabel "faulted contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:faulted_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:faulted_contact" . - - dcterms:identifier "cntcttyp:geologic_province_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "A contact between regions characterised by their geological history or by similar structural, petrographic or stratigraphic features"@en ; - skos:prefLabel "geologic province contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:geologic_province_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:geologic_province_contact" . - - dcterms:identifier "cntcttyp:geophysical_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A contact separating bodies of material in the earth that have different geophysical properties. Use for boundaries that are detected by geophysical sensor techniques as opposed to direct lithologic observation."@en ; - skos:prefLabel "geophysical contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:geophysical_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:geophysical_contact" . - - dcterms:identifier "cntcttyp:glacial_stationary_line"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A boundary between a subglacial geomorphic unit and a periglacial geomorphic unit, marking the maximum extent of glacial cover. This can be thought of as the outcrop of the contact between a glacier and its substrate at some time at each point along the boundary. This contact type is included as an interim concept, assuming that in the future, there will be extensions to account better for geomorphic units and line types."@en ; - skos:prefLabel "glacial stationary line"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:glacial_stationary_line", - "/v/vocab/2016.01:contacttype/cntcttyp:glacial_stationary_line" . - - dcterms:identifier "cntcttyp:igneous_intrusive_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An intrusive contact between a younger igneous rock and an older, pre-existing geological unit into which it has been intruded."@en ; - skos:prefLabel "igneous intrusive contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:igneous_intrusive_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:igneous_intrusive_contact" . - - dcterms:identifier "cntcttyp:igneous_phase_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A lithogenetic contact separating lithologically distinct phases of a single intrusive body. Does not denote nature of contact (intrusive or gradation)."@en ; - skos:prefLabel "igneous phase contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:igneous_phase_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:igneous_phase_contact" . - - dcterms:identifier "cntcttyp:impact_structure_boundary"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "surface that bounds a body of rock affected by an extraterrestrial impact event"@en ; - skos:prefLabel "impact structure boundary"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:impact_structure_boundary", - "/v/vocab/2016.01:contacttype/cntcttyp:impact_structure_boundary" . - - dcterms:identifier "cntcttyp:lithogenetic_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A non-faulted contact separating bodies of material in the earth that have different lithologic character or geologic history."@en ; - skos:prefLabel "lithogenetic contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:lithogenetic_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:lithogenetic_contact" . - - dcterms:identifier "cntcttyp:magnetic_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A geophysical contact separating bodies of material distinguished based on properties related to magnetic fields."@en ; - skos:prefLabel "magnetic contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:magnetic_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:magnetic_contact" . - - dcterms:identifier "cntcttyp:magnetic_polarity_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A magentic contact between bodies of material with different polarity of remnant magnetization, e.g. between sections of ocean floor with different polarity."@en ; - skos:prefLabel "magnetic polarity contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:magnetic_polarity_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:magnetic_polarity_contact" . - - dcterms:identifier "cntcttyp:magnetic_susceptiblity_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A magnetic contact between bodies of material distinguished based on magnetic susceptibility characteristics."@en ; - skos:prefLabel "magnetic susceptiblity contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:magnetic_susceptiblity_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:magnetic_susceptiblity_contact" . - - dcterms:identifier "cntcttyp:magnetization_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A magnetic contact between bodies of material distinguished based on any aspect of magnetization of material in the units."@en ; - skos:prefLabel "magnetization contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:magnetization_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:magnetization_contact" . - - dcterms:identifier "cntcttyp:metamorphic_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "Lithogenetic contact separating rocks that have different lithologic properties related to metamorphism, metasomatism, alteration, or mineralization. Generally separates metamorphic rock bodies, but may separate metamorphosed (broadly speaking) and non-metamorphosed rock."@en ; - skos:prefLabel "metamorphic contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metamorphic_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metamorphic_contact" . - - dcterms:identifier "cntcttyp:metamorphic_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A metamorphic contact separating rocks that have undergone metamorphism of a particular facies from those that have undergone metamorphism of another facies."@en ; - skos:prefLabel "metamorphic facies contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metamorphic_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metamorphic_facies_contact" . - - dcterms:identifier "cntcttyp:metasomatic_facies_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A metamorphic contact separating rocks that have undergone metasomatism of a particular facies from those that have undergone metasomatism of another facies. Metasomatism is distinguished from metamorphism by significant changes in bulk chemistry of the affected rock."@en ; - skos:prefLabel "metasomatic facies contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:metasomatic_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:metasomatic_facies_contact" . - - dcterms:identifier "cntcttyp:mineralisation_assemblage_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A metasomatic facies contact separating rocks which have been mineralised and contain a particular mineral assemblage from those which contain a different assemblage. Mineralization is a kind of metasomatism that introduces ecomomically important minerals."@en ; - skos:prefLabel "mineralisation assemblage contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:mineralisation_assemblage_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:mineralisation_assemblage_contact" . - - dcterms:identifier "cntcttyp:nonconformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An unconformable contact between an underlying, older nonstratified geological unit (usually intrusive igneous rocks or metamorphics) and an overlying, younger stratified geological unit."@en ; - skos:prefLabel "nonconformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:nonconformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:nonconformable_contact" . - - dcterms:identifier "cntcttyp:paraconformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An unconformable contact between two geological units in which the bedding of the older, underlying unit is parallel to the bedding of the younger, overlying unit, in which the contact between the two units is planar, and may be coincident with a bedding plane."@en ; - skos:prefLabel "paraconformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:paraconformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:paraconformable_contact" . - - dcterms:identifier "cntcttyp:radiometric_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A geophysical contact separating bodies of material distinguished based on the characteristics of emitted of radiant energy related to radioactivity (e.g. gamma rays)."@en ; - skos:prefLabel "radiometric contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:radiometric_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:radiometric_contact" . - - dcterms:identifier "cntcttyp:sedimentary_facies_contact"^^prez:identifier ; - dcterms:provenance "base on Nichols, Gary, 1999, Sedimentology and stratigraphy, Blackwell, p. 62-63."@en ; - ns1:status ; - skos:definition "A lithogenetic contact separating essentially coeval sedimentary material bodies distinguished by characteristics reflecting different physical or chemical processes active at the time of deposition of the sediment."@en ; - skos:prefLabel "sedimentary facies contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:sedimentary_facies_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:sedimentary_facies_contact" . - - dcterms:identifier "cntcttyp:sedimentary_intrusive_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "An intrusive contact between a sedimentary rock unit and plastic sediment (e.g., clay, chalk, salt, gypsum, etc.), forced upward into it from underlying sediment"@en ; - skos:prefLabel "sedimentary intrusive contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:sedimentary_intrusive_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:sedimentary_intrusive_contact" . - - dcterms:identifier "cntcttyp:seismic_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A geophysical contact separating bodies of material defined based on their seismic character. Seismic character is based on transmission of vibrations (seismic waves) through a rock body, and relates to the velocity of transmission, and the nature of reflection, refraction, or transformation of seismic waves by inhomogeneities in the rock body."@en ; - skos:prefLabel "seismic contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:seismic_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:seismic_contact" . - - dcterms:identifier "cntcttyp:unconformable_contact"^^prez:identifier ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - ns1:status ; - skos:definition "A contact separating two geological units in which the younger unit succeeds the older after a substantial hiatus in deposition."@en ; - skos:prefLabel "unconformable contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:unconformable_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:unconformable_contact" . - - dcterms:identifier "cntcttyp:volcanic_subsidence_zone_boundary"^^prez:identifier ; - dcterms:provenance "this vocabulary, concept to encompass boundary of caldron, caldera, or crater."@en ; - ns1:status ; - skos:definition "boundary around a body of rock that is within a zone of subsidence or cratering produced by volcanic activity."@en ; - skos:prefLabel "volcanic subsidence zone boundary"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:volcanic_subsidence_zone_boundary", - "/v/vocab/2016.01:contacttype/cntcttyp:volcanic_subsidence_zone_boundary" . - - dcterms:identifier "cntcttyp:weathering_contact"^^prez:identifier ; - dcterms:provenance "this vocabulary"@en ; - ns1:status ; - skos:definition "A lithogenetic contact separating bodies of material differentiated based on lithologic properties related to weathering."@en ; - skos:prefLabel "weathering contact"@en ; - prez:link "/v/collection/cgi:contacttype/cntcttyp:weathering_contact", - "/v/vocab/2016.01:contacttype/cntcttyp:weathering_contact" . - -skos:Collection rdfs:label "Collection"@en ; - skos:definition "A meaningful collection of concepts."@en . - diff --git a/tests/data/vocprez/expected_responses/concept-coal.ttl b/tests/data/vocprez/expected_responses/concept-coal.ttl deleted file mode 100644 index 921784dd..00000000 --- a/tests/data/vocprez/expected_responses/concept-coal.ttl +++ /dev/null @@ -1,35 +0,0 @@ -@prefix bhpur: . -@prefix cs3: . -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . - -bhpur:coal a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs3: ; - skos:definition "Wells and bores drilled to facilitate the mining of coal under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:inScheme cs3: ; - skos:prefLabel "Coal"@en ; - skos:topConceptOf cs3: ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:coal" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - -cs3: dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:prefLabel "Borehole Purpose"@en ; - prez:link "/v/vocab/def2:borehole-purpose" . diff --git a/tests/data/vocprez/expected_responses/concept-open-cut-coal-mining.ttl b/tests/data/vocprez/expected_responses/concept-open-cut-coal-mining.ttl deleted file mode 100644 index 81a349eb..00000000 --- a/tests/data/vocprez/expected_responses/concept-open-cut-coal-mining.ttl +++ /dev/null @@ -1,67 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . - - a skos:Concept ; - dcterms:identifier "brhl-prps:open-cut-coal-mining"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "Wells drilled for the purpose of assessing coal resources for an open cut coal mine."@en ; - skos:inScheme ; - skos:prefLabel "Open-Cut Coal Mining"@en ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:open-cut-coal-mining" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -rdf:type rdfs:label "type" . - -rdfs:isDefinedBy rdfs:label "isDefinedBy" . - -rdfs:label rdfs:label "label" . - -skos:broader rdfs:label "has broader"@en ; - skos:definition "Relates a concept to a concept that is more general in meaning."@en . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:inScheme rdfs:label "is in scheme"@en ; - skos:definition "Relates a resource (for example a concept) to a concept scheme in which it is included."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - -schema:color rdfs:label "color" . - - dcterms:identifier "brhl-prps:coal"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled to facilitate the mining of coal under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:prefLabel "Coal"@en ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:coal" . - -skos:Concept rdfs:label "Concept"@en ; - skos:definition "An idea or notion; a unit of thought."@en . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - - dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose"@en ; - prez:link "/v/vocab/def2:borehole-purpose" . - diff --git a/tests/data/vocprez/expected_responses/concept-with-2-narrower-concepts.ttl b/tests/data/vocprez/expected_responses/concept-with-2-narrower-concepts.ttl deleted file mode 100644 index 756dc0ce..00000000 --- a/tests/data/vocprez/expected_responses/concept-with-2-narrower-concepts.ttl +++ /dev/null @@ -1,64 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - a skos:Concept ; - dcterms:identifier "brhl-prps:coal"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled to facilitate the mining of coal under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:narrower , - ; - skos:prefLabel "Coal"@en ; - prez:childrenCount 2 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:coal" . - - dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose"@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - a skos:Concept ; - dcterms:identifier "brhl-prps:open-cut-coal-mining"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells drilled for the purpose of assessing coal resources for an open cut coal mine."@en ; - skos:prefLabel "Open-Cut Coal Mining"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:open-cut-coal-mining" . - - a skos:Concept ; - dcterms:identifier "brhl-prps:underground-coal-mining"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells drilled for the purpose of assessing coal resources for an underground coal mine."@en ; - skos:prefLabel "Underground Coal Mining"@en ; - prez:childrenCount 1 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:underground-coal-mining" . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - diff --git a/tests/data/vocprez/expected_responses/concept_anot.ttl b/tests/data/vocprez/expected_responses/concept_anot.ttl deleted file mode 100644 index 94aa4de7..00000000 --- a/tests/data/vocprez/expected_responses/concept_anot.ttl +++ /dev/null @@ -1,29 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix ns2: . -@prefix ns3: . -@prefix rdfs: . -@prefix xsd: . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - - a ns3:Concept ; - dcterms:identifier "alteration_facies_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - ns2:status ; - rdfs:isDefinedBy ; - ns3:broader ; - ns3:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - ns3:inScheme ; - ns3:prefLabel "alteration facies contact"@en . - - dcterms:provenance "this vocabulary"@en ; - ns3:prefLabel "metamorphic contact"@en . - - dcterms:provenance "Original set of terms from the GeosciML standard" ; - ns3:prefLabel "Contact Type"@en ; - ns1:link "/v/vocab/2016.01:contacttype" . diff --git a/tests/data/vocprez/expected_responses/concept_scheme_no_children.ttl b/tests/data/vocprez/expected_responses/concept_scheme_no_children.ttl deleted file mode 100644 index 1275b256..00000000 --- a/tests/data/vocprez/expected_responses/concept_scheme_no_children.ttl +++ /dev/null @@ -1,49 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix owl: . -@prefix prez: . -@prefix prov: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - a owl:Ontology, - skos:ConceptScheme ; - dcterms:created "2020-07-17"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2023-03-16"^^xsd:date ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose no children"@en ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - prez:childrenCount 0 . - -dcterms:created rdfs:label "Date Created"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:creator rdfs:label "Creator"@en ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:modified rdfs:label "Date Modified"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - -rdfs:label rdfs:label "label" . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - - schema:name "Geological Survey of Queensland" . - diff --git a/tests/data/vocprez/expected_responses/concept_scheme_top_concepts_with_children.ttl b/tests/data/vocprez/expected_responses/concept_scheme_top_concepts_with_children.ttl deleted file mode 100644 index db552cff..00000000 --- a/tests/data/vocprez/expected_responses/concept_scheme_top_concepts_with_children.ttl +++ /dev/null @@ -1,106 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix owl: . -@prefix prez: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - dcterms:identifier "brhl-prps:pggd"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Borehole purposes applicable to regulatory notification forms."@en ; - skos:prefLabel "PGGD selection"@en . - - a owl:Ontology, - skos:ConceptScheme ; - dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:hasTopConcept , - , - , - , - , - , - , - ; - skos:prefLabel "Borehole Purpose"@en ; - prez:childrenCount 8 ; - prez:link "/v/vocab/def2:borehole-purpose" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -rdfs:label rdfs:label "label" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled to facilitate the mining of coal under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:prefLabel "Coal"@en ; - prez:childrenCount 2 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:coal" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Geothermal Energy Act 2010"@en ; - skos:prefLabel "Geothermal"@en ; - prez:childrenCount 0 ; - prez:link "/v/collection/brhl-prps:pggd/brhl-prps:geothermal", - "/v/vocab/def2:borehole-purpose/brhl-prps:geothermal" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Greenhouse Gas Storage Act 2009"@en ; - skos:prefLabel "Greenhouse Gas Storage"@en ; - prez:childrenCount 1 ; - prez:link "/v/collection/brhl-prps:pggd/brhl-prps:greenhouse-gas-storage", - "/v/vocab/def2:borehole-purpose/brhl-prps:greenhouse-gas-storage" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled to facilitate the mining of minerals, excluding coal and oil shale, under permits governed by the Queensland Mineral Resources Act (1989)"@en ; - skos:prefLabel "Mineral"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:mineral" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled by non-industry agents outside of the State Resources Acts"@en ; - skos:prefLabel "Non-Industry"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:non-industry" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled to facilitate the mining of oil shale under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:prefLabel "Oil Shale"@en ; - prez:childrenCount 0 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:oil-shale" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Petroleum Act 1923 and Petroleum and Gas (Production and Safety) Act 2004. This includes water observation, water disposal, and water supply wells drilled under the relevant Petroleum Acts rather than the Water Act."@en ; - skos:prefLabel "Petroleum"@en ; - prez:childrenCount 3 ; - prez:link "/v/vocab/def2:borehole-purpose/brhl-prps:petroleum" . - - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Water Act 2000. A well or bore is only considered a water well or bore where drilled under the Water Act, e.g. a well or bore drilled to serve a water observation function under the Petroleum Act is considered a Petroleum Well with an Observation function or sub-purpose. Additional rights, obligations, and responsibilities may be conferred by intersecting legislation on wells and bores drilled by mineral and coal permit holders and petroleum and gas permit holders under the Mineral Resources Act 1989 and the Petroleum and Gas (Production and Safety) Act 2004 respectively."@en ; - skos:prefLabel "Water"@en ; - prez:childrenCount 0 ; - prez:link "/v/collection/brhl-prps:pggd/brhl-prps:water", - "/v/vocab/def2:borehole-purpose/brhl-prps:water" . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - diff --git a/tests/data/vocprez/expected_responses/concept_scheme_with_children.ttl b/tests/data/vocprez/expected_responses/concept_scheme_with_children.ttl deleted file mode 100644 index e3c46478..00000000 --- a/tests/data/vocprez/expected_responses/concept_scheme_with_children.ttl +++ /dev/null @@ -1,49 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix owl: . -@prefix prez: . -@prefix prov: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - a owl:Ontology, - skos:ConceptScheme ; - dcterms:created "2020-07-17"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2023-03-16"^^xsd:date ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose"@en ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - prez:childrenCount 8 . - -dcterms:created rdfs:label "Date Created"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:creator rdfs:label "Creator"@en ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:modified rdfs:label "Date Modified"@en ; - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - -rdfs:label rdfs:label "label" . - - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - schema:color "#2e8c09" . - - schema:name "Geological Survey of Queensland" . - diff --git a/tests/data/vocprez/expected_responses/empty.ttl b/tests/data/vocprez/expected_responses/empty.ttl deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/data/vocprez/expected_responses/vocab_listing_anot.ttl b/tests/data/vocprez/expected_responses/vocab_listing_anot.ttl deleted file mode 100644 index d4c5c974..00000000 --- a/tests/data/vocprez/expected_responses/vocab_listing_anot.ttl +++ /dev/null @@ -1,119 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix prov: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . -@prefix xsd: . - - a skos:ConceptScheme ; - dcterms:identifier "rf:BeddingSurfaceStructure"^^prez:identifier ; - ns1:status ; - skos:definition "A dictionary of bed surface structures, eg. ripples, dessication cracks."@en ; - skos:prefLabel "BeddingSurfaceStructure"@en ; - prez:link "/v/vocab/rf:BeddingSurfaceStructure" . - - a skos:ConceptScheme ; - dcterms:identifier "def2:borehole-purpose"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose"@en ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - prez:link "/v/vocab/def2:borehole-purpose" . - - a skos:ConceptScheme ; - dcterms:identifier "def2:borehole-purpose-no-children"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - ns1:status ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:prefLabel "Borehole Purpose no children"@en ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - prez:link "/v/vocab/def2:borehole-purpose-no-children" . - -dcterms:description rdfs:label "Description"@en ; - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en . - -dcterms:identifier rdfs:label "Identifier"@en ; - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en . - -dcterms:provenance rdfs:label "Provenance"@en ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en . - -dcterms:publisher rdfs:label "Publisher"@en . - - a skos:ConceptScheme ; - dcterms:identifier "2016.01:contacttype"^^prez:identifier ; - dcterms:provenance "Original set of terms from the GeosciML standard" ; - dcterms:publisher ; - skos:definition "This scheme describes the concept space for Contact Type concepts, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme. Designed for use in the contactType property in GeoSciML Contact elements."@en ; - skos:prefLabel "Contact Type"@en ; - prez:link "/v/vocab/2016.01:contacttype" . - -rdf:type rdfs:label "type" . - -rdfs:label rdfs:label "label" . - -skos:definition rdfs:label "definition"@en ; - skos:definition "A statement or formal explanation of the meaning of a concept."@en . - -skos:prefLabel rdfs:label "preferred label"@en ; - skos:definition "The preferred lexical label for a resource, in a given language."@en . - - a skos:ConceptScheme ; - dcterms:identifier "defn:reg-statuses"^^prez:identifier ; - dcterms:publisher ; - skos:definition """This vocabulary is a re-published and only marginally changed version of the Registry Ontology's (http://epimorphics.com/public/vocabulary/Registry.html) *Status* vocabulary (online in RDF: http://purl.org/linked-data/registry). The only real change to content has been the addition of the term `unstable`. This re-publication has been performed to allow the IRIs of each vocab term (skos:Concept) to resolve to both human-readable and machine-readable forms of content (HTML and RDF), using HTTP content negotiation. - -Note that just like the original form of this vocabulary, while it is a SKOS vocabulary implemented as a single skos:ConceptScheme, it is also an OWL Ontology and that each *Status* is both a skos:Concept and a reg:Status individual."""@en ; - skos:prefLabel "Registry Status Vocabulary"@en ; - prez:link "/v/vocab/defn:reg-statuses" . - - a skos:ConceptScheme ; - dcterms:identifier "defn:vocdermods"^^prez:identifier ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - dcterms:publisher ; - ns1:status ; - skos:definition "The modes by which one vocabulary may derive from another"@en ; - skos:prefLabel "Vocabulary Derivation Modes"@en ; - prez:link "/v/vocab/defn:vocdermods" . - - a skos:ConceptScheme ; - dcterms:identifier "defn:warox-alteration-types"^^prez:identifier ; - dcterms:provenance "This vocabulary was built on an extract of the WAROX system's lookup table"@en ; - skos:definition "This vocabulary give Alteration Type concepts, listed in the Geologicla Survey of Western Australia's WAROX database."@en ; - skos:prefLabel "WAROX Alteration Type"@en ; - prez:link "/v/vocab/defn:warox-alteration-types" . - -schema:color rdfs:label "color" . - -schema:name rdfs:label "name" . - - dcterms:identifier "rg-sttss:experimental"^^prez:identifier ; - skos:definition "An entry that has been accepted into the register temporarily and may be subject to change or withdrawal."@en ; - skos:prefLabel "experimental"@en ; - prez:link "/v/vocab/defn:reg-statuses/rg-sttss:experimental" ; - schema:color "#eae72c" . - - schema:name "Commission for the Management and Application of Geoscience Information" . - - schema:name "SA Minerals and Energy Resources" . - - schema:name "Geological Survey of Queensland" . - - dcterms:identifier "rg-sttss:stable"^^prez:identifier ; - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en ; - skos:prefLabel "stable"@en ; - prez:link "/v/vocab/defn:reg-statuses/rg-sttss:stable" ; - schema:color "#2e8c09" . - -skos:ConceptScheme rdfs:label "Concept Scheme"@en ; - skos:definition "A set of concepts, optionally including statements about semantic relationships between those concepts."@en ; - prez:count 7 . - diff --git a/tests/data/vocprez/input/absolute-collection.ttl b/tests/data/vocprez/input/absolute-collection.ttl deleted file mode 100644 index 2761e46c..00000000 --- a/tests/data/vocprez/input/absolute-collection.ttl +++ /dev/null @@ -1,42 +0,0 @@ -@prefix dcterms: . -@prefix ns1: . -@prefix prez: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix skos: . - - dcterms:identifier "df:depth-reference"^^prez:identifier ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - ns1:status ; - skos:definition "The point or level from which all depths are measured and referenced to for an entity or activity. Typically relative to a common global or regional reference datum such as the Australian Height Datum (AHD)."@en ; - skos:prefLabel "Depth Reference"@en . - - a skos:Collection ; - dcterms:identifier "dpth-rfrnc:absolute"^^prez:identifier, - "depth-reference:absolute"^^prez:slug ; - dcterms:provenance "Defined here" ; - skos:definition "A fixed plane or point that describes an absolute reference for depth observations."@en ; - skos:member , - , - ; - skos:prefLabel "Absolute"@en ; - prez:link "/v/collection/dpth-rfrnc:absolute" . - - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "The Australian Height Datum is a vertical datum in Australia.In 1971 the mean sea level for 1966-1968 was assigned the value of 0.000m on the Australian Height Datum at thirty tide gauges around the coast of the Australian continent."@en ; - skos:prefLabel "Australian Height Datum"@en ; - prez:link "/v/collection/dpth-rfrnc:absolute/dpth-rfrnc:australian-height-datum", - "/v/vocab/df:depth-reference/dpth-rfrnc:australian-height-datum" . - - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "The elevation (on the ground) or altitude (in the air) of an object, relative to the average sea level."@en ; - skos:prefLabel "Mean Sea Level"@en ; - prez:link "/v/collection/dpth-rfrnc:absolute/dpth-rfrnc:mean-sea-level", - "/v/vocab/df:depth-reference/dpth-rfrnc:mean-sea-level" . - - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "The distance below mean sea level, the inverse of measurements to Mean Sea Level."@en ; - skos:prefLabel "Metres Sub-Sea"@en ; - prez:link "/v/collection/dpth-rfrnc:absolute/dpth-rfrnc:metres-sub-sea", - "/v/vocab/df:depth-reference/dpth-rfrnc:metres-sub-sea" . diff --git a/tests/data/vocprez/input/alteration-types.ttl b/tests/data/vocprez/input/alteration-types.ttl deleted file mode 100644 index 21f7d9f0..00000000 --- a/tests/data/vocprez/input/alteration-types.ttl +++ /dev/null @@ -1,334 +0,0 @@ -PREFIX : -PREFIX cs: -PREFIX dcterms: -PREFIX reg: -PREFIX sdo: -PREFIX skos: -PREFIX status: -PREFIX xsd: - -:argillic-advanced - a skos:Concept ; - dcterms:identifier "argillic-advanced"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:broader :argillic ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "argillic - advanced"@en ; -. - -:argillic-intermediate - a skos:Concept ; - dcterms:identifier "argillic-intermediate"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:broader :argillic ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "argillic - intermediate"@en ; -. - -:skarn-magnesian - a skos:Concept ; - dcterms:identifier "skarn-magnesian"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:broader :skarn ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "skarn - magnesian"@en ; -. - -:skarn-prograde-stage - a skos:Concept ; - dcterms:identifier "skarn-prograde-stage"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:broader :skarn ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "skarn - prograde stage"@en ; -. - -:skarn-retrograde-stage - a skos:Concept ; - dcterms:identifier "skarn-retrograde-stage"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:broader :skarn ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "skarn - retrograde stage"@en ; -. - -:albitic - a skos:Concept ; - dcterms:identifier "albitic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "albitic"@en ; -. - -:alkali-metasomatism - a skos:Concept ; - dcterms:identifier "alkali-metasomatism"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "alkali metasomatism"@en ; -. - -:carbonate - a skos:Concept ; - dcterms:identifier "carbonate"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "carbonate"@en ; -. - -:chloritic - a skos:Concept ; - dcterms:identifier "chloritic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "chloritic"@en ; -. - -:deuteric - a skos:Concept ; - dcterms:identifier "deuteric"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "deuteric"@en ; -. - -:fenitization - a skos:Concept ; - dcterms:identifier "fenitization"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "fenitization"@en ; -. - -:fluorite-and-topaz - a skos:Concept ; - dcterms:identifier "fluorite-and-topaz"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "fluorite and topaz"@en ; -. - -:greisen - a skos:Concept ; - dcterms:identifier "greisen"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "greisen"@en ; -. - -:hematitic - a skos:Concept ; - dcterms:identifier "hematitic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "hematitic"@en ; -. - -:jasperoid - a skos:Concept ; - dcterms:identifier "jasperoid"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "jasperoid"@en ; -. - -:listvenitization - a skos:Concept ; - dcterms:identifier "listvenitization"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "listvenitization"@en ; -. - -:phyllic-qsp - a skos:Concept ; - dcterms:identifier "phyllic-qsp"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "phyllic (QSP)"@en ; -. - -:potassic - a skos:Concept ; - dcterms:identifier "potassic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "potassic"@en ; -. - -:propylitic - a skos:Concept ; - dcterms:identifier "propylitic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "propylitic"@en ; -. - -:pyritic - a skos:Concept ; - dcterms:identifier "pyritic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "pyritic"@en ; -. - -:rodingitization - a skos:Concept ; - dcterms:identifier "rodingitization"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "rodingitization"@en ; -. - -:sericitic - a skos:Concept ; - dcterms:identifier "sericitic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "sericitic"@en ; -. - -:serpentinization - a skos:Concept ; - dcterms:identifier "serpentinization"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "serpentinization"@en ; -. - -:silicification - a skos:Concept ; - dcterms:identifier "silicification"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "silicification"@en ; -. - -:tourmalinization - a skos:Concept ; - dcterms:identifier "tourmalinization"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "tourmalinization"@en ; -. - -:zeolitic - a skos:Concept ; - dcterms:identifier "zeolitic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "zeolitic"@en ; -. - - - a sdo:Organization ; - sdo:name "Geological Survey of Western Australia" ; - sdo:url "http://dmp.wa.gov.au/Geological-Survey/Geological-Survey-262.aspx"^^xsd:anyURI ; -. - -:argillic - a skos:Concept ; - dcterms:identifier "argillic"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "argillic"@en ; -. - -:skarn - a skos:Concept ; - dcterms:identifier "skarn"^^xsd:token ; - dcterms:provenance "From WAROX"@en ; - reg:status status:submitted ; - skos:definition "Not given"@en ; - skos:inScheme cs: ; - skos:prefLabel "skarn"@en ; -. - -cs: - a skos:ConceptScheme ; - dcterms:identifier "warox-alteration-type"^^xsd:token ; - dcterms:created "2021-09-26"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2021-09-29"^^xsd:date ; - dcterms:provenance "This vocabulary was built on an extract of the WAROX system's lookup table"@en ; - skos:definition "This vocabulary give Alteration Type concepts, listed in the Geologicla Survey of Western Australia's WAROX database."@en ; - skos:hasTopConcept - :albitic , - :alkali-metasomatism , - :argillic , - :carbonate , - :chloritic , - :deuteric , - :fenitization , - :fluorite-and-topaz , - :greisen , - :hematitic , - :jasperoid , - :listvenitization , - :phyllic-qsp , - :potassic , - :propylitic , - :pyritic , - :rodingitization , - :sericitic , - :serpentinization , - :silicification , - :skarn , - :tourmalinization , - :zeolitic ; - skos:prefLabel "WAROX Alteration Type"@en ; -. diff --git a/tests/data/vocprez/input/beddingsurfacestructure.ttl b/tests/data/vocprez/input/beddingsurfacestructure.ttl deleted file mode 100644 index eeca1838..00000000 --- a/tests/data/vocprez/input/beddingsurfacestructure.ttl +++ /dev/null @@ -1,177 +0,0 @@ - . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - . - . - "A dictionary of bed surface structures, eg. ripples, dessication cracks."@en . - "Created for internal use in corporate BGS relational database"@en . - "BeddingSurfaceStructure"@en . - "2003-06-04"^^ . - "2003-06-04"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - "http://data.bgs.ac.uk/ref/BeddingSurfaceStructure"^^ . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - "Shrinkage (Desiccation) Cracks"@en . - "Synaeresis Cracks"@en . - "Parting Lineation (Primary Current Lineation)"@en . - "Rainspots"@en . - "Ripples"@en . - "Current Ripples"@en . - "Linguoid Current Ripples"@en . - "Sinuous-Crested Current Rippled"@en . - "Straight-Crested Current Ripples"@en . - "Wave-Formed Ripples"@en . - "Interference Wave-Formed Ripples"@en . - "Modified Wave-Formed Ripples"@en . - "Wind Ripples"@en . - "Trace Fossils"@en . - "Crawling / Walking Tracks and Trails"@en . - "Foot Prints"@en . - "Grazing Traces"@en . - "Coiled Grazing Traces"@en . - "Meandering Grazing Traces"@en . - "Radial Grazing Traces"@en . - "Resting Traces"@en . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - "SHRINKAGE (DESICCATION) CRACKS"@en . - "SYNAERESIS CRACKS"@en . - "PARTING LINEATION (PRIMARY CURRENT LINEATION)"@en . - "RAINSPOTS"@en . - "RIPPLES, TYPE UNDEFINED"@en . - "CURRENT RIPPLES"@en . - "LINGUOID CURRENT RIPPLES"@en . - "SINUOUS-CRESTED CURRENT RIPPLED"@en . - "STRAIGHT-CRESTED CURRENT RIPPLES"@en . - "WAVE-FORMED RIPPLES"@en . - "INTERFERENCE WAVE-FORMED RIPPLES"@en . - "MODIFIED WAVE-FORMED RIPPLES"@en . - "WIND RIPPLES"@en . - "TRACE FOSSILS, TYPE UNDEFINED"@en . - "CRAWLING / WALKING TRACKS AND TRAILS"@en . - "FOOT PRINTS"@en . - "GRAZING TRACES"@en . - "COILED GRAZING TRACES"@en . - "MEANDERING GRAZING TRACES"@en . - "RADIAL GRAZING TRACES"@en . - "RESTING TRACES"@en . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - "Shrinkage (Desiccation) Cracks"@en . - "Synaeresis Cracks"@en . - "Parting Lineation (Primary Current Lineation)"@en . - "Rainspots"@en . - "Ripples"@en . - "Current Ripples"@en . - "Linguoid Current Ripples"@en . - "Sinuous-Crested Current Rippled"@en . - "Straight-Crested Current Ripples"@en . - "Wave-Formed Ripples"@en . - "Interference Wave-Formed Ripples"@en . - "Modified Wave-Formed Ripples"@en . - "Wind Ripples"@en . - "Trace Fossils"@en . - "Crawling / Walking Tracks and Trails"@en . - "Foot Prints"@en . - "Grazing Traces"@en . - "Coiled Grazing Traces"@en . - "Meandering Grazing Traces"@en . - "Radial Grazing Traces"@en . - "Resting Traces"@en . diff --git a/tests/data/vocprez/input/borehole-purpose-no-children.ttl b/tests/data/vocprez/input/borehole-purpose-no-children.ttl deleted file mode 100644 index d2e619fd..00000000 --- a/tests/data/vocprez/input/borehole-purpose-no-children.ttl +++ /dev/null @@ -1,26 +0,0 @@ -PREFIX agldwgstatus: -PREFIX cs: -PREFIX dcterms: -PREFIX owl: -PREFIX prov: -PREFIX rdfs: -PREFIX reg: -PREFIX sdo: -PREFIX skos: -PREFIX xsd: - -cs: - a - owl:Ontology , - skos:ConceptScheme ; - dcterms:created "2020-07-17"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2023-03-16"^^xsd:date ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - reg:status agldwgstatus:stable ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - skos:prefLabel "Borehole Purpose no children"@en ; -. diff --git a/tests/data/vocprez/input/borehole-purpose.ttl b/tests/data/vocprez/input/borehole-purpose.ttl deleted file mode 100644 index cdb797bb..00000000 --- a/tests/data/vocprez/input/borehole-purpose.ttl +++ /dev/null @@ -1,238 +0,0 @@ -PREFIX agldwgstatus: -PREFIX bhpur: -PREFIX cs: -PREFIX dcterms: -PREFIX owl: -PREFIX prov: -PREFIX rdfs: -PREFIX reg: -PREFIX sdo: -PREFIX skos: -PREFIX xsd: - -bhpur:carbon-capture-and-storage - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:greenhouse-gas-storage ; - skos:definition "Wells that deposit carbon dioxide into an underground geological formation after capture from large point sources, such as a cement factory or biomass power plant."@en ; - skos:inScheme cs: ; - skos:prefLabel "Carbon Capture and Storage"@en ; -. - -bhpur:open-cut-coal-mining - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:coal ; - skos:definition "Wells drilled for the purpose of assessing coal resources for an open cut coal mine."@en ; - skos:inScheme cs: ; - skos:prefLabel "Open-Cut Coal Mining"@en ; -. - -bhpur:pggd - a skos:Collection ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - skos:definition "Borehole purposes applicable to regulatory notification forms."@en ; - skos:member - bhpur:coal-seam-gas , - bhpur:conventional-petroleum , - bhpur:geothermal , - bhpur:greenhouse-gas-storage , - bhpur:unconventional-petroleum , - bhpur:water ; - skos:prefLabel "PGGD selection"@en ; -. - -bhpur:shale-gas - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:unconventional-petroleum ; - skos:definition "Wells targetting shale that produces natural gas. A shale that is thermally mature enough and has sufficient gas content to produce economic quantities of natural gas."@en ; - skos:inScheme cs: ; - skos:prefLabel "Shale Gas"@en ; -. - -bhpur:shale-oil - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:unconventional-petroleum ; - skos:definition "Wells targetting shale that produces oil. Oil obtained by artificial maturation of oil shale. The process of artificial maturation uses controlled heating, or pyrolysis, of kerogen to release the shale oil."@en ; - skos:inScheme cs: ; - skos:prefLabel "Shale Oil"@en ; -. - -bhpur:tight-gas - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:unconventional-petroleum ; - skos:definition "Wells targetting gas from relatively impermeable reservoir rock."@en ; - skos:inScheme cs: ; - skos:prefLabel "Tight Gas"@en ; -. - -bhpur:tight-oil - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:unconventional-petroleum ; - skos:definition "Wells targetting oil from relatively impermeable reservoir rock."@en ; - skos:inScheme cs: ; - skos:prefLabel "Tight Oil"@en ; -. - -bhpur:underground-coal-mining - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:coal ; - skos:definition "Wells drilled for the purpose of assessing coal resources for an underground coal mine."@en ; - skos:inScheme cs: ; - skos:prefLabel "Underground Coal Mining"@en ; -. - -bhpur:coal-seam-gas - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:petroleum ; - skos:definition "Wells targetting coal seams where hydrocarbons are kept in place via adsorption to the coal surface and hydrostatic pressure"@en ; - skos:inScheme cs: ; - skos:prefLabel "Coal Seam Gas"@en ; -. - -bhpur:conventional-petroleum - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:petroleum ; - skos:definition "Wells targetting conventional petroleum reservoirs where buoyant forces keep hydrocarbons in place below a sealing caprock."@en ; - skos:inScheme cs: ; - skos:prefLabel "Conventional Petroleum"@en ; -. - -bhpur:mineral - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled to facilitate the mining of minerals, excluding coal and oil shale, under permits governed by the Queensland Mineral Resources Act (1989)"@en ; - skos:inScheme cs: ; - skos:prefLabel "Mineral"@en ; - skos:topConceptOf cs: ; -. - -bhpur:non-industry - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:altLabel "Non-Industry"@en ; - skos:definition "Wells and bores drilled by non-industry agents outside of the State Resources Acts"@en ; - skos:inScheme cs: ; - skos:prefLabel "Non-Industry"@en ; - skos:topConceptOf cs: ; -. - -bhpur:oil-shale - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled to facilitate the mining of oil shale under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:inScheme cs: ; - skos:prefLabel "Oil Shale"@en ; - skos:topConceptOf cs: ; -. - -bhpur:geothermal - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Geothermal Energy Act 2010"@en ; - skos:inScheme cs: ; - skos:prefLabel "Geothermal"@en ; - skos:topConceptOf cs: ; -. - -bhpur:water - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Water Act 2000. A well or bore is only considered a water well or bore where drilled under the Water Act, e.g. a well or bore drilled to serve a water observation function under the Petroleum Act is considered a Petroleum Well with an Observation function or sub-purpose. Additional rights, obligations, and responsibilities may be conferred by intersecting legislation on wells and bores drilled by mineral and coal permit holders and petroleum and gas permit holders under the Mineral Resources Act 1989 and the Petroleum and Gas (Production and Safety) Act 2004 respectively."@en ; - skos:inScheme cs: ; - skos:prefLabel "Water"@en ; - skos:topConceptOf cs: ; -. - - - a sdo:Organization ; - sdo:name "Geological Survey of Queensland" ; - sdo:url "http://www.business.qld.gov.au/industries/mining-energy-water/resources/geoscience-information/gsq"^^xsd:anyURI ; -. - -bhpur:coal - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled to facilitate the mining of coal under permits governed by the Queensland Mineral Resources Act 1989"@en ; - skos:inScheme cs: ; - skos:prefLabel "Coal"@en ; - skos:topConceptOf cs: ; -. - -bhpur:greenhouse-gas-storage - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:altLabel "GHG"@en ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Greenhouse Gas Storage Act 2009"@en ; - skos:inScheme cs: ; - skos:prefLabel "Greenhouse Gas Storage"@en ; - skos:topConceptOf cs: ; -. - -bhpur:petroleum - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:definition "Wells and bores drilled under permits governed by the Queensland Petroleum Act 1923 and Petroleum and Gas (Production and Safety) Act 2004. This includes water observation, water disposal, and water supply wells drilled under the relevant Petroleum Acts rather than the Water Act."@en ; - skos:inScheme cs: ; - skos:prefLabel "Petroleum"@en ; - skos:topConceptOf cs: ; -. - -bhpur:unconventional-petroleum - a skos:Concept ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - rdfs:isDefinedBy cs: ; - skos:broader bhpur:petroleum ; - skos:definition "Wells targetting unconventional reservoirs whose properties including porosity, permeability, or trapping mechanism differ from conventional reservoirs"@en ; - skos:inScheme cs: ; - skos:prefLabel "Unconventional Petroleum"@en ; -. - -cs: - a - owl:Ontology , - skos:ConceptScheme ; - dcterms:created "2020-07-17"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2023-03-16"^^xsd:date ; - dcterms:provenance "Compiled by the Geological Survey of Queensland" ; - dcterms:publisher ; - reg:status agldwgstatus:stable ; - skos:definition "The primary purpose of a borehole based on the legislative State Act and/or the resources industry sector."@en ; - skos:hasTopConcept - bhpur:coal , - bhpur:geothermal , - bhpur:greenhouse-gas-storage , - bhpur:mineral , - bhpur:non-industry , - bhpur:oil-shale , - bhpur:petroleum , - bhpur:water ; - prov:qualifiedDerivation [ prov:entity ; - prov:hadRole ] ; - skos:prefLabel "Borehole Purpose"@en ; -. diff --git a/tests/data/vocprez/input/contacttype.ttl b/tests/data/vocprez/input/contacttype.ttl deleted file mode 100644 index d6fed418..00000000 --- a/tests/data/vocprez/input/contacttype.ttl +++ /dev/null @@ -1,565 +0,0 @@ -PREFIX dcterms: -PREFIX rdfs: -PREFIX reg: -PREFIX sdo: -PREFIX skos: -PREFIX status: -PREFIX xsd: - - - a skos:Collection ; - dcterms:identifier "contacttype"^^xsd:token ; - dcterms:provenance "this vocabulary" ; - skos:definition "All Concepts in this vocabulary" ; - skos:member - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - skos:prefLabel "Contact Type - All Concepts"@en ; -. - - - a sdo:Organization ; - sdo:affiliation ; - sdo:name "CGI Geoscience Terminology Working Group" ; - sdo:url "http://www.cgi-iugs.org/tech_collaboration/geoscience_terminology_working_group.html"^^xsd:anyURI ; -. - - - a skos:Concept ; - dcterms:identifier "alteration_facies_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metasomatic facies contact separating rocks that have undergone alteration of a particular facies from those that have undergone metasomatism of another facies. Alteration is a kind of metasomatism that does not introduce economically important minerals."@en ; - skos:inScheme ; - skos:prefLabel "alteration facies contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "angular_unconformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An unconformable contact between two geological units in which the older, underlying rocks dip at an angle different from the younger, overlying strata, usually in which younger sediments rest upon the eroded surface of tilted or folded older rocks."@en ; - skos:inScheme ; - skos:prefLabel "angular unconformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "buttress_unconformity"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An unconformity in which onlapping strata are truncated against a steep topographic scarp."@en ; - skos:inScheme ; - skos:prefLabel "buttress unconformity"@en ; -. - - - a skos:Concept ; - dcterms:identifier "chronostratigraphic_zone_contact"^^xsd:token ; - dcterms:provenance "FGDC"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact between bodies of material having different ages of origin."@en ; - skos:inScheme ; - skos:prefLabel "chronostratigraphic-zone contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "conductivity_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A geophysical contact between bodies of material distinguished based on electrical conductivity characteristics"@en ; - skos:inScheme ; - skos:prefLabel "conductivity contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "conformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact separating two geological units in which the layers are formed one above the other in order by regular, uninterrupted deposition under the same general conditions."@en ; - skos:inScheme ; - skos:prefLabel "conformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "deformation_zone_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A lithogenetic bundary separating rock masses that have different deformation structure, e.g. sheared rock against non sheared rock, brecciated rock against non-brecciated rock."@en ; - skos:inScheme ; - skos:prefLabel "deformation zone contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "density_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A geophysical contact separating bodies of material with different density characteristics, generally determined through measurement and modelling of gravity variations."@en ; - skos:inScheme ; - skos:prefLabel "density contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "disconformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An unconformable contact between two geological units in which the bedding of the older, underlying unit is parallel to the bedding of the younger, overlying unit, but in which the contact between the two units is marked by an irregular or uneven surface of appreciable relief."@en ; - skos:inScheme ; - skos:prefLabel "disconformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "faulted_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact separating two bodies of material across which one body has slid past the other."@en ; - skos:inScheme ; - skos:prefLabel "faulted contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "geologic_province_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact between regions characterised by their geological history or by similar structural, petrographic or stratigraphic features"@en ; - skos:inScheme ; - skos:prefLabel "geologic province contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "glacial_stationary_line"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A boundary between a subglacial geomorphic unit and a periglacial geomorphic unit, marking the maximum extent of glacial cover. This can be thought of as the outcrop of the contact between a glacier and its substrate at some time at each point along the boundary. This contact type is included as an interim concept, assuming that in the future, there will be extensions to account better for geomorphic units and line types."@en ; - skos:inScheme ; - skos:prefLabel "glacial stationary line"@en ; -. - - - a skos:Concept ; - dcterms:identifier "igneous_intrusive_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An intrusive contact between a younger igneous rock and an older, pre-existing geological unit into which it has been intruded."@en ; - skos:inScheme ; - skos:prefLabel "igneous intrusive contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "igneous_phase_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A lithogenetic contact separating lithologically distinct phases of a single intrusive body. Does not denote nature of contact (intrusive or gradation)."@en ; - skos:inScheme ; - skos:prefLabel "igneous phase contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "impact_structure_boundary"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "surface that bounds a body of rock affected by an extraterrestrial impact event"@en ; - skos:inScheme ; - skos:prefLabel "impact structure boundary"@en ; -. - - - a skos:Concept ; - dcterms:identifier "magnetic_polarity_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A magentic contact between bodies of material with different polarity of remnant magnetization, e.g. between sections of ocean floor with different polarity."@en ; - skos:inScheme ; - skos:prefLabel "magnetic polarity contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "magnetic_susceptiblity_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A magnetic contact between bodies of material distinguished based on magnetic susceptibility characteristics."@en ; - skos:inScheme ; - skos:prefLabel "magnetic susceptiblity contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "magnetization_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A magnetic contact between bodies of material distinguished based on any aspect of magnetization of material in the units."@en ; - skos:inScheme ; - skos:prefLabel "magnetization contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "metamorphic_facies_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metamorphic contact separating rocks that have undergone metamorphism of a particular facies from those that have undergone metamorphism of another facies."@en ; - skos:inScheme ; - skos:prefLabel "metamorphic facies contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "metasomatic_facies_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metamorphic contact separating rocks that have undergone metasomatism of a particular facies from those that have undergone metasomatism of another facies. Metasomatism is distinguished from metamorphism by significant changes in bulk chemistry of the affected rock."@en ; - skos:inScheme ; - skos:prefLabel "metasomatic facies contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "mineralisation_assemblage_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A metasomatic facies contact separating rocks which have been mineralised and contain a particular mineral assemblage from those which contain a different assemblage. Mineralization is a kind of metasomatism that introduces ecomomically important minerals."@en ; - skos:inScheme ; - skos:prefLabel "mineralisation assemblage contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "nonconformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An unconformable contact between an underlying, older nonstratified geological unit (usually intrusive igneous rocks or metamorphics) and an overlying, younger stratified geological unit."@en ; - skos:inScheme ; - skos:prefLabel "nonconformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "paraconformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader - , - ; - skos:definition "An unconformable contact between two geological units in which the bedding of the older, underlying unit is parallel to the bedding of the younger, overlying unit, in which the contact between the two units is planar, and may be coincident with a bedding plane."@en ; - skos:inScheme ; - skos:prefLabel "paraconformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "radiometric_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A geophysical contact separating bodies of material distinguished based on the characteristics of emitted of radiant energy related to radioactivity (e.g. gamma rays)."@en ; - skos:inScheme ; - skos:prefLabel "radiometric contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "sedimentary_facies_contact"^^xsd:token ; - dcterms:provenance "base on Nichols, Gary, 1999, Sedimentology and stratigraphy, Blackwell, p. 62-63."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A lithogenetic contact separating essentially coeval sedimentary material bodies distinguished by characteristics reflecting different physical or chemical processes active at the time of deposition of the sediment."@en ; - skos:inScheme ; - skos:prefLabel "sedimentary facies contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "sedimentary_intrusive_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "An intrusive contact between a sedimentary rock unit and plastic sediment (e.g., clay, chalk, salt, gypsum, etc.), forced upward into it from underlying sediment"@en ; - skos:inScheme ; - skos:prefLabel "sedimentary intrusive contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "seismic_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A geophysical contact separating bodies of material defined based on their seismic character. Seismic character is based on transmission of vibrations (seismic waves) through a rock body, and relates to the velocity of transmission, and the nature of reflection, refraction, or transformation of seismic waves by inhomogeneities in the rock body."@en ; - skos:inScheme ; - skos:prefLabel "seismic contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "volcanic_subsidence_zone_boundary"^^xsd:token ; - dcterms:provenance "this vocabulary, concept to encompass boundary of caldron, caldera, or crater."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "boundary around a body of rock that is within a zone of subsidence or cratering produced by volcanic activity."@en ; - skos:inScheme ; - skos:prefLabel "volcanic subsidence zone boundary"@en ; -. - - - a skos:Concept ; - dcterms:identifier "weathering_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A lithogenetic contact separating bodies of material differentiated based on lithologic properties related to weathering."@en ; - skos:inScheme ; - skos:prefLabel "weathering contact"@en ; -. - - - a sdo:Organization ; - sdo:name "Commission for the Management and Application of Geoscience Information" ; - sdo:url "http://www.cgi-iugs.org"^^xsd:anyURI ; -. - - - a skos:Concept ; - dcterms:identifier "depositional_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "Lithogenetic contact at which a sedimentary or volcanic rock has been deposited on (or against) another rock body. The relationship between the older underlying rocks and younger overlying rocks is unknown or not specfied."@en ; - skos:inScheme ; - skos:narrower - , - ; - skos:prefLabel "depositional contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "magnetic_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A geophysical contact separating bodies of material distinguished based on properties related to magnetic fields."@en ; - skos:inScheme ; - skos:narrower - , - , - ; - skos:prefLabel "magnetic contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "metamorphic_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "Lithogenetic contact separating rocks that have different lithologic properties related to metamorphism, metasomatism, alteration, or mineralization. Generally separates metamorphic rock bodies, but may separate metamorphosed (broadly speaking) and non-metamorphosed rock."@en ; - skos:inScheme ; - skos:narrower - , - , - , - ; - skos:prefLabel "metamorphic contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "geophysical_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact separating bodies of material in the earth that have different geophysical properties. Use for boundaries that are detected by geophysical sensor techniques as opposed to direct lithologic observation."@en ; - skos:inScheme ; - skos:narrower - , - , - , - , - ; - skos:prefLabel "geophysical contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "unconformable_contact"^^xsd:token ; - dcterms:provenance "Neuendorf, K.K.E, Mehl, J.P. & Jackson, J.A. (eds), 2005. Glossary of geology, 5th Edition. American Geological Institute, Alexandria, 779 p."@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A contact separating two geological units in which the younger unit succeeds the older after a substantial hiatus in deposition."@en ; - skos:inScheme ; - skos:narrower - , - , - , - , - ; - skos:prefLabel "unconformable contact"@en ; -. - - - a skos:Concept ; - dcterms:identifier "contact"^^xsd:token ; - dcterms:provenance "adapted from Jackson, 1997, page 137, NADM C1 2004"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:definition "A surface that separates geologic units. Very general concept representing any kind of surface separating two geologic units, including primary boundaries such as depositional contacts, all kinds of unconformities, intrusive contacts, and gradational contacts, as well as faults that separate geologic units."@en ; - skos:inScheme ; - skos:narrower - , - , - , - , - , - ; - skos:prefLabel "contact"@en ; - skos:topConceptOf ; -. - - - a skos:Concept ; - dcterms:identifier "lithogenetic_contact"^^xsd:token ; - dcterms:provenance "this vocabulary"@en ; - reg:status status:submitted ; - rdfs:isDefinedBy ; - skos:broader ; - skos:definition "A non-faulted contact separating bodies of material in the earth that have different lithologic character or geologic history."@en ; - skos:inScheme ; - skos:narrower - , - , - , - , - , - , - , - , - , - ; - skos:prefLabel "lithogenetic contact"@en ; -. - - - a skos:ConceptScheme ; - dcterms:identifier "contacttype"^^xsd:token ; - dcterms:created "2009-07-14"^^xsd:date ; - dcterms:creator ; - dcterms:modified "2020-06-23"^^xsd:date ; - dcterms:provenance "Original set of terms from the GeosciML standard" ; - dcterms:publisher ; - dcterms:source "http://www.opengis.net/doc/geosciml/4.1"^^xsd:anyURI ; - skos:changeNote - "2009 Revised from ContactType200811 with addition of impact_structure_boundary and volcanic_subsidence_zone_boundary, and addition of more metadata annotation"@en , - "2009-12-07 SMR Update metadata properties for version, creator, title, and format. Change skos:HistoryNote to dc:source for information on origin of terms and definitions."@en , - "2011-02-16 SMR replace URN with cgi http URI's. Last changes to fix URN for conceptScheme that was not updated in original updates."@en , - "2012-02-07 SMR update URI to replace numeric final token with English-language string as in original URN scheme."@en , - "2012-02-27 SMR add skos:exactMatch triples to map URIs for concepts in this vocabulary to number-token URIs in 201012 version of same concepts."@en , - "2012-11-24 SMR Update to 201211 version; add collection entity, check all pref labels are lower case, remove owl:NamedIndividual and Owl:Thing rdf:types."@en , - "2016-06-15 OLR - redo Excel spreadsheet to work with XSLT, to make consistent SKOS-RDF with all CGI vocabularies. Generate new SKOS-RDF file."@en , - "2020-06-23 NJC Added properties to ensure vocab matched Geoscience Australia's vocab profile (http://linked.data.gov.au/def/ga-skos-profile). Just annotation properties, no new content. Agents (creator/publisher) now not text but RDF resource. Dates (create/modified) derived from editorial notes & existing date properties."@en ; - skos:definition "This scheme describes the concept space for Contact Type concepts, as defined by the IUGS Commission for Geoscience Information (CGI) Geoscience Terminology Working Group. By extension, it includes all concepts in this conceptScheme, as well as concepts in any previous versions of the scheme. Designed for use in the contactType property in GeoSciML Contact elements."@en ; - skos:editorialNote "This file contains the 2016 SKOS-RDF version of the CGI Contact Type vocabulary. Compilation and review in MS Excel spreadsheet, converted to MS Excel for SKOS generation using GSML_SKOS_fromXLS_2016.01.xslt."@en ; - skos:hasTopConcept ; - skos:prefLabel "Contact Type"@en ; -. diff --git a/tests/data/vocprez/input/dublin_core_terms.ttl b/tests/data/vocprez/input/dublin_core_terms.ttl deleted file mode 100644 index 89e4fb64..00000000 --- a/tests/data/vocprez/input/dublin_core_terms.ttl +++ /dev/null @@ -1,867 +0,0 @@ -@prefix rdf: . -@prefix owl: . -@prefix skos: . -@prefix dcam: . -@prefix dcterms: . -@prefix rdfs: . - - - dcterms:modified "2012-06-14"^^ ; - dcterms:publisher ; - dcterms:title "DCMI Metadata Terms - other"@en . - -dcterms:Agent - dcterms:issued "2008-01-14"^^ ; - a dcterms:AgentClass, rdfs:Class ; - rdfs:comment "A resource that acts or has the power to act."@en ; - rdfs:isDefinedBy ; - rdfs:label "Agent"@en . - -dcterms:AgentClass - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A group of agents."@en ; - rdfs:isDefinedBy ; - rdfs:label "Agent Class"@en ; - rdfs:subClassOf rdfs:Class . - -dcterms:BibliographicResource - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A book, article, or other documentary resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Bibliographic Resource"@en . - -dcterms:Box - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme."@en ; - rdfs:isDefinedBy ; - rdfs:label "DCMI Box"@en ; - rdfs:seeAlso . - -dcterms:DCMIType - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "DCMI Type Vocabulary"@en ; - rdfs:seeAlso . - -dcterms:DDC - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of conceptual resources specified by the Dewey Decimal Classification."@en ; - rdfs:isDefinedBy ; - rdfs:label "DDC"@en ; - rdfs:seeAlso . - -dcterms:FileFormat - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A digital resource format."@en ; - rdfs:isDefinedBy ; - rdfs:label "File Format"@en ; - rdfs:subClassOf dcterms:MediaType . - -dcterms:Frequency - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A rate at which something recurs."@en ; - rdfs:isDefinedBy ; - rdfs:label "Frequency"@en . - -dcterms:IMT - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of media types specified by the Internet Assigned Numbers Authority."@en ; - rdfs:isDefinedBy ; - rdfs:label "IMT"@en ; - rdfs:seeAlso . - -dcterms:ISO3166 - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of codes listed in ISO 3166-1 for the representation of names of countries."@en ; - rdfs:isDefinedBy ; - rdfs:label "ISO 3166"@en ; - rdfs:seeAlso . - -dcterms:ISO639-2 - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The three-letter alphabetic codes listed in ISO639-2 for the representation of names of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "ISO 639-2"@en ; - rdfs:seeAlso . - -dcterms:ISO639-3 - dcterms:issued "2008-01-14"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of three-letter codes listed in ISO 639-3 for the representation of names of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "ISO 639-3"@en ; - rdfs:seeAlso . - -dcterms:Jurisdiction - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "The extent or range of judicial, law enforcement, or other authority."@en ; - rdfs:isDefinedBy ; - rdfs:label "Jurisdiction"@en ; - rdfs:subClassOf dcterms:LocationPeriodOrJurisdiction . - -dcterms:LCC - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of conceptual resources specified by the Library of Congress Classification."@en ; - rdfs:isDefinedBy ; - rdfs:label "LCC"@en ; - rdfs:seeAlso . - -dcterms:LCSH - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of labeled concepts specified by the Library of Congress Subject Headings."@en ; - rdfs:isDefinedBy ; - rdfs:label "LCSH"@en . - -dcterms:LicenseDocument - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A legal document giving official permission to do something with a resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "License Document"@en ; - rdfs:subClassOf dcterms:RightsStatement . - -dcterms:LinguisticSystem - dcterms:description "Written, spoken, sign, and computer languages are linguistic systems."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A system of signs, symbols, sounds, gestures, or rules used in communication."@en ; - rdfs:isDefinedBy ; - rdfs:label "Linguistic System"@en . - -dcterms:Location - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A spatial region or named place."@en ; - rdfs:isDefinedBy ; - rdfs:label "Location"@en ; - rdfs:subClassOf dcterms:LocationPeriodOrJurisdiction . - -dcterms:LocationPeriodOrJurisdiction - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A location, period of time, or jurisdiction."@en ; - rdfs:isDefinedBy ; - rdfs:label "Location, Period, or Jurisdiction"@en . - -dcterms:MESH - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of labeled concepts specified by the Medical Subject Headings."@en ; - rdfs:isDefinedBy ; - rdfs:label "MeSH"@en ; - rdfs:seeAlso . - -dcterms:MediaType - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A file format or physical medium."@en ; - rdfs:isDefinedBy ; - rdfs:label "Media Type"@en ; - rdfs:subClassOf dcterms:MediaTypeOrExtent . - -dcterms:MediaTypeOrExtent - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A media type or extent."@en ; - rdfs:isDefinedBy ; - rdfs:label "Media Type or Extent"@en . - -dcterms:MethodOfAccrual - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A method by which resources are added to a collection."@en ; - rdfs:isDefinedBy ; - rdfs:label "Method of Accrual"@en . - -dcterms:MethodOfInstruction - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A process that is used to engender knowledge, attitudes, and skills."@en ; - rdfs:isDefinedBy ; - rdfs:label "Method of Instruction"@en . - -dcterms:NLM - dcterms:issued "2005-06-13"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of conceptual resources specified by the National Library of Medicine Classification."@en ; - rdfs:isDefinedBy ; - rdfs:label "NLM"@en ; - rdfs:seeAlso . - -dcterms:Period - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme."@en ; - rdfs:isDefinedBy ; - rdfs:label "DCMI Period"@en ; - rdfs:seeAlso . - -dcterms:PeriodOfTime - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "An interval of time that is named or defined by its start and end dates."@en ; - rdfs:isDefinedBy ; - rdfs:label "Period of Time"@en ; - rdfs:subClassOf dcterms:LocationPeriodOrJurisdiction . - -dcterms:PhysicalMedium - dcterms:description "Examples include paper, canvas, or DVD."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A physical material or carrier."@en ; - rdfs:isDefinedBy ; - rdfs:label "Physical Medium"@en ; - rdfs:subClassOf dcterms:MediaType . - -dcterms:PhysicalResource - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A material thing."@en ; - rdfs:isDefinedBy ; - rdfs:label "Physical Resource"@en . - -dcterms:Point - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme."@en ; - rdfs:isDefinedBy ; - rdfs:label "DCMI Point"@en ; - rdfs:seeAlso . - -dcterms:Policy - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters."@en ; - rdfs:isDefinedBy ; - rdfs:label "Policy"@en . - -dcterms:ProvenanceStatement - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "Any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation."@en ; - rdfs:isDefinedBy ; - rdfs:label "Provenance Statement"@en . - -dcterms:RFC1766 - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of tags, constructed according to RFC 1766, for the identification of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "RFC 1766"@en ; - rdfs:seeAlso . - -dcterms:RFC3066 - dcterms:description "RFC 3066 has been obsoleted by RFC 4646."@en ; - dcterms:issued "2002-07-13"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of tags constructed according to RFC 3066 for the identification of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "RFC 3066"@en ; - rdfs:seeAlso . - -dcterms:RFC4646 - dcterms:description "RFC 4646 obsoletes RFC 3066."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of tags constructed according to RFC 4646 for the identification of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "RFC 4646"@en ; - rdfs:seeAlso . - -dcterms:RFC5646 - dcterms:description "RFC 5646 obsoletes RFC 4646."@en ; - dcterms:issued "2010-10-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of tags constructed according to RFC 5646 for the identification of languages."@en ; - rdfs:isDefinedBy ; - rdfs:label "RFC 5646"@en ; - rdfs:seeAlso . - -dcterms:RightsStatement - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A statement about the intellectual property rights (IPR) held in or over a resource, a legal document giving official permission to do something with a resource, or a statement about access rights."@en ; - rdfs:isDefinedBy ; - rdfs:label "Rights Statement"@en . - -dcterms:SizeOrDuration - dcterms:description "Examples include a number of pages, a specification of length, width, and breadth, or a period in hours, minutes, and seconds."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A dimension or extent, or a time taken to play or execute."@en ; - rdfs:isDefinedBy ; - rdfs:label "Size or Duration"@en ; - rdfs:subClassOf dcterms:MediaTypeOrExtent . - -dcterms:Standard - dcterms:issued "2008-01-14"^^ ; - a rdfs:Class ; - rdfs:comment "A reference point against which other things can be evaluated or compared."@en ; - rdfs:isDefinedBy ; - rdfs:label "Standard"@en . - -dcterms:TGN - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of places specified by the Getty Thesaurus of Geographic Names."@en ; - rdfs:isDefinedBy ; - rdfs:label "TGN"@en ; - rdfs:seeAlso . - -dcterms:UDC - dcterms:issued "2000-07-11"^^ ; - a dcam:VocabularyEncodingScheme ; - rdfs:comment "The set of conceptual resources specified by the Universal Decimal Classification."@en ; - rdfs:isDefinedBy ; - rdfs:label "UDC"@en ; - rdfs:seeAlso . - -dcterms:URI - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force."@en ; - rdfs:isDefinedBy ; - rdfs:label "URI"@en ; - rdfs:seeAlso . - -dcterms:W3CDTF - dcterms:issued "2000-07-11"^^ ; - a rdfs:Datatype ; - rdfs:comment "The set of dates and times constructed according to the W3C Date and Time Formats Specification."@en ; - rdfs:isDefinedBy ; - rdfs:label "W3C-DTF"@en ; - rdfs:seeAlso . - -dcterms:abstract - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A summary of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Abstract"@en ; - rdfs:subPropertyOf , dcterms:description . - -dcterms:accessRights - dcam:rangeIncludes dcterms:RightsStatement ; - dcterms:description "Access Rights may include information regarding access or restrictions based on privacy, security, or other policies."@en ; - dcterms:issued "2003-02-15"^^ ; - a rdf:Property ; - rdfs:comment "Information about who access the resource or an indication of its security status."@en ; - rdfs:isDefinedBy ; - rdfs:label "Access Rights"@en ; - rdfs:subPropertyOf , dcterms:rights . - -dcterms:accrualMethod - dcam:rangeIncludes dcterms:MethodOfAccrual ; - dcterms:description "Recommended practice is to use a value from the Collection Description Accrual Method Vocabulary [[DCMI-ACCRUALMETHOD](https://dublincore.org/groups/collections/accrual-method/)]."@en ; - dcterms:issued "2005-06-13"^^ ; - a rdf:Property ; - rdfs:comment "The method by which items are added to a collection."@en ; - rdfs:domain ; - rdfs:isDefinedBy ; - rdfs:label "Accrual Method"@en . - -dcterms:accrualPeriodicity - dcam:rangeIncludes dcterms:Frequency ; - dcterms:description "Recommended practice is to use a value from the Collection Description Frequency Vocabulary [[DCMI-COLLFREQ](https://dublincore.org/groups/collections/frequency/)]."@en ; - dcterms:issued "2005-06-13"^^ ; - a rdf:Property ; - rdfs:comment "The frequency with which items are added to a collection."@en ; - rdfs:domain ; - rdfs:isDefinedBy ; - rdfs:label "Accrual Periodicity"@en . - -dcterms:accrualPolicy - dcam:rangeIncludes dcterms:Policy ; - dcterms:description "Recommended practice is to use a value from the Collection Description Accrual Policy Vocabulary [[DCMI-ACCRUALPOLICY](https://dublincore.org/groups/collections/accrual-policy/)]."@en ; - dcterms:issued "2005-06-13"^^ ; - a rdf:Property ; - rdfs:comment "The policy governing the addition of items to a collection."@en ; - rdfs:domain ; - rdfs:isDefinedBy ; - rdfs:label "Accrual Policy"@en . - -dcterms:alternative - dcterms:description "The distinction between titles and alternative titles is application-specific."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "An alternative name for the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Alternative Title"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:title . - -dcterms:audience - dcam:rangeIncludes dcterms:AgentClass ; - dcterms:description "Recommended practice is to use this property with non-literal values from a vocabulary of audience types."@en ; - dcterms:issued "2001-05-21"^^ ; - a rdf:Property ; - rdfs:comment "A class of agents for whom the resource is intended or useful."@en ; - rdfs:isDefinedBy ; - rdfs:label "Audience"@en . - -dcterms:available - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Date that the resource became or will become available."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Available"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:bibliographicCitation - dcterms:description "Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible."@en ; - dcterms:issued "2003-02-15"^^ ; - a rdf:Property ; - rdfs:comment "A bibliographic reference for the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Bibliographic Citation"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:identifier . - -dcterms:conformsTo - dcam:rangeIncludes dcterms:Standard ; - dcterms:issued "2001-05-21"^^ ; - a rdf:Property ; - rdfs:comment "An established standard to which the described resource conforms."@en ; - rdfs:isDefinedBy ; - rdfs:label "Conforms To"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:contributor - dcam:rangeIncludes dcterms:Agent ; - dcterms:description "The guidelines for using names of persons or organizations as creators apply to contributors."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "An entity responsible for making contributions to the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Contributor"@en ; - rdfs:subPropertyOf . - -dcterms:coverage - dcam:rangeIncludes dcterms:Jurisdiction, dcterms:Location, dcterms:Period ; - dcterms:description "Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names [[TGN](https://www.getty.edu/research/tools/vocabulary/tgn/index.html)]. Where appropriate, named places or time periods may be used in preference to numeric identifiers such as sets of coordinates or date ranges. Because coverage is so broadly defined, it is preferable to use the more specific subproperties Temporal Coverage and Spatial Coverage."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "The spatial or temporal topic of the resource, spatial applicability of the resource, or jurisdiction under which the resource is relevant."@en ; - rdfs:isDefinedBy ; - rdfs:label "Coverage"@en ; - rdfs:subPropertyOf . - -dcterms:created - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Date of creation of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Created"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:creator - dcam:rangeIncludes dcterms:Agent ; - dcterms:description "Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "An entity responsible for making the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Creator"@en ; - rdfs:subPropertyOf , dcterms:contributor ; - owl:equivalentProperty . - -dcterms:date - dcterms:description "Date may be used to express temporal information at any level of granularity. Recommended practice is to express the date, date/time, or period of time according to ISO 8601-1 [[ISO 8601-1](https://www.iso.org/iso-8601-date-and-time-format.html)] or a published profile of the ISO standard, such as the W3C Note on Date and Time Formats [[W3CDTF](https://www.w3.org/TR/NOTE-datetime)] or the Extended Date/Time Format Specification [[EDTF](http://www.loc.gov/standards/datetime/)]. If the full date is unknown, month and year (YYYY-MM) or just year (YYYY) may be used. Date ranges may be specified using ISO 8601 period of time specification in which start and end dates are separated by a '/' (slash) character. Either the start or end date may be missing."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf . - -dcterms:dateAccepted - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty. Examples of resources to which a date of acceptance may be relevant are a thesis (accepted by a university department) or an article (accepted by a journal)."@en ; - dcterms:issued "2002-07-13"^^ ; - a rdf:Property ; - rdfs:comment "Date of acceptance of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Accepted"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:dateCopyrighted - dcterms:description "Typically a year. Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2002-07-13"^^ ; - a rdf:Property ; - rdfs:comment "Date of copyright of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Copyrighted"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:dateSubmitted - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty. Examples of resources to which a 'Date Submitted' may be relevant include a thesis (submitted to a university department) or an article (submitted to a journal)."@en ; - dcterms:issued "2002-07-13"^^ ; - a rdf:Property ; - rdfs:comment "Date of submission of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Submitted"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:description - dcterms:description "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "An account of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Description"@en ; - rdfs:subPropertyOf . - -dcterms:educationLevel - dcam:rangeIncludes dcterms:AgentClass ; - dcterms:issued "2002-07-13"^^ ; - a rdf:Property ; - rdfs:comment "A class of agents, defined in terms of progression through an educational or training context, for which the described resource is intended."@en ; - rdfs:isDefinedBy ; - rdfs:label "Audience Education Level"@en ; - rdfs:subPropertyOf dcterms:audience . - -dcterms:extent - dcam:rangeIncludes dcterms:SizeOrDuration ; - dcterms:description "Recommended practice is to specify the file size in megabytes and duration in ISO 8601 format."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "The size or duration of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Extent"@en ; - rdfs:subPropertyOf , dcterms:format . - -dcterms:format - dcam:rangeIncludes dcterms:Extent, dcterms:MediaType ; - dcterms:description "Recommended practice is to use a controlled vocabulary where available. For example, for file formats one could use the list of Internet Media Types [[MIME](https://www.iana.org/assignments/media-types/media-types.xhtml)]. Examples of dimensions include size and duration."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "The file format, physical medium, or dimensions of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Format"@en ; - rdfs:subPropertyOf . - -dcterms:hasFormat - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Format Of."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is substantially the same as the pre-existing described resource, but in another format."@en ; - rdfs:isDefinedBy ; - rdfs:label "Has Format"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:hasPart - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is included either physically or logically in the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Has Part"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:hasVersion - dcterms:description "Changes in version imply substantive changes in content rather than differences in format. This property is intended to be used with non-literal values. This property is an inverse property of Is Version Of."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is a version, edition, or adaptation of the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Has Version"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:identifier - dcterms:description "Recommended practice is to identify the resource by means of a string conforming to an identification system. Examples include International Standard Book Number (ISBN), Digital Object Identifier (DOI), and Uniform Resource Name (URN). Persistent identifiers should be provided as HTTP URIs."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "An unambiguous reference to the resource within a given context."@en ; - rdfs:isDefinedBy ; - rdfs:label "Identifier"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf . - -dcterms:instructionalMethod - dcam:rangeIncludes dcterms:MethodOfInstruction ; - dcterms:description "Instructional Method typically includes ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback."@en ; - dcterms:issued "2005-06-13"^^ ; - a rdf:Property ; - rdfs:comment "A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support."@en ; - rdfs:isDefinedBy ; - rdfs:label "Instructional Method"@en . - -dcterms:isFormatOf - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Has Format."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A pre-existing related resource that is substantially the same as the described resource, but in another format."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Format Of"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:isPartOf - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Has Part."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource in which the described resource is physically or logically included."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Part Of"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:isReferencedBy - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of References."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that references, cites, or otherwise points to the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Referenced By"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:isReplacedBy - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Replaces."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that supplants, displaces, or supersedes the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Replaced By"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:isRequiredBy - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Requires."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that requires the described resource to support its function, delivery, or coherence."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Required By"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:isVersionOf - dcterms:description "Changes in version imply substantive changes in content rather than differences in format. This property is intended to be used with non-literal values. This property is an inverse property of Has Version."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource of which the described resource is a version, edition, or adaptation."@en ; - rdfs:isDefinedBy ; - rdfs:label "Is Version Of"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:issued - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Date of formal issuance of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Issued"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:language - dcam:rangeIncludes dcterms:LinguisticSystem ; - dcterms:description "Recommended practice is to use either a non-literal value representing a language from a controlled vocabulary such as ISO 639-2 or ISO 639-3, or a literal value consisting of an IETF Best Current Practice 47 [[IETF-BCP47](https://tools.ietf.org/html/bcp47)] language tag."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A language of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Language"@en ; - rdfs:subPropertyOf . - -dcterms:license - dcam:rangeIncludes dcterms:LicenseDocument ; - dcterms:description "Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided."@en ; - dcterms:issued "2004-06-14"^^ ; - a rdf:Property ; - rdfs:comment "A legal document giving official permission to do something with the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "License"@en ; - rdfs:subPropertyOf , dcterms:rights . - -dcterms:mediator - dcam:rangeIncludes dcterms:AgentClass ; - dcterms:description "In an educational context, a mediator might be a parent, teacher, teaching assistant, or care-giver."@en ; - dcterms:issued "2001-05-21"^^ ; - a rdf:Property ; - rdfs:comment "An entity that mediates access to the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Mediator"@en ; - rdfs:subPropertyOf dcterms:audience . - -dcterms:medium - dcam:domainIncludes dcterms:PhysicalResource ; - dcam:rangeIncludes dcterms:PhysicalMedium ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "The material or physical carrier of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Medium"@en ; - rdfs:subPropertyOf , dcterms:format . - -dcterms:modified - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Date on which the resource was changed."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Modified"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . - -dcterms:provenance - dcam:rangeIncludes dcterms:ProvenanceStatement ; - dcterms:description "The statement may include a description of any changes successive custodians made to the resource."@en ; - dcterms:issued "2004-09-20"^^ ; - a rdf:Property ; - rdfs:comment "A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation."@en ; - rdfs:isDefinedBy ; - rdfs:label "Provenance"@en . - -dcterms:publisher - dcam:rangeIncludes dcterms:Agent ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "An entity responsible for making the resource available."@en ; - rdfs:isDefinedBy ; - rdfs:label "Publisher"@en ; - rdfs:subPropertyOf . - -dcterms:references - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Referenced By."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is referenced, cited, or otherwise pointed to by the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "References"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:relation - dcterms:description "Recommended practice is to identify the related resource by means of a URI. If this is not possible or feasible, a string conforming to a formal identification system may be provided."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A related resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Relation"@en ; - rdfs:subPropertyOf . - -dcterms:replaces - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Replaced By."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is supplanted, displaced, or superseded by the described resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Replaces"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:requires - dcterms:description "This property is intended to be used with non-literal values. This property is an inverse property of Is Required By."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A related resource that is required by the described resource to support its function, delivery, or coherence."@en ; - rdfs:isDefinedBy ; - rdfs:label "Requires"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:rights - dcam:rangeIncludes dcterms:RightsStatement ; - dcterms:description "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights. Recommended practice is to refer to a rights statement with a URI. If this is not possible or feasible, a literal value (name, label, or short text) may be provided."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "Information about rights held in and over the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Rights"@en ; - rdfs:subPropertyOf . - -dcterms:rightsHolder - dcam:rangeIncludes dcterms:Agent ; - dcterms:description "Recommended practice is to refer to the rights holder with a URI. If this is not possible or feasible, a literal value that identifies the rights holder may be provided."@en ; - dcterms:issued "2004-06-14"^^ ; - a rdf:Property ; - rdfs:comment "A person or organization owning or managing rights over the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Rights Holder"@en . - -dcterms:source - dcterms:description "This property is intended to be used with non-literal values. The described resource may be derived from the related resource in whole or in part. Best practice is to identify the related resource by means of a URI or a string conforming to a formal identification system."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A related resource from which the described resource is derived."@en ; - rdfs:isDefinedBy ; - rdfs:label "Source"@en ; - rdfs:subPropertyOf , dcterms:relation . - -dcterms:spatial - dcam:rangeIncludes dcterms:Location ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Spatial characteristics of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Spatial Coverage"@en ; - rdfs:subPropertyOf , dcterms:coverage . - -dcterms:subject - dcterms:description "Recommended practice is to refer to the subject with a URI. If this is not possible or feasible, a literal value that identifies the subject may be provided. Both should preferably refer to a subject in a controlled vocabulary."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A topic of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Subject"@en ; - rdfs:subPropertyOf . - -dcterms:tableOfContents - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "A list of subunits of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Table Of Contents"@en ; - rdfs:subPropertyOf , dcterms:description . - -dcterms:temporal - dcam:rangeIncludes dcterms:PeriodOfTime ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Temporal characteristics of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Temporal Coverage"@en ; - rdfs:subPropertyOf , dcterms:coverage . - -dcterms:title - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "A name given to the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Title"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf . - -dcterms:type - dcterms:description "Recommended practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [[DCMI-TYPE](http://dublincore.org/documents/dcmi-type-vocabulary/)]. To describe the file format, physical medium, or dimensions of the resource, use the property Format."@en ; - dcterms:issued "2008-01-14"^^ ; - a rdf:Property ; - rdfs:comment "The nature or genre of the resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Type"@en ; - rdfs:subPropertyOf . - -dcterms:valid - dcterms:description "Recommended practice is to describe the date, date/time, or period of time as recommended for the property Date, of which this is a subproperty."@en ; - dcterms:issued "2000-07-11"^^ ; - a rdf:Property ; - rdfs:comment "Date (often a range) of validity of a resource."@en ; - rdfs:isDefinedBy ; - rdfs:label "Date Valid"@en ; - rdfs:range rdfs:Literal ; - rdfs:subPropertyOf , dcterms:date . diff --git a/tests/data/vocprez/input/reg-status.ttl b/tests/data/vocprez/input/reg-status.ttl deleted file mode 100644 index 1231130d..00000000 --- a/tests/data/vocprez/input/reg-status.ttl +++ /dev/null @@ -1,213 +0,0 @@ -PREFIX cs: -PREFIX rdf: -PREFIX rdfs: -PREFIX owl: -PREFIX xsd: -PREFIX sdo: -PREFIX skos: -PREFIX reg: -PREFIX dcterms: -PREFIX vann: -PREFIX : - - - - a owl:Ontology , skos:ConceptScheme; - skos:prefLabel "Registry Status Vocabulary"@en ; - skos:definition """This vocabulary is a re-published and only marginally changed version of the Registry Ontology's (http://epimorphics.com/public/vocabulary/Registry.html) *Status* vocabulary (online in RDF: http://purl.org/linked-data/registry). The only real change to content has been the addition of the term `unstable`. This re-publication has been performed to allow the IRIs of each vocab term (skos:Concept) to resolve to both human-readable and machine-readable forms of content (HTML and RDF), using HTTP content negotiation. - -Note that just like the original form of this vocabulary, while it is a SKOS vocabulary implemented as a single skos:ConceptScheme, it is also an OWL Ontology and that each *Status* is both a skos:Concept and a reg:Status individual."""@en ; - owl:versionIRI ; - owl:versionInfo - "2.1 - 2023-05 - added colours" , - "2.0 - 2023-01 - addition of Concepts addition & original, as per updated Registry Item status codes" , - "1.2 - 2021-11 - changes IRI to reg-statuses; added unstable" , - "1.1 - 2020-06 - altered structure & metadata, not content, to conform to Vocab Publication Profile" , - "1.0 - 2018-06 - as per Registry Ontology original" ; - dcterms:contributor ; - vann:preferredNamespaceUri "https://linked.data.gov.au/def/reg-status/"^^xsd:string ; - dcterms:creator ; - vann:preferredNamespacePrefix "reg-status"@en ; - dcterms:publisher ; - rdfs:seeAlso ; - dcterms:modified "2023-05-26"^^xsd:date ; - dcterms:rights "(c) Commonwealth of Australia 2021"@en ; - dcterms:created "2018-07-23"^^xsd:date ; - dcterms:source ; - skos:hasTopConcept :accepted , :notAccepted ; -. - - - a sdo:Organization ; - sdo:name "Epimorphics" ; - sdo:url "https://www.epimorphics.com"^^xsd:anyURI ; -. - - - a sdo:Organization ; - sdo:name "Australian Government Linked Data Working Group" ; - sdo:url "http://www.linked.data.gov.au"^^xsd:anyURI ; -. - - - a sdo:Person ; - sdo:honorificPrefix "Dr" ; - sdo:name "Nicholas J. Car" ; - sdo:email "nicholas.car@surroundaustralia.com"^^xsd:anyURI ; - sdo:affiliation ; -. - - - a sdo:Organization ; - sdo:name "SURROUND Australia Pty Ltd" ; - sdo:url "https://surroundaustralia.com"^^xsd:anyURI ; -. - -reg:Status a owl:Class; - skos:prefLabel "Status"@en; - skos:definition "Open set of status code for entries in a register"@en; - rdfs:subClassOf skos:Concept; -. - -:accepted a skos:Concept, reg:Status ; - owl:sameAs reg:statusAccepted ; - skos:prefLabel "accepted"@en; - skos:definition "An entry that has been accepted for use and is visible in the default register listing. Includes entries that have seen been retired or superseded."@en; - skos:topConceptOf cs: ; - skos:inScheme cs: ; - skos:topConceptOf cs: ; - rdfs:isDefinedBy cs: ; - sdo:color "#1bc13f" ; -. - -:addition a skos:Concept, reg:Status ; - skos:prefLabel "addition"@en; - skos:definition "The item's status is stable and was supplied to the registry after initial creation"@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :stable ; - sdo:color "#4ac11b" ; -. - -:deprecated a skos:Concept, reg:Status ; - owl:sameAs reg:statusDeprecated ; - skos:prefLabel "deprecated"@en; - skos:definition "An entry that has been Retired or Superseded or has become Unstable and is no longer to be used."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :accepted ; - sdo:color "#a86a0d" ; -. - -:experimental a skos:Concept, reg:Status ; - owl:sameAs reg:statusExperimental ; - skos:prefLabel "experimental"@en; - skos:altLabel "provisional"@en; - skos:definition "An entry that has been accepted into the register temporarily and may be subject to change or withdrawal."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :valid ; - sdo:color "#eae72c" ; -. - -:invalid a skos:Concept, reg:Status ; - owl:sameAs reg:statusInvalid ; - skos:prefLabel "invalid"@en; - skos:definition "An entry which has been invalidated due to serious flaws, distinct from retrirement."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :notAccepted ; - sdo:color "#ea3c2c" ; -. - -:notAccepted a skos:Concept, reg:Status ; - owl:sameAs reg:statusNotAccepted ; - skos:prefLabel "notAccepted"@en; - skos:definition "An entry that should not be visible in the default register listing."@en; - skos:topConceptOf cs: ; - skos:inScheme cs: ; - skos:topConceptOf cs: ; - rdfs:isDefinedBy cs: ; - sdo:color "#ea9e2c" ; -. - -:original a skos:Concept, reg:Status ; - skos:prefLabel "stable"@en; - skos:definition "The item's status is stable and was supplied to the registry after initial creation."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :stable ; - sdo:color "#38a30e" ; -. - -:reserved a skos:Concept, reg:Status ; - owl:sameAs reg:statusReserved ; - skos:prefLabel "reserved"@en; - skos:definition "A reserved entry allocated for some as yet undetermined future use."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :notAccepted ; - sdo:color "#9b8d79" ; -. - -:retired a skos:Concept, reg:Status ; - owl:sameAs reg:statusRetired ; - skos:prefLabel "retired"@en; - skos:altLabel "withdrawn"@en; - skos:definition "An entry that has been withdrawn from use."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :deprecated ; - sdo:color "#ad5b24" ; -. - -:stable a skos:Concept, reg:Status ; - owl:sameAs reg:statusStable ; - skos:prefLabel "stable"@en; - skos:definition "An entry that is seen as having a reasonable measure of stability, may be used to mark the full adoption of a previously 'experimental' entry."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :valid ; - sdo:color "#2e8c09" ; -. - -:submitted a skos:Concept, reg:Status ; - owl:sameAs reg:statusSubmitted ; - skos:prefLabel "submitted"@en; - skos:definition "A proposed entry which is not yet approved for use for use."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :notAccepted ; - sdo:color "#248bad" ; -. - -:superseded a skos:Concept, reg:Status ; - owl:sameAs reg:statusSuperseded ; - skos:prefLabel "superseded"@en; - skos:altLabel "replaced"@en; - skos:definition "An entry that has been replaced by a new alternative which should be used instead."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :deprecated ; - sdo:color "#ad7624" ; -. - -:unstable a skos:Concept, reg:Status ; - rdfs:isDefinedBy cs: ; - skos:prefLabel "stable"@en; - skos:definition "An entry that is not seen as having a reasonable measure of stability. This status is expected to be allocated to entries that were once Stable but have become Unstable, due to a management or technical mishap, rather than being allocated to resources before they become Stable. Those resources should be allocated Experimental."@en; - skos:inScheme cs: ; - skos:broader :valid ; - owl:sameAs reg:statusStable ; - sdo:color "#678c09" ; -. - -:valid a skos:Concept, reg:Status ; - owl:sameAs reg:statusValid ; - skos:prefLabel "valid"@en; - skos:definition "An entry that has been accepted into the register and is deemed fit for use."@en; - skos:inScheme cs: ; - rdfs:isDefinedBy cs: ; - skos:broader :accepted ; - sdo:color "#36a80d" ; -. diff --git a/tests/data/vocprez/input/vocab-derivation-modes.ttl b/tests/data/vocprez/input/vocab-derivation-modes.ttl deleted file mode 100644 index 1e9025ed..00000000 --- a/tests/data/vocprez/input/vocab-derivation-modes.ttl +++ /dev/null @@ -1,127 +0,0 @@ -PREFIX : -PREFIX agldwgstatus: -PREFIX cs: -PREFIX dcterms: -PREFIX rdfs: -PREFIX reg: -PREFIX sdo: -PREFIX skos: -PREFIX xsd: - -:direct - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation without alteration"@en ; - skos:inScheme cs: ; - skos:prefLabel "Direct"@en ; - skos:topConceptOf cs: ; -. - -:extension - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation with extension"@en ; - skos:inScheme cs: ; - skos:prefLabel "Extension"@en ; - skos:scopeNote "Use this Concept if the reusing vocabulary extends the original vocabulary but does not subset it" ; - skos:topConceptOf cs: ; -. - -:none - a skos:Concept ; - dcterms:provenance "Added to this vocabulary for multiple projects in 2023"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "This vocabulary does not derive from another"@en ; - skos:inScheme cs: ; - skos:prefLabel "None"@en ; - skos:scopeNote "Use this Concept if the vocabulary is known to not reuse any other vocabularies" ; - skos:topConceptOf cs: ; -. - -:not-applicable - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation mode is not applicable to this vocabulary"@en ; - skos:inScheme cs: ; - skos:prefLabel "Not Applicable"@en ; - skos:scopeNote "Use this Concept if the vocabulary is known not to reuse any other vocabularies" ; - skos:topConceptOf cs: ; -. - -:relabelling - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation with relabelling"@en ; - skos:inScheme cs: ; - skos:prefLabel "Relabelling"@en ; - skos:scopeNote "Use this Concept if the reusing vocabulary only relabels Concepts in the original vocabulary but does not alter their place in the Concept hierarchy or their definitions" ; - skos:topConceptOf cs: ; -. - -:subsetting - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation with subsetting"@en ; - skos:inScheme cs: ; - skos:prefLabel "Subsetting"@en ; - skos:scopeNote "Use this Concept if the reusing vocabulary only subsets the original but does not extend it" ; - skos:topConceptOf cs: ; -. - -:subsetting-and-extension - a skos:Concept ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - reg:status agldwgstatus:original ; - rdfs:isDefinedBy cs: ; - skos:definition "Derivation with subsetting and extension"@en ; - skos:inScheme cs: ; - skos:prefLabel "Subset & Extension"@en ; - skos:scopeNote "Use this Concept if the reusing vocabulary both extends and subsets the original vocabulary" ; - skos:broader - :extension , - :subsetting ; -. - - - a sdo:Organization ; - sdo:name "KurrawongAI" ; - sdo:url "https://kurrawong.ai"^^xsd:anyURI ; -. - - - a sdo:Organization ; - sdo:name "SA Minerals and Energy Resources" ; - sdo:url "https://www.energymining.sa.gov.au/industry/geological-survey"^^xsd:anyURI ; -. - -cs: - a skos:ConceptScheme ; - dcterms:contributor ; - dcterms:created "2022-12-05"^^xsd:date ; - dcterms:creator ; - dcterms:issued "2022-12-05"^^xsd:date ; - dcterms:modified "2023-05-22"^^xsd:date ; - dcterms:provenance "Created for the MER catalogue upgrade project, 2022"@en ; - dcterms:publisher ; - reg:status agldwgstatus:stable ; - skos:definition "The modes by which one vocabulary may derive from another"@en ; - skos:hasTopConcept - :direct , - :extension , - :none , - :not-applicable , - :relabelling , - :subsetting ; - skos:prefLabel "Vocabulary Derivation Modes"@en ; -. diff --git a/tests/test_alt_profiles.py b/tests/test_alt_profiles.py new file mode 100755 index 00000000..1413010a --- /dev/null +++ b/tests/test_alt_profiles.py @@ -0,0 +1,54 @@ +import pytest +from rdflib import Graph, URIRef +from rdflib.namespace import RDF, DCAT + +from prez.reference_data.prez_ns import PREZ + + +@pytest.fixture() +def a_catalog_link(client): + # get link for first catalog + r = client.get("/catalogs") + g = Graph().parse(data=r.text) + member_uri = g.value(None, RDF.type, DCAT.Catalog) + link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) + return link + + +@pytest.fixture() +def a_resource_link(client, a_catalog_link): + r = client.get(a_catalog_link) + g = Graph().parse(data=r.text) + links = g.objects(subject=None, predicate=URIRef(f"https://prez.dev/link")) + for link in links: + if link != a_catalog_link: + return link + + +def test_listing_alt_profile(client): + r = client.get(f"/catalogs?_profile=altr-ext:alt-profile") + response_graph = Graph().parse(data=r.text) + assert ( + URIRef("http://www.w3.org/ns/dx/connegp/altr-ext#alt-profile"), + RDF.type, + URIRef("https://prez.dev/ListingProfile"), + ) in response_graph + + +def test_object_alt_profile_token(client, a_catalog_link): + r = client.get(f"{a_catalog_link}?_mediatype=text/turtle&_profile=alt") + response_graph = Graph().parse(data=r.text) + object_profiles = ( + None, + RDF.type, + PREZ.ObjectProfile, + ) + listing_profiles = ( + None, + RDF.type, + PREZ.ListingProfile, + ) + assert len(list(response_graph.triples(object_profiles))) > 1 + assert ( + len(list(response_graph.triples(listing_profiles))) == 1 + ) # only the alt profile diff --git a/tests/test_bnode.py b/tests/test_bnode.py old mode 100644 new mode 100755 index 4d29758e..8d480009 --- a/tests/test_bnode.py +++ b/tests/test_bnode.py @@ -19,7 +19,7 @@ ], ) def test_bnode_depth(input_file: str, iri: str, expected_depth: int) -> None: - file = WORKING_DIR / "tests/data/bnode_depth" / input_file + file = WORKING_DIR / "test_data" / input_file graph = Graph() graph.parse(file) diff --git a/tests/test_connegp.py b/tests/test_connegp.py new file mode 100755 index 00000000..c599effc --- /dev/null +++ b/tests/test_connegp.py @@ -0,0 +1,142 @@ +import pytest +from rdflib import URIRef + +from prez.reference_data.prez_ns import PREZ +from prez.repositories import PyoxigraphRepo +from prez.services.connegp_service import NegotiatedPMTs + + +@pytest.mark.parametrize( + "headers, params, classes, listing, expected_selected", + [ + [ + {}, # Test that profiles/mediatypes resolve to their defaults if not requested (object endpoint) + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "text/anot+turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + {}, # Test that profiles/mediatypes resolve to their defaults if not requested (listing endpoint) + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + True, + { + "profile": URIRef("https://prez.dev/OGCListingProfile"), + "title": "OGC Listing Profile", + "mediatype": "text/anot+turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + { + "accept": "application/ld+json" + }, # Test that a valid mediatype is resolved + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "application/ld+json", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + { + "accept": "application/ld+json;q=0.7,text/turtle" + }, # Test resolution of multiple mediatypes + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "text/turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + {}, + {"_mediatype": "application/ld+json"}, # Test mediatype resolution as QSA + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "application/ld+json", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + {"accept": "text/turtle"}, + {"_mediatype": "application/ld+json"}, # Test QSA mediatype is preferred + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "application/ld+json", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + {"accept-profile": "oogabooga"}, # Test that invalid profile is ignored + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "text/anot+turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + {"accept": "oogabooga"}, # Test that invalid mediatype is ignored + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + False, + { + "profile": URIRef("https://prez.dev/OGCItemProfile"), + "title": "OGC Object Profile", + "mediatype": "text/anot+turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + [ + { + "accept-profile": "" + }, # Test that a valid profile is resolved + {}, + [URIRef("http://www.w3.org/ns/dcat#Catalog")], + True, + { + "profile": PREZ["OGCListingProfile"], + "title": "OGC Listing Profile", + "mediatype": "text/anot+turtle", + "class": "http://www.w3.org/ns/dcat#Catalog", + }, + ], + ], +) +@pytest.mark.asyncio +async def test_connegp( + headers, params, classes, listing, expected_selected, client_no_override +): + system_store = client_no_override.app.state._state.get("pyoxi_system_store") + system_repo = PyoxigraphRepo(system_store) + pmts = NegotiatedPMTs( + headers=headers, + params=params, + classes=classes, + listing=listing, + system_repo=system_repo, + ) + await pmts.setup() + assert pmts.selected == expected_selected diff --git a/tests/test_count.py b/tests/test_count.py deleted file mode 100644 index c8969ccd..00000000 --- a/tests/test_count.py +++ /dev/null @@ -1,86 +0,0 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store - -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def test_client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - - -def get_curie(test_client: TestClient, iri: str) -> str: - response = test_client.get(f"/identifier/curie/{iri}") - if response.status_code != 200: - raise ValueError(f"Failed to retrieve curie for {iri}. {response.text}") - return response.text - - -@pytest.mark.parametrize( - "iri, inbound, outbound, count", - [ - [ - "http://linked.data.gov.au/def/borehole-purpose", - "http://www.w3.org/2004/02/skos/core#inScheme", - None, - 0, - ], - [ - "http://linked.data.gov.au/def/borehole-purpose-no-children", - "http://www.w3.org/2004/02/skos/core#inScheme", - None, - 0, - ], - [ - "http://linked.data.gov.au/def/borehole-purpose", - None, - "http://www.w3.org/2004/02/skos/core#hasTopConcept", - 0, - ], - ], -) -def test_count( - test_client: TestClient, - iri: str, - inbound: str | None, - outbound: str | None, - count: int, -): - curie = get_curie(test_client, iri) - params = {"curie": curie, "inbound": inbound, "outbound": outbound} - response = test_client.get(f"/count", params=params) - assert int(response.text) == count diff --git a/tests/test_curie_endpoint.py b/tests/test_curie_endpoint.py old mode 100644 new mode 100755 index 091bca44..2af37846 --- a/tests/test_curie_endpoint.py +++ b/tests/test_curie_endpoint.py @@ -1,22 +1,11 @@ import pytest from fastapi.testclient import TestClient -from prez.app import assemble_app - @pytest.fixture -def client() -> TestClient: - app = assemble_app() - testclient = TestClient(app) - - # Make a request for the following IRI to ensure - # the curie is available in the 'test_curie' test. +def setup(client): iri = "http://example.com/namespace/test" - response = testclient.get(f"/identifier/curie/{iri}") - assert response.status_code == 200 - assert response.text == "nmspc:test" - - return testclient + client.get(f"/identifier/curie/{iri}") @pytest.mark.parametrize( @@ -40,6 +29,6 @@ def test_iri(iri: str, expected_status_code: int, client: TestClient): ["nmspc:test", 200], ], ) -def test_curie(curie: str, expected_status_code: int, client: TestClient): +def test_curie(curie: str, expected_status_code: int, client: TestClient, setup): response = client.get(f"/identifier/iri/{curie}") assert response.status_code == expected_status_code diff --git a/tests/test_endpoints_cache.py b/tests/test_endpoints_cache.py old mode 100644 new mode 100755 index c7a3ce19..853483ce --- a/tests/test_endpoints_cache.py +++ b/tests/test_endpoints_cache.py @@ -1,57 +1,35 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store from rdflib import Graph -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def test_client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() +from prez.reference_data.prez_ns import PREZ -def test_reset_cache(test_client): - test_client.get("/reset-tbox-cache") - r = test_client.get("/tbox-cache") +def test_purge_cache(client): + # add some annotations to the cache + client.get("/catalogs") + # purge the cache + response = client.get("/purge-tbox-cache") + assert response.status_code == 200 + # check that the cache is empty + r = client.get("/tbox-cache") g = Graph().parse(data=r.text) - assert len(g) > 6000 # cache expands as tests are run + assert len(g) == 0 -def test_cache(test_client): - r = test_client.get("/tbox-cache") +def test_cache(client): + # add some annotations to the cache + catalogs = client.get("/catalogs") + assert catalogs.status_code == 200 + r = client.get("/tbox-cache") g = Graph().parse(data=r.text) - assert len(g) > 6000 # cache expands as tests are run + labels = ( + None, + PREZ.label, + None, + ) + descriptions = ( + None, + PREZ.description, + None, + ) + assert len(list(g.triples(labels))) > 0 + assert len(list(g.triples(descriptions))) > 0 diff --git a/tests/test_endpoints_catprez.py b/tests/test_endpoints_catprez.py old mode 100644 new mode 100755 index 5cb3487a..6ec76a23 --- a/tests/test_endpoints_catprez.py +++ b/tests/test_endpoints_catprez.py @@ -1,120 +1,41 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store from rdflib import Graph, URIRef from rdflib.namespace import RDF, DCAT -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - -@pytest.fixture(scope="session") -def a_catalog_link(client): - # get link for first catalog - r = client.get("/c/catalogs") - g = Graph().parse(data=r.text) - member_uri = g.value(None, RDF.type, DCAT.Catalog) - link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) - return link - - -@pytest.fixture(scope="session") -def a_resource_link(client, a_catalog_link): - r = client.get(a_catalog_link) - g = Graph().parse(data=r.text) - links = g.objects(subject=None, predicate=URIRef(f"https://prez.dev/link")) - for link in links: - if link != a_catalog_link: - return link - - -# @pytest.mark.xfail(reason="passes locally - setting to xfail pending test changes to pyoxigraph") def test_catalog_listing_anot(client): - r = client.get(f"/c/catalogs?_mediatype=text/anot+turtle") + r = client.get(f"/catalogs?_mediatype=text/turtle&_profile=prez:OGCListingProfile") response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/catprez/expected_responses/catalog_listing_anot.ttl" + expected_response_1 = ( + URIRef("https://example.com/CatalogOne"), + RDF.type, + DCAT.Catalog, ) - assert response_graph.isomorphic(expected_graph), print( - f"Missing:{(expected_graph - response_graph).serialize()}" - f"Extra:{(response_graph - expected_graph).serialize()}" + expected_response_2 = ( + URIRef("https://example.com/CatalogTwo"), + RDF.type, + DCAT.Catalog, ) + assert next(response_graph.triples(expected_response_1)) + assert next(response_graph.triples(expected_response_2)) -def test_catalog_anot(client, a_catalog_link): - r = client.get(f"/c/catalogs/pd:democat?_mediatype=text/anot+turtle") +def test_catalog_anot(client, a_catprez_catalog_link): + r = client.get(f"{a_catprez_catalog_link}?_mediatype=text/turtle") response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/catprez/expected_responses/catalog_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Missing:{(expected_graph - response_graph).serialize()}" - f"Extra:{(response_graph - expected_graph).serialize()}" + expected_response = ( + URIRef("https://example.com/CatalogOne"), + RDF.type, + DCAT.Catalog, ) + assert next(response_graph.triples(expected_response)) -def test_resource_listing_anot(client, a_catalog_link): - r = client.get( - f"{a_catalog_link}/resources?_mediatype=text/anot+turtle&ordering-pred=http://purl.org/dc/terms/title" - ) +def test_lower_level_listing_anot(client, a_catprez_catalog_link): + r = client.get(f"{a_catprez_catalog_link}/collections?_mediatype=text/turtle") response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/catprez/expected_responses/resource_listing_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Missing:{(expected_graph - response_graph).serialize()}" - f"Extra:{(response_graph - expected_graph).serialize()}" - ) - - -def test_resource_anot(client, a_resource_link): - r = client.get(f"{a_resource_link}?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/catprez/expected_responses/resource_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Missing:{(expected_graph - response_graph).serialize()}" - f"Extra:{(response_graph - expected_graph).serialize()}" + expected_response = ( + URIRef("https://example.com/DCATResource"), + RDF.type, + DCAT.Resource, ) + assert next(response_graph.triples(expected_response)) diff --git a/tests/test_endpoints_concept_hierarchy.py b/tests/test_endpoints_concept_hierarchy.py new file mode 100755 index 00000000..2851e88b --- /dev/null +++ b/tests/test_endpoints_concept_hierarchy.py @@ -0,0 +1,42 @@ +from rdflib import Graph, URIRef, SKOS, Literal, XSD +from rdflib.namespace import RDF, DCAT + +from prez.reference_data.prez_ns import PREZ + + +def test_concept_hierarchy_top_concepts(client): + r = client.get( + f"/concept-hierarchy/exm:SchemingConceptScheme/top-concepts?_mediatype=text/turtle" + ) + response_graph = Graph().parse(data=r.text) + expected_response_1 = ( + URIRef("https://example.com/TopLevelConcept"), + RDF.type, + SKOS.Concept, + ) + expected_response_2 = ( + URIRef("https://example.com/TopLevelConcept"), + PREZ.hasChildren, + Literal("true", datatype=XSD.boolean), + ) + assert next(response_graph.triples(expected_response_1)) + assert next(response_graph.triples(expected_response_2)) + + +def test_concept_hierarchy_narrowers(client): + r = client.get( + f"/concept-hierarchy/exm:TopLevelConcept/narrowers?_mediatype=text/turtle" + ) + response_graph = Graph().parse(data=r.text) + expected_response_1 = ( + URIRef("https://example.com/SecondLevelConcept"), + RDF.type, + SKOS.Concept, + ) + expected_response_2 = ( + URIRef("https://example.com/SecondLevelConcept"), + PREZ.hasChildren, + Literal("true", datatype=XSD.boolean), + ) + assert next(response_graph.triples(expected_response_1)) + assert next(response_graph.triples(expected_response_2)) diff --git a/tests/test_endpoints_management.py b/tests/test_endpoints_management.py old mode 100644 new mode 100755 index 08660035..0f211e72 --- a/tests/test_endpoints_management.py +++ b/tests/test_endpoints_management.py @@ -1,48 +1,6 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store from rdflib import Graph -from prez.app import assemble_app -from prez.dependencies import get_repo from prez.reference_data.prez_ns import PREZ -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() def test_annotation_predicates(client): diff --git a/tests/test_endpoints_object.py b/tests/test_endpoints_object.py old mode 100644 new mode 100755 index 8f397ce1..29b16be6 --- a/tests/test_endpoints_object.py +++ b/tests/test_endpoints_object.py @@ -1,81 +1,22 @@ -from pathlib import Path +from rdflib import Graph, URIRef +from rdflib.namespace import RDF, GEO -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store -from rdflib import Graph -from rdflib import RDF, DCAT -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def test_client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - - -@pytest.fixture(scope="module") -def dataset_uri(test_client): - # get link for first dataset - r = test_client.get("/s/datasets") - g = Graph().parse(data=r.text) - return g.value(None, RDF.type, DCAT.Dataset) - - -def test_object_endpoint_sp_dataset(test_client, dataset_uri): - r = test_client.get(f"/object?uri={dataset_uri}") - assert r.status_code == 200 - - -def test_feature_collection(test_client): - r = test_client.get(f"/object?uri=https://test/feature-collection") +def test_feature_collection(client): + r = client.get(f"/object?uri=https://example.com/FeatureCollection") response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent / "../tests/data/object/expected_responses/fc.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"""Expected-Response:{(expected_graph - response_graph).serialize()} - Response-Expected:{(expected_graph - response_graph).serialize()}""" - ) + assert ( + URIRef("https://example.com/FeatureCollection"), + RDF.type, + GEO.FeatureCollection, + ) in response_graph -def test_feature(test_client): - r = test_client.get( - f"/object?uri=https://linked.data.gov.au/datasets/geofabric/hydroid/102208962" - ) +def test_feature(client): + r = client.get(f"/object?uri=https://example.com/Feature1") response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent / "../tests/data/object/expected_responses/feature.ttl" - ) - assert response_graph.isomorphic(expected_graph) + assert ( + URIRef("https://example.com/Feature1"), + RDF.type, + GEO.Feature, + ) in response_graph diff --git a/tests/test_endpoints_ok.py b/tests/test_endpoints_ok.py new file mode 100755 index 00000000..228f2d52 --- /dev/null +++ b/tests/test_endpoints_ok.py @@ -0,0 +1,55 @@ +import logging +import time +from typing import Optional, Set + +from fastapi.testclient import TestClient +from rdflib import Graph + +from prez.reference_data.prez_ns import PREZ + +log = logging.getLogger(__name__) + + +def wait_for_app_to_be_ready(client, timeout=10): + start_time = time.time() + while time.time() - start_time < timeout: + try: + response = client.get("/health") + if response.status_code == 200: + return + except Exception as e: + print(e) + time.sleep(0.5) + raise RuntimeError("App did not start within the specified timeout") + + +def ogcprez_links( + client, visited: Optional[Set] = None, link="/catalogs", total_links_visited=0 +): + if not visited: + visited = set() + response = client.get(link) + g = Graph().parse(data=response.text, format="turtle") + links = list(g.objects(None, PREZ.link)) + member_bnode_list = list(g.objects(None, PREZ.members)) + if member_bnode_list: + member_bnode = member_bnode_list[0] + member_links = list(g.objects(member_bnode, PREZ.link)) + links.extend(member_links) + assert response.status_code == 200 + for next_link in links: + print(next_link) + if next_link not in visited: + visited.add(next_link) + # Make the recursive call and update the total_links_visited + # and visited set with the returned values + visited, total_links_visited = ogcprez_links( + client, visited, str(next_link), total_links_visited + 1 + ) + # Return the updated count and visited set + return visited, total_links_visited + + +def test_visit_all_links(client): + visited_links, total_count = ogcprez_links(client) + print(f"Total links visited: {total_count}") diff --git a/tests/test_endpoints_profiles.py b/tests/test_endpoints_profiles.py old mode 100644 new mode 100755 index 9f049443..f7501f5c --- a/tests/test_endpoints_profiles.py +++ b/tests/test_endpoints_profiles.py @@ -1,80 +1,14 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store from rdflib import Graph, URIRef from rdflib.namespace import RDF, PROF -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - - -def test_profile(client): - # check the example remote profile is loaded - r = client.get("/profiles") +def test_profile(client_no_override): + r = client_no_override.get("/profiles") g = Graph().parse(data=r.text) assert (URIRef("https://prez.dev/profile/prez"), RDF.type, PROF.Profile) in g -def test_cp_profile(client): - # check the example remote profile is loaded - r = client.get("/profiles/prez:CatPrezProfile") - g = Graph().parse(data=r.text) - assert (URIRef("https://prez.dev/CatPrezProfile"), RDF.type, PROF.Profile) in g - - -def test_sp_profile(client): - # check the example remote profile is loaded - r = client.get("/profiles/prez:SpacePrezProfile") - g = Graph().parse(data=r.text) - assert (URIRef("https://prez.dev/SpacePrezProfile"), RDF.type, PROF.Profile) in g - - -def test_vp_profile(client): - # check the example remote profile is loaded - r = client.get("/profiles/prez:VocPrezProfile") - g = Graph().parse(data=r.text) - assert (URIRef("https://prez.dev/VocPrezProfile"), RDF.type, PROF.Profile) in g - - -def test_pp_profile(client): - # check the example remote profile is loaded - r = client.get("/profiles/prez:profiles") +def test_ogcprez_profile(client_no_override): + r = client_no_override.get("/profiles/prez:OGCRecordsProfile") g = Graph().parse(data=r.text) - assert (URIRef("https://prez.dev/profiles"), RDF.type, PROF.Profile) in g + assert (URIRef("https://prez.dev/OGCRecordsProfile"), RDF.type, PROF.Profile) in g diff --git a/tests/test_endpoints_spaceprez.py b/tests/test_endpoints_spaceprez.py old mode 100644 new mode 100755 index c095c68f..e58e9429 --- a/tests/test_endpoints_spaceprez.py +++ b/tests/test_endpoints_spaceprez.py @@ -1,148 +1,55 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store from rdflib import Graph, URIRef -from rdflib.namespace import RDF, DCAT, RDFS - -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - - -@pytest.fixture(scope="session") -def a_dataset_link(client): - r = client.get("/s/datasets") - g = Graph().parse(data=r.text) - member_uri = g.value(None, RDF.type, DCAT.Dataset) - link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) - return link - - -@pytest.fixture(scope="session") -def an_fc_link(client, a_dataset_link): - r = client.get(f"{a_dataset_link}/collections") - g = Graph().parse(data=r.text) - member_uri = g.value( - URIRef("http://example.com/datasets/sandgate"), RDFS.member, None - ) - link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) - return link - - -@pytest.fixture(scope="session") -def a_feature_link(client, an_fc_link): - r = client.get(f"{an_fc_link}/items") - g = Graph().parse(data=r.text) - member_uri = g.value( - URIRef("http://example.com/datasets/sandgate/catchments"), RDFS.member, None - ) - link = g.value(member_uri, URIRef(f"https://prez.dev/link", None)) - return link - - -def test_dataset_anot(client, a_dataset_link): - r = client.get(f"{a_dataset_link}?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/dataset_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" - ) - - -def test_feature_collection_anot(client, an_fc_link): - r = client.get(f"{an_fc_link}?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/feature_collection_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" - ) +from rdflib.namespace import RDF, DCAT, GEO -def test_feature_anot(client, a_feature_link): - r = client.get(f"{a_feature_link}?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/feature_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" +def test_dataset_anot(client, a_spaceprez_catalog_link): + r = client.get(f"{a_spaceprez_catalog_link}?_mediatype=text/turtle") + g_text = r.text + response_graph = Graph().parse(data=g_text) + expected_response_1 = ( + URIRef("https://example.com/SpacePrezCatalog"), + RDF.type, + DCAT.Catalog, ) + assert next(response_graph.triples(expected_response_1)) -def test_dataset_listing_anot(client): - r = client.get("/s/datasets?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/dataset_listing_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" - ) +def test_feature_collection(client, an_fc_link): + r = client.get(f"{an_fc_link}?_mediatype=text/turtle") + g_text = r.text + response_graph = Graph().parse(data=g_text) + assert ( + URIRef("https://example.com/FeatureCollection"), + RDF.type, + GEO.FeatureCollection, + ) in response_graph -def test_feature_collection_listing_anot(client, a_dataset_link): - r = client.get(f"{a_dataset_link}/collections?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/feature_collection_listing_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" +def test_feature(client, a_feature_link): + r = client.get(f"{a_feature_link}?_mediatype=text/turtle") + g_text = r.text + response_graph = Graph().parse(data=g_text) + expected_response_1 = ( + URIRef("https://example.com/Feature1"), + RDF.type, + GEO.Feature, ) + assert next(response_graph.triples(expected_response_1)) def test_feature_listing_anot(client, an_fc_link): - r = client.get(f"{an_fc_link}/items?_mediatype=text/anot+turtle") - response_graph = Graph().parse(data=r.text) - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/spaceprez/expected_responses/feature_listing_anot.ttl" - ) - assert response_graph.isomorphic(expected_graph), print( - f"Graph delta:{(expected_graph - response_graph).serialize()}" - ) + r = client.get(f"{an_fc_link}/items?_mediatype=text/turtle") + g_text = r.text + response_graph = Graph().parse(data=g_text) + expected_response_1 = ( + URIRef("https://example.com/Feature1"), + RDF.type, + GEO.Feature, + ) + expected_response_2 = ( + URIRef("https://example.com/Feature2"), + RDF.type, + GEO.Feature, + ) + assert next(response_graph.triples(expected_response_1)) + assert next(response_graph.triples(expected_response_2)) diff --git a/tests/test_node_selection_shacl.py b/tests/test_node_selection_shacl.py new file mode 100755 index 00000000..f11e9491 --- /dev/null +++ b/tests/test_node_selection_shacl.py @@ -0,0 +1,42 @@ +import pytest +from rdflib import Graph, URIRef + +from prez.services.query_generation.shacl import ( + NodeShape, +) +from sparql_grammar_pydantic import Var + +endpoints_graph = Graph().parse( + "prez/reference_data/endpoints/endpoint_nodeshapes.ttl", format="turtle" +) + + +@pytest.mark.parametrize("nodeshape_uri", ["http://example.org/ns#Collections"]) +def test_nodeshape_parsing(nodeshape_uri): + ns = NodeShape( + uri=URIRef(nodeshape_uri), + graph=endpoints_graph, + kind="endpoint", + focus_node=Var(value="focus_node"), + ) + assert ns.targetClasses == [ + URIRef("http://www.opengis.net/ont/geosparql#FeatureCollection"), + URIRef("http://www.w3.org/2004/02/skos/core#ConceptScheme"), + URIRef("http://www.w3.org/2004/02/skos/core#Collection"), + URIRef("http://www.w3.org/ns/dcat#Resource"), + ] + assert len(ns.propertyShapesURIs) == 1 + + +@pytest.mark.parametrize( + "nodeshape_uri", + ["http://example.org/ns#ConceptSchemeConcept"], +) +def test_nodeshape_to_grammar(nodeshape_uri): + ns = NodeShape( + uri=URIRef(nodeshape_uri), + graph=endpoints_graph, + kind="endpoint", + focus_node=Var(value="focus_node"), + ) + ... diff --git a/tests/test_object_listings.py b/tests/test_object_listings.py deleted file mode 100644 index be2d9b41..00000000 --- a/tests/test_object_listings.py +++ /dev/null @@ -1,32 +0,0 @@ -from rdflib.namespace import PROV - -from prez.sparql.objects_listings import generate_sequence_construct - - -def test_generate_sequence_construct() -> None: - sequence_construct, sequence_construct_where = generate_sequence_construct( - [ - [PROV.qualifiedDerivation, PROV.hadRole], - [PROV.qualifiedDerivation, PROV.entity], - ], - "?top_level_item", - ) - - expected_sequence_construct = """\t?top_level_item ?seq_o1_0 . -\t?seq_o1_0 ?seq_o2_0 .\t?top_level_item ?seq_o1_1 . -\t?seq_o1_1 ?seq_o2_1 .""" - - assert sequence_construct == expected_sequence_construct - - expected_sequence_construct_where = """\ -OPTIONAL { -\t?top_level_item ?seq_o1_0 . -\t?seq_o1_0 ?seq_o2_0 . -} -OPTIONAL { -\t?top_level_item ?seq_o1_1 . -\t?seq_o1_1 ?seq_o2_1 . -} -""" - - assert sequence_construct_where == expected_sequence_construct_where diff --git a/tests/test_property_selection_shacl.py b/tests/test_property_selection_shacl.py new file mode 100755 index 00000000..d36213f7 --- /dev/null +++ b/tests/test_property_selection_shacl.py @@ -0,0 +1,244 @@ +from rdflib import Graph, URIRef, SH, RDF, PROV, DCTERMS + +from prez.reference_data.prez_ns import REG +from prez.services.query_generation.shacl import PropertyShape +from sparql_grammar_pydantic import ( + Var, + IRI, + OptionalGraphPattern, + Filter, + TriplesSameSubjectPath, +) + + +# uri: URIRef | BNode # URI of the shape +# graph: Graph +# focus_node: IRI | Var = Var(value="focus_node") +# # inputs +# property_paths: Optional[List[PropertyPath]] = None +# or_klasses: Optional[List[URIRef]] = None +# # outputs +# grammar: Optional[GroupGraphPatternSub] = None +# tssp_list: Optional[List[SimplifiedTriple]] = None +# gpnt_list: Optional[List[GraphPatternNotTriples]] = None +# prof_nodes: Optional[Dict[str, Var | IRI]] = {} +# classes_at_len: Optional[Dict[str, List[URIRef]]] = {} +# _select_vars: Optional[List[Var]] = None + + +def test_simple_path(): + g = Graph().parse( + data=""" + PREFIX rdf: + PREFIX sh: + + sh:property [ sh:path rdf:type ] . + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=RDF.type), + object=Var(value="prof_node_1"), + ) + in ps.tssp_list + ) + + +def test_sequence_path(): + g = Graph().parse( + data=""" + PREFIX sh: + PREFIX prov: + + sh:property [ sh:path ( prov:qualifiedDerivation prov:hadRole ) ] . + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=PROV.qualifiedDerivation), + object=Var(value="prof_node_1"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="prof_node_1"), + predicate=IRI(value=PROV.hadRole), + object=Var(value="prof_node_2"), + ) + in ps.tssp_list + ) + + +def test_union(): + g = Graph().parse( + data=""" + PREFIX dcterms: + PREFIX reg: + PREFIX sh: + PREFIX prov: + + sh:property [ + sh:path ( + sh:union ( + dcterms:publisher + reg:status + ( prov:qualifiedDerivation prov:hadRole ) + ( prov:qualifiedDerivation prov:entity ) + ) + ) + ] + . + + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=PROV.qualifiedDerivation), + object=Var(value="prof_node_1"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="prof_node_1"), + predicate=IRI(value=PROV.hadRole), + object=Var(value="prof_node_2"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=PROV.qualifiedDerivation), + object=Var(value="prof_node_3"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="prof_node_3"), + predicate=IRI(value=PROV.entity), + object=Var(value="prof_node_4"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=DCTERMS.publisher), + object=Var(value="prof_node_5"), + ) + in ps.tssp_list + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=REG.status), + object=Var(value="prof_node_6"), + ) + in ps.tssp_list + ) + + +def test_optional_props(): + g = Graph().parse( + data=""" + PREFIX dcterms: + PREFIX reg: + PREFIX sh: + PREFIX prov: + + sh:property [ + sh:minCount 0 ; + sh:path dcterms:publisher ; + ] + . + + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ps.tssp_list == [] + assert isinstance(ps.gpnt_list[0].content, OptionalGraphPattern) + + +def test_complex_optional_props(): + g = Graph().parse( + data=""" + PREFIX dcterms: + PREFIX sh: + PREFIX prov: + + sh:property [ + sh:minCount 0 ; + sh:path ( + sh:union ( + dcterms:publisher + ( prov:qualifiedDerivation prov:hadRole ) + ) + ) + ] + . + + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ps.tssp_list == [] + assert isinstance(ps.gpnt_list[0].content, OptionalGraphPattern) + + +def test_excluded_props(): + g = Graph().parse( + data=""" + PREFIX dcterms: + PREFIX reg: + PREFIX sh: + PREFIX prov: + + sh:property [ + sh:maxCount 0 ; + sh:path ( + sh:union ( + dcterms:publisher + reg:status + ) + ) + ] + . + + """ + ) + path_bn = g.value(subject=URIRef("http://example-profile"), predicate=SH.property) + ps = PropertyShape( + uri=path_bn, graph=g, kind="profile", focus_node=Var(value="focus_node") + ) + assert ( + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=Var(value="preds"), + object=Var(value="excluded_pred_vals"), + ) + in ps.tssp_list + ) + assert isinstance(ps.gpnt_list[0].content, Filter) diff --git a/tests/test_query_construction.py b/tests/test_query_construction.py new file mode 100755 index 00000000..afbd57da --- /dev/null +++ b/tests/test_query_construction.py @@ -0,0 +1,329 @@ +from itertools import product + +import pytest +from rdflib import RDF, RDFS, SKOS +from rdflib.namespace import GEO +from sparql_grammar_pydantic import ( + IRI, + Var, + TriplesSameSubject, + TriplesSameSubjectPath, + SubSelect, + SelectClause, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + TriplesBlock, + SolutionModifier, + LimitOffsetClauses, + LimitClause, + Expression, + PrimaryExpression, + BuiltInCall, + Aggregate, + ConditionalOrExpression, + ConditionalAndExpression, + ValueLogical, + RelationalExpression, + NumericExpression, + AdditiveExpression, + MultiplicativeExpression, + UnaryExpression, + NumericLiteral, + RDFLiteral, + Bind, + GraphPatternNotTriples, + GroupOrUnionGraphPattern, + ConstructTemplate, + BlankNode, + Anon, + ConstructTriples, + ConstructQuery, +) + +from prez.services.query_generation.classes import ClassesSelectQuery +from prez.services.query_generation.concept_hierarchy import ConceptHierarchyQuery +from prez.services.query_generation.prefixes import PrefixQuery +from prez.services.query_generation.search import ( + SearchQueryRegex, +) +from prez.services.query_generation.umbrella import PrezQueryConstructor + + +def test_basic_object(): + PrezQueryConstructor( + profile_triples=[ + TriplesSameSubjectPath.from_spo( + subject=IRI(value="https://test-object"), + predicate=IRI(value="https://prez.dev/ont/label"), + object=Var(value="label"), + ), + TriplesSameSubjectPath.from_spo( + subject=IRI(value="https://test-object"), + predicate=IRI(value="https://property"), + object=Var(value="propValue"), + ), + ], + ) + + +def test_basic_listing(): + test = PrezQueryConstructor( + profile_triples=[ + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=str(RDF.type)), + object=IRI(value=str(GEO.Feature)), + ), + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value="https://property"), + object=Var(value="propValue"), + ), + ], + inner_select_tssp_list=[ + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=str(RDF.type)), + object=IRI(value=str(GEO.Feature)), + ), + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=str(RDFS.label)), + object=Var(value="label"), + ), + ], + limit=10, + offset=0, + order_by=Var(value="label"), + order_by_direction="ASC", + ) + print("") + + +def test_search_query_regex(): + sq = SearchQueryRegex(term="test", predicates=[RDFS.label]) + test = PrezQueryConstructor( + profile_triples=[ + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=str(RDF.type)), + object=IRI(value=str(GEO.Feature)), + ), + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value="https://property"), + object=Var(value="propValue"), + ), + ], + construct_tss_list=sq.construct_triples.to_tss_list() + + [ + TriplesSameSubject.from_spo( + IRI(value="https://s"), IRI(value="https://p"), IRI(value="https://o") + ) + ], + inner_select_vars=sq.inner_select_vars, + inner_select_gpnt=[sq.inner_select_gpnt], + limit=sq.limit, + offset=sq.offset, + order_by=sq.order_by, + order_by_direction=sq.order_by_direction, + ) + print(test) + + +def test_classes(): + test = ClassesSelectQuery( + iris=[IRI(value="https://test1"), IRI(value="https://test2")] + ) + print(test.to_string()) + + +def test_prefix_query(): + test = PrefixQuery() + print(test.to_string()) + + +values = [Var(value="var"), IRI(value="http://example.org/iri")] +combs = [p for p in product(values, repeat=3)] + + +@pytest.mark.parametrize("s,p,o", combs) +def test_triples_ssp(s, p, o): + result = TriplesSameSubjectPath.from_spo(s, p, o) + print(result) + assert isinstance(result, TriplesSameSubjectPath) + + +@pytest.mark.parametrize("s,p,o", combs) +def test_triples_ss(s, p, o): + result = TriplesSameSubject.from_spo(s, p, o) + print(result) + assert isinstance(result, TriplesSameSubject) + + +def test_concept_hierarchy_top_concepts(): + parent_uri = IRI(value="https://parent-uri") + parent_child_predicates = ( + IRI(value=SKOS.hasTopConcept), + IRI(value=SKOS.topConceptOf), + ) + child_grandchild_predicates = (IRI(value=SKOS.narrower), IRI(value=SKOS.broader)) + + tc_cq = ConceptHierarchyQuery( + parent_uri=parent_uri, + parent_child_predicates=parent_child_predicates, + child_grandchild_predicates=child_grandchild_predicates, + ) + tc_cq.to_string() + + +def test_concept_hierarchy_narrowers(): + parent_uri = IRI(value="https://concept-uri") + parent_child_predicates = (IRI(value=SKOS.narrower), IRI(value=SKOS.broader)) + + tc_cq = ConceptHierarchyQuery( + parent_uri=parent_uri, + parent_child_predicates=parent_child_predicates, + ) + tc_cq.to_string() + + +def test_count_query(): + inner_ss = SubSelect( + select_clause=SelectClause(variables_or_all=[Var(value="focus_node")]), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + TriplesBlock.from_tssp_list( + [ + TriplesSameSubjectPath.from_spo( + subject=Var(value="focus_node"), + predicate=IRI(value=RDF.type), + object=IRI( + value="http://www.w3.org/ns/sosa/Sampling" + ), + ) + ] + ) + ] + ) + ) + ), + solution_modifier=SolutionModifier( + limit_offset=LimitOffsetClauses(limit_clause=LimitClause(limit=1001)), + ), + ) + count_expression = Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + other_expressions=Aggregate( + function_name="COUNT", + distinct=True, + expression=Expression.from_primary_expression( + PrimaryExpression(content=Var(value="focus_node")) + ), + ) + ) + ) + ) + outer_ss = SubSelect( + select_clause=SelectClause( + variables_or_all=[(count_expression, Var(value="count"))], + ), + where_clause=WhereClause( + group_graph_pattern=GroupGraphPattern(content=inner_ss) + ), + ) + outer_ss_ggp = GroupGraphPattern(content=outer_ss) + count_equals_1001_expr = Expression( + conditional_or_expression=ConditionalOrExpression( + conditional_and_expressions=[ + ConditionalAndExpression( + value_logicals=[ + ValueLogical( + relational_expression=RelationalExpression( + left=NumericExpression( + additive_expression=AdditiveExpression( + base_expression=MultiplicativeExpression( + base_expression=UnaryExpression( + primary_expression=PrimaryExpression( + content=Var(value="count") + ) + ) + ) + ) + ), + operator="=", + right=NumericExpression( + additive_expression=AdditiveExpression( + base_expression=MultiplicativeExpression( + base_expression=UnaryExpression( + primary_expression=PrimaryExpression( + content=NumericLiteral(value=1001) + ) + ) + ) + ) + ), + ) + ) + ] + ) + ] + ) + ) + gt_1000_exp = Expression.from_primary_expression( + PrimaryExpression(content=RDFLiteral(value=">1000")) + ) + str_count_exp = Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + function_name="STR", + expression=PrimaryExpression(content=Var(value="count")), + ) + ) + ) + bind = Bind( + expression=Expression.from_primary_expression( + PrimaryExpression( + content=BuiltInCall( + function_name="IF", + arguments=[count_equals_1001_expr, gt_1000_exp, str_count_exp], + ) + ) + ), + var=Var(value="count_str"), + ) + wc = WhereClause( + group_graph_pattern=GroupGraphPattern( + content=GroupGraphPatternSub( + graph_patterns_or_triples_blocks=[ + GraphPatternNotTriples( + content=GroupOrUnionGraphPattern( + group_graph_patterns=[outer_ss_ggp] + ) + ), + GraphPatternNotTriples(content=bind), + ] + ) + ) + ) + construct_template = ConstructTemplate( + construct_triples=ConstructTriples.from_tss_list( + [ + TriplesSameSubject.from_spo( + subject=BlankNode(value=Anon()), + predicate=IRI(value="https://prez.dev/count"), + object=Var(value="count_str"), + ) + ] + ) + ) + query = ConstructQuery( + construct_template=construct_template, + where_clause=wc, + solution_modifier=SolutionModifier(), + ) + print(query) diff --git a/tests/test_redirect_endpoint.py b/tests/test_redirect_endpoint.py old mode 100644 new mode 100755 index 3a718752..15d12b7b --- a/tests/test_redirect_endpoint.py +++ b/tests/test_redirect_endpoint.py @@ -1,46 +1,5 @@ -from pathlib import Path - import pytest from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store - -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def test_client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() @pytest.mark.parametrize( @@ -62,7 +21,7 @@ def override_get_repo(): ], ) def test_redirect_endpoint( - test_client: TestClient, + client: TestClient, iri: str, url: str, expected_response_code, @@ -70,7 +29,7 @@ def test_redirect_endpoint( ): params = {"iri": iri} headers = {"accept": accept_header_value} - response = test_client.get( + response = client.get( "/identifier/redirect", params=params, headers=headers, follow_redirects=False ) diff --git a/tests/test_remote_prefixes.py b/tests/test_remote_prefixes.py index 4357f001..53594917 100644 --- a/tests/test_remote_prefixes.py +++ b/tests/test_remote_prefixes.py @@ -2,13 +2,13 @@ import pytest from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store +from pyoxigraph import Store from rdflib import Graph, URIRef from rdflib.namespace import RDF, DCAT from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo +from prez.dependencies import get_data_repo +from prez.repositories import Repo, PyoxigraphRepo @pytest.fixture(scope="session") @@ -36,7 +36,7 @@ def override_get_repo(): app = assemble_app() - app.dependency_overrides[get_repo] = override_get_repo + app.dependency_overrides[get_data_repo] = override_get_repo with TestClient(app) as c: yield c diff --git a/tests/test_search.py b/tests/test_search.py old mode 100644 new mode 100755 index 82d546e2..b161344e --- a/tests/test_search.py +++ b/tests/test_search.py @@ -1,178 +1,308 @@ -from pathlib import Path -from urllib.parse import urlencode - import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store -from rdflib import Literal, URIRef, Graph -from rdflib.compare import isomorphic +from rdflib import DCAT +from sparql_grammar_pydantic import ( + ConstructQuery, + IRI, + Var, + GraphPatternNotTriples, + Expression, + PrimaryExpression, + BuiltInCall, + ConstructTemplate, + ConstructTriples, + TriplesSameSubject, + WhereClause, + GroupGraphPattern, + GroupGraphPatternSub, + SolutionModifier, + Bind, + NumericLiteral, + RegexExpression, + Aggregate, + RDFLiteral, + Filter, + SubSelectString, +) + +from prez.reference_data.prez_ns import PREZ +from prez.services.query_generation.sparql_escaping import escape_for_lucene_and_sparql + +""" +SELECT ?search_result_uri ?predicate ?match ?weight (URI(CONCAT("urn:hash:", SHA256(CONCAT(STR(?search_result_uri), STR(?predicate), STR(?match), STR(?weight))))) AS ?hashID) + WHERE { + SELECT ?search_result_uri ?predicate ?match (SUM(?w) AS ?weight) + WHERE + { + ?search_result_uri ?predicate ?match . + VALUES ?predicate { $predicates } + { + ?search_result_uri ?predicate ?match . + BIND (100 AS ?w) + FILTER (LCASE(?match) = "$term") + } + UNION + { + ?search_result_uri ?predicate ?match . + BIND (20 AS ?w) + FILTER (REGEX(?match, "^$term", "i")) + } + UNION + { + ?search_result_uri ?predicate ?match . + BIND (10 AS ?w) + FILTER (REGEX(?match, "$term", "i")) + } + } + GROUP BY ?search_result_uri ?predicate ?match + } + ORDER BY DESC(?weight) +""" + +all_vars = { + "sr_uri": Var(value="search_result_uri"), + "pred": Var(value="predicate"), + "match": Var(value="match"), + "weight": Var(value="weight"), + "w": Var(value="w"), + "search_term": Var(value="search_term"), +} -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.models.search_method import SearchMethod -from prez.routers.search import extract_qsa_params -from prez.sparql.methods import Repo, PyoxigraphRepo +def test_main(): + # Assuming that the classes are defined as per your previous message + + # Create the necessary variables + # Create the necessary variables as PrimaryExpressions wrapped in STR function calls + sr_uri = Var(value="search_result_uri") + pred = Var(value="predicate") + match = Var(value="match") + weight = Var(value="weight") + + str_sr_uri = PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "STR", PrimaryExpression(content=sr_uri) + ) + ) + str_pred = PrimaryExpression( + content=BuiltInCall.create_with_one_expr("STR", PrimaryExpression(content=pred)) + ) + str_match = PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "STR", PrimaryExpression(content=match) + ) + ) + str_weight = PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "STR", PrimaryExpression(content=weight) + ) + ) -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() + # Create the inner CONCAT function call with the STR-wrapped variables + inner_concat = BuiltInCall.create_with_n_expr( + "CONCAT", [str_sr_uri, str_pred, str_match, str_weight] + ) - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") + # Wrap the inner CONCAT in a PrimaryExpression for the SHA256 function call + sha256_expr = PrimaryExpression( + content=BuiltInCall.create_with_one_expr( + "SHA256", PrimaryExpression(content=inner_concat) + ) + ) - return store + # Create the outer CONCAT function call, including the "urn:hash:" literal + urn_literal = PrimaryExpression(content=RDFLiteral(value="urn:hash:")) + outer_concat = BuiltInCall.create_with_n_expr("CONCAT", [urn_literal, sha256_expr]) + # Finally, create the URI function call + uri_expr = BuiltInCall.create_with_one_expr( + "URI", PrimaryExpression(content=outer_concat) + ) -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) + # Render the expression + print("".join(part for part in uri_expr.render())) -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo +def test_primary_expression(): + # Create a PrimaryExpression + primary_expr = PrimaryExpression(content=Var(value="myVar")) - app = assemble_app() + # Use the convenience method to create a BuiltInCall with the PrimaryExpression + str_function_call = BuiltInCall.create_with_one_expr("STR", primary_expr) - app.dependency_overrides[get_repo] = override_get_repo + # Render the BuiltInCall + str_function_call.to_string() - with TestClient(app) as c: - yield c - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() +def test_multiple_primary_expression(): + # Create a list of PrimaryExpressions + primary_expressions = [ + PrimaryExpression(content=Var(value="var1")), + PrimaryExpression(content=Var(value="var2")), + ] + # Use the convenience method to create a BuiltInCall with the list of PrimaryExpressions + concat_function_call = BuiltInCall.create_with_n_expr("CONCAT", primary_expressions) -@pytest.fixture(scope="module") -def test_method_creation(): - method = SearchMethod( - uri=URIRef("https://prez.dev/uri"), - identifier=Literal("identifier"), - title=Literal("title"), - query=Literal("query"), - ) - return method + # Render the BuiltInCall + concat_function_call.to_string() -def test_search_focus_to_filter(client: TestClient): - base_url = "/search" - params = { - "term": "contact", - "method": "default", - "focus-to-filter[skos:broader]": "http://resource.geosciml.org/classifier/cgi/contacttype/metamorphic_contact", - } - # Constructing the final URL - final_url = f"{base_url}?{urlencode(params)}" - response = client.get(final_url) - response_graph = Graph().parse(data=response.text, format="turtle") - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/search/expected_responses/focus_to_filter_search.ttl" - ) - assert isomorphic(expected_graph, response_graph) +def test_aggregate(): + # function_name: str # One of 'COUNT', 'SUM', 'MIN', 'MAX', 'AVG', 'SAMPLE', 'GROUP_CONCAT' + # distinct: bool = False + # expression: Optional[ + # Union[str, Expression] + # ] = None # '*' for COUNT, else Expression + # separator: Optional[str] = None # Only used for GROUP_CONCAT + """ + SUM(?w) + """ + pr_exp = PrimaryExpression(content=(all_vars["w"])) + exp = Expression.from_primary_expression(pr_exp) + count_expression = Aggregate(function_name="SUM", expression=exp) + print("".join(part for part in count_expression.render())) -def test_search_filter_to_focus(client: TestClient): - base_url = "/search" - params = { - "term": "storage", - "method": "default", - "filter-to-focus[skos:broader]": "http://linked.data.gov.au/def/borehole-purpose/carbon-capture-and-storage", - } - # Constructing the final URL - final_url = f"{base_url}?{urlencode(params)}" - response = client.get(final_url) - response_graph = Graph().parse(data=response.text, format="turtle") - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" +def test_regex(): + # Example usage of RegexExpression + pe1 = PrimaryExpression(content=Var(value="textVar")) + pe2 = PrimaryExpression(content=RDFLiteral(value="^regexPattern")) + pe3 = PrimaryExpression(content=RDFLiteral(value="i")) + regex_expression = RegexExpression( + text_expression=Expression.from_primary_expression( + pe1 + ), # Expression for the text + pattern_expression=Expression.from_primary_expression( + pe2 + ), # Expression for the regex pattern + flags_expression=Expression.from_primary_expression( + pe3 + ), # Optional: Expression for regex flags ) - assert isomorphic(expected_graph, response_graph) + # Render the RegexExpression + print("".join(part for part in regex_expression.render())) -@pytest.mark.xfail( - reason="This generates a valid query that has been tested in Fuseki, which RDFLib and Pyoxigraph cannot run(!)" -) -def test_search_filter_to_focus_multiple(client: TestClient): - base_url = "/search" - params = { - "term": "storage", - "method": "default", - "filter-to-focus[skos:broader]": "http://resource.geosciml.org/classifier/cgi/contacttype/metamorphic_contact,http://linked.data.gov.au/def/borehole-purpose/greenhouse-gas-storage", - } - # Constructing the final URL - final_url = f"{base_url}?{urlencode(params)}" - response = client.get(final_url) - response_graph = Graph().parse(data=response.text, format="turtle") - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" + +def test_first_part_search(): + # Variables for outer SELECT + + expressions = [PrimaryExpression(content=v) for v in all_vars.values()] + str_builtins = [BuiltInCall.create_with_one_expr("STR", e) for e in expressions] + str_expressions = [PrimaryExpression(content=b) for b in str_builtins] + urn_literal = PrimaryExpression(content=RDFLiteral(value="urn:hash:")) + all_expressions = [urn_literal] + str_expressions + uri_expr = BuiltInCall.create_with_n_expr("CONCAT", all_expressions) + print("".join(part for part in uri_expr.render())) + + +def test_inner_ggp_search(): + # inner where + # { + # ?search_result_uri ?predicate ?match. + # BIND(100 AS ?w) + # FILTER(LCASE(?match) = "$term") + # } + ggp = GroupGraphPattern(content=GroupGraphPatternSub()) + + # select + # ggp.content.add_triple( + # TriplesSameSubjectPath.from_spo( + # subject=all_vars["sr_uri"], + # predicate=all_vars["pred"], + # object=all_vars["match"], + # ) + # ) + + # bind + bind_for_w = Bind( + expression=Expression.from_primary_expression( + PrimaryExpression(content=NumericLiteral(value="100")) + ), + var=Var(value="w"), ) - assert isomorphic(expected_graph, response_graph) + bind_gpnt = GraphPatternNotTriples(content=bind_for_w) + ggp.content.add_pattern(bind_gpnt) + # filter + bifc = BuiltInCall(function_name="LCASE", arguments=[all_vars["match"]]) + pe_focus = PrimaryExpression(content=bifc) + pe_st = PrimaryExpression(content=all_vars["search_term"]) + filter_expr = Filter.filter_relational( + focus=pe_focus, comparators=pe_st, operator="=" + ) + filter_gpnt = GraphPatternNotTriples(content=filter_expr) + ggp.content.add_pattern(filter_gpnt) -@pytest.mark.xfail( - reason="This generates a valid query that has been tested in Fuseki, which RDFLib struggles with" -) -def test_search_focus_to_filter_multiple(client: TestClient): - base_url = "/search" - params = { - "term": "storage", - "method": "default", - "focus-to-filter[skos:broader]": "http://linked.data.gov.au/def/borehole-purpose/carbon-capture-and-storage,http://linked.data.gov.au/def/borehole-purpose/pggd", - } - # Constructing the final URL - final_url = f"{base_url}?{urlencode(params)}" - response = client.get(final_url) - response_graph = Graph().parse(data=response.text, format="turtle") - expected_graph = Graph().parse( - Path(__file__).parent - / "../tests/data/search/expected_responses/filter_to_focus_search.ttl" + print("".join(part for part in ggp.render())) + + +def test_count_query(): + subquery = """SELECT ?focus_node { ?focus_node a dcat:Dataset }""" + + klass = IRI(value=DCAT.Dataset) + # Assuming `klass` is an instance of IRI class and `PREZ` is a predefined IRI + count_iri = IRI(value=PREZ["count"]) # Replace with actual IRI + count_var = Var(value="count") + + construct_triples = ConstructTriples.from_tss_list( + [ + TriplesSameSubject.from_spo( + subject=klass, predicate=count_iri, object=count_var + ) + ] + ) + construct_template = ConstructTemplate(construct_triples=construct_triples) + # Assuming `subquery` is a string containing the subquery + subquery_str = SubSelectString(select_string=subquery) + ggp = GroupGraphPattern(content=subquery_str) + where_clause = WhereClause(group_graph_pattern=ggp) + construct_query = ConstructQuery( + construct_template=construct_template, + where_clause=where_clause, + solution_modifier=SolutionModifier(), # Assuming no specific modifiers ) - assert isomorphic(expected_graph, response_graph) @pytest.mark.parametrize( - "qsas, expected_focus_to_filter, expected_filter_to_focus", + "original_term,expected_result", [ + ("+", r"\\+"), + ("-", r"\\-"), + ("!", r"\\!"), + ("(", r"\\("), + (")", r"\\)"), + ("{", r"\\{"), + ("}", r"\\}"), + ("[", r"\\["), + ("]", r"\\]"), + ("^", r"\\^"), + ('"', r'\\"'), + ("~", r"\\~"), + ("*", r"\\*"), + ("?", r"\\?"), + (":", r"\\:"), + (r"\\", r"\\\\\\"), + ("/", r"\\/"), + ("simpleTerm", "simpleTerm"), + ('"quotedTerm"', r'\\"quotedTerm\\"'), + ("url%20encoded%20term", "url%20encoded%20term"), + ("term/with/slashes", r"term\\/with\\/slashes"), + ("term-with-dashes", r"term\\-with\\-dashes"), + ("term_with_underscores", "term_with_underscores"), + ("term.with.periods", "term.with.periods"), + ("term+with+pluses", r"term\\+with\\+pluses"), ( - { - "term": "value1", - "method": "value2", - "filter-to-focus[rdfs:member]": "value3", - "focus-to-filter[dcterms:title]": "value4", - }, - [(URIRef("http://purl.org/dc/terms/title"), "value4")], - [(URIRef("http://www.w3.org/2000/01/rdf-schema#member"), "value3")], + "term%2Bwith%2Burl%2Bencoded%2Bpluses", + "term%2Bwith%2Burl%2Bencoded%2Bpluses", ), - ( - { - "term": "value1", - "method": "value2", - "focus-to-filter[dcterms:title]": "value4", - }, - [(URIRef("http://purl.org/dc/terms/title"), "value4")], - [], - ), - ( - { - "term": "value1", - "method": "value2", - "filter-to-focus[rdfs:member]": "value3", - }, - [], - [(URIRef("http://www.w3.org/2000/01/rdf-schema#member"), "value3")], - ), - ({"term": "value1", "method": "value2"}, [], []), ], ) -def test_extract_qsa_params(qsas, expected_focus_to_filter, expected_filter_to_focus): - focus_to_filter_params, filter_to_focus_params = extract_qsa_params(qsas) +def test_escaping(original_term, expected_result): + # Example usage of EscapedString + escaped_term = escape_for_lucene_and_sparql(original_term) + assert escaped_term == expected_result + - assert focus_to_filter_params == expected_focus_to_filter - assert filter_to_focus_params == expected_filter_to_focus +if __name__ == "__main__": + pass diff --git a/tests/test_sparql.py b/tests/test_sparql.py old mode 100644 new mode 100755 index c2b8059a..81e678fb --- a/tests/test_sparql.py +++ b/tests/test_sparql.py @@ -1,48 +1,3 @@ -from pathlib import Path - -import pytest -from fastapi.testclient import TestClient -from pyoxigraph.pyoxigraph import Store - -from prez.app import assemble_app -from prez.dependencies import get_repo -from prez.sparql.methods import Repo, PyoxigraphRepo - - -@pytest.fixture(scope="session") -def test_store() -> Store: - # Create a new pyoxigraph Store - store = Store() - - for file in Path(__file__).parent.glob("../tests/data/*/input/*.ttl"): - store.load(file.read_bytes(), "text/turtle") - - return store - - -@pytest.fixture(scope="session") -def test_repo(test_store: Store) -> Repo: - # Create a PyoxigraphQuerySender using the test_store - return PyoxigraphRepo(test_store) - - -@pytest.fixture(scope="session") -def client(test_repo: Repo) -> TestClient: - # Override the dependency to use the test_repo - def override_get_repo(): - return test_repo - - app = assemble_app() - - app.dependency_overrides[get_repo] = override_get_repo - - with TestClient(app) as c: - yield c - - # Remove the override to ensure subsequent tests are unaffected - app.dependency_overrides.clear() - - def test_select(client): """check that a valid select query returns a 200 response.""" r = client.get( @@ -102,4 +57,4 @@ def test_insert_as_query(client): "format": "application/x-www-form-urlencoded", }, ) - assert r.status_code == 400 \ No newline at end of file + assert r.status_code == 400