diff --git a/.gitignore b/.gitignore index f41ad1afe1..8ef25438ca 100644 --- a/.gitignore +++ b/.gitignore @@ -58,4 +58,5 @@ knora-graphdb-free knora-graphdb-se knora-sipi knora-upgrade +triplestores/fuseki-tomcat/system dump.rdb diff --git a/docs/src/paradox/03-apis/api-v2/query-language.md b/docs/src/paradox/03-apis/api-v2/query-language.md index dce0eb64a4..e5b89845a2 100644 --- a/docs/src/paradox/03-apis/api-v2/query-language.md +++ b/docs/src/paradox/03-apis/api-v2/query-language.md @@ -192,12 +192,12 @@ a matching dependent resource, only its IRI is returned. ## Inference -Gravsearch queries are understood to imply +Gravsearch queries are understood to imply a subset of [RDFS reasoning](https://www.w3.org/TR/rdf11-mt/). Depending on the triplestore being used, this may be implemented using the triplestore's own reasoner or by query expansion in Knora. -This means that if a statement pattern specifies a property, the pattern will +Specifically, if a statement pattern specifies a property, the pattern will also match subproperties of that property, and if a statement specifies that a subject has a particular `rdf:type`, the statement will also match subjects belonging to subclasses of that type. @@ -352,31 +352,28 @@ text markup (see @ref:[Matching Standoff Dates](#matching-standoff-dates)). #### Searching for Matching Words -The function `knora-api:match` searches for matching words anywhere in a +The function `knora-api:matchText` searches for matching words anywhere in a text value, and is implemented using a full-text search index if available. -The first argument must be a variable of type `xsd:string`, and the second -argument is a string containing the words to be matched, separated by spaces. -The words to be matched are separated by spaces in a string literal. +The first argument must represent a text value (a `knore-api:TextValue` in +the complex schema, or an `xsd:string` in the simple schema). The second +argument is a string literal containing the words to be matched, separated by spaces. The function supports the @ref:[Lucene Query Parser syntax](../../08-lucene/index.md). Note that Lucene's default operator is a logical OR when submitting several search terms. -For example, to search for titles that contain the words 'Zeitglöcklein' and -'Lebens' in the simple schema: - -``` -FILTER knora-api:match(?title, "Zeitglöcklein Lebens") -``` +This function can only be used as the top-level expression in a `FILTER`. -In the complex schema: +For example, to search for titles that contain the words 'Zeitglöcklein' and +'Lebens': ``` -?title knora-api:valueAsString ?titleStr . -FILTER knora-api:match(?titleStr, "Zeitglöcklein Lebens") +?book incunabule:title ?title . +FILTER knora-api:matchText(?title, "Zeitglöcklein Lebens") ``` -If `knora-api:match` is used in a `FILTER`, it must be the only expression in -the `FILTER`. +Note: the `knora-api:match` function has been deprecated, and will no longer work in +a future release of Knora. Please change your Gravsearch queries to use `knora-api:matchText` +instead. Attention: the first argument is different. #### Filtering Text by Language @@ -426,11 +423,11 @@ tags in the text. You can match the tags you're interested in using #### Matching Text in a Standoff Tag -The function `knora-api:matchInStandoff` searches for standoff tags containing certain terms. +The function `knora-api:matchTextInStandoff` searches for standoff tags containing certain terms. The implementation is optimised using the full-text search index if available. The function takes three arguments: -1. A variable representing the string literal value of a text value. +1. A variable representing a text value. 2. A variable representing a standoff tag. 3. A string literal containing space-separated search terms. @@ -448,16 +445,19 @@ CONSTRUCT { } WHERE { ?letter a beol:letter . ?letter beol:hasText ?text . - ?text knora-api:valueAsString ?textStr . ?text knora-api:textValueHasStandoff ?standoffParagraphTag . ?standoffParagraphTag a standoff:StandoffParagraphTag . - FILTER knora-api:matchInStandoff(?textStr, ?standoffParagraphTag, "Grund Richtigkeit") + FILTER knora-api:matchTextInStandoff(?text, ?standoffParagraphTag, "Grund Richtigkeit") } ``` Here we are looking for letters containing the words "Grund" and "Richtigkeit" within a single paragraph. +Note: the `knora-api:matchInStandoff` function has been deprecated, and will no longer +work in a future release of Knora. Please change your Gravsearch queries to use +`knora-api:matchTextInStandoff` instead. Attention: the first argument is different. + #### Matching Standoff Links If you are only interested in specifying that a resource has some text diff --git a/docs/src/paradox/03-apis/api-v2/reading-and-searching-resources.md b/docs/src/paradox/03-apis/api-v2/reading-and-searching-resources.md index 9ab2e4b474..030704998f 100644 --- a/docs/src/paradox/03-apis/api-v2/reading-and-searching-resources.md +++ b/docs/src/paradox/03-apis/api-v2/reading-and-searching-resources.md @@ -547,6 +547,9 @@ This is useful only if the project does not contain a large amount of data; otherwise, you should use @ref:[Gravsearch](query-language.md) to search using more specific criteria. +The specified class and property are used without inference; they will not +match subclasses or subproperties. + The HTTP header `X-Knora-Accept-Project` must be submitted; its value is a Knora project IRI. In the request URL, the values of `resourceClass` and `orderByProperty` are URL-encoded IRIs in the @ref:[complex schema](introduction.md#api-schema). diff --git a/docs/src/paradox/05-internals/design/api-v2/gravsearch.md b/docs/src/paradox/05-internals/design/api-v2/gravsearch.md index 882588347f..702372628d 100644 --- a/docs/src/paradox/05-internals/design/api-v2/gravsearch.md +++ b/docs/src/paradox/05-internals/design/api-v2/gravsearch.md @@ -188,15 +188,16 @@ The resulting SELECT clause of the prequery looks as follows: ```sparql SELECT DISTINCT ?page - (GROUP_CONCAT(DISTINCT(?book); SEPARATOR='') AS ?book__Concat) - (GROUP_CONCAT(DISTINCT(?seqnum); SEPARATOR='') AS ?seqnum__Concat) - (GROUP_CONCAT(DISTINCT(?book__LinkValue); SEPARATOR='') AS ?book__LinkValue__Concat) + (GROUP_CONCAT(DISTINCT(IF(BOUND(?book), STR(?book), "")); SEPARATOR='') AS ?book__Concat) + (GROUP_CONCAT(DISTINCT(IF(BOUND(?seqnum), STR(?seqnum), "")); SEPARATOR='') AS ?seqnum__Concat) + (GROUP_CONCAT(DISTINCT(IF(BOUND(?book__LinkValue), STR(?book__LinkValue), "")); SEPARATOR='') AS ?book__LinkValue__Concat) WHERE {...} GROUP BY ?page ORDER BY ASC(?page) LIMIT 25 ``` -`?page` represents the main resource. When accessing the prequery's result rows, `?page` contains the Iri of the main resource. + +`?page` represents the main resource. When accessing the prequery's result rows, `?page` contains the IRI of the main resource. The prequery's results are grouped by the main resource so that there is exactly one result row per matching main resource. `?page` is also used as a sort criterion although none has been defined in the input query. This is necessary to make paging work: results always have to be returned in the same order (the prequery is always deterministic). @@ -205,17 +206,23 @@ Like this, results can be fetched page by page using LIMIT and OFFSET. Grouping by main resource requires other results to be aggregated using the function `GROUP_CONCAT`. `?book` is used as an argument of the aggregation function. The aggregation's result is accessible in the prequery's result rows as `?book__Concat`. -The variable `?book` is bound to an Iri. -Since more than one Iri could be bound to a variable representing a dependent resource, the results have to be aggregated. -`GROUP_CONCAT` takes two arguments: a collection of strings (Iris in our use case) and a separator. -When accessing `?book__Concat` in the prequery's results containing the Iris of dependent resources, the string has to be split with the separator used in the aggregation function. -The result is a collection of Iris representing dependent resources. +The variable `?book` is bound to an IRI. +Since more than one IRI could be bound to a variable representing a dependent resource, the results have to be aggregated. +`GROUP_CONCAT` takes two arguments: a collection of strings (IRIs in our use case) and a separator +(we use the non-printing Unicode character `INFORMATION SEPARATOR ONE`). +When accessing `?book__Concat` in the prequery's results containing the IRIs of dependent resources, the string has to be split with the separator used in the aggregation function. +The result is a collection of IRIs representing dependent resources. The same logic applies to value objects. +Each `GROUP_CONCAT` checks whether the concatenated variable is bound in each result in the group; if a variable +is unbound, we concatenate an empty string. This is necessary because, in Apache Jena (and perhaps other +triplestores), "If `GROUP_CONCAT` has an unbound value in the list of values to concat, the overall result is 'error'" +(see [this Jena issue](https://issues.apache.org/jira/browse/JENA-1856)). + ### Main Query The purpose of the main query is to get all requested information about the main resource, dependent resources, and value objects. -The Iris of those resources and value objects were returned by the prequery. +The IRIs of those resources and value objects were returned by the prequery. Since the prequery only returns resources and value objects matching the input query's criteria, the main query can specifically ask for more detailed information on these resources and values without having to reconsider these criteria. @@ -225,8 +232,8 @@ The classes involved in generating prequeries can be found in `org.knora.webapi. The main query is a SPARQL CONSTRUCT query. Its generation is handled by the method `GravsearchMainQueryGenerator.createMainQuery`. It takes three arguments: `mainResourceIris: Set[IriRef], dependentResourceIris: Set[IriRef], valueObjectIris: Set[IRI]`. -From the given Iris, statements are generated that ask for complete information on *exactly* these resources and values. -For any given resource Iri, only the values present in `valueObjectIris` are to be queried. +From the given IRIs, statements are generated that ask for complete information on *exactly* these resources and values. +For any given resource IRI, only the values present in `valueObjectIris` are to be queried. This is achieved by using SPARQL's `VALUES` expression for the main resource and dependent resources as well as for values. #### Processing the Main Query's results @@ -237,7 +244,7 @@ The method `getMainQueryResultsWithFullGraphPattern` takes the main query's resu A main resource and its dependent resources and values are only returned if the user has view permissions on all the resources and value objects present in the main query. Otherwise the method suppresses the main resource. To do the permission checking, the results of the main query are passed to `ConstructResponseUtilV2` which transforms a `SparqlConstructResponse` (a set of RDF triples) -into a structure organized by main resource Iris. In this structure, dependent resources and values are nested can be accessed via their main resource. +into a structure organized by main resource IRIs. In this structure, dependent resources and values are nested can be accessed via their main resource. `SparqlConstructResponse` suppresses all resources and values the user has insufficient permissions on. For each main resource, a check is performed for the presence of all resources and values after permission checking. @@ -247,3 +254,30 @@ All the resources and values not present in the input query's CONSTRUCT clause a The main resources that have been filtered out due to insufficient permissions are represented by the placeholder `ForbiddenResource`. This placeholder stands for a main resource that cannot be returned, nevertheless it informs the client that such a resource exists. This is necessary for a consistent behaviour when doing paging. + +## Inference + +Gravsearch queries support a subset of RDFS reasoning +(see @ref:[Inference](../../../03-apis/api-v2/query-language.md#inference) in the API documentation +on Gravsearch). This is implemented as follows: + +When the non-triplestore-specific version of a SPARQL query is generated, statements that do not need +inference are marked with the virtual named graph ``. + +When the triplestore-specific version of the query is generated: + +- If the triplestore is GraphDB, `SparqlTransformer.transformKnoraExplicitToGraphDBExplicit` changes statements + with the virtual graph `` so that they are marked with the GraphDB-specific graph + ``, and leaves other statements unchanged. + +- If Knora is not using the triplestore's inference (e.g. with Fuseki), + `SparqlTransformer.expandStatementForNoInference` removes ``, and expands unmarked + statements using `rdfs:subClassOf*` and `rdfs:subPropertyOf*`. + +Gravsearch also provides some virtual properties, which take advantage of forward-chaining inference +as an optimisation if the triplestore provides it. For example, the virtual property +`knora-api:standoffTagHasStartAncestor` is equivalent to `knora-base:standoffTagHasStartParent*`, but +with GraphDB it is implemented using a custom inference rule (in `KnoraRules.pie`) and is therefore more +efficient. If Knora is not using the triplestore's inference, +`SparqlTransformer.transformStatementInWhereForNoInference` replaces `knora-api:standoffTagHasStartAncestor` +with `knora-base:standoffTagHasStartParent*`. diff --git a/docs/src/paradox/05-internals/design/api-v2/query-design.md b/docs/src/paradox/05-internals/design/api-v2/query-design.md index 1551324be4..ab40a45238 100644 --- a/docs/src/paradox/05-internals/design/api-v2/query-design.md +++ b/docs/src/paradox/05-internals/design/api-v2/query-design.md @@ -21,6 +21,99 @@ License along with Knora. If not, see . @@toc +## Inference + +Knora does not require the triplestore to perform inference, but may be able +to take advantage of inference if the triplestore provides it. + +In particular, Knora's SPARQL queries currently need to do the following: + +- Given a base property, find triples using a subproperty as predicate, and + return the subproperty used in each case. +- Given a base class, find triples using an instance of subclass as subject or + object, and return the subclass used in each case. + +Without inference, this can be done using property path syntax. + +```sparql +CONSTRUCT { + ?resource a ?resourceClass . + ?resource ?resourceValueProperty ?valueObject. +WHERE { + ?resource a ?resourceClass . + ?resourceType rdfs:subClassOf* knora-base:Resource . + ?resource ?resourceValueProperty ?valueObject . + ?resourceValueProperty rdfs:subPropertyOf* knora-base:hasValue . +``` + +This query: + +- Checks that the queried resource belongs to a subclass of `knora-base:Resource`. + +- Returns the class that the resource explicitly belongs to. + +- Finds the Knora values attached to the resource, and returns each value along with + the property that explicitly attaches it to the resource. + +In some triplestores, it can be more efficient to use RDFS inference than to use property path syntax, +depending on how inference is implemented. For example, Ontotext GraphDB does inference when +data is inserted, and stores inferred triples in the repository +([forward chaining with full materialisation](http://graphdb.ontotext.com/documentation/standard/reasoning.html)). +Moreover, it provides a way of choosing whether to return explicit or inferred triples. +This allows the query above to be optimised as follows, querying inferred triples but returning +explicit triples: + +```sparql +CONSTRUCT { + ?resource a ?resourceClass . + ?resource ?resourceValueProperty ?valueObject. +WHERE { + ?resource a knora-base:Resource . # inferred triple + + GRAPH { + ?resource a ?resourceClass . # explicit triple + } + + ?resource knora-base:hasValue ?valueObject . # inferred triple + + GRAPH { + ?resource ?resourceValueProperty ?valueObject . # explicit triple + } +``` + +By querying inferred triples that are already stored in the repository, the optimised query avoids property path +syntax and is therefore more efficient, while still only returning explicit triples in the query result. + +Other triplestores use a backward-chaining inference strategy, meaning that inference is performed during +the execution of a SPARQL query, by expanding the query itself. The expanded query is likely to look like +the first example, using property path syntax, and therefore it is not likely to be more efficient. Moreover, +other triplestores may not provide a way to return explicit rather than inferred triples. To support such +a triplestore, Knora uses property path syntax rather than inference. +See @ref:[the Gravsearch design documentation](gravsearch.md#inference) for information on how this is done +for Gravsearch queries. + +The support for Apache Jena Fuseki currently works in this way. However, Fuseki supports both forward-chaining +and backward-chaining rule engines, although it does not seem to have anything like +GraphDB's ``. It would be worth exploring whether Knora's query result +processing could be changed so that it could use forward-chaining inference as an optimisation, even if +nothing like `` is available. For example, the example query= could be written like +this: + +```sparql +CONSTRUCT { + ?resource a ?resourceClass . + ?resource ?resourceValueProperty ?valueObject . +WHERE { + ?resource a knora-base:Resource . + ?resource a ?resourceClass . + ?resource knora-base:hasValue ?valueObject . + ?resource ?resourceValueProperty ?valueObject . +``` + +This would return inferred triples as well as explicit ones: a triple for each base class of the explicit +`?resourceClass`, and a triple for each base property of the explicit `?resourceValueProperty`. But since Knora knows +the class and property inheritance hierarchies, it could ignore the additional triples. + ## Querying Past Value Versions Value versions are a linked list, starting with the current version. Each value points to diff --git a/knora-ontologies/knora-base.ttl b/knora-ontologies/knora-base.ttl index d5f19ef41c..701c8ce57a 100644 --- a/knora-ontologies/knora-base.ttl +++ b/knora-ontologies/knora-base.ttl @@ -457,8 +457,6 @@ "a lien vers"@fr , "ha Link verso"@it ; - rdfs:comment "Represents a direct connection between two resources"@en ; - :isEditable true ; :objectClassConstraint :LinkValue ; diff --git a/triplestores/fuseki-tomcat/config.ttl b/triplestores/fuseki-tomcat/config.ttl new file mode 100644 index 0000000000..f835274c17 --- /dev/null +++ b/triplestores/fuseki-tomcat/config.ttl @@ -0,0 +1,33 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +## Fuseki Server configuration file. + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . +@prefix rdfs: . +@prefix ja: . + +[] rdf:type fuseki:Server ; + # Example:: + # Server-wide query timeout. + # + # Timeout - server-wide default: milliseconds. + # Format 1: "1000" -- 1 second timeout + # Format 2: "10000,60000" -- 10s timeout to first result, + # then 60s timeout for the rest of query. + # + # See javadoc for ARQ.queryTimeout for details. + # This can also be set on a per dataset basis in the dataset assembler. + # + # ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "30000" ] ; + + + + # Add any custom classes you want to load. + # Must have a "public static void init()" method. + # ja:loadClass "your.code.Class" ; + ja:loadClass "org.apache.jena.query.text.TextQuery"; + + # End triples. + . diff --git a/triplestores/fuseki-tomcat/configuration/knora-test-unit.ttl b/triplestores/fuseki-tomcat/configuration/knora-test-unit.ttl new file mode 100644 index 0000000000..51401e8a3d --- /dev/null +++ b/triplestores/fuseki-tomcat/configuration/knora-test-unit.ttl @@ -0,0 +1,49 @@ +@prefix : . +@prefix tdb: . +@prefix rdf: . +@prefix ja: . +@prefix rdfs: . +@prefix fuseki: . +@prefix text: . +@prefix knora-base: . + +:service_tdb_all a fuseki:Service ; + rdfs:label "TDB knora-test-unit" ; + fuseki:dataset :text_dataset ; + fuseki:name "knora-test-unit" ; + fuseki:serviceQuery "query" , "sparql" ; + fuseki:serviceReadGraphStore "get" ; + fuseki:serviceReadWriteGraphStore "data" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" . + +## --------------------------------------------------------------- +## This URI must be fixed - it's used to assemble the text dataset. + +:text_dataset rdf:type text:TextDataset ; + text:dataset :tdb_dataset_readwrite ; + text:index :indexLucene . + +# A TDB datset used for RDF storage +:tdb_dataset_readwrite a tdb:DatasetTDB ; + tdb:unionDefaultGraph true ; + tdb:location "/etc/fuseki/databases/knora-test-unit" . + +# Text index description +:indexLucene a text:TextIndexLucene ; + text:directory "/etc/fuseki/lucene/knora-test-unit" ; + ##text:directory "mem" ; + text:entityMap :entMap . + +# Mapping in the index +# URI stored in field "uri" +# knora-base:valueHasString is mapped to field "text" +:entMap a text:EntityMap ; + text:entityField "uri" ; + text:defaultField "text" ; + text:uidField "uid" ; + text:map ( + [ text:field "text" ; text:predicate rdfs:label ] + [ text:field "text" ; text:predicate knora-base:valueHasString ] + [ text:field "text" ; text:predicate knora-base:valueHasComment ] + ) . diff --git a/triplestores/fuseki-tomcat/configuration/knora-test.ttl b/triplestores/fuseki-tomcat/configuration/knora-test.ttl new file mode 100644 index 0000000000..fd78f1fac6 --- /dev/null +++ b/triplestores/fuseki-tomcat/configuration/knora-test.ttl @@ -0,0 +1,50 @@ +@prefix : . +@prefix tdb: . +@prefix rdf: . +@prefix ja: . +@prefix rdfs: . +@prefix fuseki: . +@prefix text: . +@prefix knora-base: . + +:service_tdb_all a fuseki:Service ; + rdfs:label "TDB knora-test" ; + fuseki:dataset :text_dataset ; + fuseki:name "knora-test" ; + fuseki:serviceQuery "query" , "sparql" ; + fuseki:serviceReadGraphStore "get" ; + fuseki:serviceReadWriteGraphStore "data" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" . + +## --------------------------------------------------------------- +## This URI must be fixed - it's used to assemble the text dataset. + +:text_dataset rdf:type text:TextDataset ; + text:dataset :tdb_dataset_readwrite ; + text:index :indexLucene . + +# A TDB datset used for RDF storage +:tdb_dataset_readwrite a tdb:DatasetTDB ; + tdb:unionDefaultGraph true ; + tdb:location "/etc/fuseki/databases/knora-test" . + +# Text index description +:indexLucene a text:TextIndexLucene ; + text:directory "/etc/fuseki/lucene/knora-test" ; + ##text:directory "mem" ; + text:entityMap :entMap . + +# Mapping in the index +# URI stored in field "uri" +# knora-base:valueHasString is mapped to field "text" +:entMap a text:EntityMap ; + text:entityField "uri" ; + text:defaultField "text" ; + text:uidField "uid" ; + text:map ( + [ text:field "text" ; text:predicate rdfs:label ] + [ text:field "text" ; text:predicate knora-base:valueHasString ] + [ text:field "text" ; text:predicate knora-base:valueHasComment ] + + ) . \ No newline at end of file diff --git a/triplestores/fuseki-tomcat/databases/.gitignore b/triplestores/fuseki-tomcat/databases/.gitignore new file mode 100644 index 0000000000..5e7d2734cf --- /dev/null +++ b/triplestores/fuseki-tomcat/databases/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/triplestores/fuseki-tomcat/lucene/.gitignore b/triplestores/fuseki-tomcat/lucene/.gitignore new file mode 100644 index 0000000000..5e7d2734cf --- /dev/null +++ b/triplestores/fuseki-tomcat/lucene/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/triplestores/fuseki-tomcat/shiro.ini b/triplestores/fuseki-tomcat/shiro.ini new file mode 100644 index 0000000000..5d129d0062 --- /dev/null +++ b/triplestores/fuseki-tomcat/shiro.ini @@ -0,0 +1,38 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +[main] +# Development +ssl.enabled = false + +plainMatcher=org.apache.shiro.authc.credential.SimpleCredentialsMatcher +#iniRealm=org.apache.shiro.realm.text.IniRealm +iniRealm.credentialsMatcher = $plainMatcher + +localhostFilter=org.apache.jena.fuseki.authz.LocalhostFilter + +[users] +# Implicitly adds "iniRealm = org.apache.shiro.realm.text.IniRealm" +admin=pw + +[roles] + +[urls] +## Control functions open to anyone +/$/status = anon +/$/ping = anon +/$/metrics = anon + +## and the rest are restricted to localhost. +/$/** = localhostFilter + +## If you want simple, basic authentication user/password +## on the operations, +## 1 - set a better password in [users] above. +## 2 - comment out the "/$/** = localhost" line and use: +## "/$/** = authcBasic,user[admin]" + +## or to allow any access. +##/$/** = anon + +# Everything else +/**=anon diff --git a/triplestores/fuseki-tomcat/templates/config-mem b/triplestores/fuseki-tomcat/templates/config-mem new file mode 100644 index 0000000000..a8b4cd65f7 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-mem @@ -0,0 +1,27 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . + +@prefix rdfs: . +@prefix tdb: . +@prefix ja: . + +## --------------------------------------------------------------- +## Updatable in-memory dataset. + +<#service1> rdf:type fuseki:Service ; + # URI of the dataset -- http://host:port/{NAME} + fuseki:name "{NAME}" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceQuery "query" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#dataset> ; + . + +# Transactional, in-memory dataset. Initially empty. +<#dataset> rdf:type ja:DatasetTxnMem . diff --git a/triplestores/fuseki-tomcat/templates/config-service b/triplestores/fuseki-tomcat/templates/config-service new file mode 100644 index 0000000000..a019496a59 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-service @@ -0,0 +1,23 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . + +@prefix rdfs: . +@prefix tdb: . +@prefix ja: . + +## --------------------------------------------------------------- +## Read-only in-memory dataset - used as a default, dummy datasets + +<#service1> rdf:type fuseki:Service ; + fuseki:name "" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceQuery "query" ; + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#dataset> ; + . + +## In-memory, empty. +<#dataset> rdf:type ja:RDFDataset . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb b/triplestores/fuseki-tomcat/templates/config-tdb new file mode 100644 index 0000000000..a16575bb8e --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb @@ -0,0 +1,31 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . +@prefix rdfs: . +@prefix tdb: . +@prefix ja: . + +## --------------------------------------------------------------- +## Updatable TDB dataset with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ; + tdb:location "{FUSEKI_BASE}/databases/{NAME}" ; + ##ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "3000" ] ; + ##tdb:unionDefaultGraph true ; + . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb-dir b/triplestores/fuseki-tomcat/templates/config-tdb-dir new file mode 100644 index 0000000000..4362f87691 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb-dir @@ -0,0 +1,30 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . +@prefix rdfs: . +@prefix tdb: . +@prefix ja: . + +## --------------------------------------------------------------- +## Updatable TDB dataset with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ; + tdb:location "{DIR}" ; + ##tdb:unionDefaultGraph true ; + . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb-mem b/triplestores/fuseki-tomcat/templates/config-tdb-mem new file mode 100644 index 0000000000..449de5e447 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb-mem @@ -0,0 +1,30 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +@prefix : <#> . +@prefix fuseki: . +@prefix rdf: . +@prefix rdfs: . +@prefix tdb: . +@prefix ja: . + +## --------------------------------------------------------------- +## Updatable TDB dataset im-memory with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ; + tdb:location "--mem--" ; + ## tdb:unionDefaultGraph true ; + . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb2 b/triplestores/fuseki-tomcat/templates/config-tdb2 new file mode 100644 index 0000000000..835d3f82b9 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb2 @@ -0,0 +1,31 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX fuseki: +PREFIX rdf: +PREFIX rdfs: +PREFIX tdb2: +PREFIX ja: + +## --------------------------------------------------------------- +## Updatable TDB dataset with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB2 {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb2:DatasetTDB2 ; + tdb2:location "{FUSEKI_BASE}/databases/{NAME}" ; + ##ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "3000" ] ; + ##tdb2:unionDefaultGraph true ; + . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb2-dir b/triplestores/fuseki-tomcat/templates/config-tdb2-dir new file mode 100644 index 0000000000..4a89278599 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb2-dir @@ -0,0 +1,30 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX fuseki: +PREFIX rdf: +PREFIX rdfs: +PREFIX tdb2: +PREFIX ja: + +## --------------------------------------------------------------- +## Updatable TDB2 dataset with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB2 {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb2:DatasetTDB2 ; + tdb2:location "{DIR}" ; + ##tdb2:unionDefaultGraph true ; + . diff --git a/triplestores/fuseki-tomcat/templates/config-tdb2-mem b/triplestores/fuseki-tomcat/templates/config-tdb2-mem new file mode 100644 index 0000000000..f53be7f781 --- /dev/null +++ b/triplestores/fuseki-tomcat/templates/config-tdb2-mem @@ -0,0 +1,30 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +PREFIX : <#> +PREFIX fuseki: +PREFIX rdf: +PREFIX rdfs: +PREFIX tdb2: +PREFIX ja: + +## --------------------------------------------------------------- +## Updatable TDB2 dataset im-memory with all services enabled. + +<#service_tdb_all> rdf:type fuseki:Service ; + rdfs:label "TDB2 {NAME}" ; + fuseki:name "{NAME}" ; + fuseki:serviceQuery "query" ; + fuseki:serviceQuery "sparql" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:serviceReadWriteGraphStore "data" ; + # A separate read-only graph store endpoint: + fuseki:serviceReadGraphStore "get" ; + fuseki:dataset <#tdb_dataset_readwrite> ; + + . + +<#tdb_dataset_readwrite> rdf:type tdb2:DatasetTDB2 ; + tdb2:location "--mem--" ; + ## tdb2:unionDefaultGraph true ; + . diff --git a/upgrade/fuseki/README.md b/upgrade/fuseki/README.md new file mode 100644 index 0000000000..5da3a07c6c --- /dev/null +++ b/upgrade/fuseki/README.md @@ -0,0 +1,69 @@ +# Scripts for Upgrading Fuseki Repositories + +This directory contains shell scripts for updating a Fuseki repository +to work with a new version of Knora. + +You will need to have [curl](https://curl.haxx.se) installed. + +## Automatic Upgrade + +This dumps your repository to a file, determines which transformations are needed, +transforms the file, then loads the transformed file back into the repository. +Make sure you have backed up the repository before you do this. + +``` +./auto-upgrade.sh -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] +``` + +- `-r`: the name of the repository. +- `-u`: the Fuseki username. +- `-p`: the Fuseki password. If not supplied, you will be prompted for it. +- `-h`: the Fuseki host and port. Defaults to `localhost:8080`. + +If the environment variable `KNORA_UPGRADE_DOCKER` is set, this script runs the +upgrade program using the executable `/upgrade/bin/upgrade`. Otherwise, it runs +the program using SBT. + +## Scripts for Manual Upgrades + +These scripts are useful if you want more control over the upgrade process. + +### Dumping a Fuseki Repository to a TriG File + +``` +./dump-repository.sh -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] FILE +``` + +- `-r`: the name of the repository. +- `-u`: the Fuseki username. +- `-p`: the Fuseki password. If not supplied, you will be prompted for it. +- `-h`: the Fuseki host and port. Defaults to `localhost:8080`. +- `FILE`: the file path of the TriG file to be written. + +### Emptying a Fuseki Repository + +This empties a Fuseki repository by running a SPARQL `DROP ALL` command. Make sure you +have backed up the repository before you do this. + +``` +./empty-repository.sh -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] +``` + +- `-r`: the name of the repository. +- `-u`: the Fuseki username. +- `-p`: the Fuseki password. If not supplied, you will be prompted for it. +- `-h`: the Fuseki host and port. Defaults to `localhost:8080`. + +### Uploading a TriG File to a Fuseki Repository + +This uploads the TriG file to Fuseki over HTTP. + +``` +./upload-repository.sh -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] FILE +``` + +- `-r`: the name of the repository. +- `-u`: the Fuseki username. +- `-p`: the Fuseki password. If not supplied, you will be prompted for it. +- `-h`: the Fuseki host and port. Defaults to `localhost:8080`. +- `FILE`: the file path of the TriG file to be uploaded. diff --git a/upgrade/fuseki/auto-upgrade.sh b/upgrade/fuseki/auto-upgrade.sh new file mode 100755 index 0000000000..6ceac5b743 --- /dev/null +++ b/upgrade/fuseki/auto-upgrade.sh @@ -0,0 +1,94 @@ +#!/usr/bin/env bash + +#set -x +set -e + +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -r|--repository) + REPOSITORY="$2" + shift # past argument + shift # past value + ;; + -u|--username) + USERNAME="$2" + shift # past argument + shift # past value + ;; + -p|--password) + PASSWORD="$2" + shift # past argument + shift # past value + ;; + -h|--host) + HOST="$2" + shift # past argument + shift # past value + ;; + -t|--tempdir) + TEMP_DIR="$2" + shift # past argument + shift # past value + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +if [[ -z "${REPOSITORY}" || -z "${USERNAME}" ]]; then + echo "Usage: $(basename "$0") -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] [-t|--tempdir temporary directory]" + exit 1 +fi + +if [[ -z "${PASSWORD}" ]]; then + echo -n "Password: " + IFS="" read -rs PASSWORD + echo +fi + +if [[ -z "${HOST}" ]]; then + HOST="localhost:8080" +fi + +if [[ -z "${TEMP_DIR}" ]]; then + TEMP_DIR=$(mktemp -d) +else + mkdir -p "${TEMP_DIR}" +fi + +INPUT_FILE=${TEMP_DIR}/dump.trig +OUTPUT_FILE=${TEMP_DIR}/transformed.trig + +# Download the repository. +echo "Downloading repository..." +curl -X GET -H "Accept: application/trig" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" > "${INPUT_FILE}" + +# Transform the downloaded file. +echo "Checking for needed transformations..." + +if [[ -z "${KNORA_UPGRADE_DOCKER}" ]]; then + # Run the upgrade program using SBT. + (cd ../.. && sbt "upgrade/run ${INPUT_FILE} ${OUTPUT_FILE}") +else + # Run the upgrade program using Docker. + /upgrade/bin/upgrade "${INPUT_FILE}" "${OUTPUT_FILE}" +fi + +# If a transformed file was produced, empty the repository and upload the transformed file. +if [[ -f "${OUTPUT_FILE}" ]]; then + echo "Emptying repository..." + curl -X POST -H "Content-Type: application/sparql-update" -d "DROP ALL" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" + + echo "Uploading transformed data to repository..." + curl -X POST -H "Content-Type: application/trig" --data-binary "@${OUTPUT_FILE}" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" | tee /dev/null +fi + +rm -r "${TEMP_DIR}" +echo "Done." diff --git a/upgrade/fuseki/dump-repository.sh b/upgrade/fuseki/dump-repository.sh new file mode 100755 index 0000000000..08a6d73440 --- /dev/null +++ b/upgrade/fuseki/dump-repository.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +#set -x + +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -r|--repository) + REPOSITORY="$2" + shift # past argument + shift # past value + ;; + -u|--username) + USERNAME="$2" + shift # past argument + shift # past value + ;; + -p|--password) + PASSWORD="$2" + shift # past argument + shift # past value + ;; + -h|--host) + HOST="$2" + shift # past argument + shift # past value + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +FILE="$1" + +if [[ -z "${REPOSITORY}" || -z "${USERNAME}" || -z "${FILE}" ]]; then + echo "Usage: $(basename "$0") -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] FILE" + exit 1 +fi + +if [[ -z "${PASSWORD}" ]]; then + echo -n "Password: " + IFS="" read -rs PASSWORD + echo +fi + +if [[ -z "${HOST}" ]]; then + HOST="localhost:8080" +fi + +curl -sS -X GET -H "Accept: application/trig" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" > "${FILE}" diff --git a/upgrade/fuseki/empty-repository.sh b/upgrade/fuseki/empty-repository.sh new file mode 100755 index 0000000000..237f2a34c6 --- /dev/null +++ b/upgrade/fuseki/empty-repository.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +#set -x + +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -r|--repository) + REPOSITORY="$2" + shift # past argument + shift # past value + ;; + -u|--username) + USERNAME="$2" + shift # past argument + shift # past value + ;; + -p|--password) + PASSWORD="$2" + shift # past argument + shift # past value + ;; + -h|--host) + HOST="$2" + shift # past argument + shift # past value + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +if [[ -z "${REPOSITORY}" || -z "${USERNAME}" ]]; then + echo "Usage: $(basename "$0") -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST]" + exit 1 +fi + +if [[ -z "${PASSWORD}" ]]; then + echo -n "Password: " + IFS="" read -rs PASSWORD + echo +fi + +if [[ -z "${HOST}" ]]; then + HOST="localhost:8080" +fi + +curl -sS -X POST -H "Content-Type: application/sparql-update" -d "DROP ALL" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" diff --git a/upgrade/fuseki/upload-repository.sh b/upgrade/fuseki/upload-repository.sh new file mode 100755 index 0000000000..18d3fed9c4 --- /dev/null +++ b/upgrade/fuseki/upload-repository.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +#set -x + +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -r|--repository) + REPOSITORY="$2" + shift # past argument + shift # past value + ;; + -u|--username) + USERNAME="$2" + shift # past argument + shift # past value + ;; + -p|--password) + PASSWORD="$2" + shift # past argument + shift # past value + ;; + -h|--host) + HOST="$2" + shift # past argument + shift # past value + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +FILE="$1" + +if [[ -z "${REPOSITORY}" || -z "${USERNAME}" || -z "${FILE}" ]]; then + echo "Usage: $(basename "$0") -r|--repository REPOSITORY -u|--username USERNAME [-p|--password PASSWORD] [-h|--host HOST] FILE" + exit 1 +fi + +if [[ -z "${PASSWORD}" ]]; then + echo -n "Password: " + IFS="" read -rs PASSWORD + echo +fi + +if [[ -z "${HOST}" ]]; then + HOST="localhost:8080" +fi + +curl -sS -X POST -H "Content-Type: application/trig" --data-binary "@${FILE}" -u "${USERNAME}:${PASSWORD}" "http://${HOST}/fuseki/${REPOSITORY}" | tee /dev/null diff --git a/webapi/scripts/fuseki-load-test-data.sh b/webapi/scripts/fuseki-load-test-data.sh index 28f997a328..825da8fccb 100755 --- a/webapi/scripts/fuseki-load-test-data.sh +++ b/webapi/scripts/fuseki-load-test-data.sh @@ -1,22 +1,29 @@ #!/usr/bin/env bash -curl -X POST -H "Content-type:application/x-www-form-urlencoded" --data-urlencode update='DROP ALL' http://localhost:3030/knora-test/update > /dev/null -curl -F filedata=@../../knora-ontologies/knora-base.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/knora-base > /dev/null -curl -F filedata=@../../knora-ontologies/knora-admin.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/knora-base > /dev/null -curl -F filedata=@../../knora-ontologies/standoff-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/standoff > /dev/null -curl -F filedata=@../../knora-ontologies/standoff-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/standoff > /dev/null -curl -F filedata=@../../knora-ontologies/salsah-gui.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/salsah-gui > /dev/null -curl -F filedata=@../_test_data/all_data/admin-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/admin > /dev/null -curl -F filedata=@../_test_data/all_data/permissions-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/permissions > /dev/null -curl -F filedata=@../_test_data/ontologies/incunabula-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0803/incunabula > /dev/null -curl -F filedata=@../_test_data/all_data/incunabula-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/incunabula > /dev/null -curl -F filedata=@../_test_data/ontologies/images-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/00FF/images > /dev/null -curl -F filedata=@../_test_data/demo_data/images-demo-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/00FF/images > /dev/null -curl -F filedata=@../_test_data/ontologies/anything-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0001/anything > /dev/null -curl -F filedata=@../_test_data/all_data/anything-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/anything > /dev/null -curl -F filedata=@../_test_data/ontologies/beol-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0801/beol > /dev/null -curl -F filedata=@../_test_data/ontologies/biblio-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0801/biblio > /dev/null -curl -F filedata=@../_test_data/all_data/biblio-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/biblio > /dev/null -curl -F filedata=@../_test_data/all_data/beol-data.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/data/beol > /dev/null -curl -F filedata=@../_test_data/ontologies/newton-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0801/newton > /dev/null -curl -F filedata=@../_test_data/ontologies/leibniz-onto.ttl http://localhost:3030/knora-test/data?graph=http://www.knora.org/ontology/0801/leibniz > /dev/null \ No newline at end of file +curl -X POST -H "Content-type:application/x-www-form-urlencoded"?update='DROP ALL' http://localhost:8080/fuseki/knora-test/update > /dev/null +curl -F filedata=@../../knora-ontologies/knora-admin.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/knora-admin > /dev/null +curl -F filedata=@../../knora-ontologies/knora-base.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/knora-base > /dev/null +curl -F filedata=@../../knora-ontologies/standoff-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/standoff > /dev/null +curl -F filedata=@../../knora-ontologies/standoff-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/standoff > /dev/null +curl -F filedata=@../../knora-ontologies/salsah-gui.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/salsah-gui > /dev/null +curl -F filedata=@../_test_data/all_data/admin-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/admin > /dev/null +curl -F filedata=@../_test_data/all_data/permissions-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/permissions > /dev/null +curl -F filedata=@../_test_data/all_data/system-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/0000/SystemProject > /dev/null +curl -F filedata=@../_test_data/ontologies/incunabula-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0803/incunabula > /dev/null +curl -F filedata=@../_test_data/all_data/incunabula-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/0803/incunabula > /dev/null +curl -F filedata=@../_test_data/ontologies/dokubib-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0804/dokubib > /dev/null +curl -F filedata=@../_test_data/ontologies/images-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/00FF/images > /dev/null +curl -F filedata=@../_test_data/demo_data/images-demo-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/00FF/images > /dev/null +curl -F filedata=@../_test_data/ontologies/anything-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0001/anything > /dev/null +curl -F filedata=@../_test_data/all_data/anything-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/0001/anything > /dev/null +curl -F filedata=@../_test_data/ontologies/something-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0001/something > /dev/null +curl -F filedata=@../_test_data/ontologies/beol-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0801/beol > /dev/null +curl -F filedata=@../_test_data/ontologies/biblio-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0801/biblio > /dev/null +curl -F filedata=@../_test_data/ontologies/newton-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0801/newton > /dev/null +curl -F filedata=@../_test_data/ontologies/leibniz-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/0801/leibniz > /dev/null +curl -F filedata=@../_test_data/all_data/biblio-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/0801/biblio > /dev/null +curl -F filedata=@../_test_data/all_data/beol-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/0801/beol > /dev/null +curl -F filedata=@../_test_data/ontologies/webern-onto.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/ontology/08AE/webern > /dev/null +curl -F filedata=@../_test_data/all_data/webern-data.ttl http://localhost:8080/fuseki/knora-test/data?graph=http://www.knora.org/data/08AE/webern > /dev/null +curl -F filedata=@../_test_data/ontologies/newton-onto.ttl http://localhost:8080/knora-test/data?graph=http://www.knora.org/ontology/0801/newton > /dev/null +curl -F filedata=@../_test_data/ontologies/leibniz-onto.ttl http://localhost:8080/knora-test/data?graph=http://www.knora.org/ontology/0801/leibniz > /dev/null diff --git a/webapi/src/it/resources/fuseki.conf b/webapi/src/it/resources/fuseki.conf index 5714cde906..2e9d185361 100644 --- a/webapi/src/it/resources/fuseki.conf +++ b/webapi/src/it/resources/fuseki.conf @@ -5,10 +5,10 @@ app { dbtype = "fuseki" fuseki { - port = 3030 + port = 8080 repository-name = "knora-test-unit" - tomcat = false - tomcat-context = "" + tomcat = true + tomcat-context = "fuseki" } reload-on-start = false diff --git a/webapi/src/main/resources/application.conf b/webapi/src/main/resources/application.conf index 21e910be88..3f5ba88632 100644 --- a/webapi/src/main/resources/application.conf +++ b/webapi/src/main/resources/application.conf @@ -449,12 +449,12 @@ app { } fuseki { - port = 3030 + port = 8080 port = ${?KNORA_WEBAPI_TRIPLESTORE_FUSEKI_PORT} repository-name = "knora-test" repository-name = ${?KNORA_WEBAPI_TRIPLESTORE_FUSEKI_REPOSITORY_NAME} - tomcat = false - tomcat-context = "" + tomcat = true + tomcat-context = "fuseki" } embedded-jena-tdb { diff --git a/webapi/src/main/scala/org/knora/webapi/OntologyConstants.scala b/webapi/src/main/scala/org/knora/webapi/OntologyConstants.scala index 53e63a600a..882c50fd43 100644 --- a/webapi/src/main/scala/org/knora/webapi/OntologyConstants.scala +++ b/webapi/src/main/scala/org/knora/webapi/OntologyConstants.scala @@ -326,7 +326,10 @@ object OntologyConstants { val IsDeleted: IRI = KnoraBasePrefixExpansion + "isDeleted" val IsMainResource: IRI = KnoraBasePrefixExpansion + "isMainResource" - val MatchesTextIndex: IRI = KnoraBasePrefixExpansion + "matchesTextIndex" // virtual property to be replaced by a triplestore-specific one + + // A deprecated virtual property, used by the deprecated Gravsearch functions knora-api:match and + // knora-api:matchInStandoff. Replaced during processing by a triplestore-specific property. + val MatchesTextIndex: IRI = KnoraBasePrefixExpansion + "matchesTextIndex" /* Resource creator */ val AttachedToUser: IRI = KnoraBasePrefixExpansion + "attachedToUser" @@ -916,7 +919,9 @@ object OntologyConstants { val IsMainResource: IRI = KnoraApiV2PrefixExpansion + "isMainResource" val ToSimpleDateFunction: IRI = KnoraApiV2PrefixExpansion + "toSimpleDate" val MatchFunction: IRI = KnoraApiV2PrefixExpansion + "match" + val MatchTextFunction: IRI = KnoraApiV2PrefixExpansion + "matchText" val MatchInStandoffFunction: IRI = KnoraApiV2PrefixExpansion + "matchInStandoff" + val MatchTextInStandoffFunction: IRI = KnoraApiV2PrefixExpansion + "matchTextInStandoff" val StandoffLinkFunction: IRI = KnoraApiV2PrefixExpansion + "standoffLink" } @@ -954,6 +959,7 @@ object OntologyConstants { val IsMainResource: IRI = KnoraApiV2PrefixExpansion + "isMainResource" val MatchesTextIndex: IRI = KnoraApiV2PrefixExpansion + "matchesTextIndex" // virtual property to be replaced by a triplestore-specific one val MatchFunction: IRI = KnoraApiV2PrefixExpansion + "match" + val MatchTextFunction: IRI = KnoraApiV2PrefixExpansion + "matchText" val ResourceProperty: IRI = KnoraApiV2PrefixExpansion + "resourceProperty" diff --git a/webapi/src/main/scala/org/knora/webapi/Settings.scala b/webapi/src/main/scala/org/knora/webapi/Settings.scala index 3b2be6b05f..878caa181f 100644 --- a/webapi/src/main/scala/org/knora/webapi/Settings.scala +++ b/webapi/src/main/scala/org/knora/webapi/Settings.scala @@ -180,7 +180,7 @@ class SettingsImpl(config: Config) extends Extension { //used in the store package val tripleStoreConfig: Config = config.getConfig("app.triplestore") - val (fusekiTomcat, fusekiTomcatContext) = if (triplestoreType == TriplestoreTypes.HttpFuseki) { + val (fusekiTomcat: Boolean, fusekiTomcatContext: String) = if (triplestoreType == TriplestoreTypes.HttpFuseki) { (config.getBoolean("app.triplestore.fuseki.tomcat"), config.getString("app.triplestore.fuseki.tomcat-context")) } else { (false, "") diff --git a/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/FusekiAPI.scala b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/FusekiAPI.scala new file mode 100644 index 0000000000..e441967683 --- /dev/null +++ b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/FusekiAPI.scala @@ -0,0 +1,69 @@ +/* + * Copyright © 2015-2019 the contributors (see Contributors.md). + * + * This file is part of Knora. + * + * Knora is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Knora is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with Knora. If not, see . + */ + +package org.knora.webapi.messages.store.triplestoremessages + +import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport +import spray.json.{DefaultJsonProtocol, JsonFormat, RootJsonFormat} + +/** + * Represents a response from Fuseki about the state of the Fuseki server. + * + * @param version the server version. + * @param built the date when the server was built. + * @param startDateTime the date when the server was started. + * @param uptime the server's uptime. + * @param datasets the datasets available on the server. + */ +case class FusekiServer(version: String, + built: String, + startDateTime: String, + uptime: Int, + datasets: Seq[FusekiDataset]) + +/** + * Represents a Fuseki dataset. + * + * @param dsName the name of the dataset. + * @param dsState the state of the dataset. + * @param dsServices the services available for the dataset. + */ +case class FusekiDataset(dsName: String, + dsState: Boolean, + dsServices: Seq[FusekiService]) + +/** + * Represets a service available for a Fuseki dataset. + * + * @param srvType the service type. + * @param srvDescription a description of the service. + * @param srvEndpoints the endpoints provided by the service. + */ +case class FusekiService(srvType: String, + srvDescription: String, + srvEndpoints: Seq[String]) + +/** + * Parses server status responses from Fuseki. + */ +object FusekiJsonProtocol extends SprayJsonSupport with DefaultJsonProtocol { + implicit val fusekiServiceFormat: JsonFormat[FusekiService] = jsonFormat(FusekiService, "srv.type", "srv.description", "srv.endpoints") + implicit val fusekiDatasetFormat: JsonFormat[FusekiDataset] = jsonFormat(FusekiDataset, "ds.name", "ds.state", "ds.services") + implicit val fusekiServerFormat: RootJsonFormat[FusekiServer] = jsonFormat5(FusekiServer) +} diff --git a/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/GraphDBAPI.scala b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/GraphDBAPI.scala index 7ae7f23664..6ceac58342 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/GraphDBAPI.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/GraphDBAPI.scala @@ -1,3 +1,22 @@ +/* + * Copyright © 2015-2019 the contributors (see Contributors.md). + * + * This file is part of Knora. + * + * Knora is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Knora is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with Knora. If not, see . + */ + package org.knora.webapi.messages.store.triplestoremessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala index ec442592b8..9bd11aa43e 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala @@ -19,7 +19,7 @@ package org.knora.webapi.responders.admin -import java.io.{BufferedReader, BufferedWriter, File, FileReader, FileWriter} +import java.io._ import java.nio.file.Files import java.util.UUID diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala index e8b3042cf3..5561037383 100755 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala @@ -1103,7 +1103,6 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo */ private def getResourceSearchResponseV1(searchString: String, resourceTypeIri: Option[IRI], numberOfProps: Int, limitOfResults: Int, userProfile: UserADM): Future[ResourceSearchResponseV1] = { val userProfileV1 = userProfile.asUserProfileV1 - val searchPhrase = MatchStringWhileTyping(searchString) for { @@ -1122,7 +1121,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo searchResponse <- (storeManager ? SparqlSelectRequest(searchResourcesSparql)).mapTo[SparqlSelectResponse] resultFutures: Seq[Future[ResourceSearchResultRowV1]] = searchResponse.results.bindings.map { - case (row: VariableResultsRow) => + row: VariableResultsRow => val resourceIri = row.rowMap("resourceIri") val resourceClass = row.rowMap("resourceClass") val firstProp = row.rowMap("firstProp") @@ -1148,7 +1147,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo val maybeValues: Option[String] = row.rowMap.get("values") maybeValues match { - case Some(valuesReturned) => { + case Some(valuesReturned) => val valueStrings = valuesReturned.split(StringFormatter.INFORMATION_SEPARATOR_ONE) val properties = row.rowMap("properties").split(StringFormatter.INFORMATION_SEPARATOR_ONE) val valueOrders = row.rowMap("valueOrders").split(StringFormatter.INFORMATION_SEPARATOR_ONE).map(_.toInt) @@ -1168,7 +1167,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo val propValues = values.foldLeft(Vector(firstProp)) { case (acc, prop: String) => if (prop == firstProp || prop == acc.last) { - // in the SPAQRL results, all values are returned four times because of inclusion of permissions. If already existent, ignore prop. + // in the SPARQL results, all values are returned four times because of inclusion of permissions. If already existent, ignore prop. acc } else { acc :+ prop // append prop to List @@ -1181,15 +1180,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo rights = permissionCode ) - } - case None => { + + case None => log.debug("more values were asked (numberOfProps > 1), but there were none to be found") ResourceSearchResultRowV1( id = row.rowMap("resourceIri"), value = Vector(firstProp), rights = permissionCode ) - } } } else diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala index 02ee7415f8..c7cd569643 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala @@ -509,9 +509,13 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt ignoreRdfSubjectAndObject = true ) + // Get the IRI of the named graph from which the resource will be erased. + dataNamedGraph: IRI = stringFormatter.projectDataNamedGraphV2(resource.projectADM) + // Generate SPARQL for erasing the resource. sparqlUpdate = queries.sparql.v2.txt.eraseResource( triplestore = settings.triplestoreType, + dataNamedGraph = dataNamedGraph, resourceIri = eraseResourceV2.resourceIri ).toString() diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala index 67478326cb..c12c90e775 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala @@ -29,12 +29,12 @@ import org.knora.webapi.messages.v2.responder.resourcemessages._ import org.knora.webapi.messages.v2.responder.searchmessages._ import org.knora.webapi.responders.Responder.handleUnexpectedMessage import org.knora.webapi.responders.ResponderData -import org.knora.webapi.util.ApacheLuceneSupport._ import org.knora.webapi.responders.v2.search._ import org.knora.webapi.responders.v2.search.gravsearch._ import org.knora.webapi.responders.v2.search.gravsearch.prequery._ import org.knora.webapi.responders.v2.search.gravsearch.types._ -import org.knora.webapi.util.ConstructResponseUtilV2.{MappingAndXSLTransformation, RdfResources, ResourceWithValueRdfData} +import org.knora.webapi.util.ApacheLuceneSupport._ +import org.knora.webapi.util.ConstructResponseUtilV2.{MappingAndXSLTransformation, RdfResources} import org.knora.webapi.util.IriConversions._ import org.knora.webapi.util._ import org.knora.webapi.util.standoff.StandoffTagUtilV2 @@ -42,8 +42,8 @@ import org.knora.webapi.util.standoff.StandoffTagUtilV2 import scala.concurrent.Future /** - * Constants used in [[SearchResponderV2]]. - */ + * Constants used in [[SearchResponderV2]]. + */ object SearchResponderV2Constants { val forbiddenResourceIri: IRI = s"http://${StringFormatter.IriDomain}/0000/forbiddenResource" @@ -55,8 +55,8 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand private val gravsearchTypeInspectionRunner = new GravsearchTypeInspectionRunner(responderData) /** - * Receives a message of type [[SearchResponderRequestV2]], and returns an appropriate response message. - */ + * Receives a message of type [[SearchResponderRequestV2]], and returns an appropriate response message. + */ def receive(msg: SearchResponderRequestV2) = msg match { case FullTextSearchCountRequestV2(searchValue, limitToProject, limitToResourceClass, limitToStandoffClass, requestingUser) => fulltextSearchCountV2(searchValue, limitToProject, limitToResourceClass, limitToStandoffClass, requestingUser) case FulltextSearchRequestV2(searchValue, offset, limitToProject, limitToResourceClass, limitToStandoffClass, targetSchema, schemaOptions, requestingUser) => fulltextSearchV2(searchValue, offset, limitToProject, limitToResourceClass, limitToStandoffClass, targetSchema, schemaOptions, requestingUser) @@ -69,11 +69,11 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } /** - * Gets the forbidden resource. - * - * @param requestingUser the user making the request. - * @return the forbidden resource. - */ + * Gets the forbidden resource. + * + * @param requestingUser the user making the request. + * @return the forbidden resource. + */ private def getForbiddenResource(requestingUser: UserADM): Future[Some[ReadResourceV2]] = { import SearchResponderV2Constants.forbiddenResourceIri @@ -87,17 +87,17 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } /** - * Performs a fulltext search and returns the resources count (how many resources match the search criteria), - * without taking into consideration permission checking. - * - * This method does not return the resources themselves. - * - * @param searchValue the values to search for. - * @param limitToProject limit search to given project. - * @param limitToResourceClass limit search to given resource class. - * @param requestingUser the the client making the request. - * @return a [[ResourceCountV2]] representing the number of resources that have been found. - */ + * Performs a fulltext search and returns the resources count (how many resources match the search criteria), + * without taking into consideration permission checking. + * + * This method does not return the resources themselves. + * + * @param searchValue the values to search for. + * @param limitToProject limit search to given project. + * @param limitToResourceClass limit search to given resource class. + * @param requestingUser the the client making the request. + * @return a [[ResourceCountV2]] representing the number of resources that have been found. + */ private def fulltextSearchCountV2(searchValue: String, limitToProject: Option[IRI], limitToResourceClass: Option[SmartIri], limitToStandoffClass: Option[SmartIri], requestingUser: UserADM): Future[ResourceCountV2] = { val searchTerms: LuceneQueryString = LuceneQueryString(searchValue) @@ -130,17 +130,17 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } /** - * Performs a fulltext search (simple search). - * - * @param searchValue the values to search for. - * @param offset the offset to be used for paging. - * @param limitToProject limit search to given project. - * @param limitToResourceClass limit search to given resource class. - * @param targetSchema the target API schema. - * @param schemaOptions the schema options submitted with the request. - * @param requestingUser the the client making the request. - * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. - */ + * Performs a fulltext search (simple search). + * + * @param searchValue the values to search for. + * @param offset the offset to be used for paging. + * @param limitToProject limit search to given project. + * @param limitToResourceClass limit search to given resource class. + * @param targetSchema the target API schema. + * @param schemaOptions the schema options submitted with the request. + * @param requestingUser the the client making the request. + * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. + */ private def fulltextSearchV2(searchValue: String, offset: Int, limitToProject: Option[IRI], @@ -170,7 +170,11 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand // _ = println(searchSparql) - prequeryResponse: SparqlSelectResponse <- (storeManager ? SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResponse] + prequeryResponseNotMerged: SparqlSelectResponse <- (storeManager ? SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResponse] + + mainResourceVar = QueryVariable("resource") + + prequeryResponse = mergePrequeryResults(prequeryResponseNotMerged, mainResourceVar) // _ = println(prequeryResponse) @@ -193,7 +197,8 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand case Some(valObjIris) => - acc + (mainResIri -> valObjIris.split(groupConcatSeparator).toSet) + // Filter out empty IRIs (which we could get if a variable used in GROUP_CONCAT is unbound) + acc + (mainResIri -> valObjIris.split(groupConcatSeparator).toSet.filterNot(_.isEmpty)) case None => acc } @@ -322,12 +327,12 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand /** - * Performs a count query for a Gravsearch query provided by the user. - * - * @param inputQuery a Gravsearch query provided by the client. - * @param requestingUser the the client making the request. - * @return a [[ResourceCountV2]] representing the number of resources that have been found. - */ + * Performs a count query for a Gravsearch query provided by the user. + * + * @param inputQuery a Gravsearch query provided by the client. + * @param requestingUser the the client making the request. + * @return a [[ResourceCountV2]] representing the number of resources that have been found. + */ private def gravsearchCountV2(inputQuery: ConstructQuery, apiSchema: ApiV2Schema = ApiV2Simple, requestingUser: UserADM): Future[ResourceCountV2] = { // make sure that OFFSET is 0 @@ -394,14 +399,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } /** - * Performs a search using a Gravsearch query provided by the client. - * - * @param inputQuery a Gravsearch query provided by the client. - * @param targetSchema the target API schema. - * @param schemaOptions the schema options submitted with the request. - * @param requestingUser the the client making the request. - * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. - */ + * Performs a search using a Gravsearch query provided by the client. + * + * @param inputQuery a Gravsearch query provided by the client. + * @param targetSchema the target API schema. + * @param schemaOptions the schema options submitted with the request. + * @param requestingUser the the client making the request. + * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. + */ private def gravsearchV2(inputQuery: ConstructQuery, targetSchema: ApiV2Schema, schemaOptions: Set[SchemaOption], @@ -457,11 +462,13 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand // _ = println(triplestoreSpecificPrequery.toSparql) - prequeryResponse: SparqlSelectResponse <- (storeManager ? SparqlSelectRequest(triplestoreSpecificPrequery.toSparql)).mapTo[SparqlSelectResponse] + prequeryResponseNotMerged: SparqlSelectResponse <- (storeManager ? SparqlSelectRequest(triplestoreSpecificPrequery.toSparql)).mapTo[SparqlSelectResponse] // variable representing the main resources mainResourceVar: QueryVariable = nonTriplestoreSpecificConstructToSelectTransformer.getMainResourceVariable + prequeryResponse = mergePrequeryResults(prequeryResponseNotMerged = prequeryResponseNotMerged, mainResourceVar = mainResourceVar) + // a sequence of resource IRIs that match the search criteria // attention: no permission checking has been done so far mainResourceIris: Seq[IRI] = prequeryResponse.results.bindings.map { @@ -599,11 +606,11 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand /** - * Gets resources from a project. - * - * @param resourcesInProjectGetRequestV2 the request message. - * @return a [[ReadResourcesSequenceV2]]. - */ + * Gets resources from a project. + * + * @param resourcesInProjectGetRequestV2 the request message. + * @return a [[ReadResourcesSequenceV2]]. + */ private def searchResourcesByProjectAndClassV2(resourcesInProjectGetRequestV2: SearchResourcesByProjectAndClassRequestV2): Future[ReadResourcesSequenceV2] = { val internalClassIri = resourcesInProjectGetRequestV2.resourceClass.toOntologySchema(InternalSchema) val maybeInternalOrderByPropertyIri: Option[SmartIri] = resourcesInProjectGetRequestV2.orderByProperty.map(_.toOntologySchema(InternalSchema)) @@ -746,14 +753,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } /** - * Performs a count query for a search for resources by their rdfs:label. - * - * @param searchValue the values to search for. - * @param limitToProject limit search to given project. - * @param limitToResourceClass limit search to given resource class. - * @param requestingUser the the client making the request. - * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. - */ + * Performs a count query for a search for resources by their rdfs:label. + * + * @param searchValue the values to search for. + * @param limitToProject limit search to given project. + * @param limitToResourceClass limit search to given resource class. + * @param requestingUser the the client making the request. + * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. + */ private def searchResourcesByLabelCountV2(searchValue: String, limitToProject: Option[IRI], limitToResourceClass: Option[SmartIri], requestingUser: UserADM) = { val searchPhrase: MatchStringWhileTyping = MatchStringWhileTyping(searchValue) @@ -788,18 +795,17 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } - /** - * Performs a search for resources by their rdfs:label. - * - * @param searchValue the values to search for. - * @param offset the offset to be used for paging. - * @param limitToProject limit search to given project. - * @param limitToResourceClass limit search to given resource class. - * @param targetSchema the schema of the response. - * @param requestingUser the the client making the request. - * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. - */ + * Performs a search for resources by their rdfs:label. + * + * @param searchValue the values to search for. + * @param offset the offset to be used for paging. + * @param limitToProject limit search to given project. + * @param limitToResourceClass limit search to given resource class. + * @param targetSchema the schema of the response. + * @param requestingUser the the client making the request. + * @return a [[ReadResourcesSequenceV2]] representing the resources that have been found. + */ private def searchResourcesByLabelV2(searchValue: String, offset: Int, limitToProject: Option[IRI], @@ -879,4 +885,54 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand } + /** + * Given a prequery result, merges rows with the same main resource IRI. This could happen if there are unbound + * variables in GROUP_CONCAT expressions. + * + * @param prequeryResponseNotMerged the prequery response before merging. + * @param mainResourceVar the name of the column representing the main resource. + * @return the merged results. + */ + private def mergePrequeryResults(prequeryResponseNotMerged: SparqlSelectResponse, mainResourceVar: QueryVariable): SparqlSelectResponse = { + // a sequence of resource IRIs that match the search criteria + // attention: no permission checking has been done so far + val mainResourceIris: Seq[IRI] = prequeryResponseNotMerged.results.bindings.map { + resultRow: VariableResultsRow => + resultRow.rowMap(mainResourceVar.variableName) + }.distinct + + val prequeryRowsMergedMap: Map[IRI, VariableResultsRow] = prequeryResponseNotMerged.results.bindings.groupBy { + row => row.rowMap(mainResourceVar.variableName) + }.map { + case (resourceIri: IRI, rows: Seq[VariableResultsRow]) => + val columnNamesToMerge: Set[String] = rows.flatMap(_.rowMap.keySet).toSet + + val mergedRowMap: Map[String, String] = columnNamesToMerge.map { + columnName => + val columnValues: Seq[String] = rows.flatMap(_.rowMap.get(columnName)) + + // Is this is the column containing the main resource IRI? + val mergedColumnValue: String = if (columnName == mainResourceVar.variableName) { + // Yes. Use that IRI as the merged value. + resourceIri + } else { + // No. This must be a column resulting from GROUP_CONCAT, so use the GROUP_CONCAT + // separator to concatenate the column values. + columnValues.mkString(AbstractPrequeryGenerator.groupConcatSeparator.toString) + } + + columnName -> mergedColumnValue + }.toMap + + resourceIri -> VariableResultsRow(new ErrorHandlingMap(mergedRowMap, { key: String => s"No value found for SPARQL query variable '$key' in query result row" })) + } + + val prequeryRowsMerged: Seq[VariableResultsRow] = mainResourceIris.map { + resourceIri => prequeryRowsMergedMap(resourceIri) + } + + prequeryResponseNotMerged.copy( + results = SparqlSelectResponseBody(prequeryRowsMerged) + ) + } } \ No newline at end of file diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/FullTextMainQueryGenerator.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/FullTextMainQueryGenerator.scala index ab2fa51ea7..414e37570b 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/FullTextMainQueryGenerator.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/FullTextMainQueryGenerator.scala @@ -19,9 +19,9 @@ package org.knora.webapi.responders.v2.search +import org.knora.webapi._ import org.knora.webapi.util.IriConversions._ import org.knora.webapi.util.StringFormatter -import org.knora.webapi._ object FullTextMainQueryGenerator { diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/MainQueryResultProcessor.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/MainQueryResultProcessor.scala index 871ada421b..e776118d7b 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/MainQueryResultProcessor.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/MainQueryResultProcessor.scala @@ -20,10 +20,9 @@ package org.knora.webapi.responders.v2.search import org.knora.webapi._ -import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.store.triplestoremessages.{SparqlExtendedConstructResponse, SparqlSelectResponse, VariableResultsRow} +import org.knora.webapi.messages.store.triplestoremessages.{SparqlSelectResponse, VariableResultsRow} import org.knora.webapi.responders.v2.search.gravsearch.mainquery.GravsearchMainQueryGenerator -import org.knora.webapi.responders.v2.search.gravsearch.prequery.NonTriplestoreSpecificGravsearchToPrequeryGenerator +import org.knora.webapi.responders.v2.search.gravsearch.prequery.{AbstractPrequeryGenerator, NonTriplestoreSpecificGravsearchToPrequeryGenerator} import org.knora.webapi.responders.v2.search.gravsearch.types.GravsearchTypeInspectionResult import org.knora.webapi.util.ConstructResponseUtilV2.{RdfPropertyValues, RdfResources, ResourceWithValueRdfData, ValueRdfData} import org.knora.webapi.util.IriConversions._ @@ -133,8 +132,9 @@ object MainQueryResultProcessor { dependentResIriOption match { case Some(depResIri: IRI) => - // IRIs are concatenated by GROUP_CONCAT using a separator, split them - depResIri.split(transformer.groupConcatSeparator).toSeq + // IRIs are concatenated by GROUP_CONCAT using a separator, split them. Ignore empty + // strings, which could result from unbound variables in the query. + depResIri.split(AbstractPrequeryGenerator.groupConcatSeparator).toSeq.filter(_.nonEmpty) case None => Set.empty[IRI] // no Iri present since variable was inside aan OPTIONAL or UNION } @@ -184,8 +184,9 @@ object MainQueryResultProcessor { case Some(valObjIris) => - // IRIs are concatenated by GROUP_CONCAT using a separator, split them - valObjIris.split(transformer.groupConcatSeparator).toSet + // IRIs are concatenated by GROUP_CONCAT using a separator, split them. Ignore empty + // strings, which could result from unbound variables in the query. + valObjIris.split(AbstractPrequeryGenerator.groupConcatSeparator).toSet.filter(_.nonEmpty) case None => Set.empty[IRI] // since variable was inside aan OPTIONAL or UNION diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/QueryTraverser.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/QueryTraverser.scala index cbba35e3be..c7e5abbe41 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/QueryTraverser.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/QueryTraverser.scala @@ -22,166 +22,182 @@ package org.knora.webapi.responders.v2.search import org.knora.webapi.responders.v2.search.gravsearch.types.GravsearchTypeInspectionResult /** - * A trait for classes that visit statements and filters in WHERE clauses, accumulating some result. - * - * @tparam Acc the type of the accumulator. - */ + * A trait for classes that visit statements and filters in WHERE clauses, accumulating some result. + * + * @tparam Acc the type of the accumulator. + */ trait WhereVisitor[Acc] { /** - * Visits a statement in a WHERE clause. - * - * @param statementPattern the pattern to be visited. - * @param acc the accumulator. - * @return the accumulator. - */ + * Visits a statement in a WHERE clause. + * + * @param statementPattern the pattern to be visited. + * @param acc the accumulator. + * @return the accumulator. + */ def visitStatementInWhere(statementPattern: StatementPattern, acc: Acc): Acc /** - * Visits a FILTER in a WHERE clause. - * - * @param filterPattern the pattern to be visited. - * @param acc the accumulator. - * @return the accumulator. - */ + * Visits a FILTER in a WHERE clause. + * + * @param filterPattern the pattern to be visited. + * @param acc the accumulator. + * @return the accumulator. + */ def visitFilter(filterPattern: FilterPattern, acc: Acc): Acc } /** - * A trait for classes that transform statements and filters in WHERE clauses. Such a class will probably need - * to refer to a [[GravsearchTypeInspectionResult]]. - */ + * A trait for classes that transform statements and filters in WHERE clauses. Such a class will probably need + * to refer to a [[GravsearchTypeInspectionResult]]. + */ trait WhereTransformer { /** - * Transforms a [[StatementPattern]] in a WHERE clause into zero or more query patterns. - * - * @param statementPattern the statement to be transformed. - * @param inputOrderBy the ORDER BY clause in the input query. - * @return the result of the transformation. - */ + * Optimises the order of query patterns. Does not recurse. + * + * @param patterns the query patterns to be optimised. + * @return the optimised query patterns. + */ + def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] + + /** + * Transforms a [[StatementPattern]] in a WHERE clause into zero or more query patterns. + * + * @param statementPattern the statement to be transformed. + * @param inputOrderBy the ORDER BY clause in the input query. + * @return the result of the transformation. + */ def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[QueryPattern] /** - * Transforms a [[FilterPattern]] in a WHERE clause into zero or more statement patterns. - * - * @param filterPattern the filter to be transformed. - * @return the result of the transformation. - */ + * Transforms a [[FilterPattern]] in a WHERE clause into zero or more query patterns. + * + * @param filterPattern the filter to be transformed. + * @return the result of the transformation. + */ def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] + + /** + * Transforms a [[LuceneQueryPattern]] into one or more query patterns. + * + * @param luceneQueryPattern the query pattern to be transformed. + * @return the transformed pattern. + */ + def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] } /** - * A trait for classes that transform SELECT queries into other SELECT queries. - */ + * A trait for classes that transform SELECT queries into other SELECT queries. + */ trait SelectToSelectTransformer extends WhereTransformer { /** - * Transforms a [[StatementPattern]] in a SELECT's WHERE clause into zero or more statement patterns. - * - * @param statementPattern the statement to be transformed. - * @return the result of the transformation. - */ + * Transforms a [[StatementPattern]] in a SELECT's WHERE clause into zero or more statement patterns. + * + * @param statementPattern the statement to be transformed. + * @return the result of the transformation. + */ def transformStatementInSelect(statementPattern: StatementPattern): Seq[StatementPattern] } /** - * A trait for classes that transform CONSTRUCT queries into other CONSTRUCT queries. - */ + * A trait for classes that transform CONSTRUCT queries into other CONSTRUCT queries. + */ trait ConstructToConstructTransformer extends WhereTransformer { /** - * Transforms a [[StatementPattern]] in a CONSTRUCT clause into zero or more statement patterns. - * - * @param statementPattern the statement to be transformed. - * @return the result of the transformation. - */ + * Transforms a [[StatementPattern]] in a CONSTRUCT clause into zero or more statement patterns. + * + * @param statementPattern the statement to be transformed. + * @return the result of the transformation. + */ def transformStatementInConstruct(statementPattern: StatementPattern): Seq[StatementPattern] } /** - * Returned by `ConstructToSelectTransformer.getOrderBy` to represent a transformed ORDER BY as well - * as any additional statement patterns that should be added to the WHERE clause to support the ORDER BY. - * - * @param statementPatterns any additional WHERE clause statements required by the ORDER BY. - * @param orderBy the ORDER BY criteria. - */ + * Returned by `ConstructToSelectTransformer.getOrderBy` to represent a transformed ORDER BY as well + * as any additional statement patterns that should be added to the WHERE clause to support the ORDER BY. + * + * @param statementPatterns any additional WHERE clause statements required by the ORDER BY. + * @param orderBy the ORDER BY criteria. + */ case class TransformedOrderBy(statementPatterns: Seq[StatementPattern] = Vector.empty[StatementPattern], orderBy: Seq[OrderCriterion] = Vector.empty[OrderCriterion]) /** - * A trait for classes that transform SELECT queries into CONSTRUCT queries. - */ + * A trait for classes that transform SELECT queries into CONSTRUCT queries. + */ trait ConstructToSelectTransformer extends WhereTransformer { /** - * Collects information from a statement pattern in the CONSTRUCT clause of the input query, e.g. variables - * that need to be returned by the SELECT. - * - * @param statementPattern the statement to be handled. - */ + * Collects information from a statement pattern in the CONSTRUCT clause of the input query, e.g. variables + * that need to be returned by the SELECT. + * + * @param statementPattern the statement to be handled. + */ def handleStatementInConstruct(statementPattern: StatementPattern): Unit /** - * Returns the variables that should be included in the results of the SELECT query. This method will be called - * by [[QueryTraverser]] after the whole input query has been traversed. - * - * @return the variables that should be returned by the SELECT. - */ + * Returns the variables that should be included in the results of the SELECT query. This method will be called + * by [[QueryTraverser]] after the whole input query has been traversed. + * + * @return the variables that should be returned by the SELECT. + */ def getSelectVariables: Seq[SelectQueryColumn] /** - * Returns the variables that the query result rows are grouped by (aggregating rows into one). - * Variables returned by the SELECT query must either be present in the GROUP BY statement - * or be transformed by an aggregation function in SPARQL. - * This method will be called by [[QueryTraverser]] after the whole input query has been traversed. - * - * @param orderByCriteria the criteria used to sort the query results. They have to be included in the GROUP BY statement, otherwise they are unbound. - * @return a list of variables that the result rows are grouped by. - */ + * Returns the variables that the query result rows are grouped by (aggregating rows into one). + * Variables returned by the SELECT query must either be present in the GROUP BY statement + * or be transformed by an aggregation function in SPARQL. + * This method will be called by [[QueryTraverser]] after the whole input query has been traversed. + * + * @param orderByCriteria the criteria used to sort the query results. They have to be included in the GROUP BY statement, otherwise they are unbound. + * @return a list of variables that the result rows are grouped by. + */ def getGroupBy(orderByCriteria: TransformedOrderBy): Seq[QueryVariable] /** - * Returns the criteria, if any, that should be used in the ORDER BY clause of the SELECT query. This method will be called - * by [[QueryTraverser]] after the whole input query has been traversed. - * - * @param inputOrderBy the ORDER BY criteria in the input query. - * @return the ORDER BY criteria, if any. - */ + * Returns the criteria, if any, that should be used in the ORDER BY clause of the SELECT query. This method will be called + * by [[QueryTraverser]] after the whole input query has been traversed. + * + * @param inputOrderBy the ORDER BY criteria in the input query. + * @return the ORDER BY criteria, if any. + */ def getOrderBy(inputOrderBy: Seq[OrderCriterion]): TransformedOrderBy /** - * Returns the limit representing the maximum amount of result rows returned by the SELECT query. - * - * @return the LIMIT, if any. - */ + * Returns the limit representing the maximum amount of result rows returned by the SELECT query. + * + * @return the LIMIT, if any. + */ def getLimit: Int /** - * Returns the OFFSET to be used in the SELECT query. - * Provided the OFFSET submitted in the input query, calculates the actual offset in result rows depending on LIMIT. - * - * @param inputQueryOffset the OFFSET provided in the input query. - * @return the OFFSET. - */ + * Returns the OFFSET to be used in the SELECT query. + * Provided the OFFSET submitted in the input query, calculates the actual offset in result rows depending on LIMIT. + * + * @param inputQueryOffset the OFFSET provided in the input query. + * @return the OFFSET. + */ def getOffset(inputQueryOffset: Long, limit: Int): Long } /** - * Assists in the transformation of CONSTRUCT queries by traversing the query, delegating work to a [[ConstructToConstructTransformer]] - * or [[ConstructToSelectTransformer]]. - */ + * Assists in the transformation of CONSTRUCT queries by traversing the query, delegating work to a [[ConstructToConstructTransformer]] + * or [[ConstructToSelectTransformer]]. + */ object QueryTraverser { /** - * Traverses a WHERE clause, delegating transformation tasks to a [[WhereTransformer]], and returns the transformed query patterns. - * - * @param patterns the input query patterns. - * @param inputOrderBy the ORDER BY expression in the input query. - * @param whereTransformer a [[WhereTransformer]]. - * @return the transformed query patterns. - */ + * Traverses a WHERE clause, delegating transformation tasks to a [[WhereTransformer]], and returns the transformed query patterns. + * + * @param patterns the input query patterns. + * @param inputOrderBy the ORDER BY expression in the input query. + * @param whereTransformer a [[WhereTransformer]]. + * @return the transformed query patterns. + */ def transformWherePatterns(patterns: Seq[QueryPattern], inputOrderBy: Seq[OrderCriterion], whereTransformer: WhereTransformer): Seq[QueryPattern] = { - patterns.flatMap { + val transformedPatterns: Seq[QueryPattern] = patterns.flatMap { case statementPattern: StatementPattern => whereTransformer.transformStatementInWhere( statementPattern = statementPattern, @@ -231,21 +247,26 @@ object QueryTraverser { Seq(UnionPattern(blocks = transformedBlocks)) + case luceneQueryPattern: LuceneQueryPattern => + whereTransformer.transformLuceneQueryPattern(luceneQueryPattern) + case valuesPattern: ValuesPattern => Seq(valuesPattern) case bindPattern: BindPattern => Seq(bindPattern) } + + whereTransformer.optimiseQueryPatternOrder(transformedPatterns) } /** - * Traverses a WHERE clause, delegating transformation tasks to a [[WhereVisitor]]. - * - * @param patterns the input query patterns. - * @param whereVisitor a [[WhereVisitor]]. - * @param initialAcc the visitor's initial accumulator. - * @tparam Acc the type of the accumulator. - * @return the accumulator. - */ + * Traverses a WHERE clause, delegating transformation tasks to a [[WhereVisitor]]. + * + * @param patterns the input query patterns. + * @param whereVisitor a [[WhereVisitor]]. + * @param initialAcc the visitor's initial accumulator. + * @tparam Acc the type of the accumulator. + * @return the accumulator. + */ def visitWherePatterns[Acc](patterns: Seq[QueryPattern], whereVisitor: WhereVisitor[Acc], initialAcc: Acc): Acc = { @@ -292,12 +313,12 @@ object QueryTraverser { } /** - * Traverses a SELECT query, delegating transformation tasks to a [[ConstructToSelectTransformer]], and returns the transformed query. - * - * @param inputQuery the query to be transformed. - * @param transformer the [[ConstructToSelectTransformer]] to be used. - * @return the transformed query. - */ + * Traverses a SELECT query, delegating transformation tasks to a [[ConstructToSelectTransformer]], and returns the transformed query. + * + * @param inputQuery the query to be transformed. + * @param transformer the [[ConstructToSelectTransformer]] to be used. + * @return the transformed query. + */ def transformConstructToSelect(inputQuery: ConstructQuery, transformer: ConstructToSelectTransformer): SelectQuery = { for (statement <- inputQuery.constructClause.statements) { @@ -341,12 +362,12 @@ object QueryTraverser { } /** - * Traverses a CONSTRUCT query, delegating transformation tasks to a [[ConstructToConstructTransformer]], and returns the transformed query. - * - * @param inputQuery the query to be transformed. - * @param transformer the [[ConstructToConstructTransformer]] to be used. - * @return the transformed query. - */ + * Traverses a CONSTRUCT query, delegating transformation tasks to a [[ConstructToConstructTransformer]], and returns the transformed query. + * + * @param inputQuery the query to be transformed. + * @param transformer the [[ConstructToConstructTransformer]] to be used. + * @return the transformed query. + */ def transformConstructToConstruct(inputQuery: ConstructQuery, transformer: ConstructToConstructTransformer): ConstructQuery = { val transformedWherePatterns = transformWherePatterns( diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlQuery.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlQuery.scala index ef8060eade..ba3caa5929 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlQuery.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlQuery.scala @@ -21,6 +21,7 @@ package org.knora.webapi.responders.v2.search import akka.http.scaladsl.model.{HttpCharsets, MediaType} import org.knora.webapi._ +import org.knora.webapi.util.ApacheLuceneSupport.LuceneQueryString import org.knora.webapi.util.IriConversions._ import org.knora.webapi.util.{SmartIri, StringFormatter} @@ -74,10 +75,10 @@ case class QueryVariable(variableName: String) extends SelectQueryColumn { */ case class GroupConcat(inputVariable: QueryVariable, separator: Char, outputVariableName: String) extends SelectQueryColumn { - val outputVariable = QueryVariable(outputVariableName) + val outputVariable: QueryVariable = QueryVariable(outputVariableName) override def toSparql: String = { - s"(GROUP_CONCAT(DISTINCT(${inputVariable.toSparql}); SEPARATOR='$separator') AS ${outputVariable.toSparql})" + s"""(GROUP_CONCAT(DISTINCT(IF(BOUND(${inputVariable.toSparql}), STR(${inputVariable.toSparql}), "")); SEPARATOR='$separator') AS ${outputVariable.toSparql})""" } } @@ -90,7 +91,7 @@ case class GroupConcat(inputVariable: QueryVariable, separator: Char, outputVari */ case class Count(inputVariable: QueryVariable, distinct: Boolean, outputVariableName: String) extends SelectQueryColumn { - val outputVariable = QueryVariable(outputVariableName) + val outputVariable: QueryVariable = QueryVariable(outputVariableName) val distinctAsStr: String = if (distinct) { "DISTINCT" @@ -197,6 +198,18 @@ case class StatementPattern(subj: Entity, pred: Entity, obj: Entity, namedGraph: } } +/** + * A virtual query pattern representing a Lucene full-text index search. Will be replaced by a triplestore-specific + * [[StatementPattern]] during Gravsearch processing. + * + * @param subj a variable representing the subject to be found. + * @param obj a variable representing the literal that is indexed. + * @param queryString the Lucene query string to be matched. + */ +case class LuceneQueryPattern(subj: QueryVariable, obj: QueryVariable, queryString: LuceneQueryString) extends QueryPattern { + override def toSparql: String = throw AssertionException("LuceneQueryPattern should have been transformed into a StatementPattern") +} + /** * Represents a BIND command in a query. * diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlTransformer.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlTransformer.scala index 193ed72a59..2b4a0eada5 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlTransformer.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/SparqlTransformer.scala @@ -24,96 +24,93 @@ import org.knora.webapi.util.IriConversions._ import org.knora.webapi.util.{SmartIri, StringFormatter} /** - * Methods and classes for Sparql transformation. - */ + * Methods and classes for Sparql transformation. + */ object SparqlTransformer { - - /** - * Transforms the the Knora explicit graph name to GraphDB explicit graph name. - * - * @param statement the given statement whose graph name has to be renamed. - * @return the statement with the renamed graph, if given. - */ - def transformKnoraExplicitToGraphDBExplicit(statement: StatementPattern): Seq[StatementPattern] = { - implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance - - val transformedPattern = statement.copy( - pred = statement.pred match { - case iri: IriRef if iri.iri == OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri => IriRef(OntologyConstants.Ontotext.LuceneFulltext.toSmartIri) // convert to special Lucene property - case other => other // no conversion needed - }, - namedGraph = statement.namedGraph match { - case Some(IriRef(SmartIri(OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph), _)) => Some(IriRef(OntologyConstants.NamedGraphs.GraphDBExplicitNamedGraph.toSmartIri)) - case Some(IriRef(_, _)) => throw AssertionException(s"Named graphs other than ${OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph} cannot occur in non-triplestore-specific generated search query SPARQL") - case None => None - } - ) - - Seq(transformedPattern) - } - /** - * Transforms a non triplestore specific SELECT query to a query for GraphDB. - */ + * Transforms a non-triplestore-specific SELECT query for GraphDB. + */ class GraphDBSelectToSelectTransformer extends SelectToSelectTransformer { - def transformStatementInSelect(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) + override def transformStatementInSelect(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) - def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { + override def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { transformKnoraExplicitToGraphDBExplicit(statementPattern) } - def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + override def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = patterns + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = + transformLuceneQueryPatternForGraphDB(luceneQueryPattern) } /** - * Transforms non triplestore specific SELECT query to a query for a triplestore other than GraphDB (e.g., Fuseki, TODO: to be implemented) - */ + * Transforms a non-triplestore-specific SELECT for a triplestore that does not have inference enabled (e.g., Fuseki). + */ class NoInferenceSelectToSelectTransformer extends SelectToSelectTransformer { - def transformStatementInSelect(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) + private implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance - def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { - // TODO: if OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph occurs, remove it and use property path syntax to emulate inference. - Seq(statementPattern) - } + override def transformStatementInSelect(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) - def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + override def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = + transformStatementInWhereForNoInference(statementPattern) + override def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = { + moveIsDeletedToEnd(patterns) + } + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = + transformLuceneQueryPatternForFuseki(luceneQueryPattern) } /** - * Transforms non-triplestore-specific query patterns to GraphDB-specific ones. - */ + * Transforms a non-triplestore-specific CONSTRUCT query for GraphDB. + */ class GraphDBConstructToConstructTransformer extends ConstructToConstructTransformer { - def transformStatementInConstruct(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) + override def transformStatementInConstruct(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) - def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { + override def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { transformKnoraExplicitToGraphDBExplicit(statementPattern) } - def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + override def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = patterns + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = + transformLuceneQueryPatternForGraphDB(luceneQueryPattern) } /** - * Transforms non-triplestore-specific query patterns for a triplestore that does not have inference enabled. - */ + * Transforms a non-triplestore-specific CONSTRUCT query for a triplestore that does not have inference enabled (e.g., Fuseki). + */ class NoInferenceConstructToConstructTransformer extends ConstructToConstructTransformer { - def transformStatementInConstruct(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) + private implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance + + override def transformStatementInConstruct(statementPattern: StatementPattern): Seq[StatementPattern] = Seq(statementPattern) - def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = { - // TODO: if OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph occurs, remove it and use property path syntax to emulate inference. - Seq(statementPattern) + override def transformStatementInWhere(statementPattern: StatementPattern, inputOrderBy: Seq[OrderCriterion]): Seq[StatementPattern] = + transformStatementInWhereForNoInference(statementPattern) + + override def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = { + moveIsDeletedToEnd(patterns) } - def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = + transformLuceneQueryPatternForFuseki(luceneQueryPattern) } /** - * Creates a syntactically valid variable base name, based on the given entity. - * - * @param entity the entity to be used to create a base name for a variable. - * @return a base name for a variable. - */ + * Creates a syntactically valid variable base name, based on the given entity. + * + * @param entity the entity to be used to create a base name for a variable. + * @return a base name for a variable. + */ def escapeEntityForVariable(entity: Entity): String = { val entityStr = entity match { case QueryVariable(varName) => varName @@ -126,12 +123,12 @@ object SparqlTransformer { } /** - * Creates a unique variable name from the given entity and the local part of a property IRI. - * - * @param base the entity to use to create the variable base name. - * @param propertyIri the IRI of the property whose local part will be used to form the unique name. - * @return a unique variable. - */ + * Creates a unique variable name from the given entity and the local part of a property IRI. + * + * @param base the entity to use to create the variable base name. + * @param propertyIri the IRI of the property whose local part will be used to form the unique name. + * @return a unique variable. + */ def createUniqueVariableNameFromEntityAndProperty(base: Entity, propertyIri: IRI): QueryVariable = { val propertyHashIndex = propertyIri.lastIndexOf('#') @@ -144,24 +141,218 @@ object SparqlTransformer { } /** - * Create a unique variable from a whole statement. - * - * @param baseStatement the statement to be used to create the variable base name. - * @param suffix the suffix to be appended to the base name. - * @return a unique variable. - */ + * Creates a unique variable name representing the `rdf:type` of an entity with a given base class. + * + * @param base the entity to use to create the variable base name. + * @param baseClassIri a base class of the entity's type. + * @return a unique variable. + */ + def createUniqueVariableNameForEntityAndBaseClass(base: Entity, baseClassIri: IriRef): QueryVariable = { + QueryVariable(escapeEntityForVariable(base) + "__subClassOf__" + escapeEntityForVariable(baseClassIri)) + } + + /** + * Create a unique variable from a whole statement. + * + * @param baseStatement the statement to be used to create the variable base name. + * @param suffix the suffix to be appended to the base name. + * @return a unique variable. + */ def createUniqueVariableFromStatement(baseStatement: StatementPattern, suffix: String): QueryVariable = { - QueryVariable(SparqlTransformer.escapeEntityForVariable(baseStatement.subj) + "__" + SparqlTransformer.escapeEntityForVariable(baseStatement.pred) + "__" + SparqlTransformer.escapeEntityForVariable(baseStatement.obj) + "__" + suffix) + QueryVariable(escapeEntityForVariable(baseStatement.subj) + "__" + escapeEntityForVariable(baseStatement.pred) + "__" + escapeEntityForVariable(baseStatement.obj) + "__" + suffix) } /** - * Create a unique variable name from a whole statement for a link value. - * - * @param baseStatement the statement to be used to create the variable base name. - * @return a unique variable for a link value. - */ + * Create a unique variable name from a whole statement for a link value. + * + * @param baseStatement the statement to be used to create the variable base name. + * @return a unique variable for a link value. + */ def createUniqueVariableFromStatementForLinkValue(baseStatement: StatementPattern): QueryVariable = { createUniqueVariableFromStatement(baseStatement, "LinkValue") } + /** + * Optimises `knora-base:isDeleted` by moving it to the end of a block. + * + * @param patterns the block of patterns to be optimised. + * @return the result of the optimisation. + */ + private def moveIsDeletedToEnd(patterns: Seq[QueryPattern]): Seq[QueryPattern] = { + val (isDeletedPatterns: Seq[QueryPattern], otherPatterns: Seq[QueryPattern]) = patterns.partition { + case statementPattern: StatementPattern => + statementPattern.pred match { + case iriRef: IriRef if iriRef.iri.toString == OntologyConstants.KnoraBase.IsDeleted => true + case _ => false + } + + case _ => false + } + + otherPatterns ++ isDeletedPatterns + } + + /** + * Transforms a statement in a WHERE clause for a triplestore that does not provide inference. + * + * @param statementPattern the statement pattern. + * @return the statement pattern as expanded to work without inference. + */ + private def transformStatementInWhereForNoInference(statementPattern: StatementPattern): Seq[StatementPattern] = { + implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance + + statementPattern.pred match { + case iriRef: IriRef if iriRef.iri.toString == OntologyConstants.KnoraBase.StandoffTagHasStartAncestor => + Seq( + statementPattern.copy( + pred = IriRef(OntologyConstants.KnoraBase.StandoffTagHasStartParent.toSmartIri, Some('*')) + ) + ) + + case _ => expandStatementForNoInference(statementPattern) + } + } + + /** + * If inference is not being used, expands non-explicit statements to simulate inference using `rdfs:subClassOf*` + * and `rdfs:subPropertyOf*`. + * + * @param statementPattern the statement to be expanded. + * @return the result of the expansion. + */ + private def expandStatementForNoInference(statementPattern: StatementPattern)(implicit stringFormatter: StringFormatter): Seq[StatementPattern] = { + // Is the statement in KnoraExplicitNamedGraph? + statementPattern.namedGraph match { + case Some(graphIri: IriRef) if graphIri.iri.toString == OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph => + // Yes. No expansion needed. Just remove KnoraExplicitNamedGraph. + Seq(statementPattern.copy(namedGraph = None)) + + case _ => + // The statement isn't in KnoraExplicitNamedGraph, so it might need to be expanded. Is the predicate a property IRI? + statementPattern.pred match { + case iriRef: IriRef => + // Yes. + val propertyIri = iriRef.iri.toString + + // Is the property rdf:type? + if (propertyIri == OntologyConstants.Rdf.Type) { + // Yes. Expand using rdfs:subClassOf*. + + val baseClassIri: IriRef = statementPattern.obj match { + case iriRef: IriRef => iriRef + case other => throw GravsearchException(s"The object of rdf:type must be an IRI, but $other was used") + } + + val rdfTypeVariable: QueryVariable = createUniqueVariableNameForEntityAndBaseClass(base = statementPattern.subj, baseClassIri = baseClassIri) + + Seq( + StatementPattern( + subj = rdfTypeVariable, + pred = IriRef( + iri = OntologyConstants.Rdfs.SubClassOf.toSmartIri, + propertyPathOperator = Some('*') + ), + obj = statementPattern.obj + ), + StatementPattern( + subj = statementPattern.subj, + pred = statementPattern.pred, + obj = rdfTypeVariable + ) + ) + } else { + // No. Expand using rdfs:subPropertyOf*. + + val propertyVariable: QueryVariable = createUniqueVariableNameFromEntityAndProperty(base = statementPattern.pred, propertyIri = OntologyConstants.Rdfs.SubPropertyOf) + + Seq( + StatementPattern( + subj = propertyVariable, + pred = IriRef( + iri = OntologyConstants.Rdfs.SubPropertyOf.toSmartIri, + propertyPathOperator = Some('*') + ), + obj = statementPattern.pred + ), + StatementPattern( + subj = statementPattern.subj, + pred = propertyVariable, + obj = statementPattern.obj + ) + ) + } + + case _ => + // The predicate isn't a property IRI, so no expansion needed. + Seq(statementPattern) + } + } + } + + /** + * Transforms the the Knora explicit graph name to GraphDB explicit graph name. + * + * @param statement the given statement whose graph name has to be renamed. + * @return the statement with the renamed graph, if given. + */ + private def transformKnoraExplicitToGraphDBExplicit(statement: StatementPattern): Seq[StatementPattern] = { + implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance + + val transformedPattern = statement.copy( + // Replace the deprecated property knora-base:matchesTextIndex with a GraphDB-specific one. + pred = statement.pred match { + case iri: IriRef if iri.iri == OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri => IriRef(OntologyConstants.Ontotext.LuceneFulltext.toSmartIri) // convert to special Lucene property + case other => other // no conversion needed + }, + namedGraph = statement.namedGraph match { + case Some(IriRef(SmartIri(OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph), _)) => Some(IriRef(OntologyConstants.NamedGraphs.GraphDBExplicitNamedGraph.toSmartIri)) + case Some(IriRef(_, _)) => throw AssertionException(s"Named graphs other than ${OntologyConstants.NamedGraphs.KnoraExplicitNamedGraph} cannot occur in non-triplestore-specific generated search query SPARQL") + case None => None + } + ) + + Seq(transformedPattern) + } + + /** + * Transforms a [[LuceneQueryPattern]] for GraphDB. + * + * @param luceneQueryPattern the query pattern. + * @return GraphDB-specific statements implementing the query. + */ + private def transformLuceneQueryPatternForGraphDB(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = { + implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance + + Seq( + StatementPattern( + subj = luceneQueryPattern.obj, // In GraphDB, an index entry is associated with a literal. + pred = IriRef("http://www.ontotext.com/owlim/lucene#fullTextSearchIndex".toSmartIri), + obj = XsdLiteral( + value = luceneQueryPattern.queryString.getQueryString, + datatype = OntologyConstants.Xsd.String.toSmartIri + ) + ) + ) + } + + /** + * Transforms a [[LuceneQueryPattern]] for Fuseki. + * + * @param luceneQueryPattern the query pattern. + * @return Fuseki-specific statements implementing the query. + */ + private def transformLuceneQueryPatternForFuseki(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = { + implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance + + Seq( + StatementPattern( + subj = luceneQueryPattern.subj, // In Fuseki, an index entry is associated with an entity that has a literal. + pred = IriRef("http://jena.apache.org/text#query".toSmartIri), + obj = XsdLiteral( + value = luceneQueryPattern.queryString.getQueryString, + datatype = OntologyConstants.Xsd.String.toSmartIri + ) + ) + ) + } } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/AbstractPrequeryGenerator.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/AbstractPrequeryGenerator.scala index 1a3dcccb30..2b1b81c8ae 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/AbstractPrequeryGenerator.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/AbstractPrequeryGenerator.scala @@ -30,6 +30,11 @@ import org.knora.webapi.util.{SmartIri, StringFormatter} import scala.collection.mutable +object AbstractPrequeryGenerator { + // separator used by GroupConcat + val groupConcatSeparator: Char = StringFormatter.INFORMATION_SEPARATOR_ONE +} + /** * An abstract base class for [[WhereTransformer]] instances that generate SPARQL prequeries from Gravsearch input. * @@ -53,9 +58,6 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns // variables representing dependent resources protected var dependentResourceVariables: mutable.Set[QueryVariable] = mutable.Set.empty - // separator used by GroupConcat - val groupConcatSeparator: Char = StringFormatter.INFORMATION_SEPARATOR_ONE - // variables representing aggregated dependent resources protected var dependentResourceVariablesGroupConcat: Set[QueryVariable] = Set.empty @@ -300,7 +302,7 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns // transforms the statement given in the input query so the list node and any of its subnodes are matched Seq( statementPatternToInternalSchema(statementPattern, typeInspectionResult).copy(obj = listNodeVar), - StatementPattern( + StatementPattern.makeExplicit( subj = listNode, pred = IriRef(iri = OntologyConstants.KnoraBase.HasSubListNode.toSmartIri, propertyPathOperator = Some('*')), obj = listNodeVar @@ -418,7 +420,7 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns propertyTypeInfo.objectTypeIri match { case SmartIri(OntologyConstants.KnoraApiV2Complex.ListNode) => // Yes, transform statement so it also matches any of the subnodes of the given node - handleListNode + handleListNode() case _ => // No, just convert the statement pattern to the internal schema. Seq(statementPatternToInternalSchema(statementPattern, typeInspectionResult)) @@ -1117,7 +1119,7 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns } /** - * Handles the function `knora-api:match` in the simple schema. + * Handles the deprecated function `knora-api:match` in the simple schema. * * @param functionCallExpression the function call to be handled. * @param typeInspectionResult the type inspection results. @@ -1171,16 +1173,87 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns val searchTerms: LuceneQueryString = LuceneQueryString(searchTerm.value) + // Replace the filter with a statement using the deprecated knora-base:matchesTextIndex property. TransformedFilterPattern( None, // FILTER has been replaced by statements valueHasStringStatement ++ Seq( - StatementPattern.makeExplicit(subj = textValHasString, pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri)) + StatementPattern.makeExplicit( + subj = textValHasString, + pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), + obj = XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri) + ) + ) + ) + } + + /** + * Handles the function `knora-api:matchText` in the simple schema. + * + * @param functionCallExpression the function call to be handled. + * @param typeInspectionResult the type inspection results. + * @param isTopLevel if `true`, this is the top-level expression in the `FILTER`. + * @return a [[TransformedFilterPattern]]. + */ + private def handleMatchTextFunctionInSimpleSchema(functionCallExpression: FunctionCallExpression, typeInspectionResult: GravsearchTypeInspectionResult, isTopLevel: Boolean): TransformedFilterPattern = { + val functionIri: SmartIri = functionCallExpression.functionIri.iri + + if (querySchema == ApiV2Complex) { + throw GravsearchException(s"Function ${functionIri.toSparql} cannot be used in a Gravsearch query written in the complex schema; use ${OntologyConstants.KnoraApiV2Complex.MatchFunction.toSmartIri.toSparql} instead") + } + + // The match function must be the top-level expression, otherwise boolean logic won't work properly. + if (!isTopLevel) { + throw GravsearchException(s"Function ${functionIri.toSparql} must be the top-level expression in a FILTER") + } + + // two arguments are expected: the first must be a variable representing a string value, + // the second must be a string literal + + if (functionCallExpression.args.size != 2) throw GravsearchException(s"Two arguments are expected for ${functionIri.toSparql}") + + // a QueryVariable expected to represent a text value + val textValueVar: QueryVariable = functionCallExpression.getArgAsQueryVar(pos = 0) + + typeInspectionResult.getTypeOfEntity(textValueVar) match { + case Some(nonPropInfo: NonPropertyTypeInfo) => + + nonPropInfo.typeIri.toString match { + + case OntologyConstants.Xsd.String => () // xsd:string is expected, TODO: should also xsd:anyUri be allowed? + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be an xsd:string") + } + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be an xsd:string") + } + + val textValHasString: QueryVariable = SparqlTransformer.createUniqueVariableNameFromEntityAndProperty(base = textValueVar, propertyIri = OntologyConstants.KnoraBase.ValueHasString) + + // Add a statement to assign the literal to a variable, which we'll use in the transformed FILTER expression, + // if that statement hasn't been added already. + val valueHasStringStatement = if (addGeneratedVariableForValueLiteral(textValueVar, textValHasString)) { + Seq(StatementPattern.makeExplicit(subj = textValueVar, pred = IriRef(OntologyConstants.KnoraBase.ValueHasString.toSmartIri), textValHasString)) + } else { + Seq.empty[StatementPattern] + } + + val searchTerm: XsdLiteral = functionCallExpression.getArgAsLiteral(1, xsdDatatype = OntologyConstants.Xsd.String.toSmartIri) + + val searchTerms: LuceneQueryString = LuceneQueryString(searchTerm.value) + + // Replace the filter with a LuceneQueryPattern. + TransformedFilterPattern( + None, // FILTER has been replaced by statements + valueHasStringStatement :+ LuceneQueryPattern( + subj = textValueVar, + obj = textValHasString, + queryString = searchTerms ) ) } /** - * Handles the function `knora-api:match` in the complex schema. + * Handles the deprecated function `knora-api:match` in the complex schema. * * @param functionCallExpression the function call to be handled. * @param typeInspectionResult the type inspection results. @@ -1212,16 +1285,87 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns val searchTerms: LuceneQueryString = LuceneQueryString(searchTermStr.value) + // Replace the filter with a statement using the deprecated knora-base:matchesTextIndex property. TransformedFilterPattern( None, // FILTER has been replaced by statements Seq( - StatementPattern.makeExplicit(subj = stringVar, pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri)) + StatementPattern.makeExplicit( + subj = stringVar, + pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), + XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri) + ) + ) + ) + } + + /** + * Handles the function `knora-api:matchText` in the complex schema. + * + * @param functionCallExpression the function call to be handled. + * @param typeInspectionResult the type inspection results. + * @param isTopLevel if `true`, this is the top-level expression in the `FILTER`. + * @return a [[TransformedFilterPattern]]. + */ + private def handleMatchTextFunctionInComplexSchema(functionCallExpression: FunctionCallExpression, typeInspectionResult: GravsearchTypeInspectionResult, isTopLevel: Boolean): TransformedFilterPattern = { + val functionIri: SmartIri = functionCallExpression.functionIri.iri + + if (querySchema == ApiV2Simple) { + throw GravsearchException(s"Function ${functionIri.toSparql} cannot be used in a Gravsearch query written in the simple schema; use ${OntologyConstants.KnoraApiV2Simple.MatchFunction.toSmartIri.toSparql} instead") + } + + // The match function must be the top-level expression, otherwise boolean logic won't work properly. + if (!isTopLevel) { + throw GravsearchException(s"Function ${functionIri.toSparql} must be the top-level expression in a FILTER") + } + + // two arguments are expected: the first must be a variable representing a text value, + // the second must be a string literal + + if (functionCallExpression.args.size != 2) throw GravsearchException(s"Two arguments are expected for ${functionIri.toSparql}") + + // a QueryVariable expected to represent a text value + val textValueVar: QueryVariable = functionCallExpression.getArgAsQueryVar(pos = 0) + + typeInspectionResult.getTypeOfEntity(textValueVar) match { + case Some(nonPropInfo: NonPropertyTypeInfo) => + + nonPropInfo.typeIri.toString match { + + case OntologyConstants.KnoraApiV2Complex.TextValue => () + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be a knora-api:TextValue") + } + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be a knora-api:TextValue") + } + + val textValHasString: QueryVariable = SparqlTransformer.createUniqueVariableNameFromEntityAndProperty(base = textValueVar, propertyIri = OntologyConstants.KnoraBase.ValueHasString) + + // Add a statement to assign the literal to a variable, which we'll use in the transformed FILTER expression, + // if that statement hasn't been added already. + val valueHasStringStatement = if (addGeneratedVariableForValueLiteral(textValueVar, textValHasString)) { + Seq(StatementPattern.makeExplicit(subj = textValueVar, pred = IriRef(OntologyConstants.KnoraBase.ValueHasString.toSmartIri), textValHasString)) + } else { + Seq.empty[StatementPattern] + } + + val searchTerm: XsdLiteral = functionCallExpression.getArgAsLiteral(1, xsdDatatype = OntologyConstants.Xsd.String.toSmartIri) + + val searchTerms: LuceneQueryString = LuceneQueryString(searchTerm.value) + + // Replace the filter with a LuceneQueryPattern. + TransformedFilterPattern( + None, // FILTER has been replaced by statements + valueHasStringStatement :+ LuceneQueryPattern( + subj = textValueVar, + obj = textValHasString, + queryString = searchTerms ) ) } /** - * Handles the function `knora-api:matchInStandoff`. + * Handles the deprecated function `knora-api:matchInStandoff`. * * @param functionCallExpression the function call to be handled. * @param typeInspectionResult the type inspection results. @@ -1257,9 +1401,15 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns val searchTerms: LuceneQueryString = LuceneQueryString(searchTermStr.value) - // Generate a statement to search the full-text search index, to assert that text value contains - // the search terms. - val fullTextSearchStatement: Seq[StatementPattern] = Seq(StatementPattern.makeInferred(subj = textValueStringLiteralVar, pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri))) + // Generate a statement to search the full-text search index, using the deprecated virtual predicate + // knora-base:matchesTextIndex, to assert that text value contains the search terms. + val fullTextSearchStatement: Seq[StatementPattern] = Seq( + StatementPattern.makeInferred( + subj = textValueStringLiteralVar, + pred = IriRef(OntologyConstants.KnoraBase.MatchesTextIndex.toSmartIri), + XsdLiteral(searchTerms.getQueryString, OntologyConstants.Xsd.String.toSmartIri) + ) + ) // Generate query patterns to assign the text in the standoff tag to a variable, if we // haven't done so already. @@ -1313,6 +1463,126 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns ) } + /** + * Handles the function `knora-api:matchTextInStandoff`. + * + * @param functionCallExpression the function call to be handled. + * @param typeInspectionResult the type inspection results. + * @param isTopLevel if `true`, this is the top-level expression in the `FILTER`. + * @return a [[TransformedFilterPattern]]. + */ + private def handleMatchTextInStandoffFunction(functionCallExpression: FunctionCallExpression, typeInspectionResult: GravsearchTypeInspectionResult, isTopLevel: Boolean): TransformedFilterPattern = { + val functionIri: SmartIri = functionCallExpression.functionIri.iri + + if (querySchema == ApiV2Simple) { + throw GravsearchException(s"Function ${functionIri.toSparql} cannot be used in a Gravsearch query written in the simple schema") + } + + if (!isTopLevel) { + throw GravsearchException(s"Function ${functionIri.toSparql} must be the top-level expression in a FILTER") + } + + // Three arguments are expected: + // 1. a variable representing the text value + // 2. a variable representing the standoff tag + // 3. a string literal containing space-separated search terms + + if (functionCallExpression.args.size != 3) throw GravsearchException(s"Three arguments are expected for ${functionIri.toSparql}") + + // a QueryVariable expected to represent a text value + val textValueVar: QueryVariable = functionCallExpression.getArgAsQueryVar(pos = 0) + + typeInspectionResult.getTypeOfEntity(textValueVar) match { + case Some(nonPropInfo: NonPropertyTypeInfo) => + + nonPropInfo.typeIri.toString match { + + case OntologyConstants.KnoraApiV2Complex.TextValue => () + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be a knora-api:TextValue") + } + + case _ => throw GravsearchException(s"${textValueVar.toSparql} must be a knora-api:TextValue") + } + + val textValHasString: QueryVariable = SparqlTransformer.createUniqueVariableNameFromEntityAndProperty(base = textValueVar, propertyIri = OntologyConstants.KnoraBase.ValueHasString) + + // Add a statement to assign the literal to a variable, which we'll use in the transformed FILTER expression, + // if that statement hasn't been added already. + val valueHasStringStatement = if (addGeneratedVariableForValueLiteral(textValueVar, textValHasString)) { + Seq(StatementPattern.makeExplicit(subj = textValueVar, pred = IriRef(OntologyConstants.KnoraBase.ValueHasString.toSmartIri), textValHasString)) + } else { + Seq.empty[StatementPattern] + } + + // A string literal representing the search terms. + val searchTermStr: XsdLiteral = functionCallExpression.getArgAsLiteral(pos = 2, xsdDatatype = OntologyConstants.Xsd.String.toSmartIri) + + val searchTerms: LuceneQueryString = LuceneQueryString(searchTermStr.value) + + // Generate a LuceneQueryPattern to search the full-text search index, to assert that text value contains + // the search terms. + val luceneQueryPattern: LuceneQueryPattern = LuceneQueryPattern( + subj = textValueVar, + obj = textValHasString, + queryString = searchTerms + ) + + // Generate query patterns to assign the text in the standoff tag to a variable, if we + // haven't done so already. + + // A variable representing the standoff tag. + val standoffTagVar: QueryVariable = functionCallExpression.getArgAsQueryVar(pos = 1) + + val startVariable = QueryVariable(standoffTagVar.variableName + "__start") + val endVariable = QueryVariable(standoffTagVar.variableName + "__end") + + val markedUpPatternsToAdd: Seq[QueryPattern] = if (!standoffMarkedUpVariables.contains(startVariable)) { + standoffMarkedUpVariables += startVariable + + Seq( + // ?standoffTag knora-base:standoffTagHasStart ?standoffTag__start . + StatementPattern.makeExplicit(standoffTagVar, IriRef(OntologyConstants.KnoraBase.StandoffTagHasStart.toSmartIri), startVariable), + // ?standoffTag knora-base:standoffTagHasEnd ?standoffTag__end . + StatementPattern.makeExplicit(standoffTagVar, IriRef(OntologyConstants.KnoraBase.StandoffTagHasEnd.toSmartIri), endVariable) + ) + } else { + Seq.empty[QueryPattern] + } + + // Generate a FILTER pattern for each search term, using the regex function to assert that the text in the + // standoff tag contains the term: + // FILTER REGEX(SUBSTR(?textValueStr, ?standoffTag__start + 1, ?standoffTag__end - ?standoffTag__start), 'term', "i") + // TODO: handle the differences between regex syntax and Lucene syntax. + val regexFilters: Seq[FilterPattern] = searchTerms.getSingleTerms.map { + term: String => + FilterPattern( + expression = RegexFunction( + textExpr = SubStrFunction( + textLiteralVar = textValHasString, + startExpression = ArithmeticExpression( + leftArg = startVariable, + operator = PlusOperator, + rightArg = IntegerLiteral(1) + ), + lengthExpression = ArithmeticExpression( + leftArg = endVariable, + operator = MinusOperator, + rightArg = startVariable + ) + ), + pattern = term, // TODO: Ignore Lucene operators + modifier = Some("i") + ) + ) + } + + TransformedFilterPattern( + expression = None, // The expression has been replaced by additional patterns. + additionalPatterns = (valueHasStringStatement :+ luceneQueryPattern) ++ markedUpPatternsToAdd ++ regexFilters + ) + } + /** * Handles the function `knora-api:StandoffLink`. * @@ -1410,6 +1680,7 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns functionIri.toString match { case OntologyConstants.KnoraApiV2Simple.MatchFunction => + // deprecated handleMatchFunctionInSimpleSchema( functionCallExpression = functionCallExpression, typeInspectionResult = typeInspectionResult, @@ -1417,6 +1688,7 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns ) case OntologyConstants.KnoraApiV2Complex.MatchFunction => + // deprecated handleMatchFunctionInComplexSchema( functionCallExpression = functionCallExpression, typeInspectionResult = typeInspectionResult, @@ -1424,12 +1696,34 @@ abstract class AbstractPrequeryGenerator(typeInspectionResult: GravsearchTypeIns ) case OntologyConstants.KnoraApiV2Complex.MatchInStandoffFunction => + // deprecated handleMatchInStandoffFunction( functionCallExpression = functionCallExpression, typeInspectionResult = typeInspectionResult, isTopLevel = isTopLevel ) + case OntologyConstants.KnoraApiV2Simple.MatchTextFunction => + handleMatchTextFunctionInSimpleSchema( + functionCallExpression = functionCallExpression, + typeInspectionResult = typeInspectionResult, + isTopLevel = isTopLevel + ) + + case OntologyConstants.KnoraApiV2Complex.MatchTextFunction => + handleMatchTextFunctionInComplexSchema( + functionCallExpression = functionCallExpression, + typeInspectionResult = typeInspectionResult, + isTopLevel = isTopLevel + ) + + case OntologyConstants.KnoraApiV2Complex.MatchTextInStandoffFunction => + handleMatchTextInStandoffFunction( + functionCallExpression = functionCallExpression, + typeInspectionResult = typeInspectionResult, + isTopLevel = isTopLevel + ) + case OntologyConstants.KnoraApiV2Complex.StandoffLinkFunction => handleStandoffLinkFunction( functionCallExpression = functionCallExpression, diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryGenerator.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryGenerator.scala index 2ade969df7..e7f6ac9ac2 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryGenerator.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryGenerator.scala @@ -92,4 +92,8 @@ class NonTriplestoreSpecificGravsearchToCountPrequeryGenerator(typeInspectionRes // count queries do not consider offsets since there is only one result row 0 } + + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = patterns + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = Seq(luceneQueryPattern) } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGenerator.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGenerator.scala index 5fe4b55960..2d9d7dd7d7 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGenerator.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGenerator.scala @@ -23,7 +23,6 @@ import org.knora.webapi._ import org.knora.webapi.responders.v2.search._ import org.knora.webapi.responders.v2.search.gravsearch.types._ import org.knora.webapi.util.IriConversions._ -import org.knora.webapi.util.SmartIri /** * Transforms a preprocessed CONSTRUCT query into a SELECT query that returns only the IRIs and sort order of the main resources that matched @@ -100,7 +99,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryGenerator(typeInspectionResult: val dependentResourceGroupConcat: Set[GroupConcat] = dependentResourceVariables.map { dependentResVar: QueryVariable => GroupConcat(inputVariable = dependentResVar, - separator = groupConcatSeparator, + separator = AbstractPrequeryGenerator.groupConcatSeparator, outputVariableName = dependentResVar.variableName + groupConcatVariableSuffix) }.toSet @@ -109,7 +108,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryGenerator(typeInspectionResult: val valueObjectGroupConcat = valueObjectVariables.map { valueObjVar: QueryVariable => GroupConcat(inputVariable = valueObjVar, - separator = groupConcatSeparator, + separator = AbstractPrequeryGenerator.groupConcatSeparator, outputVariableName = valueObjVar.variableName + groupConcatVariableSuffix) }.toSet @@ -200,5 +199,8 @@ class NonTriplestoreSpecificGravsearchToPrequeryGenerator(typeInspectionResult: } + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = patterns + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = Seq(luceneQueryPattern) } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/GravsearchTypeInspectionUtil.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/GravsearchTypeInspectionUtil.scala index 5252f614e6..dca5ef3428 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/GravsearchTypeInspectionUtil.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/GravsearchTypeInspectionUtil.scala @@ -161,6 +161,10 @@ object GravsearchTypeInspectionUtil { } override def transformFilter(filterPattern: FilterPattern): Seq[QueryPattern] = Seq(filterPattern) + + override def optimiseQueryPatternOrder(patterns: Seq[QueryPattern]): Seq[QueryPattern] = patterns + + override def transformLuceneQueryPattern(luceneQueryPattern: LuceneQueryPattern): Seq[QueryPattern] = Seq(luceneQueryPattern) } /** diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/InferringGravsearchTypeInspector.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/InferringGravsearchTypeInspector.scala index ea085d6e45..3ae63a388b 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/InferringGravsearchTypeInspector.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/search/gravsearch/types/InferringGravsearchTypeInspector.scala @@ -982,7 +982,9 @@ class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspe // the function. functionCallExpression.functionIri.iri.toString match { - case OntologyConstants.KnoraApiV2Simple.MatchFunction | OntologyConstants.KnoraApiV2Complex.MatchFunction => + case OntologyConstants.KnoraApiV2Simple.MatchFunction | + OntologyConstants.KnoraApiV2Simple.MatchTextFunction | + OntologyConstants.KnoraApiV2Complex.MatchFunction => // The first argument is a variable representing a string. val textVar = TypeableVariable(functionCallExpression.getArgAsQueryVar(0).variableName) val currentTextVarTypesFromFilters: Set[SmartIri] = acc.typedEntitiesInFilters.getOrElse(textVar, Set.empty[SmartIri]) @@ -992,6 +994,16 @@ class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspe (textVar -> (currentTextVarTypesFromFilters + OntologyConstants.Xsd.String.toSmartIri)) ) + case OntologyConstants.KnoraApiV2Complex.MatchTextFunction => + // The first argument is a variable representing a text value. + val textVar = TypeableVariable(functionCallExpression.getArgAsQueryVar(0).variableName) + val currentTextVarTypesFromFilters: Set[SmartIri] = acc.typedEntitiesInFilters.getOrElse(textVar, Set.empty[SmartIri]) + + acc.copy( + typedEntitiesInFilters = acc.typedEntitiesInFilters + + (textVar -> (currentTextVarTypesFromFilters + OntologyConstants.KnoraApiV2Complex.TextValue.toSmartIri)) + ) + case OntologyConstants.KnoraApiV2Complex.MatchInStandoffFunction => // The first argument is a variable representing a string. val textVar = TypeableVariable(functionCallExpression.getArgAsQueryVar(0).variableName) @@ -1007,6 +1019,21 @@ class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspe (standoffTagVar -> (currentStandoffVarTypesFromFilters + OntologyConstants.KnoraApiV2Complex.StandoffTag.toSmartIri)) ) + case OntologyConstants.KnoraApiV2Complex.MatchTextInStandoffFunction => + // The first argument is a variable representing a text value. + val textVar = TypeableVariable(functionCallExpression.getArgAsQueryVar(0).variableName) + val currentTextVarTypesFromFilters: Set[SmartIri] = acc.typedEntitiesInFilters.getOrElse(textVar, Set.empty[SmartIri]) + + // The second argument is a variable representing a standoff tag. + val standoffTagVar = TypeableVariable(functionCallExpression.getArgAsQueryVar(1).variableName) + val currentStandoffVarTypesFromFilters: Set[SmartIri] = acc.typedEntitiesInFilters.getOrElse(standoffTagVar, Set.empty[SmartIri]) + + acc.copy( + typedEntitiesInFilters = acc.typedEntitiesInFilters + + (textVar -> (currentTextVarTypesFromFilters +OntologyConstants.KnoraApiV2Complex.TextValue.toSmartIri)) + + (standoffTagVar -> (currentStandoffVarTypesFromFilters + OntologyConstants.KnoraApiV2Complex.StandoffTag.toSmartIri)) + ) + case OntologyConstants.KnoraApiV2Complex.StandoffLinkFunction => if (functionCallExpression.args.size != 3) throw GravsearchException(s"Three arguments are expected for ${functionCallExpression.functionIri.toSparql}") diff --git a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala index 50b6f54f6c..abab53a983 100644 --- a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala +++ b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala @@ -19,7 +19,7 @@ package org.knora.webapi.store.triplestore.http -import java.io.{BufferedWriter, File, FileWriter, StringReader} +import java.io._ import java.nio.file.{Files, Paths} import java.util @@ -48,9 +48,8 @@ import org.knora.webapi._ import org.knora.webapi.messages.store.triplestoremessages._ import org.knora.webapi.store.triplestore.RdfDataObjectFactory import org.knora.webapi.util.ActorUtil._ -import org.knora.webapi.util.FakeTriplestore +import org.knora.webapi.util.{FakeTriplestore, InstrumentationSupport} import org.knora.webapi.util.SparqlResultProtocol._ -import org.knora.webapi.util.InstrumentationSupport import spray.json._ import scala.collection.JavaConverters._ @@ -65,7 +64,6 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat // MIME type constants. private val mimeTypeApplicationJson = "application/json" - private val mimeTypeApplicationTrig = "application/trig" private val mimeTypeApplicationSparqlResultsJson = "application/sparql-results+json" private val mimeTypeTextTurtle = "text/turtle" private val mimeTypeApplicationSparqlUpdate = "application/sparql-update" @@ -111,9 +109,54 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat .setDefaultRequestConfig(updateTimeoutConfig) .build - private val queryPath: String = s"/repositories/${settings.triplestoreDatabaseName}" - private val updatePath: String = s"/repositories/${settings.triplestoreDatabaseName}/statements" - private val graphPath: String = s"/repositories/${settings.triplestoreDatabaseName}/statements" + private val queryPath: String = if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + s"/repositories/${settings.triplestoreDatabaseName}" + } else if (triplestoreType == TriplestoreTypes.HttpFuseki) { + if (settings.fusekiTomcat) { + s"/${settings.fusekiTomcatContext}/${settings.triplestoreDatabaseName}/query" + } else { + s"/${settings.triplestoreDatabaseName}/query" + } + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + + private val updatePath: String = if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + s"/repositories/${settings.triplestoreDatabaseName}/statements" + } else if (triplestoreType == TriplestoreTypes.HttpFuseki && settings.fusekiTomcat) { + if (settings.fusekiTomcat) { + s"/${settings.fusekiTomcatContext}/${settings.triplestoreDatabaseName}/update" + } else { + s"/${settings.triplestoreDatabaseName}/update" + } + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + + private val checkRepositoryPath: String = if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + "/rest/repositories" + } else if (triplestoreType == TriplestoreTypes.HttpFuseki) { + if (settings.fusekiTomcat) { + s"/${settings.fusekiTomcatContext}/$$/server" + } else { + "$/server" + } + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + + private val graphPath: String = if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + s"/repositories/${settings.triplestoreDatabaseName}/statements" + } else if (triplestoreType == TriplestoreTypes.HttpFuseki) { + if (settings.fusekiTomcat) { + s"/${settings.fusekiTomcatContext}/${settings.triplestoreDatabaseName}/get" + } else { + s"/${settings.triplestoreDatabaseName}/get" + } + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + private val logDelimiter = "\n" + StringUtils.repeat('=', 80) + "\n" /** @@ -145,8 +188,6 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat * @return a [[SparqlSelectResponse]]. */ private def sparqlHttpSelect(sparql: String): Try[SparqlSelectResponse] = { - // println(sparql) - def parseJsonResponse(sparql: String, resultStr: String): Try[SparqlSelectResponse] = { val parseTry = Try { resultStr.parseJson.convertTo[SparqlSelectResponse] @@ -252,69 +293,69 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat } /** - * Given a SPARQL CONSTRUCT query string, runs the query, saving the result as a TriG file. + * Adds a named graph to CONSTRUCT query results. * - * @param sparql the SPARQL CONSTRUCT query string. - * @param graphIri the named graph IRI to be used in the TriG file. - * @param outputFile the output file. - * @return a [[FileWrittenResponse]]. + * @param graphIri the IRI of the named graph. + * @param rdfWriter an [[RDFWriter]] for writing the result. */ - private def sparqlHttpConstructFile(sparql: String, graphIri: IRI, outputFile: File): Try[FileWrittenResponse] = { - /** - * Adds a named graph to CONSTRUCT query results. - * - * @param graphIri the IRI of the named graph. - * @param rdfWriter an [[RDFWriter]] for writing the result. - */ - class ConstructToGraphHandler(graphIri: IRI, rdfWriter: RDFWriter) extends RDFHandler { - private val valueFactory: SimpleValueFactory = SimpleValueFactory.getInstance() - private val context: Resource = valueFactory.createIRI(graphIri) + private class ConstructToGraphHandler(graphIri: IRI, rdfWriter: RDFWriter) extends RDFHandler { + private val valueFactory: SimpleValueFactory = SimpleValueFactory.getInstance() + private val context: Resource = valueFactory.createIRI(graphIri) - override def startRDF(): Unit = rdfWriter.startRDF() + override def startRDF(): Unit = rdfWriter.startRDF() - override def endRDF(): Unit = rdfWriter.endRDF() + override def endRDF(): Unit = rdfWriter.endRDF() - override def handleNamespace(prefix: IRI, uri: IRI): Unit = rdfWriter.handleNamespace(prefix, uri) + override def handleNamespace(prefix: IRI, uri: IRI): Unit = rdfWriter.handleNamespace(prefix, uri) - override def handleStatement(st: Statement): Unit = { - val outputStatement = valueFactory.createStatement( - st.getSubject, - st.getPredicate, - st.getObject, - context - ) - - rdfWriter.handleStatement(outputStatement) - } + override def handleStatement(st: Statement): Unit = { + val outputStatement = valueFactory.createStatement( + st.getSubject, + st.getPredicate, + st.getObject, + context + ) - override def handleComment(comment: IRI): Unit = rdfWriter.handleComment(comment) + rdfWriter.handleStatement(outputStatement) } - /** - * Saves a graph in Turtle format to a file in TriG format. - * - * @param turtleStr the Turtle data. - * @param outputFile the output file. - */ - def turtleToTrig(turtleStr: String, graphIri: IRI, outputFile: File): Unit = { - var maybeBufferedFileWriter: Option[BufferedWriter] = None + override def handleComment(comment: IRI): Unit = rdfWriter.handleComment(comment) + } - try { - maybeBufferedFileWriter = Some(new BufferedWriter(new FileWriter(outputFile))) - val stringReader = new StringReader(turtleStr) - val turtleParser = Rio.createParser(RDFFormat.TURTLE) - val trigFileWriter: RDFWriter = Rio.createWriter(RDFFormat.TRIG, maybeBufferedFileWriter.get) - val constructToGraphHandler = new ConstructToGraphHandler(graphIri = graphIri, rdfWriter = trigFileWriter) - turtleParser.setRDFHandler(constructToGraphHandler) - turtleParser.parse(stringReader, "") - } finally { - maybeBufferedFileWriter.foreach(_.close) - } + /** + * Saves a graph in Turtle format to a file in TriG format. + * + * @param input the Turtle data. + * @param outputFile the output file. + */ + private def turtleToTrig(input: Reader, graphIri: IRI, outputFile: File): Unit = { + var maybeBufferedFileWriter: Option[BufferedWriter] = None + + try { + maybeBufferedFileWriter = Some(new BufferedWriter(new FileWriter(outputFile))) + val turtleParser = Rio.createParser(RDFFormat.TURTLE) + val trigFileWriter: RDFWriter = Rio.createWriter(RDFFormat.TRIG, maybeBufferedFileWriter.get) + val constructToGraphHandler = new ConstructToGraphHandler(graphIri = graphIri, rdfWriter = trigFileWriter) + turtleParser.setRDFHandler(constructToGraphHandler) + turtleParser.parse(input, "") + } finally { + maybeBufferedFileWriter.foreach(_.close) + input.close() } + } + /** + * Given a SPARQL CONSTRUCT query string, runs the query, saving the result as a TriG file. + * + * @param sparql the SPARQL CONSTRUCT query string. + * @param graphIri the named graph IRI to be used in the TriG file. + * @param outputFile the output file. + * @return a [[FileWrittenResponse]]. + */ + private def sparqlHttpConstructFile(sparql: String, graphIri: IRI, outputFile: File): Try[FileWrittenResponse] = { for { turtleStr <- getSparqlHttpResponse(sparql, isUpdate = false, acceptMimeType = mimeTypeTextTurtle) - _ = turtleToTrig(turtleStr = turtleStr, graphIri = graphIri, outputFile = outputFile) + _ = turtleToTrig(input = new StringReader(turtleStr), graphIri = graphIri, outputFile = outputFile) } yield FileWrittenResponse() } @@ -343,23 +384,27 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat * Updates the Lucene full-text search index. */ private def updateLuceneIndex(subjectIri: Option[IRI] = None): Try[SparqlUpdateResponse] = { - val indexUpdateSparqlString = subjectIri match { - case Some(definedSubjectIri) => - // A subject's content has changed. Update the index for that subject. - s"""PREFIX luc: - |INSERT DATA { luc:fullTextSearchIndex luc:addToIndex <$definedSubjectIri> . } - """.stripMargin - - case None => - // Add new subjects to the index. - """PREFIX luc: - |INSERT DATA { luc:fullTextSearchIndex luc:updateIndex _:b1 . } - """.stripMargin - } + if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + val indexUpdateSparqlString = subjectIri match { + case Some(definedSubjectIri) => + // A subject's content has changed. Update the index for that subject. + s"""PREFIX luc: + |INSERT DATA { luc:fullTextSearchIndex luc:addToIndex <$definedSubjectIri> . } + """.stripMargin + + case None => + // Add new subjects to the index. + """PREFIX luc: + |INSERT DATA { luc:fullTextSearchIndex luc:updateIndex _:b1 . } + """.stripMargin + } - for { - _ <- getSparqlHttpResponse(indexUpdateSparqlString, isUpdate = true) - } yield SparqlUpdateResponse() + for { + _ <- getSparqlHttpResponse(indexUpdateSparqlString, isUpdate = true) + } yield SparqlUpdateResponse() + } else { + Success(SparqlUpdateResponse()) + } } /** @@ -376,9 +421,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat _ <- getSparqlHttpResponse(sparqlUpdate, isUpdate = true) // If we're using GraphDB, update the full-text search index. - _ = if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { - updateLuceneIndex() - } + _ = updateLuceneIndex() } yield SparqlUpdateResponse() } @@ -478,20 +521,84 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat case e: TriplestoreUnsupportedFeatureException => Failure(e) case e: Exception => Failure(TriplestoreResponseException("Reset: Failed to execute insert into triplestore", e, log)) } - } /** * Checks connection to the triplestore. */ private def checkRepository(): Try[CheckRepositoryResponse] = { + if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + checkGraphDBRepository() + } else if (triplestoreType == TriplestoreTypes.HttpFuseki) { + checkFusekiRepository() + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + } + + /** + * Checks the connection to a Fuseki triplestore. + */ + private def checkFusekiRepository(): Try[CheckRepositoryResponse] = { + import org.knora.webapi.messages.store.triplestoremessages.FusekiJsonProtocol._ + + try { + log.debug("checkFusekiRepository entered") + + // call endpoint returning all datasets + + val authCache: AuthCache = new BasicAuthCache + val basicAuth: BasicScheme = new BasicScheme + authCache.put(targetHost, basicAuth) + + val context: HttpClientContext = HttpClientContext.create + context.setCredentialsProvider(credsProvider) + context.setAuthCache(authCache) + + val httpGet = new HttpGet(checkRepositoryPath) + httpGet.addHeader("Accept", mimeTypeApplicationJson) + + val responseStr = { + var maybeResponse: Option[CloseableHttpResponse] = None + + try { + maybeResponse = Some(queryHttpClient.execute(targetHost, httpGet, context)) + EntityUtils.toString(maybeResponse.get.getEntity) + } finally { + maybeResponse match { + case Some(response) => response.close() + case None => () + } + } + } + + val nameShouldBe = settings.triplestoreDatabaseName + val fusekiServer: FusekiServer = JsonParser(responseStr).convertTo[FusekiServer] + val neededDataset: Option[FusekiDataset] = fusekiServer.datasets.find(dataset => dataset.dsName == s"/$nameShouldBe" && dataset.dsState) + + if (neededDataset.nonEmpty) { + // everything looks good + Success(CheckRepositoryResponse(repositoryStatus = RepositoryStatus.ServiceAvailable, msg = "Triplestore is available.")) + } else { + // none of the available datasets meet our requirements + Success(CheckRepositoryResponse(repositoryStatus = RepositoryStatus.NotInitialized, msg = s"None of the active datasets meet our requirement of name: $nameShouldBe")) + } + } catch { + case e: Exception => + // println("checkRepository - exception", e) + Success(CheckRepositoryResponse(repositoryStatus = RepositoryStatus.ServiceUnavailable, msg = s"Triplestore not available: ${e.getMessage}")) + } + } + /** + * Checks the connection to a GraphDB triplestore. + */ + private def checkGraphDBRepository(): Try[CheckRepositoryResponse] = { // needs to be a local import or other things don't work (spray json black magic) import org.knora.webapi.messages.store.triplestoremessages.GraphDBJsonProtocol._ try { - - log.debug("checkRepository entered") + log.debug("checkGraphDBRepository entered") // call endpoint returning all repositories @@ -503,7 +610,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat context.setCredentialsProvider(credsProvider) context.setAuthCache(authCache) - val httpGet = new HttpGet("/rest/repositories") + val httpGet = new HttpGet(checkRepositoryPath) httpGet.addHeader("Accept", mimeTypeApplicationJson) val responseStr = { @@ -530,8 +637,9 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat val sesameTypeForSEShouldBe = "owlim:MonitorRepository" val sesameTypeForFreeShouldBe = "graphdb:FreeSailRepository" - val neededRepo = repositories.filter(_.id == idShouldBe).filter(repo => repo.sesameType == sesameTypeForSEShouldBe || repo.sesameType == sesameTypeForFreeShouldBe) - if (neededRepo.length == 1) { + val neededRepo: Option[GraphDBRepository] = repositories.find(repo => repo.id == idShouldBe && (repo.sesameType == sesameTypeForSEShouldBe || repo.sesameType == sesameTypeForFreeShouldBe)) + + if (neededRepo.nonEmpty) { // everything looks good Success(CheckRepositoryResponse(repositoryStatus = RepositoryStatus.ServiceAvailable, msg = "Triplestore is available.")) } else { @@ -562,9 +670,17 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat httpContext.setAuthCache(authCache) val uriBuilder: URIBuilder = new URIBuilder(graphPath) - uriBuilder.setParameter("infer", "false").setParameter("context", s"<$graphIri>") + + if (triplestoreType == TriplestoreTypes.HttpGraphDBSE | triplestoreType == TriplestoreTypes.HttpGraphDBFree) { + uriBuilder.setParameter("infer", "false").setParameter("context", s"<$graphIri>") + } else if (triplestoreType == TriplestoreTypes.HttpFuseki) { + uriBuilder.setParameter("graph", s"$graphIri") + } else { + throw UnsuportedTriplestoreException(s"Unsupported triplestore type: $triplestoreType") + } + val httpGet = new HttpGet(uriBuilder.build()) - httpGet.addHeader("Accept", mimeTypeApplicationTrig) + httpGet.addHeader("Accept", mimeTypeTextTurtle) val responseTry = Try { val start = System.currentTimeMillis() @@ -587,8 +703,14 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat Option(maybeResponse.get.getEntity) match { case Some(responseEntity: HttpEntity) => - // Stream the HTTP entity to the file. - Files.copy(responseEntity.getContent, Paths.get(outputFile.getCanonicalPath)) + // Stream the HTTP entity to the a temporary file. + val turtleFile = new File(outputFile.getCanonicalPath + ".ttl") + Files.copy(responseEntity.getContent, Paths.get(turtleFile.getCanonicalPath)) + + // Convert the Turtle to Trig. + val bufferedReader = new BufferedReader(new FileReader(turtleFile)) + turtleToTrig(input = bufferedReader, graphIri = graphIri, outputFile = outputFile) + turtleFile.delete() FileWrittenResponse() case None => @@ -674,7 +796,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat } val took = System.currentTimeMillis() - start - metricsLogger.info(s"[$statusCode] GraphDB Query took: ${took}ms") + metricsLogger.info(s"[$statusCode] Triplestore query took: ${took}ms") responseEntityStr } finally { diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkGroupExistsByIri.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkGroupExistsByIri.scala.txt index f1df4ab122..4a887400d3 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkGroupExistsByIri.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkGroupExistsByIri.scala.txt @@ -26,6 +26,7 @@ *@ @(groupIri: IRI) +PREFIX xsd: PREFIX rdf: PREFIX knora-admin: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkIriExists.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkIriExists.scala.txt index e7c32be858..5efcf87eb6 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkIriExists.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkIriExists.scala.txt @@ -26,6 +26,7 @@ *@ @(iri: IRI) +PREFIX xsd: PREFIX rdf: ASK { diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByIri.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByIri.scala.txt index 172113a98c..418601b943 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByIri.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByIri.scala.txt @@ -26,6 +26,7 @@ *@ @(listNodeIri: IRI) +PREFIX xsd: PREFIX rdf: PREFIX knora-base: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByName.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByName.scala.txt index 3b6b485622..d76020b148 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByName.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeExistsByName.scala.txt @@ -26,6 +26,7 @@ *@ @(listNodeName: String) +PREFIX xsd: PREFIX rdf: PREFIX knora-base: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeNameIsProjectUnique.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeNameIsProjectUnique.scala.txt index f600a2510f..927179153e 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkListNodeNameIsProjectUnique.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkListNodeNameIsProjectUnique.scala.txt @@ -28,6 +28,7 @@ @(projectIri: IRI, listNodeName: String) +PREFIX xsd: PREFIX rdf: PREFIX knora-base: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkListRootNodeExistsByIri.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkListRootNodeExistsByIri.scala.txt index 0ab1a01aaf..4ec7201bea 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkListRootNodeExistsByIri.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkListRootNodeExistsByIri.scala.txt @@ -26,6 +26,7 @@ *@ @(listNodeIri: IRI) +PREFIX xsd: PREFIX rdf: PREFIX knora-base: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkProjectExistsByIri.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkProjectExistsByIri.scala.txt index 2cd3db45bb..face6aea8d 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkProjectExistsByIri.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkProjectExistsByIri.scala.txt @@ -26,6 +26,7 @@ *@ @(projectIri: IRI) +PREFIX xsd: PREFIX rdf: PREFIX knora-admin: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkUserExists.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkUserExists.scala.txt index a2a24d7088..d75934b17a 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkUserExists.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkUserExists.scala.txt @@ -26,6 +26,7 @@ *@ @(userIri: IRI) +PREFIX xsd: PREFIX rdf: PREFIX knora-admin: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByEmail.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByEmail.scala.txt index 8a57672c98..c3e6019d4b 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByEmail.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByEmail.scala.txt @@ -26,6 +26,7 @@ *@ @(email: String) +PREFIX xsd: PREFIX rdf: PREFIX knora-admin: diff --git a/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByUsername.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByUsername.scala.txt index 33b267750c..d309377606 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByUsername.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/checkUserExistsByUsername.scala.txt @@ -26,6 +26,7 @@ *@ @(username: String) +PREFIX xsd: PREFIX rdf: PREFIX knora-admin: diff --git a/webapi/src/main/twirl/queries/sparql/admin/createNewGroup.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/createNewGroup.scala.txt index 9d790aade6..9c05762364 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/createNewGroup.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/createNewGroup.scala.txt @@ -43,7 +43,7 @@ status: Boolean, hasSelfJoinEnabled: Boolean) -prefix xsd: +PREFIX xsd: PREFIX rdf: PREFIX rdfs: PREFIX owl: diff --git a/webapi/src/main/twirl/queries/sparql/admin/createNewProject.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/createNewProject.scala.txt index b84f3ccda4..fe5473d2ee 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/createNewProject.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/createNewProject.scala.txt @@ -51,7 +51,7 @@ status: Boolean, hasSelfJoinEnabled: Boolean) -prefix xsd: +PREFIX xsd: PREFIX rdf: PREFIX rdfs: PREFIX owl: diff --git a/webapi/src/main/twirl/queries/sparql/admin/createNewUser.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/createNewUser.scala.txt index b398242727..b1a6a01fde 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/createNewUser.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/createNewUser.scala.txt @@ -49,7 +49,7 @@ preferredLanguage: String, systemAdmin: Boolean) -prefix xsd: +PREFIX xsd: PREFIX rdf: PREFIX rdfs: PREFIX owl: diff --git a/webapi/src/main/twirl/queries/sparql/admin/getFileValueGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getFileValueGraphDB.scala.txt index cada5c1dc9..078302d5b7 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getFileValueGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getFileValueGraphDB.scala.txt @@ -33,9 +33,10 @@ *@ @(filename: String) -prefix rdf: -prefix rdfs: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: SELECT ?fileValue ?objPred ?objObj WHERE { diff --git a/webapi/src/main/twirl/queries/sparql/admin/getFileValueStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getFileValueStandard.scala.txt index 30c76f9f9b..e983f1e2b4 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getFileValueStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getFileValueStandard.scala.txt @@ -31,9 +31,10 @@ @(triplestore: String, filename: String) -prefix rdf: -prefix rdfs: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: SELECT ?fileValue ?objPred ?objObj WHERE { diff --git a/webapi/src/main/twirl/queries/sparql/admin/getGroups.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getGroups.scala.txt index 384f8ff09d..0a010614f8 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getGroups.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getGroups.scala.txt @@ -28,8 +28,9 @@ @(triplestore: String, maybeIri: Option[IRI]) -prefix rdf: -prefix knora-admin: +PREFIX xsd: +PREFIX rdf: +PREFIX knora-admin: CONSTRUCT { ?s ?p ?o } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getListNode.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getListNode.scala.txt index 542ee506d7..a7d9b43322 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getListNode.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getListNode.scala.txt @@ -28,10 +28,10 @@ @(triplestore: String, nodeIri: IRI) -prefix xsd: -prefix rdf: -prefix rdfs: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: CONSTRUCT { ?s ?p ?o } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getListNodeWithChildren.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getListNodeWithChildren.scala.txt index af47407737..0c9c0e8790 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getListNodeWithChildren.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getListNodeWithChildren.scala.txt @@ -30,9 +30,10 @@ @(triplestore: String, startNodeIri: IRI) -prefix rdf: -prefix rdfs: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: CONSTRUCT { ?node ?p ?o } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getLists.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getLists.scala.txt index 73761a94d5..a37bc121a8 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getLists.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getLists.scala.txt @@ -29,10 +29,10 @@ @(triplestore: String, maybeProjectIri: Option[IRI]) -prefix xsd: -prefix rdf: -prefix rdfs: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: CONSTRUCT { ?s ?p ?o . } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getNodePath.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getNodePath.scala.txt index 5ee725bb14..4b56e406db 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getNodePath.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getNodePath.scala.txt @@ -33,10 +33,11 @@ preferredLanguage: String, fallbackLanguage: String) -prefix rdf: -prefix rdfs: -prefix xsd: -prefix knora-base: +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX knora-base: SELECT DISTINCT ?node ?nodeName ?label ?child @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getProjectAdminMembers.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getProjectAdminMembers.scala.txt index c506ed7e42..b2b6687574 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getProjectAdminMembers.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getProjectAdminMembers.scala.txt @@ -33,8 +33,9 @@ maybeShortname: Option[String], maybeShortcode: Option[String]) -prefix rdf: -prefix knora-admin: +PREFIX xsd: +PREFIX rdf: +PREFIX knora-admin: CONSTRUCT {?s knora-admin:isInProjectAdminGroup ?project . } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getProjectMembers.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getProjectMembers.scala.txt index a5c02ed3a9..915d2988c7 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getProjectMembers.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getProjectMembers.scala.txt @@ -33,8 +33,9 @@ maybeShortname: Option[String], maybeShortcode: Option[String]) -prefix rdf: -prefix knora-admin: +PREFIX xsd: +PREFIX rdf: +PREFIX knora-admin: CONSTRUCT { ?s knora-admin:isInProject ?project .} @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getProjects.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getProjects.scala.txt index 92c90f769d..97bfbd6a24 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getProjects.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getProjects.scala.txt @@ -32,8 +32,9 @@ maybeShortname: Option[String], maybeShortcode: Option[String]) -prefix rdf: -prefix knora-admin: +PREFIX xsd: +PREFIX rdf: +PREFIX knora-admin: CONSTRUCT { ?s ?p ?o . } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/getUsers.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/getUsers.scala.txt index 7f93902494..e70ce40e77 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/getUsers.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/getUsers.scala.txt @@ -33,8 +33,9 @@ maybeUsername: Option[String], maybeEmail: Option[String]) -prefix rdf: -prefix knora-admin: +PREFIX xsd: +PREFIX rdf: +PREFIX knora-admin: CONSTRUCT { ?s ?p ?o . } @* Ensure that inference is not used in this query. *@ diff --git a/webapi/src/main/twirl/queries/sparql/admin/updateGroup.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/updateGroup.scala.txt index 3a401b1e2f..316bef2d13 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/updateGroup.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/updateGroup.scala.txt @@ -41,10 +41,10 @@ maybeStatus: Option[Boolean], maybeSelfjoin: Option[Boolean]) -prefix rdf: -prefix rdfs: -prefix xsd: -prefix knora-admin: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX knora-admin: WITH <@adminNamedGraphIri> DELETE { diff --git a/webapi/src/main/twirl/queries/sparql/admin/updateListInfo.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/updateListInfo.scala.txt index b3ec1ee0c2..e92d9ed4dc 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/updateListInfo.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/updateListInfo.scala.txt @@ -40,10 +40,10 @@ maybeLabels: Seq[StringLiteralV2], maybeComments: Seq[StringLiteralV2]) -prefix rdf: -prefix rdfs: -prefix xsd: -prefix knora-base: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX knora-base: WITH <@dataNamedGraph> DELETE { diff --git a/webapi/src/main/twirl/queries/sparql/admin/updateProject.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/updateProject.scala.txt index cef787ff82..269f4656c4 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/updateProject.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/updateProject.scala.txt @@ -46,10 +46,10 @@ maybeStatus: Option[Boolean], maybeSelfjoin: Option[Boolean]) -prefix rdf: -prefix rdfs: -prefix xsd: -prefix knora-admin: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX knora-admin: WITH <@adminNamedGraphIri> DELETE { diff --git a/webapi/src/main/twirl/queries/sparql/admin/updateUser.scala.txt b/webapi/src/main/twirl/queries/sparql/admin/updateUser.scala.txt index c430236113..4d00be7463 100644 --- a/webapi/src/main/twirl/queries/sparql/admin/updateUser.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/admin/updateUser.scala.txt @@ -54,10 +54,10 @@ maybeGroups: Option[Seq[IRI]], maybeSystemAdmin: Option[Boolean]) -prefix rdf: -prefix rdfs: -prefix xsd: -prefix knora-admin: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX knora-admin: WITH <@adminNamedGraphIri> DELETE { @@ -207,5 +207,5 @@ WHERE { ?user knora-admin:isInSystemAdminGroup ?currentIsInSystemAdminGroup . - FILTER(!(?user = IRI("@KnoraSystemInstances.Users.AnonymousUser.id") || ?s = IRI("@KnoraSystemInstances.Users.SystemUser.id"))) + FILTER(!(?user = IRI("@KnoraSystemInstances.Users.AnonymousUser.id") || ?user = IRI("@KnoraSystemInstances.Users.SystemUser.id"))) } diff --git a/webapi/src/main/twirl/queries/sparql/v1/getIncomingReferencesStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v1/getIncomingReferencesStandard.scala.txt index d143587a50..37efe097b8 100644 --- a/webapi/src/main/twirl/queries/sparql/v1/getIncomingReferencesStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v1/getIncomingReferencesStandard.scala.txt @@ -74,6 +74,8 @@ WHERE { FILTER NOT EXISTS { ?prop rdfs:subPropertyOf* knora-base:resourceProperty . } + + BIND(false as ?isLinkValue) } UNION { @@ -82,11 +84,16 @@ WHERE { ?prop rdfs:subPropertyOf* knora-base:hasLinkToValue . ?referringResource ?prop ?obj . - ?obj rdf:predicate ?linkProp ; - rdf:object ?resource ; - knora-base:isDeleted false ; + ?obj knora-base:isDeleted false ; ?objPred ?objObj . BIND(true as ?isLinkValue) } + + OPTIONAL { + ?obj rdf:predicate ?linkValuePredicate ; + rdf:object ?linkValueObject . + } + + FILTER(!?isLinkValue || (?linkValuePredicate = ?linkProp && ?linkValueObject = ?resource)) } diff --git a/webapi/src/main/twirl/queries/sparql/v1/getResourceSearchResultStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v1/getResourceSearchResultStandard.scala.txt index 0eeb39fc3e..adb92fc4de 100644 --- a/webapi/src/main/twirl/queries/sparql/v1/getResourceSearchResultStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v1/getResourceSearchResultStandard.scala.txt @@ -93,11 +93,15 @@ WHERE { @if(numberOfProps > 1) { - ?resourceIri ?property ?valueObjectIri . - ?property knora-base:objectClassConstraint knora-base:TextValue . - ?valueObjectIri knora-base:valueHasString ?valueString ; - knora-base:isDeleted false ; - knora-base:valueHasOrder ?valueOrder . + OPTIONAL { + + ?resourceIri ?property ?valueObjectIri . + ?property knora-base:objectClassConstraint knora-base:TextValue . + ?valueObjectIri knora-base:valueHasString ?valueString ; + knora-base:isDeleted false ; + knora-base:valueHasOrder ?valueOrder . + + } } diff --git a/webapi/src/main/twirl/queries/sparql/v1/searchExtendedGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v1/searchExtendedGraphDB.scala.txt index 270bdaa98d..26435d2604 100644 --- a/webapi/src/main/twirl/queries/sparql/v1/searchExtendedGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v1/searchExtendedGraphDB.scala.txt @@ -268,8 +268,8 @@ WHERE { ?valueObject@index knora-base:valueHasListNode ?listNode@index . <@searchCriterion.searchValue> knora-base:hasSubListNode* ?listNode@index . - ?listNode@index rdfs:label ?listNodeLabel@index . - BIND(?listNodeLabel@index AS ?literal@index) + ?listNode@index rdfs:label ?listNodeLabel@index . + BIND(?listNodeLabel@index AS ?literal@index) } diff --git a/webapi/src/main/twirl/queries/sparql/v1/searchExtendedStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v1/searchExtendedStandard.scala.txt index 9b82d1733d..baf2b118d6 100644 --- a/webapi/src/main/twirl/queries/sparql/v1/searchExtendedStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v1/searchExtendedStandard.scala.txt @@ -257,11 +257,11 @@ WHERE { *@ - ?valueObject@index knora-base:valueHasListNode ?listNode . - <@searchCriterion.searchValue> knora-base:hasSubListNode* ?listNode . + ?valueObject@index knora-base:valueHasListNode ?listNode@index . + <@searchCriterion.searchValue> knora-base:hasSubListNode* ?listNode@index . - ?listNode rdfs:label ?listNodeLabel . - BIND(?listNodeLabel AS ?literal@index) + ?listNode@index rdfs:label ?listNodeLabel@index . + BIND(?listNodeLabel@index AS ?literal@index) } diff --git a/webapi/src/main/twirl/queries/sparql/v2/eraseResource.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/eraseResource.scala.txt index d396e5e74d..a04c906ea7 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/eraseResource.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/eraseResource.scala.txt @@ -24,18 +24,22 @@ * Erases a resource from the triplestore. * * @param triplestore the name of the triplestore being used. + * @param dataNamedGraph the named graph to update. * @param resourceIri the IRI of the resource to be marked as deleted. *@ @(triplestore: String, + dataNamedGraph: IRI, resourceIri: IRI) @if(triplestore.startsWith("graphdb")) { @{ - queries.sparql.v2.txt.eraseResourceGraphDB(resourceIri = resourceIri) + queries.sparql.v2.txt.eraseResourceGraphDB(dataNamedGraph = dataNamedGraph, + resourceIri = resourceIri) } } else { @{ queries.sparql.v2.txt.eraseResourceStandard(triplestore: String, + dataNamedGraph = dataNamedGraph, resourceIri = resourceIri) } } diff --git a/webapi/src/main/twirl/queries/sparql/v2/eraseResourceGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/eraseResourceGraphDB.scala.txt index ca5be2a789..3e1639def6 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/eraseResourceGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/eraseResourceGraphDB.scala.txt @@ -26,7 +26,8 @@ * @param dataNamedGraph the named graph to update. * @param resourceIri the IRI of the resource to be marked as deleted. *@ -@(resourceIri: IRI) +@(dataNamedGraph: IRI, + resourceIri: IRI) PREFIX rdf: PREFIX rdfs: @@ -35,12 +36,16 @@ PREFIX xsd: PREFIX knora-base: DELETE { - <@resourceIri> ?resourcePred ?resourceObj . - ?value ?valuePred ?valueObj . - ?standoff ?standoffPred ?standoffObj . - ?otherResource ?otherResourceProp ?otherResourceCurrentLinkValue . - ?otherResourceLinkValue ?otherResourceLinkValuePred ?otherResourceLinkValueObj . + GRAPH ?dataNamedGraph { + <@resourceIri> ?resourcePred ?resourceObj . + ?value ?valuePred ?valueObj . + ?standoff ?standoffPred ?standoffObj . + ?otherResource ?otherResourceProp ?otherResourceCurrentLinkValue . + ?otherResourceLinkValue ?otherResourceLinkValuePred ?otherResourceLinkValueObj . + } } WHERE { + BIND(IRI("@dataNamedGraph") AS ?dataNamedGraph) + @* Make sure the resource is really a resource. *@ <@resourceIri> a knora-base:Resource . diff --git a/webapi/src/main/twirl/queries/sparql/v2/eraseResourceStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/eraseResourceStandard.scala.txt index 7a3c47518d..24b433059c 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/eraseResourceStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/eraseResourceStandard.scala.txt @@ -24,20 +24,31 @@ * Erases a resource from the triplestore using standard SPARQL. * * @param triplestore the name of the triplestore being used. + * @param dataNamedGraph the named graph to update. * @param resourceIri the IRI of the resource to be marked as deleted. *@ @(triplestore: String, + dataNamedGraph: IRI, resourceIri: IRI) +PREFIX rdf: +PREFIX rdfs: +PREFIX owl: +PREFIX xsd: +PREFIX knora-base: + DELETE { - <@resourceIri> ?resourcePred ?resourceObj . - ?value ?valuePred ?valueObj . - ?standoff ?standoffPred ?standoffObj . - ?otherResource ?otherResourceProp ?otherResourceCurrentLinkValue . - ?otherResourceLinkValue ?otherResourceLinkValuePred ?otherResourceLinkValueObj . + GRAPH ?dataNamedGraph { + <@resourceIri> ?resourcePred ?resourceObj . + ?value ?valuePred ?valueObj . + ?standoff ?standoffPred ?standoffObj . + ?otherResource ?otherResourceProp ?otherResourceCurrentLinkValue . + ?otherResourceLinkValue ?otherResourceLinkValuePred ?otherResourceLinkValueObj . + } } WHERE { - @* Make sure the resource is really a resource. *@ + BIND(IRI("@dataNamedGraph") AS ?dataNamedGraph) + @* Make sure the resource is really a resource. *@ <@resourceIri> a ?resourceClass . ?resourceClass rdfs:subClassOf* knora-base:Resource . @@ -58,7 +69,7 @@ DELETE { <@resourceIri> ?valueProp ?currentTextValue . ?currentTextValue a knora-base:TextValue ; - ?currentTextValue knora-base:previousValue* ?textValue . + knora-base:previousValue* ?textValue . ?textValue knora-base:valueHasStandoff ?standoff . ?standoff ?standoffPred ?standoffObj . } UNION { diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesGraphDB.scala.txt index b45d4e9a4f..e85eda9546 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesGraphDB.scala.txt @@ -92,14 +92,7 @@ CONSTRUCT { ?resourceLinkProperty ?referredResource . ?referredResource a knora-base:Resource ; - knora-base:isDeleted false ; - rdfs:label ?referredResourceLabel ; - a ?referredResourceType ; - knora-base:attachedToUser ?referredResourceCreator ; - knora-base:hasPermissions ?referredResourcePermissions ; - knora-base:attachedToProject ?referredResourceProject ; - knora-base:creationDate ?referredResourceCreationDate ; - knora-base:lastModificationDate ?referredResourceLastModificationDate . + ?referredResourcePred ?referredResourceObj . } } WHERE { @@ -298,21 +291,11 @@ CONSTRUCT { *@ GRAPH { ?valueObject a knora-base:LinkValue ; - rdf:predicate ?resourceLinkProperty ; - rdf:object ?referredResource . - ?referredResource a ?referredResourceType . - } - - ?referredResource a knora-base:Resource ; - knora-base:isDeleted false ; - rdfs:label ?referredResourceLabel ; - knora-base:attachedToUser ?referredResourceCreator ; - knora-base:hasPermissions ?referredResourcePermissions ; - knora-base:attachedToProject ?referredResourceProject ; - knora-base:creationDate ?referredResourceCreationDate . + rdf:predicate ?resourceLinkProperty ; + rdf:object ?referredResource . - OPTIONAL { - ?referredResource knora-base:lastModificationDate ?lastModificationDate . + ?referredResource knora-base:isDeleted false ; + ?referredResourcePred ?referredResourceObj . } } } diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesStandard.scala.txt index a05bf36032..7eba4d1661 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourcePropertiesAndValuesStandard.scala.txt @@ -57,9 +57,229 @@ maybeStandoffMaxStartIndex: Option[Int], stringFormatter: StringFormatter) +PREFIX xsd: +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: -@* +CONSTRUCT { + @* include this inferred information in the results, needed to identify resources *@ + ?resource a knora-base:Resource ; + knora-base:isDeleted false ; + knora-base:isMainResource true ; + knora-base:attachedToProject ?resourceProject ; + rdfs:label ?label ; + a ?resourceType ; + knora-base:attachedToUser ?resourceCreator ; + knora-base:hasPermissions ?resourcePermissions ; + knora-base:creationDate ?creationDate ; + knora-base:lastModificationDate ?lastModificationDate . + + @* include this inferred information in the results, needed to identify value properties *@ + ?resource knora-base:hasValue ?valueObject ; + ?resourceValueProperty ?valueObject . + + ?valueObject ?valueObjectProperty ?valueObjectValue ; + knora-base:valueHasUUID ?currentValueUUID ; + knora-base:hasPermissions ?currentValuePermissions . + + @if(maybeStandoffMinStartIndex.nonEmpty) { + ?valueObject knora-base:valueHasStandoff ?standoffNode . + ?standoffNode ?standoffProperty ?standoffValue ; + knora-base:targetHasOriginalXMLID ?targetOriginalXMLID . + } + + @if(queryAllNonStandoff) { + @* include this inferred information in the results, needed to identify linking properties *@ + ?resource knora-base:hasLinkTo ?referredResource ; + ?resourceLinkProperty ?referredResource . + + ?referredResource a knora-base:Resource ; + ?referredResourcePred ?referredResourceObj . + } + +} WHERE { + VALUES ?resource { @for(resIri <- resourceIris) { <@resIri> } } + + ?resource rdf:type ?resourceType . + ?resourceType rdfs:subClassOf* knora-base:Resource . + + ?resource knora-base:attachedToProject ?resourceProject ; + knora-base:attachedToUser ?resourceCreator ; + knora-base:hasPermissions ?resourcePermissions ; + knora-base:creationDate ?creationDate ; + rdfs:label ?label ; + knora-base:isDeleted false . + + @* Is this a version history request? *@ + @maybeVersionDate match { + case Some(versionDate) => { + @* Yes. Ensure that the resource was created on or before the target date. *@ + + FILTER(?creationDate <= "@versionDate"^^xsd:dateTime) + } + + case None => {} + } + + OPTIONAL { + ?resource knora-base:lastModificationDate ?lastModificationDate . + } + + @* If this isn't a preview request, return the resource's values. *@ + @if(!preview) { + @* There might be resources with no values. *@ + OPTIONAL { + @* Is this a version history request? *@ + @maybeVersionDate match { + case Some(versionDate) => { + @* Yes. Find the values that existed at the target date. *@ + + @* Get the current version of each value. *@ + + ?resource ?resourceValueProperty ?currentValue . + ?resourceValueProperty rdfs:subPropertyOf* knora-base:hasValue . + + @maybePropertyIri match { + case Some(propertyIri) => { + FILTER(?resourceValueProperty = <@propertyIri>) + } + + case None => {} + } + + @* If the value was deleted on or before the target date, ignore all its versions. *@ + FILTER NOT EXISTS { + ?currentValue knora-base:deleteDate ?currentValueDeleteDate . + FILTER(?currentValueDeleteDate <= "@versionDate"^^xsd:dateTime) + } + + @* Get the current version's UUID, because we're going to return it with the requested version. *@ + ?currentValue knora-base:valueHasUUID ?currentValueUUID . + + @* Filter by value UUID if requested. *@ + @maybeValueUuid match { + case Some(valueUuid) => { + FILTER(?currentValueUUID = "@{stringFormatter.base64EncodeUuid(valueUuid)}") + } + + case None => {} + } + + @* In each value's history, find a version that was created on or before the target date. *@ + ?currentValue knora-base:previousValue* ?valueObject . + ?valueObject knora-base:valueCreationDate ?valueObjectCreationDate . + FILTER(?valueObjectCreationDate <= "@versionDate"^^xsd:dateTime) + + @* + + If the value's history contains another version that was also created on or before + the target date, and is more recent than this one, ignore this one. This should leave at most + one version, which is the most recent version that was created on or before the target date. + + *@ + FILTER NOT EXISTS { + ?currentValue knora-base:previousValue* ?otherValueObject . + ?otherValueObject knora-base:valueCreationDate ?otherValueObjectCreationDate . + + FILTER( + (?otherValueObjectCreationDate <= "@versionDate"^^xsd:dateTime) && + (?otherValueObjectCreationDate > ?valueObjectCreationDate) + ) + } + + @* Use the permissions from the current version. *@ + ?currentValue knora-base:hasPermissions ?currentValuePermissions + } + + case None => { + @* This isn't a version history request. Return the current version of each value. *@ + + ?resource ?resourceValueProperty ?valueObject . + ?resourceValueProperty rdfs:subPropertyOf* knora-base:hasValue . + ?valueObject knora-base:isDeleted false . + + @maybePropertyIri match { + case Some(propertyIri) => { + FILTER(?resourceValueProperty = <@propertyIri>) + } + + case None => {} + } + + @* Filter by value UUID if requested. *@ + @maybeValueUuid match { + case Some(valueUuid) => { + ?valueObject knora-base:valueHasUUID "@{stringFormatter.base64EncodeUuid(valueUuid)}" . + } + + case None => {} + } + + ?valueObject knora-base:hasPermissions ?currentValuePermissions . + } + } + + @* Filter by value IRI if requested. *@ + @maybeValueIri match { + case Some(valueIri) => { + FILTER(?valueObject = <@valueIri>) + } + + case None => {} + } + + { + ?valueObject a ?valueObjectType ; + ?valueObjectProperty ?valueObjectValue . + + FILTER(?valueObjectProperty != knora-base:valueHasStandoff && ?valueObjectProperty != knora-base:hasPermissions) + + @* Exclude knora-base:valueHasString if requested. *@ + + @if(!queryAllNonStandoff) { + FILTER(?valueObjectProperty != knora-base:valueHasString) + } + } + @* Query standoff if requested. *@ + @maybeStandoffMinStartIndex match { + case Some(standoffMinStartIndex) => { + @if(maybeStandoffMaxStartIndex.isEmpty) { + @{throw SparqlGenerationException("maybeStandoffMaxStartIndex must be defined if maybeStandoffMinStartIndex is defined"); ()} + } + + UNION { + ?valueObject knora-base:valueHasStandoff ?standoffNode . + ?standoffNode ?standoffProperty ?standoffValue ; + knora-base:standoffTagHasStartIndex ?startIndex . + + OPTIONAL { + ?standoffTag knora-base:standoffTagHasInternalReference ?targetStandoffTag . + ?targetStandoffTag knora-base:standoffTagHasOriginalXMLID ?targetOriginalXMLID . + } + + FILTER(?startIndex >= @standoffMinStartIndex && ?startIndex <= @{maybeStandoffMaxStartIndex.get}) + } + } + + case None => {} + } + @if(queryAllNonStandoff) { + UNION { + @* + + If the value is a link value, get the referred resource, as long as it hasn't been + marked as deleted. - TODO: To be implemented + *@ + ?valueObject a knora-base:LinkValue ; + rdf:predicate ?resourceLinkProperty ; + rdf:object ?referredResource . -*@ \ No newline at end of file + ?referredResource ?referredResourcePred ?referredResourceObj ; + knora-base:isDeleted false . + } + } + } + } +} diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryGraphDB.scala.txt index 359a8ecdc2..0600746d26 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryGraphDB.scala.txt @@ -31,8 +31,9 @@ maybeStartDate: Option[Instant] = None, maybeEndDate: Option[Instant] = None) -PREFIX knora-base: PREFIX xsd: +PREFIX rdfs: +PREFIX knora-base: SELECT DISTINCT ?versionDate ?author WHERE { <@resourceIri> knora-base:isDeleted false ; diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryStandard.scala.txt index 1784e4d04d..d4e81f5476 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourceValueVersionHistoryStandard.scala.txt @@ -31,7 +31,39 @@ maybeStartDate: Option[Instant] = None, maybeEndDate: Option[Instant] = None) -PREFIX knora-base: PREFIX xsd: +PREFIX rdfs: +PREFIX knora-base: + +SELECT DISTINCT ?versionDate ?author WHERE { + <@resourceIri> knora-base:isDeleted false ; + ?property ?currentValue . + + ?property rdfs:subPropertyOf* knora-base:hasValue . + + ?currentValue knora-base:previousValue* ?valueObject . + + { + ?valueObject knora-base:valueCreationDate ?versionDate . + ?valueObject knora-base:attachedToUser ?author . + } UNION { + ?valueObject knora-base:deleteDate ?versionDate . + ?valueObject knora-base:deletedBy ?author . + } + + @maybeStartDate match { + case Some(startDate) => { + FILTER(?versionDate >= "@startDate"^^xsd:dateTime) + } + + case None => {} + } + + @maybeEndDate match { + case Some(endDate) => { + FILTER(?versionDate < "@endDate"^^xsd:dateTime) + } -@* TODO *@ + case None => {} + } +} ORDER BY DESC(?versionDate) diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryGraphDB.scala.txt index 519fdffa5c..59b98e5795 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryGraphDB.scala.txt @@ -39,10 +39,11 @@ limit: Int) PREFIX rdf: -PREFIX knora-base: PREFIX rdfs: +PREFIX knora-base: SELECT DISTINCT ?resource +FROM WHERE { ?resource knora-base:attachedToProject <@projectIri> ; rdf:type <@resourceClassIri> ; @@ -53,6 +54,12 @@ WHERE { OPTIONAL { ?resource <@orderByProperty> ?orderByValue . ?orderByValue <@{maybeOrderByValuePredicate.get}> ?orderByValueLiteral . + + FILTER NOT EXISTS { + ?resource <@orderByProperty> ?otherOrderByValue . + ?otherOrderByValue <@{maybeOrderByValuePredicate.get}> ?otherOrderByValueLiteral . + FILTER(?otherOrderByValueLiteral < ?orderByValueLiteral) + } } } diff --git a/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryStandard.scala.txt index fddf553cc6..bac5b20452 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/getResourcesInProjectPrequeryStandard.scala.txt @@ -40,8 +40,37 @@ offset: Int, limit: Int) -@* +PREFIX rdf: +PREFIX rdfs: +PREFIX knora-base: + +SELECT DISTINCT ?resource +WHERE { + ?resource knora-base:attachedToProject <@projectIri> ; + rdf:type <@resourceClassIri> ; + knora-base:isDeleted false . + + @maybeOrderByProperty match { + case Some(orderByProperty) => { + OPTIONAL { + ?resource <@orderByProperty> ?orderByValue . + ?orderByValue <@{maybeOrderByValuePredicate.get}> ?orderByValueLiteral . -TODO + FILTER NOT EXISTS { + ?resource <@orderByProperty> ?otherOrderByValue . + ?otherOrderByValue <@{maybeOrderByValuePredicate.get}> ?otherOrderByValueLiteral . + FILTER(?otherOrderByValueLiteral < ?orderByValueLiteral) + } + } + } -*@ + case None => {} + } +} +ORDER BY + @if(maybeOrderByProperty.nonEmpty) { + ASC(?orderByValueLiteral) + } + ASC(?resource) +OFFSET @offset +LIMIT @limit diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchFulltextGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchFulltextGraphDB.scala.txt index 4a0a68838b..940aad858d 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/searchFulltextGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/searchFulltextGraphDB.scala.txt @@ -19,7 +19,6 @@ @import org.knora.webapi.IRI @import org.knora.webapi.SparqlGenerationException -@import org.knora.webapi.GravsearchException @import org.knora.webapi.util.ApacheLuceneSupport.LuceneQueryString @* @@ -54,7 +53,7 @@ PREFIX knora-base: PREFIX rdfs: @if(!countQuery) { -SELECT DISTINCT ?resource (GROUP_CONCAT(?valueObject; separator="@separator.getOrElse(throw GravsearchException("Separator expected for non count query, but none given"))") AS ?valueObjectConcat) +SELECT DISTINCT ?resource (GROUP_CONCAT(IF(BOUND(?valueObject), STR(?valueObject), ""); separator="@separator.getOrElse(throw SparqlGenerationException("Separator expected for non count query, but none given"))") AS ?valueObjectConcat) } else { SELECT (count(distinct ?resource) as ?count) } @@ -73,15 +72,12 @@ WHERE { @if(limitToStandoffClass.nonEmpty) { # ?matchingSubject is expected to be a TextValue - ?matchingSubject a knora-base:TextValue . + ?matchingSubject a knora-base:TextValue ; + knora-base:valueHasStandoff ?standoffNode . - ?matchingSubject knora-base:valueHasStandoff ?standoffNode . - - ?standoffNode a <@limitToStandoffClass.get> . - - ?standoffNode knora-base:standoffTagHasStart ?start . - - ?standoffNode knora-base:standoffTagHasEnd ?end . + ?standoffNode a <@limitToStandoffClass.get> ; + knora-base:standoffTagHasStart ?start ; + knora-base:standoffTagHasEnd ?end . # https://www.w3.org/TR/xpath-functions/#func-substring # The first character of a string is located at position 1, not position 0. -> standoff uses a 0 based index @@ -121,12 +117,20 @@ WHERE { ?resource a knora-base:Resource ; knora-base:isDeleted false . - @if(limitToResourceClass.nonEmpty) { - ?resource a <@limitToResourceClass.get> . + @limitToResourceClass match { + case Some(definedLimitToResourceClass) => { + ?resource a <@definedLimitToResourceClass> . + } + + case None => {} } - @if(limitToProject.nonEmpty) { - ?resource knora-base:attachedToProject <@limitToProject.get> + @limitToProject match { + case Some(definedLimitToProject) => { + ?resource knora-base:attachedToProject <@definedLimitToProject> . + } + + case None => {} } } diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchFulltextStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchFulltextStandard.scala.txt index 21a1be9559..75b589e619 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/searchFulltextStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/searchFulltextStandard.scala.txt @@ -21,6 +21,7 @@ @import org.knora.webapi.SparqlGenerationException @import org.knora.webapi.util.ApacheLuceneSupport.LuceneQueryString + @* * Performs a simple full-text search using standard SPARQL (except for the interface to Lucene, which is * triplestore-specific), and without inference. @@ -50,8 +51,91 @@ offset: Int, countQuery: Boolean) -@* +PREFIX knora-base: +PREFIX rdfs: + +@if(!countQuery) { +SELECT DISTINCT ?resource (GROUP_CONCAT(IF(BOUND(?valueObject), STR(?valueObject), ""); separator="@separator.getOrElse(throw SparqlGenerationException("Separator expected for non count query, but none given"))") AS ?valueObjectConcat) +} else { + SELECT (count(distinct ?resource) as ?count) +} +WHERE { + + { + SELECT DISTINCT ?matchingSubject WHERE { + + ?matchingSubject '@searchTerms.getQueryString' . + + @* standoff search *@ + @if(limitToStandoffClass.nonEmpty) { + + # ?matchingSubject is expected to be a TextValue + ?matchingSubject a knora-base:TextValue ; + knora-base:valueHasString ?literal ; + knora-base:valueHasStandoff ?standoffNode . + + ?standoffNode a <@limitToStandoffClass.get> ; + knora-base:standoffTagHasStart ?start ; + knora-base:standoffTagHasEnd ?end . + + # https://www.w3.org/TR/xpath-functions/#func-substring + # The first character of a string is located at position 1, not position 0. -> standoff uses a 0 based index + BIND(SUBSTR(?literal, ?start+1, ?end - ?start) AS ?markedup) + + @* Loop over search terms and make sure they are all contained in the specified standoff markup *@ + @for(term <- searchTerms.getSingleTerms) { + @* TODO: Ignore Lucene operators *@ + FILTER REGEX(?markedup, '@term', "i") + } + + } + } + } + + OPTIONAL { + ?matchingSubject a ?valueObjectType ; + knora-base:isDeleted false . + + ?valueObjectType rdfs:subClassOf *knora-base:Value . + + FILTER(?valueObjectType != knora-base:LinkValue && ?valueObjectType != knora-base:ListValue) + + ?containingResource ?property ?matchingSubject . + + ?property rdfs:subPropertyOf* knora-base:hasValue . + + # this variable will only be bound if the search matched a value object + BIND(?matchingSubject AS ?valueObject) + } + + # If the previous OPTIONAL clause was executed, ?matchingSubject is a value object, and ?containingResource will be set. + # Otherwise, ?matchingSubject is a resource (its rdfs:label matched the search pattern). + BIND(COALESCE(?containingResource, ?matchingSubject) AS ?resource) + + ?resource a ?resourceClass ; + knora-base:isDeleted false . + + ?resourceClass rdfs:subClassOf* knora-base:Resource . + + @limitToResourceClass match { + case Some(definedLimitToResourceClass) => { + ?resourceClass rdfs:subClassOf* <@definedLimitToResourceClass> . + } + + case None => {} + } - TODO: To be implemented + @limitToProject match { + case Some(definedLimitToProject) => { + ?resource knora-base:attachedToProject <@definedLimitToProject> . + } -*@ \ No newline at end of file + case None => {} + } +} +@if(!countQuery) { +GROUP BY ?resource +ORDER BY ?resource +OFFSET @offset +} +LIMIT @limit diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelGraphDB.scala.txt index 8c18bc0ce0..a616cce07e 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelGraphDB.scala.txt @@ -87,7 +87,7 @@ PREFIX knora-base: ?resource knora-base:lastModificationDate ?lastModificationDate . } } - # there might by resources that have neither values nor links + # there might be resources that have neither values nor links UNION { ?resource knora-base:hasValue ?valueObject . ?valueObject a knora-base:Value . diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelStandard.scala.txt index c01108a29f..88106f05a8 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelStandard.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelStandard.scala.txt @@ -40,8 +40,90 @@ offset: Int, countQuery: Boolean) - @* +PREFIX rdfs: +PREFIX knora-base: - TODO: To be implemented +@if(!countQuery) { + CONSTRUCT { + ?resource rdfs:label ?label ; + a knora-base:Resource ; + knora-base:isMainResource true ; + knora-base:isDeleted false ; + a ?resourceType ; + knora-base:attachedToUser ?resourceCreator ; + knora-base:hasPermissions ?resourcePermissions ; + knora-base:attachedToProject ?resourceProject ; + knora-base:creationDate ?creationDate ; + knora-base:lastModificationDate ?lastModificationDate . - *@ \ No newline at end of file + # include this inferred information in the results, needed to identify value properties + ?resource knora-base:hasValue ?valueObject ; + ?resourceValueProperty ?valueObject . + ?valueObject ?valueObjectProperty ?valueObjectValue . + + } WHERE { + { + { + @{ + queries.sparql.v2.txt.searchResourceByLabelSubQuerySelectStandard( + searchTerm = searchTerm, + limitToProject = limitToProject, + limitToResourceClass = limitToResourceClass, + limit = limit, + offset = offset, + countQuery = countQuery) + } + } + + ?resource a ?resourceType ; + knora-base:attachedToUser ?resourceCreator ; + knora-base:hasPermissions ?resourcePermissions ; + knora-base:attachedToProject ?resourceProject ; + knora-base:creationDate ?creationDate ; + rdfs:label ?label . + + OPTIONAL { + ?resource knora-base:lastModificationDate ?lastModificationDate . + } + } + # there might be resources that have neither values nor links + UNION { + { + @{ + queries.sparql.v2.txt.searchResourceByLabelSubQuerySelectStandard( + searchTerm = searchTerm, + limitToProject = limitToProject, + limitToResourceClass = limitToResourceClass, + limit = limit, + offset = offset, + countQuery = countQuery) + } + } + + ?resource ?resourceValueProperty ?valueObject . + ?resourceValueProperty rdfs:subPropertyOf* knora-base:hasValue . + + ?valueObject a ?valueObjectType ; + knora-base:isDeleted false ; + ?valueObjectProperty ?valueObjectValue . + + ?valueObjectType rdfs:subClassOf* knora-base:Value . + + FILTER(?valueObjectType != knora-base:LinkValue) + + FILTER NOT EXISTS { + ?valueObjectValue a knora-base:StandoffTag . + } + } + } +} else { + @{ + queries.sparql.v2.txt.searchResourceByLabelSubQuerySelectStandard( + searchTerm = searchTerm, + limitToProject = limitToProject, + limitToResourceClass = limitToResourceClass, + limit = limit, + offset = offset, + countQuery = countQuery) + } +} diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectGraphDB.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectGraphDB.scala.txt index 763079b62c..2c6257ff6c 100644 --- a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectGraphDB.scala.txt +++ b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectGraphDB.scala.txt @@ -57,8 +57,8 @@ WHERE { } GRAPH { - ?resource rdfs:label ?label . - } + ?resource rdfs:label ?label . + } ?label '@searchTerm.generateLiteralForLuceneIndexWithoutExactSequence' . } diff --git a/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectStandard.scala.txt b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectStandard.scala.txt new file mode 100644 index 0000000000..60f36512d5 --- /dev/null +++ b/webapi/src/main/twirl/queries/sparql/v2/searchResourceByLabelSubQuerySelectStandard.scala.txt @@ -0,0 +1,68 @@ +@* + * Copyright © 2015-2019 the contributors (see Contributors.md). + * + * This file is part of Knora. + * + * Knora is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Knora is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with Knora. If not, see . + *@ + +@import org.knora.webapi.IRI +@import org.knora.webapi.SparqlGenerationException +@import org.knora.webapi.util.ApacheLuceneSupport.MatchStringWhileTyping + +@* + * Select subquery for a search for resources by their label. + * + * @param searchTerm search terms. + * @param limitToProject limit search to the given project. + * @param limitToResourceClass limit search to given resource class. + * @param limit maximum amount of resources to be returned. + * @param offset offset to be used for paging. + * @param countQuery indicates whether it is a count query or the actual resources should be returned. + *@ + + @(searchTerm: MatchStringWhileTyping, + limitToProject: Option[IRI], + limitToResourceClass: Option[IRI], + limit: Int, + offset: Int, + countQuery: Boolean) + +@if(!countQuery) { + SELECT DISTINCT ?resource ?label +} else { + SELECT (count(distinct ?resource) as ?count) +} +WHERE { + ?resource "@searchTerm.generateLiteralForLuceneIndexWithoutExactSequence" . + + ?resource a ?resourceClass ; + knora-base:isDeleted false ; + rdfs:label ?label . + + ?resourceClass rdfs:subClassOf* knora-base:Resource . + + @if(limitToResourceClass.nonEmpty) { + ?resourceClass rdfs:subClassOf* <@limitToResourceClass.get> . + } + + @if(limitToProject.nonEmpty) { + ?resource knora-base:attachedToProject <@limitToProject.get> + } +} +@if(!countQuery) { +ORDER BY ?resource @* Needed for paging: order needs to be deterministic *@ +} +LIMIT @limit +OFFSET @offset diff --git a/webapi/src/test/resources/fuseki.conf b/webapi/src/test/resources/fuseki.conf index 5714cde906..cb4106bca0 100644 --- a/webapi/src/test/resources/fuseki.conf +++ b/webapi/src/test/resources/fuseki.conf @@ -5,12 +5,12 @@ app { dbtype = "fuseki" fuseki { - port = 3030 + port = 8080 repository-name = "knora-test-unit" - tomcat = false - tomcat-context = "" + tomcat = true + tomcat-context = "fuseki" } reload-on-start = false } -} \ No newline at end of file +} diff --git a/webapi/src/test/resources/test-data/resourcesR2RV2/BooksFromIncunabula.jsonld b/webapi/src/test/resources/test-data/resourcesR2RV2/BooksFromIncunabula.jsonld index 1c2180f75c..45009ee2e6 100644 --- a/webapi/src/test/resources/test-data/resourcesR2RV2/BooksFromIncunabula.jsonld +++ b/webapi/src/test/resources/test-data/resourcesR2RV2/BooksFromIncunabula.jsonld @@ -2224,934 +2224,841 @@ }, "rdfs:label" : "Geschichte von der schönen Melusine" }, { - "@id" : "http://rdfh.ch/0803/de6d83112e04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601", "@type" : "incunabula:book", - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/de6d83112e04/values/5c4ac103ac10", + "incunabula:book_comment" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/bf312e215806", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000005c4ac103ac1wA" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000bf312e21580wT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: FP VII2 7:1", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000005c4ac103ac1w", + "knora-api:valueHasUUID" : "0000000000bf312e21580w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000005c4ac103ac1wA.20160302T150553Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000bf312e21580wT.20160302T150523Z" } }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/de6d83112e04/values/413f8fe1069e04", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/c0c45b6d5306", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000413f8fe1069e0w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000c0c45b6d530wa" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Bl. 1-40 eines Sammelbandes", + "knora-api:valueAsString" : "Van der Haegen I: 16,46", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000413f8fe1069e0w", + "knora-api:valueHasUUID" : "0000000000c0c45b6d530w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000413f8fe1069e0w2.20160302T150553Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000c0c45b6d530wa.20160302T150523Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/de6d83112e04/values/99206ecaab10", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/83eeaea65306", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000000099206ecaab1wW" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000083eeaea6530w1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1499, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1475, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1475 CE:1499 CE", + "knora-api:valueAsString" : "Goff B506", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000099206ecaab1w", + "knora-api:valueHasUUID" : "000000000083eeaea6530w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000000099206ecaab1wW.20160302T150553Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000083eeaea6530w1.20160302T150523Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/de6d83112e04/values/d6f61a91ab10", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/461802e05306", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/0000000000d6f61a91ab1wf" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000461802e0530w6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Itinerarius seu peregrinatio beatae virginis Mariae", + "knora-api:valueAsString" : "H 2990* (I) = HC 2993* = H 8928*", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000d6f61a91ab1w", + "knora-api:valueHasUUID" : "0000000000461802e0530w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/0000000000d6f61a91ab1wf.20160302T150553Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000461802e0530w6.20160302T150523Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/de6d83112e04/values/7e153ca8069e04", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/094255195406", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000007e153ca8069e0wu" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000009425519540wF" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV05&con_lng=GER&func=find-b&find_code=SYS&request=000084910", + "knora-api:valueAsString" : "Schr 3442", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000007e153ca8069e0w", + "knora-api:valueHasUUID" : "000000000009425519540w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000007e153ca8069e0wu.20160302T150553Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000009425519540wF.20160302T150523Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:53Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o.20160302T150553Z" - }, - "rdfs:label" : "Itinerarius seu peregrinatio beatae virginis Mariae" - }, { - "@id" : "http://rdfh.ch/0803/1967a9933401", - "@type" : "incunabula:book", - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/9a54f6dec804", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/cc6ba8525406", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000009a54f6dec80wa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000cc6ba852540wO" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC ii00219000", + "knora-api:valueAsString" : "Schramm XXI p.27", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000009a54f6dec80w", + "knora-api:valueHasUUID" : "0000000000cc6ba852540w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000009a54f6dec80wa.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000cc6ba852540wO.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/5d7e4918c904", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/8f95fb8b5406", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000005d7e4918c90w_" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000008f95fb8b540wl" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 25,2", + "knora-api:valueAsString" : "Pell 2247", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000005d7e4918c90w", + "knora-api:valueHasUUID" : "00000000008f95fb8b540w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000005d7e4918c90w_.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000008f95fb8b540wl.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/20a89c51c904", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/52bf4ec55406", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000020a89c51c90w6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000052bf4ec5540wl" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff I219", + "knora-api:valueAsString" : "Polain(B) 629", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000020a89c51c90w", + "knora-api:valueHasUUID" : "000000000052bf4ec5540w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000020a89c51c90w6.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000052bf4ec5540wl.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/e3d1ef8ac904", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/15e9a1fe5406", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000e3d1ef8ac90w_" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000015e9a1fe540wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "HC 9324", + "knora-api:valueAsString" : "IDL 801", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000e3d1ef8ac90w", + "knora-api:valueHasUUID" : "000000000015e9a1fe540w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000e3d1ef8ac90w_.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000015e9a1fe540wL.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/a6fb42c4c904", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/d812f5375506", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000a6fb42c4c90wH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d812f537550wB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "C 3329; Oberrhein.Buchill. I,7", + "knora-api:valueAsString" : "IGI 1617", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000a6fb42c4c90w", + "knora-api:valueHasUUID" : "0000000000d812f537550w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000a6fb42c4c90wH.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d812f537550wB.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/692596fdc904", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/9b3c48715506", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000692596fdc90wa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009b3c4871550wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 4577", + "knora-api:valueAsString" : "Voull(B) 477", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000692596fdc90w", + "knora-api:valueHasUUID" : "00000000009b3c4871550w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000692596fdc90wa.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009b3c4871550wq.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/2c4fe936ca04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/5e669baa5506", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000002c4fe936ca0w9" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005e669baa550wR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 557", + "knora-api:valueAsString" : "Voull(Trier) 184", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000002c4fe936ca0w", + "knora-api:valueHasUUID" : "00000000005e669baa550w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000002c4fe936ca0w9.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005e669baa550wR.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/ef783c70ca04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2190eee35506", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000ef783c70ca0w9" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002190eee3550w0" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pell Ms 6403 (6380)", + "knora-api:valueAsString" : "Hubay(Augsburg) 351", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000ef783c70ca0w", + "knora-api:valueHasUUID" : "00000000002190eee3550w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000ef783c70ca0w9.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002190eee3550w0.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/b2a28fa9ca04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/e4b9411d5606", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000b2a28fa9ca0wj" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e4b9411d560w5" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "CIBN I-90", + "knora-api:valueAsString" : "Sack(Freiburg) 604", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000b2a28fa9ca0w", + "knora-api:valueHasUUID" : "0000000000e4b9411d560w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000b2a28fa9ca0wj.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e4b9411d560w5.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/75cce2e2ca04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/a7e394565606", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000075cce2e2ca0wx" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a7e39456560wV" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oates 2823", + "knora-api:valueAsString" : "Finger 177", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000075cce2e2ca0w", + "knora-api:valueHasUUID" : "0000000000a7e39456560w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000075cce2e2ca0wx.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a7e39456560wV.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/38f6351ccb04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/6a0de88f5606", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000038f6351ccb0wy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006a0de88f560wX" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sheppard 2507", + "knora-api:valueAsString" : "Oates 2799, 2800", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000038f6351ccb0w", + "knora-api:valueHasUUID" : "00000000006a0de88f560w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000038f6351ccb0wy.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006a0de88f560wX.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/fb1f8955cb04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2d373bc95606", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000fb1f8955cb0w7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002d373bc9560wt" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pr 7716", + "knora-api:valueAsString" : "Rhodes(Oxford Colleges) 340", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000fb1f8955cb0w", + "knora-api:valueHasUUID" : "00000000002d373bc9560w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000fb1f8955cb0w7.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002d373bc9560wt.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/be49dc8ecb04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/f0608e025706", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000be49dc8ecb0wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f0608e02570wi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB-Ink I-653", + "knora-api:valueAsString" : "Sheppard 2435", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000be49dc8ecb0w", + "knora-api:valueHasUUID" : "0000000000f0608e02570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000be49dc8ecb0wq.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f0608e02570wi.20160302T150523Z" } - } ], - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/51d7fc32c804", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/b38ae13b5706", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000051d7fc32c80wK" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b38ae13b570wD" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: FP VII2 4:1", + "knora-api:valueAsString" : "Pr 7635", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000051d7fc32c80w", + "knora-api:valueHasUUID" : "0000000000b38ae13b570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000051d7fc32c80wK.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b38ae13b570wD.20160302T150523Z" } - }, - "incunabula:note" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/d72aa3a5c804", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/76b434755706", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000d72aa3a5c80wz" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000076b43475570w1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Vorlage dieser Ausgabe ist die Handschrift Basel UB FP VII2 7:1 aus der Kartause Basel", + "knora-api:valueAsString" : "BMC III 753", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000d72aa3a5c80w", + "knora-api:valueHasUUID" : "000000000076b43475570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000d72aa3a5c80wz.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000076b43475570w1.20160302T150523Z" } - }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/1401506cc804", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/39de87ae5706", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000001401506cc80w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000039de87ae570w3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 108 Bl.; Ill. (59 Holzschnitte); Dimensions: 4°", + "knora-api:valueAsString" : "BSB-Ink B-398", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000001401506cc80w", + "knora-api:valueHasUUID" : "000000000039de87ae570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000001401506cc80w2.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000039de87ae570w3.20160302T150523Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/8eada9f9c704", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/fc07dbe75706", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000008eada9f9c70wr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fc07dbe7570wp" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "GREGORIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1489, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1489, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GREGORIAN:1489 CE", + "knora-api:valueAsString" : "GW 4175", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000008eada9f9c70w", + "knora-api:valueHasUUID" : "0000000000fc07dbe7570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000008eada9f9c70wr.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fc07dbe7570wp.20160302T150523Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/085a0387c704", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/5ff9c8f65006", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000085a0387c70w7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005ff9c8f6500wi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Lienhart Ysenhut", + "knora-api:valueAsString" : "Berthold, der Bruder", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000085a0387c70w", + "knora-api:valueHasUUID" : "00000000005ff9c8f6500w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000085a0387c70w7.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005ff9c8f6500wi.20160302T150523Z" } }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/cb8356c0c704", + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/6ba015dc5106", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000cb8356c0c70wB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006ba015dc510wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Basel UB, Sign: Aleph E X 18:2", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000cb8356c0c70w", + "knora-api:valueHasUUID" : "00000000006ba015dc510w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000cb8356c0c70wB.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006ba015dc510wL.20160302T150523Z" } }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/4530b04dc704", + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/f1f3bb4e5206", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000004530b04dc70wG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f1f3bb4e520wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Itinerarius sive peregrinarius Beatissime Virginis Marie", + "knora-api:valueAsString" : "Datum nach V.d.Haegen: nicht nach 1489", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000004530b04dc70w", + "knora-api:valueHasUUID" : "0000000000f1f3bb4e520w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000004530b04dc70wG.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f1f3bb4e520wq.20160302T150523Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/1967a9933401/values/35682076ca2704", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/b41d0f885206", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000035682076ca270wk" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b41d0f88520w7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002237638", + "knora-api:valueAsString" : "A copy in the Basel University Library has a rubricator's date 1490. Woodcuts", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000035682076ca270w", + "knora-api:valueHasUUID" : "0000000000b41d0f88520w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000035682076ca270wk.20160302T150518Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b41d0f88520w7.20160302T150523Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:18Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n.20160302T150518Z" - }, - "rdfs:label" : "Itinerarius sive peregrinarius Beatissime Virginis Marie" - }, { - "@id" : "http://rdfh.ch/0803/21abac2162", - "@type" : "incunabula:book", - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/21abac2162/values/4c8ba6d68301", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/774762c15206", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000004c8ba6d6830w9" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000774762c1520wG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm, Bd. XXI, S. 27", + "knora-api:valueAsString" : "Rot und blau rubr. mit Init., Zierinit. Q im Maiglöckchen-Stil auf Bl. 2a", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000004c8ba6d6830w", + "knora-api:valueHasUUID" : "0000000000774762c1520w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000004c8ba6d6830w9.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000774762c1520wG.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/21abac2162/values/0fb5f90f8401", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/3a71b5fa5206", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000000fb5f90f840wE" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000003a71b5fa520wt" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC im00266000", + "knora-api:valueAsString" : "Holzschnitte koloriert", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000000fb5f90f840w", + "knora-api:valueHasUUID" : "00000000003a71b5fa520w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000000fb5f90f840wE.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000003a71b5fa520wt.20160302T150523Z" } }, { - "@id" : "http://rdfh.ch/0803/21abac2162/values/c7923554079e04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/fd9a08345306", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000c7923554079e0wG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fd9a0834530wg" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW M18561", + "knora-api:valueAsString" : "Zusammengebunden mit 2 weiteren Drucken", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000c7923554079e0w", + "knora-api:valueHasUUID" : "0000000000fd9a0834530w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000c7923554079e0wG.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fd9a0834530wg.20160302T150523Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/ba90b37e8201", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/70ffdaede322", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000ba90b37e820wy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000070ffdaede32wp" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Kein Wert", + "knora-api:valueAsString" : "Blattgrösse: ca. 155 x 110 mm", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000ba90b37e820w", + "knora-api:valueHasUUID" : "000000000070ffdaede32w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000ba90b37e820wy.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000070ffdaede32wp.20160302T150523Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/c63700648301", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2eca68155206", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000c6370064830w_" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002eca6815520wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", + "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 8°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000c6370064830w", + "knora-api:valueHasUUID" : "00000000002eca6815520w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000c6370064830w_.20160302T150514Z" - } - }, - "incunabula:note" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/4de6dbc6079e04", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000004de6dbc6079e0wo" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zusammengebunden mit zwei weiteren Drucken von Johann Amerbach", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" - }, - "knora-api:valueHasUUID" : "000000004de6dbc6079e0w", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000004de6dbc6079e0wo.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002eca6815520wq.20160302T150523Z" } }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/8961539d8301", - "@type" : "knora-api:TextValue", + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/a876c2a25106", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000008961539d830we" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a876c2a2510wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1490, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1490, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "[12] Bl. : Ill. ; 8° ", + "knora-api:valueAsString" : "JULIAN:1490 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000008961539d830w", + "knora-api:valueHasUUID" : "0000000000a876c2a2510w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000008961539d830we.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a876c2a2510wq.20160302T150523Z" } }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/030ead2a8301", - "@type" : "knora-api:DateValue", + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/22231c305106", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000030ead2a830wg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000022231c30510wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "GREGORIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1492, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GREGORIAN:1492 CE", + "knora-api:valueAsString" : "Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000030ead2a830w", + "knora-api:valueHasUUID" : "000000000022231c30510w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000030ead2a830wg.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000022231c30510wL.20160302T150523Z" } }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/7dba06b88201", + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/e54c6f695106", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000007dba06b8820wb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e54c6f69510wH" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Amerbach", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "00000000007dba06b8820w", + "knora-api:valueHasUUID" : "0000000000e54c6f69510w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000007dba06b8820wb.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e54c6f69510wH.20160302T150523Z" } }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/40e459f18201", + "incunabula:title" : [ { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/d9a522845006", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000000040e459f1820wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d9a52284500wM" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Zeitglöcklein des Lebens und Leidens Christi", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000000040e459f1820w", + "knora-api:valueHasUUID" : "0000000000d9a52284500w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000000040e459f1820wq.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d9a52284500wM.20160302T150523Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/f76660458201", + }, { + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/9ccf75bd5006", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000f7666045820wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009ccf75bd500wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Lob der Glieder Mariens", + "knora-api:valueAsString" : "Horologium devotionis circa vitam Christi", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "0000000000f7666045820w", + "knora-api:valueHasUUID" : "00000000009ccf75bd500w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000f7666045820wL.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009ccf75bd500wq.20160302T150523Z" } - }, + } ], "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/21abac2162/values/8abc888d079e04", + "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/bbbbc6e8ca2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000008abc888d079e0wO" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000bbbbc6e8ca270wi" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002645085", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, - "knora-api:valueHasUUID" : "000000008abc888d079e0w", + "knora-api:valueHasUUID" : "00000000bbbbc6e8ca270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000008abc888d079e0wO.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000bbbbc6e8ca270wi.20160302T150523Z" } }, "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j" }, "knora-api:attachedToProject" : { "@id" : "http://rdfh.ch/projects/0803" @@ -3161,1841 +3068,1859 @@ }, "knora-api:creationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:23Z" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j.20160302T150523Z" }, - "rdfs:label" : "Lob der Glieder Mariens" + "rdfs:label" : "Zeitglöcklein des Lebens und Leidens Christi" }, { - "@id" : "http://rdfh.ch/0803/e41ab5695c", + "@id" : "http://rdfh.ch/0803/2a6221216701", "@type" : "incunabula:book", - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/516a8a536c01", + "incunabula:book_comment" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/56c287fc9505", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000516a8a536c0w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000056c287fc950w5" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 4386", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "0000000000516a8a536c0w", + "knora-api:valueHasUUID" : "000000000056c287fc950w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000516a8a536c0w2.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000056c287fc950w5.20160302T150521Z" } - }, { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/1494dd8c6c01", + }, + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/7b4a9bf89305", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000001494dd8c6c0wF" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000007b4a9bf8930w2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC ib00684000", + "knora-api:valueAsString" : "Van der Haegen I: 9,14", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "00000000001494dd8c6c0w", + "knora-api:valueHasUUID" : "00000000007b4a9bf8930w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000001494dd8c6c0wF.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000007b4a9bf8930w2.20160302T150520Z" } }, { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/82db62ef0123", + "@id" : "http://rdfh.ch/0803/2a6221216701/values/3e74ee319405", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000082db62ef012wr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000003e74ee31940w2" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm, Bd. 21, S. 27.", + "knora-api:valueAsString" : "Goff M165", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "000000000082db62ef012w", + "knora-api:valueHasUUID" : "00000000003e74ee31940w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000082db62ef012wr.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000003e74ee31940w2.20160302T150520Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/bf6f97fb6a01", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/019e416b9405", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000bf6f97fb6a0wn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000019e416b940wc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Birgitta, Hl.", + "knora-api:valueAsString" : "C 3833", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000bf6f97fb6a0w", + "knora-api:valueHasUUID" : "0000000000019e416b940w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000bf6f97fb6a0wn.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000019e416b940wc.20160302T150520Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/cb16e4e06b01", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/c4c794a49405", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000cb16e4e06b0wP" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000c4c794a4940wm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", + "knora-api:valueAsString" : "Klebs 651.2", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "0000000000cb16e4e06b0w", + "knora-api:valueHasUUID" : "0000000000c4c794a4940w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000cb16e4e06b0wP.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000c4c794a4940wm.20160302T150521Z" } - }, - "incunabula:note" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/d3398239089e04", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/87f1e7dd9405", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000d3398239089e0w0" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000087f1e7dd940wJ" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zusammengebunden mit zwei weiteren Drucken von Johann Amerbach", + "knora-api:valueAsString" : "Schr 4799", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "00000000d3398239089e0w", + "knora-api:valueHasUUID" : "000000000087f1e7dd940w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000d3398239089e0w0.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000087f1e7dd940wJ.20160302T150521Z" } - }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/8e40371a6c01", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/4a1b3b179505", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008e40371a6c0wk" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000004a1b3b17950wa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "[12] Bl. : Ill. ; 8°", + "knora-api:valueAsString" : "Schramm XXI p. 9 & 26", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "00000000008e40371a6c0w", + "knora-api:valueHasUUID" : "00000000004a1b3b17950w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008e40371a6c0wk.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000004a1b3b17950wa.20160302T150521Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/08ed90a76b01", - "@type" : "knora-api:DateValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000008ed90a76b0wl" + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/0d458e509505", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000000d458e50950wm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1492, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1492 CE", + "knora-api:valueAsString" : "FairMur(G) 283", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "000000000008ed90a76b0w", + "knora-api:valueHasUUID" : "00000000000d458e50950w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000008ed90a76b0wl.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000000d458e50950wm.20160302T150521Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/8299ea346b01", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/d06ee1899505", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008299ea346b0we" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d06ee189950wA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Amerbach", + "knora-api:valueAsString" : "IBP 3556", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "00000000008299ea346b0w", + "knora-api:valueHasUUID" : "0000000000d06ee189950w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008299ea346b0we.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d06ee189950wA.20160302T150521Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/45c33d6e6b01", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/939834c39505", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000045c33d6e6b0wj" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000939834c3950w6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Borm 1751", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:21Z" }, - "knora-api:valueHasUUID" : "000000000045c33d6e6b0w", + "knora-api:valueHasUUID" : "0000000000939834c3950w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000045c33d6e6b0wj.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000939834c3950w6.20160302T150521Z" } - }, - "incunabula:title" : [ { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/391cf1886a01", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/1a7f08829105", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000391cf1886a0wV" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000001a7f0882910wn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Orationes", + "knora-api:valueAsString" : "Jean Mandeville", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000391cf1886a0w", + "knora-api:valueHasUUID" : "00000000001a7f0882910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000391cf1886a0wV.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000001a7f0882910wn.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/fc4544c26a01", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/262655679205", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000fc4544c26a0wh" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000026265567920wa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sant Brigitten gebettly", + "knora-api:valueAsString" : "Basel UB, Sign: Aleph D III 13:1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000fc4544c26a0w", + "knora-api:valueHasUUID" : "000000000026265567920w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000fc4544c26a0wh.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000026265567920wa.20160302T150520Z" } - } ], - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/e41ab5695c/values/10102f00089e04", + }, + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/ac79fbd99205", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000010102f00089e0wH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000ac79fbd9920wy" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", + "knora-api:valueAsString" : "deutsch von Otto von Diemeringen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000010102f00089e0w", + "knora-api:valueHasUUID" : "0000000000ac79fbd9920w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000010102f00089e0wH.20160302T150514Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000ac79fbd9920wy.20160302T150520Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:14Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN.20160302T150514Z" - }, - "rdfs:label" : "Orationes" - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03", - "@type" : "incunabula:book", - "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/c94387336e0c", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/6fa34e139305", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000c94387336e0QB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000006fa34e13930wU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC (CD-ROM) und v.d.Haegen", + "knora-api:valueAsString" : "Rubr. mit Init. J zu Beginn", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000c94387336e0Q", + "knora-api:valueHasUUID" : "00000000006fa34e13930w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000c94387336e0QB.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000006fa34e13930wU.20160302T150520Z" } - }, - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/99a7549e6a0c", + }, { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/32cda14c9305", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000099a7549e6a0Ql" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000032cda14c930w4" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 22,30", + "knora-api:valueAsString" : "Holzschnitte nicht koloriert", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "000000000099a7549e6a0Q", + "knora-api:valueHasUUID" : "000000000032cda14c930w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000099a7549e6a0Ql.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000032cda14c930w4.20160302T150520Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/5cd1a7d76a0c", + "@id" : "http://rdfh.ch/0803/2a6221216701/values/f5f6f4859305", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000005cd1a7d76a0Qx" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000f5f6f485930w6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff P142", + "knora-api:valueAsString" : "Besitzervermerke: Kartause, H. Zscheckenbürlin", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "00000000005cd1a7d76a0Q", + "knora-api:valueHasUUID" : "0000000000f5f6f485930w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000005cd1a7d76a0Qx.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000f5f6f485930w6.20160302T150520Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/1ffbfa106b0c", + "@id" : "http://rdfh.ch/0803/2a6221216701/values/b82048bf9305", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001ffbfa106b0QI" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000b82048bf930wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "H 12453*", + "knora-api:valueAsString" : "Zusammengebunden mit: Die zehen Gebote ; Was und wie man beten soll und Auslegung des hlg. Pater nosters / Hans von Warmont. Strassburg, 1516", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "00000000001ffbfa106b0Q", + "knora-api:valueHasUUID" : "0000000000b82048bf930w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001ffbfa106b0QI.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000b82048bf930wL.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/e2244e4a6b0c", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/e94fa8a09205", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000e2244e4a6b0QG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000e94fa8a0920wv" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pellechet Ms 9031 (8884)", + "knora-api:valueAsString" : "Extent: 1 Bd.; Dimensions: f°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000e2244e4a6b0Q", + "knora-api:valueHasUUID" : "0000000000e94fa8a0920w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000e2244e4a6b0QG.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000e94fa8a0920wv.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/a54ea1836b0c", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/63fc012e9205", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000a54ea1836b0QQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000063fc012e920wK" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1481, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1481, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "CIBN P-41", + "knora-api:valueAsString" : "JULIAN:1481 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000a54ea1836b0Q", + "knora-api:valueHasUUID" : "000000000063fc012e920w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000a54ea1836b0QQ.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000063fc012e920wK.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/6878f4bc6b0c", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/dda85bbb9105", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000006878f4bc6b0QD" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000dda85bbb910wo" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Polain, Belgique 2992", + "knora-api:valueAsString" : "Bernhard Richel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "00000000006878f4bc6b0Q", + "knora-api:valueHasUUID" : "0000000000dda85bbb910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000006878f4bc6b0QD.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000dda85bbb910wo.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/2ba247f66b0c", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/a0d2aef49105", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000002ba247f66b0Qh" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000a0d2aef4910wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IDL 1000", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "00000000002ba247f66b0Q", + "knora-api:valueHasUUID" : "0000000000a0d2aef4910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000002ba247f66b0Qh.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000a0d2aef4910wL.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/eecb9a2f6c0c", + }, + "incunabula:title" : [ { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/d1010fd69005", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000eecb9a2f6c0QF" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d1010fd6900w5" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sajó-Soltész 784", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" - }, - "knora-api:valueHasUUID" : "0000000000eecb9a2f6c0Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000eecb9a2f6c0QF.20160302T150538Z" - } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/b1f5ed686c0c", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000b1f5ed686c0QA" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pollard, Morgan 231", + "knora-api:valueAsString" : "Reise ins Heilige Land", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000b1f5ed686c0Q", + "knora-api:valueHasUUID" : "0000000000d1010fd6900w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000b1f5ed686c0QA.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d1010fd6900w5.20160302T150520Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/741f41a26c0c", + "@id" : "http://rdfh.ch/0803/2a6221216701/values/942b620f9105", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000741f41a26c0Qo" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000942b620f910wy" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voulliéme, Berlin 572", + "knora-api:valueAsString" : "Reysen und wanderschafften durch das Gelobte Land", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000741f41a26c0Q", + "knora-api:valueHasUUID" : "0000000000942b620f910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000741f41a26c0Qo.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000942b620f910wy.20160302T150520Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/374994db6c0c", + "@id" : "http://rdfh.ch/0803/2a6221216701/values/5755b5489105", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000374994db6c0Qz" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000005755b548910wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schreiber, Manuel 4607", + "knora-api:valueAsString" : "Itinerarius", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000374994db6c0Q", + "knora-api:valueHasUUID" : "00000000005755b548910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000374994db6c0Qz.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000005755b548910wq.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/fa72e7146d0c", + } ], + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/2a6221216701/values/f89173afca2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fa72e7146d0QB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000f89173afca270w7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXII p. 43", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002610320", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:20Z" }, - "knora-api:valueHasUUID" : "0000000000fa72e7146d0Q", + "knora-api:valueHasUUID" : "00000000f89173afca270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fa72e7146d0QB.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000f89173afca270w7.20160302T150520Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/bd9c3a4e6d0c", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:21Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W.20160302T150521Z" + }, + "rdfs:label" : "Reise ins Heilige Land" + }, { + "@id" : "http://rdfh.ch/0803/de6d83112e04", + "@type" : "incunabula:book", + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/de6d83112e04/values/5c4ac103ac10", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bd9c3a4e6d0Qt" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000005c4ac103ac1wA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sheppard 2519, 2520", + "knora-api:valueAsString" : "Basel UB, Sign: FP VII2 7:1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:53Z" }, - "knora-api:valueHasUUID" : "0000000000bd9c3a4e6d0Q", + "knora-api:valueHasUUID" : "00000000005c4ac103ac1w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bd9c3a4e6d0Qt.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000005c4ac103ac1wA.20160302T150553Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/80c68d876d0c", + }, + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/de6d83112e04/values/413f8fe1069e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000080c68d876d0Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000413f8fe1069e0w2" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Proctor 7731", + "knora-api:valueAsString" : "Bl. 1-40 eines Sammelbandes", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:53Z" }, - "knora-api:valueHasUUID" : "000000000080c68d876d0Q", + "knora-api:valueHasUUID" : "00000000413f8fe1069e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000080c68d876d0Qc.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/00000000413f8fe1069e0w2.20160302T150553Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/43f0e0c06d0c", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/de6d83112e04/values/99206ecaab10", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000043f0e0c06d0Qn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000000099206ecaab1wW" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1499, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1475, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BMC III 784", + "knora-api:valueAsString" : "JULIAN:1475 CE:1499 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:53Z" }, - "knora-api:valueHasUUID" : "000000000043f0e0c06d0Q", + "knora-api:valueHasUUID" : "000000000099206ecaab1w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000043f0e0c06d0Qn.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000000099206ecaab1wW.20160302T150553Z" } - }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/061a34fa6d0c", + }, + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/de6d83112e04/values/d6f61a91ab10", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000061a34fa6d0QP" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/0000000000d6f61a91ab1wf" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB P-27", + "knora-api:valueAsString" : "Itinerarius seu peregrinatio beatae virginis Mariae", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:53Z" }, - "knora-api:valueHasUUID" : "0000000000061a34fa6d0Q", + "knora-api:valueHasUUID" : "0000000000d6f61a91ab1w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000061a34fa6d0QP.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/0000000000d6f61a91ab1wf.20160302T150553Z" } - } ], - "incunabula:description" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/bfb10fb60123", + }, + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/de6d83112e04/values/7e153ca8069e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bfb10fb6012wf" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000007e153ca8069e0wu" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/b83acc5f05" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Blattgrösse: ca. 20,0 x 15,0 cm", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV05&con_lng=GER&func=find-b&find_code=SYS&request=000084910", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:53Z" }, - "knora-api:valueHasUUID" : "0000000000bfb10fb6012w", + "knora-api:valueHasUUID" : "000000007e153ca8069e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bfb10fb6012wf.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o/000000007e153ca8069e0wu.20160302T150553Z" } }, - "incunabula:hasAuthor" : [ { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/38dcc127680c", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:53Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/de6d83112e04o.20160302T150553Z" + }, + "rdfs:label" : "Itinerarius seu peregrinatio beatae virginis Mariae" + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401", + "@type" : "incunabula:book", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/9a54f6dec804", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000038dcc127680Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000009a54f6dec80wa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Meynradus Sanctus", + "knora-api:valueAsString" : "ISTC ii00219000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "000000000038dcc127680Q", + "knora-api:valueHasUUID" : "00000000009a54f6dec80w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000038dcc127680Qs.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000009a54f6dec80wa.20160302T150518Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/fb051561680c", + "@id" : "http://rdfh.ch/0803/1967a9933401/values/5d7e4918c904", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fb051561680QY" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000005d7e4918c90w_" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Albrecht von Bonstetten", + "knora-api:valueAsString" : "Van der Haegen I: 25,2", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000fb051561680Q", + "knora-api:valueHasUUID" : "00000000005d7e4918c90w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fb051561680QY.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000005d7e4918c90w_.20160302T150518Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/df94728137630b", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000df94728137630Qs" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "sss", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" - }, - "knora-api:valueHasUUID" : "00000000df94728137630Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000df94728137630Qs.20160302T150538Z" - } - } ], - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/07ad6146690c", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000007ad6146690Qc" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: FN VI 4e", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" - }, - "knora-api:valueHasUUID" : "000000000007ad6146690Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000007ad6146690Qc.20160302T150538Z" - } - }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/8d0008b9690c", + "@id" : "http://rdfh.ch/0803/1967a9933401/values/20a89c51c904", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008d0008b9690QP" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000020a89c51c90w6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Nicht rubr.", + "knora-api:valueAsString" : "Goff I219", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000008d0008b9690Q", + "knora-api:valueHasUUID" : "000000000020a89c51c90w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008d0008b9690QP.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000020a89c51c90w6.20160302T150518Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/502a5bf2690c", + "@id" : "http://rdfh.ch/0803/1967a9933401/values/e3d1ef8ac904", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000502a5bf2690Q5" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000e3d1ef8ac90w_" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Holzschnitte unkoloriert", + "knora-api:valueAsString" : "HC 9324", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000502a5bf2690Q", + "knora-api:valueHasUUID" : "0000000000e3d1ef8ac90w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000502a5bf2690Q5.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000e3d1ef8ac90w_.20160302T150518Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/1354ae2b6a0c", + "@id" : "http://rdfh.ch/0803/1967a9933401/values/a6fb42c4c904", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001354ae2b6a0QI" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000a6fb42c4c90wH" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Variante: Mit gedruckter Init. D aus Alphabet 1 auf Lage a1(b), Z. 1", + "knora-api:valueAsString" : "C 3329; Oberrhein.Buchill. I,7", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000001354ae2b6a0Q", + "knora-api:valueHasUUID" : "0000000000a6fb42c4c90w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001354ae2b6a0QI.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000a6fb42c4c90wH.20160302T150518Z" } }, { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/d67d01656a0c", + "@id" : "http://rdfh.ch/0803/1967a9933401/values/692596fdc904", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000d67d01656a0Qi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000692596fdc90wa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Letzte Zeile der Lage a3(a) endend Cosu, darunter Lagenbez. ajjn-", + "knora-api:valueAsString" : "Schr 4577", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000d67d01656a0Q", + "knora-api:valueHasUUID" : "0000000000692596fdc90w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000d67d01656a0Qi.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000692596fdc90wa.20160302T150518Z" } - } ], - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/cad6b47f690c", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/2c4fe936ca04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000cad6b47f690Qp" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000002c4fe936ca0w9" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" - }, - "knora-api:valueHasUUID" : "0000000000cad6b47f690Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000cad6b47f690Qp.20160302T150538Z" - } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/44830e0d690c", - "@type" : "knora-api:DateValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000044830e0d690QK" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndDay" : 20, - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndMonth" : 9, - "knora-api:dateValueHasEndYear" : 1496, - "knora-api:dateValueHasStartDay" : 20, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartMonth" : 9, - "knora-api:dateValueHasStartYear" : 1496, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1496-09-20 CE", + "knora-api:valueAsString" : "Voull(B) 557", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "000000000044830e0d690Q", + "knora-api:valueHasUUID" : "00000000002c4fe936ca0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000044830e0d690QK.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000002c4fe936ca0w9.20160302T150518Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/be2f689a680c", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/ef783c70ca04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000be2f689a680Qe" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000ef783c70ca0w9" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Michael Furter", + "knora-api:valueAsString" : "Pell Ms 6403 (6380)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000be2f689a680Q", + "knora-api:valueHasUUID" : "0000000000ef783c70ca0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000be2f689a680Qe.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000ef783c70ca0w9.20160302T150518Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/8159bbd3680c", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/b2a28fa9ca04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008159bbd3680Qh" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000b2a28fa9ca0wj" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "CIBN I-90", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000008159bbd3680Q", + "knora-api:valueHasUUID" : "0000000000b2a28fa9ca0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008159bbd3680Qh.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000b2a28fa9ca0wj.20160302T150518Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/75b26eee670c", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/75cce2e2ca04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000075b26eee670Qy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000075cce2e2ca0wx" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Passio sancti Meynrhadi martyris et heremite", + "knora-api:valueAsString" : "Oates 2823", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "000000000075b26eee670Q", + "knora-api:valueHasUUID" : "000000000075cce2e2ca0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000075b26eee670Qy.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000075cce2e2ca0wx.20160302T150518Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/c76213cecb2704", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/38f6351ccb04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000c76213cecb270wD" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000038f6351ccb0wy" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002715545", + "knora-api:valueAsString" : "Sheppard 2507", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000c76213cecb270w", + "knora-api:valueHasUUID" : "000000000038f6351ccb0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000c76213cecb270wD.20160302T150538Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000038f6351ccb0wy.20160302T150518Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:38Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q.20160302T150538Z" - }, - "rdfs:label" : "Passio sancti Meynrhadi martyris et heremite" - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02", - "@type" : "incunabula:book", - "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/f9ecf342a308", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/fb1f8955cb04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000f9ecf342a30wm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000fb1f8955cb0w7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", + "knora-api:valueAsString" : "Pr 7716", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000f9ecf342a30w", + "knora-api:valueHasUUID" : "0000000000fb1f8955cb0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000f9ecf342a30wm.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000fb1f8955cb0w7.20160302T150518Z" } - }, - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/c950c1ad9f08", + }, { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/be49dc8ecb04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000c950c1ad9f0w4" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000be49dc8ecb0wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 22,9", + "knora-api:valueAsString" : "BSB-Ink I-653", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000c950c1ad9f0w", + "knora-api:valueHasUUID" : "0000000000be49dc8ecb0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000c950c1ad9f0w4.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000be49dc8ecb0wq.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/8c7a14e79f08", + } ], + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/51d7fc32c804", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000008c7a14e79f0wJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000051d7fc32c80wK" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff G690", + "knora-api:valueAsString" : "Basel UB, Sign: FP VII2 4:1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000008c7a14e79f0w", + "knora-api:valueHasUUID" : "000000000051d7fc32c80w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000008c7a14e79f0wJ.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/000000000051d7fc32c80wK.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/4fa46720a008", + }, + "incunabula:note" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/d72aa3a5c804", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000004fa46720a00ww" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000d72aa3a5c80wz" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "HC 8273*", + "knora-api:valueAsString" : "Vorlage dieser Ausgabe ist die Handschrift Basel UB FP VII2 7:1 aus der Kartause Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000004fa46720a00w", + "knora-api:valueHasUUID" : "0000000000d72aa3a5c80w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000004fa46720a00ww.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000d72aa3a5c80wz.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/12ceba59a008", + }, + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/1401506cc804", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000012ceba59a00wF" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000001401506cc80w2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 4146", + "knora-api:valueAsString" : "Extent: 108 Bl.; Ill. (59 Holzschnitte); Dimensions: 4°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "000000000012ceba59a00w", + "knora-api:valueHasUUID" : "00000000001401506cc80w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000012ceba59a00wF.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000001401506cc80w2.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/d5f70d93a008", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/8eada9f9c704", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000d5f70d93a00wl" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000008eada9f9c70wr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "GREGORIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1489, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1489, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXII p. 42", + "knora-api:valueAsString" : "GREGORIAN:1489 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000d5f70d93a00w", + "knora-api:valueHasUUID" : "00000000008eada9f9c70w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000d5f70d93a00wl.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000008eada9f9c70wr.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/982161cca008", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/085a0387c704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000982161cca00wz" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000085a0387c70w7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Arnoult 753", + "knora-api:valueAsString" : "Lienhart Ysenhut", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000982161cca00w", + "knora-api:valueHasUUID" : "0000000000085a0387c70w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000982161cca00wz.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000085a0387c70w7.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/5b4bb405a108", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/cb8356c0c704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005b4bb405a10wG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000cb8356c0c70wB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IDL 2188", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000005b4bb405a10w", + "knora-api:valueHasUUID" : "0000000000cb8356c0c70w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005b4bb405a10wG.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000000cb8356c0c70wB.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/1e75073fa108", + }, + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/4530b04dc704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001e75073fa10wX" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000004530b04dc70wG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IGI 4628", + "knora-api:valueAsString" : "Itinerarius sive peregrinarius Beatissime Virginis Marie", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "00000000001e75073fa10w", + "knora-api:valueHasUUID" : "00000000004530b04dc70w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001e75073fa10wX.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/00000000004530b04dc70wG.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/e19e5a78a108", + }, + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/1967a9933401/values/35682076ca2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e19e5a78a10w3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000035682076ca270wk" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff(P) 72", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002237638", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:18Z" }, - "knora-api:valueHasUUID" : "0000000000e19e5a78a10w", + "knora-api:valueHasUUID" : "0000000035682076ca270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e19e5a78a10w3.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n/0000000035682076ca270wk.20160302T150518Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/a4c8adb1a108", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:18Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/1967a9933401n.20160302T150518Z" + }, + "rdfs:label" : "Itinerarius sive peregrinarius Beatissime Virginis Marie" + }, { + "@id" : "http://rdfh.ch/0803/21abac2162", + "@type" : "incunabula:book", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/21abac2162/values/4c8ba6d68301", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a4c8adb1a10wP" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000004c8ba6d6830w9" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 558", + "knora-api:valueAsString" : "Schramm, Bd. XXI, S. 27", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000a4c8adb1a10w", + "knora-api:valueHasUUID" : "00000000004c8ba6d6830w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a4c8adb1a10wP.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000004c8ba6d6830w9.20160302T150514Z" } }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/67f200eba108", + "@id" : "http://rdfh.ch/0803/21abac2162/values/0fb5f90f8401", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000067f200eba10wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000000fb5f90f840wE" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hubay(Augsburg) 997", + "knora-api:valueAsString" : "ISTC im00266000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000067f200eba10w", + "knora-api:valueHasUUID" : "00000000000fb5f90f840w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000067f200eba10wL.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000000fb5f90f840wE.20160302T150514Z" } }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/2a1c5424a208", + "@id" : "http://rdfh.ch/0803/21abac2162/values/c7923554079e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002a1c5424a20w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000c7923554079e0wG" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hummel-Wilhelmi 282", + "knora-api:valueAsString" : "GW M18561", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000002a1c5424a20w", + "knora-api:valueHasUUID" : "00000000c7923554079e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002a1c5424a20w2.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000c7923554079e0wG.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/ed45a75da208", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/ba90b37e8201", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000ba90b37e820wy" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "Kein Wert", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:14Z" + }, + "knora-api:valueHasUUID" : "0000000000ba90b37e820w", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000ba90b37e820wy.20160302T150514Z" + } + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/c63700648301", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000ed45a75da20wT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000c6370064830w_" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sack(Freiburg) 1745", + "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000ed45a75da20w", + "knora-api:valueHasUUID" : "0000000000c6370064830w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000ed45a75da20wT.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000c6370064830w_.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/b06ffa96a208", + }, + "incunabula:note" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/4de6dbc6079e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b06ffa96a20wl" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000004de6dbc6079e0wo" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pr 7722", + "knora-api:valueAsString" : "Zusammengebunden mit zwei weiteren Drucken von Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000b06ffa96a20w", + "knora-api:valueHasUUID" : "000000004de6dbc6079e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b06ffa96a20wl.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000004de6dbc6079e0wo.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/73994dd0a208", + }, + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/8961539d8301", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000073994dd0a20wf" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000008961539d830we" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BMC III 782", + "knora-api:valueAsString" : "[12] Bl. : Ill. ; 8° ", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000073994dd0a20w", + "knora-api:valueHasUUID" : "00000000008961539d830w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000073994dd0a20wf.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000008961539d830we.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/36c3a009a308", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/030ead2a8301", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000036c3a009a30wR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000030ead2a830wg" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "GREGORIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1492, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB-Ink H-162", + "knora-api:valueAsString" : "GREGORIAN:1492 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000036c3a009a30w", + "knora-api:valueHasUUID" : "0000000000030ead2a830w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000036c3a009a30wR.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000030ead2a830wg.20160302T150514Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/1f08358b9c08", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/7dba06b88201", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001f08358b9c0wZ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000007dba06b8820wb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Guillelmus Parisiensis", + "knora-api:valueAsString" : "Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000001f08358b9c0w", + "knora-api:valueHasUUID" : "00000000007dba06b8820w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001f08358b9c0wZ.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/00000000007dba06b8820wb.20160302T150514Z" } }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/2baf81709d08", + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/40e459f18201", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002baf81709d0wc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000000040e459f1820wq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: Aleph A VI 3:1", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000002baf81709d0w", + "knora-api:valueHasUUID" : "000000000040e459f1820w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002baf81709d0wc.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000000040e459f1820wq.20160302T150514Z" } }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/b10228e39d08", + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/f76660458201", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b10228e39d0w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000f7666045820wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Impressum: Ort und Jahr in der Vorlage genannt, Drucker nach ISTC", + "knora-api:valueAsString" : "Lob der Glieder Mariens", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000b10228e39d0w", + "knora-api:valueHasUUID" : "0000000000f7666045820w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b10228e39d0w2.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/0000000000f7666045820wL.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/742c7b1c9e08", + }, + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/21abac2162/values/8abc888d079e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000742c7b1c9e0w4" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000008abc888d079e0wO" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "V.d.Haegen: Nach F.J. Worstbrock ist der Verfasser Johann Herolt", + "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000742c7b1c9e0w", + "knora-api:valueHasUUID" : "000000008abc888d079e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000742c7b1c9e0w4.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A/000000008abc888d079e0wO.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/3756ce559e08", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:14Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/21abac2162A.20160302T150514Z" + }, + "rdfs:label" : "Lob der Glieder Mariens" + }, { + "@id" : "http://rdfh.ch/0803/e41ab5695c", + "@type" : "incunabula:book", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/516a8a536c01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000003756ce559e0ww" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000516a8a536c0w2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Woodcuts", + "knora-api:valueAsString" : "GW 4386", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000003756ce559e0w", + "knora-api:valueHasUUID" : "0000000000516a8a536c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000003756ce559e0ww.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000516a8a536c0w2.20160302T150514Z" } }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/fa7f218f9e08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/1494dd8c6c01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000fa7f218f9e0wR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000001494dd8c6c0wF" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Nicht rubr.", + "knora-api:valueAsString" : "ISTC ib00684000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000fa7f218f9e0w", + "knora-api:valueHasUUID" : "00000000001494dd8c6c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000fa7f218f9e0wR.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000001494dd8c6c0wF.20160302T150514Z" } }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/bda974c89e08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/82db62ef0123", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000bda974c89e0wN" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000082db62ef012wr" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "AII falsche Lagebez. AIII", + "knora-api:valueAsString" : "Schramm, Bd. 21, S. 27.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000bda974c89e0w", + "knora-api:valueHasUUID" : "000000000082db62ef012w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000bda974c89e0wN.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000082db62ef012wr.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/80d3c7019f08", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/bf6f97fb6a01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000080d3c7019f0wk" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000bf6f97fb6a0wn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Signakeln", + "knora-api:valueAsString" : "Birgitta, Hl.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000080d3c7019f0w", + "knora-api:valueHasUUID" : "0000000000bf6f97fb6a0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000080d3c7019f0wk.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000bf6f97fb6a0wn.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/43fd1a3b9f08", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/cb16e4e06b01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000043fd1a3b9f0wQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000cb16e4e06b0wP" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Besitzervermerk: Kartause; Besitzervermerk auf Titelbl. und vor Explicit: Frater Othmar von St. Gallen", + "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000043fd1a3b9f0w", + "knora-api:valueHasUUID" : "0000000000cb16e4e06b0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000043fd1a3b9f0wQ.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000cb16e4e06b0wP.20160302T150514Z" } - }, { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/06276e749f08", + }, + "incunabula:note" : { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/d3398239089e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000006276e749f0wg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000d3398239089e0w0" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zusammengebunden mit: De modo perveniendi ad veram et perfectam Dei et proximi dilectionem / Henricus Arnoldi. Basel : M. Wenssler, nicht nach 1.12.1472", + "knora-api:valueAsString" : "Zusammengebunden mit zwei weiteren Drucken von Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000006276e749f0w", + "knora-api:valueHasUUID" : "00000000d3398239089e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000006276e749f0wg.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000d3398239089e0w0.20160302T150514Z" } - } ], + }, "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/eed8d4a99d08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/8e40371a6c01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000eed8d4a99d0wd" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008e40371a6c0wk" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", + "knora-api:valueAsString" : "[12] Bl. : Ill. ; 8°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000eed8d4a99d0w", + "knora-api:valueHasUUID" : "00000000008e40371a6c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000eed8d4a99d0wd.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008e40371a6c0wk.20160302T150514Z" } }, "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/68852e379d08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/08ed90a76b01", "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000068852e379d0wC" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000008ed90a76b0wl" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndDay" : 28, "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndMonth" : 7, - "knora-api:dateValueHasEndYear" : 1491, - "knora-api:dateValueHasStartDay" : 28, + "knora-api:dateValueHasEndYear" : 1492, "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartMonth" : 7, - "knora-api:dateValueHasStartYear" : 1491, + "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1491-07-28 CE", + "knora-api:valueAsString" : "JULIAN:1492 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "000000000068852e379d0w", + "knora-api:valueHasUUID" : "000000000008ed90a76b0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000068852e379d0wC.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000008ed90a76b0wl.20160302T150514Z" } }, "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/e23188c49c08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/8299ea346b01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e23188c49c0wC" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008299ea346b0we" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Michael Furter", + "knora-api:valueAsString" : "Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000e23188c49c0w", + "knora-api:valueHasUUID" : "00000000008299ea346b0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e23188c49c0wC.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/00000000008299ea346b0we.20160302T150514Z" } }, "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/a55bdbfd9c08", + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/45c33d6e6b01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a55bdbfd9c0ws" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000045c33d6e6b0wj" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", "knora-api:userHasPermission" : "CR", "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "0000000000a55bdbfd9c0w", + "knora-api:valueHasUUID" : "000000000045c33d6e6b0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a55bdbfd9c0ws.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/000000000045c33d6e6b0wj.20160302T150514Z" } }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/5cdee1519c08", + "incunabula:title" : [ { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/391cf1886a01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005cdee1519c0ws" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000391cf1886a0wV" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Postilla super epistolas et evangelia", + "knora-api:valueAsString" : "Orationes", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000005cdee1519c0w", + "knora-api:valueHasUUID" : "0000000000391cf1886a0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005cdee1519c0ws.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000391cf1886a0wV.20160302T150514Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/410f6d5bcb2704", + }, { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/fc4544c26a01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000410f6d5bcb270w1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000fc4544c26a0wh" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "Sant Brigitten gebettly", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:14Z" + }, + "knora-api:valueHasUUID" : "0000000000fc4544c26a0w", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000000fc4544c26a0wh.20160302T150514Z" + } + } ], + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/e41ab5695c/values/10102f00089e04", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000010102f00089e0wH" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/b83acc5f05" + }, "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002709195", + "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, - "knora-api:valueHasUUID" : "00000000410f6d5bcb270w", + "knora-api:valueHasUUID" : "0000000010102f00089e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000410f6d5bcb270w1.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN/0000000010102f00089e0wH.20160302T150514Z" } }, "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN" }, "knora-api:attachedToProject" : { "@id" : "http://rdfh.ch/projects/0803" @@ -5005,5170 +4930,5267 @@ }, "knora-api:creationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:30Z" + "@value" : "2016-03-02T15:05:14Z" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L.20160302T150530Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/e41ab5695cN.20160302T150514Z" }, - "rdfs:label" : "Postilla super epistolas et evangelia" + "rdfs:label" : "Orationes" }, { - "@id" : "http://rdfh.ch/0803/861b5644b302", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03", "@type" : "incunabula:book", "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/c226fa84c40a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/c94387336e0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c226fa84c40Qf" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000c94387336e0QB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC (CD-ROM) und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000c226fa84c40Q", + "knora-api:valueHasUUID" : "0000000000c94387336e0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c226fa84c40Qf.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000c94387336e0QB.20160302T150538Z" } }, "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/6e95e13fbe0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/99a7549e6a0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006e95e13fbe0QN" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000099a7549e6a0Ql" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "Van der Haegen I: 22,30", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:38Z" + }, + "knora-api:valueHasUUID" : "000000000099a7549e6a0Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000099a7549e6a0Ql.20160302T150538Z" + } + }, { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/5cd1a7d76a0c", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000005cd1a7d76a0Qx" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 22,21", + "knora-api:valueAsString" : "Goff P142", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000006e95e13fbe0Q", + "knora-api:valueHasUUID" : "00000000005cd1a7d76a0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006e95e13fbe0QN.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000005cd1a7d76a0Qx.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/31bf3479be0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/1ffbfa106b0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000031bf3479be0QR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001ffbfa106b0QI" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff M421", + "knora-api:valueAsString" : "H 12453*", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "000000000031bf3479be0Q", + "knora-api:valueHasUUID" : "00000000001ffbfa106b0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000031bf3479be0QR.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001ffbfa106b0QI.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/f4e887b2be0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/e2244e4a6b0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f4e887b2be0Qn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000e2244e4a6b0QG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "HC 13628*", + "knora-api:valueAsString" : "Pellechet Ms 9031 (8884)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000f4e887b2be0Q", + "knora-api:valueHasUUID" : "0000000000e2244e4a6b0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f4e887b2be0Qn.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000e2244e4a6b0QG.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/b712dbebbe0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/a54ea1836b0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b712dbebbe0Qa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000a54ea1836b0QQ" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "CIBN P-41", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:38Z" + }, + "knora-api:valueHasUUID" : "0000000000a54ea1836b0Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000a54ea1836b0QQ.20160302T150538Z" + } + }, { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/6878f4bc6b0c", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000006878f4bc6b0QD" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 4604", + "knora-api:valueAsString" : "Polain, Belgique 2992", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:38Z" + }, + "knora-api:valueHasUUID" : "00000000006878f4bc6b0Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000006878f4bc6b0QD.20160302T150538Z" + } + }, { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/2ba247f66b0c", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000002ba247f66b0Qh" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "IDL 1000", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:38Z" + }, + "knora-api:valueHasUUID" : "00000000002ba247f66b0Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000002ba247f66b0Qh.20160302T150538Z" + } + }, { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/eecb9a2f6c0c", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000eecb9a2f6c0QF" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "Sajó-Soltész 784", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000b712dbebbe0Q", + "knora-api:valueHasUUID" : "0000000000eecb9a2f6c0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b712dbebbe0Qa.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000eecb9a2f6c0QF.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/7a3c2e25bf0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/b1f5ed686c0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000007a3c2e25bf0Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000b1f5ed686c0QA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXII p. 43", + "knora-api:valueAsString" : "Pollard, Morgan 231", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000007a3c2e25bf0Q", + "knora-api:valueHasUUID" : "0000000000b1f5ed686c0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000007a3c2e25bf0Qb.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000b1f5ed686c0QA.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/3d66815ebf0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/741f41a26c0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003d66815ebf0Q9" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000741f41a26c0Qo" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pell Ms 7787 (7732)", + "knora-api:valueAsString" : "Voulliéme, Berlin 572", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000003d66815ebf0Q", + "knora-api:valueHasUUID" : "0000000000741f41a26c0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003d66815ebf0Q9.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000741f41a26c0Qo.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/0090d497bf0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/374994db6c0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000090d497bf0Qg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000374994db6c0Qz" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "CIBN M-264", + "knora-api:valueAsString" : "Schreiber, Manuel 4607", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000000090d497bf0Q", + "knora-api:valueHasUUID" : "0000000000374994db6c0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000090d497bf0Qg.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000374994db6c0Qz.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/c3b927d1bf0a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/fa72e7146d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c3b927d1bf0Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fa72e7146d0QB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hillard 1361", + "knora-api:valueAsString" : "Schramm XXII p. 43", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000c3b927d1bf0Q", + "knora-api:valueHasUUID" : "0000000000fa72e7146d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c3b927d1bf0Qb.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fa72e7146d0QB.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/86e37a0ac00a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/bd9c3a4e6d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000086e37a0ac00Q1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bd9c3a4e6d0Qt" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Parguez 710", + "knora-api:valueAsString" : "Sheppard 2519, 2520", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "000000000086e37a0ac00Q", + "knora-api:valueHasUUID" : "0000000000bd9c3a4e6d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000086e37a0ac00Q1.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bd9c3a4e6d0Qt.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/490dce43c00a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/80c68d876d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000490dce43c00QE" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000080c68d876d0Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Polain(B) 2650", + "knora-api:valueAsString" : "Proctor 7731", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000490dce43c00Q", + "knora-api:valueHasUUID" : "000000000080c68d876d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000490dce43c00QE.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000080c68d876d0Qc.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/0c37217dc00a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/43f0e0c06d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000c37217dc00Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000043f0e0c06d0Qn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IDL 3184", + "knora-api:valueAsString" : "BMC III 784", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000000c37217dc00Q", + "knora-api:valueHasUUID" : "000000000043f0e0c06d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000c37217dc00Qc.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000043f0e0c06d0Qn.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/cf6074b6c00a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/061a34fa6d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000cf6074b6c00QC" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000061a34fa6d0QP" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBE 3893", + "knora-api:valueAsString" : "BSB P-27", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000cf6074b6c00Q", + "knora-api:valueHasUUID" : "0000000000061a34fa6d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000cf6074b6c00QC.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000061a34fa6d0QP.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/928ac7efc00a", + } ], + "incunabula:description" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/bfb10fb60123", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000928ac7efc00Q7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bfb10fb6012wf" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" + "@id" : "http://rdfh.ch/users/b83acc5f05" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IGI 6319", + "knora-api:valueAsString" : "Blattgrösse: ca. 20,0 x 15,0 cm", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000928ac7efc00Q", + "knora-api:valueHasUUID" : "0000000000bfb10fb6012w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000928ac7efc00Q7.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000bfb10fb6012wf.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/55b41a29c10a", + }, + "incunabula:hasAuthor" : [ { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/38dcc127680c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000055b41a29c10QR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000038dcc127680Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBP 3676", + "knora-api:valueAsString" : "Meynradus Sanctus", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "000000000055b41a29c10Q", + "knora-api:valueHasUUID" : "000000000038dcc127680Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000055b41a29c10QR.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000038dcc127680Qs.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/18de6d62c10a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/fb051561680c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000018de6d62c10QY" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fb051561680QY" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sajó-Soltész 2239", + "knora-api:valueAsString" : "Albrecht von Bonstetten", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "000000000018de6d62c10Q", + "knora-api:valueHasUUID" : "0000000000fb051561680Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000018de6d62c10QY.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000fb051561680QY.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/db07c19bc10a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/df94728137630b", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000db07c19bc10QY" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000df94728137630Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Madsen 2704", + "knora-api:valueAsString" : "sss", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000db07c19bc10Q", + "knora-api:valueHasUUID" : "00000000df94728137630Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000db07c19bc10QY.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000df94728137630Qs.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/9e3114d5c10a", + } ], + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/07ad6146690c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009e3114d5c10Qi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000007ad6146690Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "L\"kk\"s(Cat BPU) 300", + "knora-api:valueAsString" : "Basel UB, Sign: FN VI 4e", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000009e3114d5c10Q", + "knora-api:valueHasUUID" : "000000000007ad6146690Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009e3114d5c10Qi.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000007ad6146690Qc.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/615b670ec20a", + }, + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/8d0008b9690c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000615b670ec20Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008d0008b9690QP" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 563", + "knora-api:valueAsString" : "Nicht rubr.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000615b670ec20Q", + "knora-api:valueHasUUID" : "00000000008d0008b9690Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000615b670ec20Qb.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008d0008b9690QP.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/2485ba47c20a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/502a5bf2690c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002485ba47c20Qz" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000502a5bf2690Q5" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schüling 586", + "knora-api:valueAsString" : "Holzschnitte unkoloriert", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000002485ba47c20Q", + "knora-api:valueHasUUID" : "0000000000502a5bf2690Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002485ba47c20Qz.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000502a5bf2690Q5.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/e7ae0d81c20a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/1354ae2b6a0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e7ae0d81c20Qa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001354ae2b6a0QI" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Ohly-Sack 1949, 1950", + "knora-api:valueAsString" : "Variante: Mit gedruckter Init. D aus Alphabet 1 auf Lage a1(b), Z. 1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000e7ae0d81c20Q", + "knora-api:valueHasUUID" : "00000000001354ae2b6a0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e7ae0d81c20Qa.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000001354ae2b6a0QI.20160302T150538Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/aad860bac20a", + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/d67d01656a0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000aad860bac20Qo" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000d67d01656a0Qi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sack(Freiburg) 2412", + "knora-api:valueAsString" : "Letzte Zeile der Lage a3(a) endend Cosu, darunter Lagenbez. ajjn-", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000aad860bac20Q", + "knora-api:valueHasUUID" : "0000000000d67d01656a0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000aad860bac20Qo.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000d67d01656a0Qi.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/6d02b4f3c20a", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/cad6b47f690c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006d02b4f3c20QQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000cad6b47f690Qp" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hummel-Wilhelmi 427", + "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000006d02b4f3c20Q", + "knora-api:valueHasUUID" : "0000000000cad6b47f690Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006d02b4f3c20QQ.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000cad6b47f690Qp.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/302c072dc30a", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/44830e0d690c", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000302c072dc30QP" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000044830e0d690QK" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndDay" : 20, + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndMonth" : 9, + "knora-api:dateValueHasEndYear" : 1496, + "knora-api:dateValueHasStartDay" : 20, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartMonth" : 9, + "knora-api:dateValueHasStartYear" : 1496, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Walsh 1245", + "knora-api:valueAsString" : "JULIAN:1496-09-20 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000302c072dc30Q", + "knora-api:valueHasUUID" : "000000000044830e0d690Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000302c072dc30QP.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000044830e0d690QK.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/f3555a66c30a", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/be2f689a680c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f3555a66c30Qx" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000be2f689a680Qe" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oates 2830", + "knora-api:valueAsString" : "Michael Furter", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000f3555a66c30Q", + "knora-api:valueHasUUID" : "0000000000be2f689a680Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f3555a66c30Qx.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/0000000000be2f689a680Qe.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/b67fad9fc30a", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/8159bbd3680c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b67fad9fc30Q7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008159bbd3680Qh" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sheppard 2514", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "0000000000b67fad9fc30Q", + "knora-api:valueHasUUID" : "00000000008159bbd3680Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b67fad9fc30Q7.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000008159bbd3680Qh.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/79a900d9c30a", + }, + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/75b26eee670c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000079a900d9c30QA" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000075b26eee670Qy" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pr 7728", + "knora-api:valueAsString" : "Passio sancti Meynrhadi martyris et heremite", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "000000000079a900d9c30Q", + "knora-api:valueHasUUID" : "000000000075b26eee670Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000079a900d9c30QA.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/000000000075b26eee670Qy.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/3cd35312c40a", + }, + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/6fad5b8c1e03/values/c76213cecb2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003cd35312c40QU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000c76213cecb270wD" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BMC III 783", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002715545", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:38Z" }, - "knora-api:valueHasUUID" : "00000000003cd35312c40Q", + "knora-api:valueHasUUID" : "00000000c76213cecb270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003cd35312c40QU.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q/00000000c76213cecb270wD.20160302T150538Z" } - }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/fffca64bc40a", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:38Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/6fad5b8c1e03q.20160302T150538Z" + }, + "rdfs:label" : "Passio sancti Meynrhadi martyris et heremite" + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02", + "@type" : "incunabula:book", + "incunabula:book_comment" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/f9ecf342a308", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000fffca64bc40Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000f9ecf342a30wm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB M-300", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000fffca64bc40Q", + "knora-api:valueHasUUID" : "0000000000f9ecf342a30w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000fffca64bc40Qs.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000f9ecf342a30wm.20160302T150530Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/8776a856bb0a", + }, + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/c950c1ad9f08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000008776a856bb0Qr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000c950c1ad9f0w4" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johannes Meder", + "knora-api:valueAsString" : "Van der Haegen I: 22,9", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000008776a856bb0Q", + "knora-api:valueHasUUID" : "0000000000c950c1ad9f0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000008776a856bb0Qr.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000c950c1ad9f0w4.20160302T150530Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/931df53bbc0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/8c7a14e79f08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000931df53bbc0Qh" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000008c7a14e79f0wJ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: Aleph E XI 24a", + "knora-api:valueAsString" : "Goff G690", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000931df53bbc0Q", + "knora-api:valueHasUUID" : "00000000008c7a14e79f0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000931df53bbc0Qh.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000008c7a14e79f0wJ.20160302T150530Z" } - }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/19719baebc0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/4fa46720a008", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000019719baebc0Qq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000004fa46720a00ww" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "mit Beigabe von Sebastian Brant", + "knora-api:valueAsString" : "HC 8273*", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000019719baebc0Q", + "knora-api:valueHasUUID" : "00000000004fa46720a00w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000019719baebc0Qq.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000004fa46720a00ww.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/dc9aeee7bc0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/12ceba59a008", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000dc9aeee7bc0Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000012ceba59a00wF" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Woodcuts", + "knora-api:valueAsString" : "Schr 4146", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000dc9aeee7bc0Q", + "knora-api:valueHasUUID" : "000000000012ceba59a00w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000dc9aeee7bc0Qb.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000012ceba59a00wF.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/9fc44121bd0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/d5f70d93a008", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009fc44121bd0Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000d5f70d93a00wl" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Nicht rubr.", + "knora-api:valueAsString" : "Schramm XXII p. 42", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000009fc44121bd0Q", + "knora-api:valueHasUUID" : "0000000000d5f70d93a00w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009fc44121bd0Qs.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000d5f70d93a00wl.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/62ee945abd0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/982161cca008", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000062ee945abd0Q1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000982161cca00wz" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Holzschnitte unkoloriert", + "knora-api:valueAsString" : "Arnoult 753", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000062ee945abd0Q", + "knora-api:valueHasUUID" : "0000000000982161cca00w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000062ee945abd0Q1.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000982161cca00wz.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/2518e893bd0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/5b4bb405a108", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002518e893bd0QJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005b4bb405a10wG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Letztes Bl. blank fehlt", + "knora-api:valueAsString" : "IDL 2188", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000002518e893bd0Q", + "knora-api:valueHasUUID" : "00000000005b4bb405a10w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002518e893bd0QJ.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005b4bb405a10wG.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/e8413bcdbd0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/1e75073fa108", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e8413bcdbd0Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001e75073fa10wX" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oben knapp beschnitten", + "knora-api:valueAsString" : "IGI 4628", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000e8413bcdbd0Q", + "knora-api:valueHasUUID" : "00000000001e75073fa10w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e8413bcdbd0Qs.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001e75073fa10wX.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/ab6b8e06be0a", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/e19e5a78a108", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000ab6b8e06be0Q7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e19e5a78a10w3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hs. Randglosse auf Titelbl.", + "knora-api:valueAsString" : "Goff(P) 72", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000ab6b8e06be0Q", + "knora-api:valueHasUUID" : "0000000000e19e5a78a10w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000ab6b8e06be0Q7.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e19e5a78a10w3.20160302T150530Z" } - } ], - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/56474875bc0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/a4c8adb1a108", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000056474875bc0Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a4c8adb1a10wP" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 8°", + "knora-api:valueAsString" : "Voull(B) 558", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000056474875bc0Q", + "knora-api:valueHasUUID" : "0000000000a4c8adb1a10w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000056474875bc0Qb.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a4c8adb1a10wP.20160302T150530Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/d0f3a102bc0a", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/67f200eba108", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000d0f3a102bc0QT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000067f200eba10wL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1495, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1495, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1495 CE", + "knora-api:valueAsString" : "Hubay(Augsburg) 997", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000d0f3a102bc0Q", + "knora-api:valueHasUUID" : "000000000067f200eba10w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000d0f3a102bc0QT.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000067f200eba10wL.20160302T150530Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/4aa0fb8fbb0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/2a1c5424a208", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000004aa0fb8fbb0Q6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002a1c5424a20w2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Michael Furter", + "knora-api:valueAsString" : "Hummel-Wilhelmi 282", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000004aa0fb8fbb0Q", + "knora-api:valueHasUUID" : "00000000002a1c5424a20w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000004aa0fb8fbb0Q6.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002a1c5424a20w2.20160302T150530Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/0dca4ec9bb0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/ed45a75da208", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000dca4ec9bb0Qr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000ed45a75da20wT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Sack(Freiburg) 1745", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000000dca4ec9bb0Q", + "knora-api:valueHasUUID" : "0000000000ed45a75da20w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000dca4ec9bb0Qr.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000ed45a75da20wT.20160302T150530Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/c44c551dbb0a", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/b06ffa96a208", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c44c551dbb0QH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b06ffa96a20wl" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Quadragesimale de filio prodigo", + "knora-api:valueAsString" : "Pr 7722", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000c44c551dbb0Q", + "knora-api:valueHasUUID" : "0000000000b06ffa96a20w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c44c551dbb0QH.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b06ffa96a20wl.20160302T150530Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/861b5644b302/values/0439c094cb2704", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/73994dd0a208", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000439c094cb270wQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000073994dd0a20wf" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002712355", + "knora-api:valueAsString" : "BMC III 782", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000439c094cb270w", + "knora-api:valueHasUUID" : "000000000073994dd0a20w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000439c094cb270wQ.20160302T150534Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000073994dd0a20wf.20160302T150530Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:34Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T.20160302T150534Z" - }, - "rdfs:label" : "Quadragesimale de filio prodigo" - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701", - "@type" : "incunabula:book", - "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/56c287fc9505", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/36c3a009a308", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000056c287fc950w5" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000036c3a009a30wR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", + "knora-api:valueAsString" : "BSB-Ink H-162", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000056c287fc950w", + "knora-api:valueHasUUID" : "000000000036c3a009a30w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000056c287fc950w5.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000036c3a009a30wR.20160302T150530Z" } - }, - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/7b4a9bf89305", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/1f08358b9c08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000007b4a9bf8930w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001f08358b9c0wZ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 9,14", + "knora-api:valueAsString" : "Guillelmus Parisiensis", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000007b4a9bf8930w", + "knora-api:valueHasUUID" : "00000000001f08358b9c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000007b4a9bf8930w2.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000001f08358b9c0wZ.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/3e74ee319405", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/2baf81709d08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000003e74ee31940w2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002baf81709d0wc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff M165", + "knora-api:valueAsString" : "Basel UB, Sign: Aleph A VI 3:1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000003e74ee31940w", + "knora-api:valueHasUUID" : "00000000002baf81709d0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000003e74ee31940w2.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000002baf81709d0wc.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/019e416b9405", + }, + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/b10228e39d08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000019e416b940wc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b10228e39d0w2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "C 3833", + "knora-api:valueAsString" : "Impressum: Ort und Jahr in der Vorlage genannt, Drucker nach ISTC", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000019e416b940w", + "knora-api:valueHasUUID" : "0000000000b10228e39d0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000019e416b940wc.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000b10228e39d0w2.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/c4c794a49405", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/742c7b1c9e08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000c4c794a4940wm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000742c7b1c9e0w4" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Klebs 651.2", + "knora-api:valueAsString" : "V.d.Haegen: Nach F.J. Worstbrock ist der Verfasser Johann Herolt", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000c4c794a4940w", + "knora-api:valueHasUUID" : "0000000000742c7b1c9e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000c4c794a4940wm.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000742c7b1c9e0w4.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/87f1e7dd9405", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/3756ce559e08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000087f1e7dd940wJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000003756ce559e0ww" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 4799", + "knora-api:valueAsString" : "Woodcuts", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000087f1e7dd940w", + "knora-api:valueHasUUID" : "00000000003756ce559e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000087f1e7dd940wJ.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000003756ce559e0ww.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/4a1b3b179505", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/fa7f218f9e08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000004a1b3b17950wa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000fa7f218f9e0wR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXI p. 9 & 26", + "knora-api:valueAsString" : "Nicht rubr.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000004a1b3b17950w", + "knora-api:valueHasUUID" : "0000000000fa7f218f9e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000004a1b3b17950wa.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000fa7f218f9e0wR.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/0d458e509505", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/bda974c89e08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000000d458e50950wm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000bda974c89e0wN" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "FairMur(G) 283", + "knora-api:valueAsString" : "AII falsche Lagebez. AIII", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000000d458e50950w", + "knora-api:valueHasUUID" : "0000000000bda974c89e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000000d458e50950wm.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000bda974c89e0wN.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/d06ee1899505", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/80d3c7019f08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d06ee189950wA" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000080d3c7019f0wk" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBP 3556", + "knora-api:valueAsString" : "Signakeln", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000d06ee189950w", + "knora-api:valueHasUUID" : "000000000080d3c7019f0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d06ee189950wA.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000080d3c7019f0wk.20160302T150530Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/939834c39505", + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/43fd1a3b9f08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000939834c3950w6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000043fd1a3b9f0wQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Borm 1751", + "knora-api:valueAsString" : "Besitzervermerk: Kartause; Besitzervermerk auf Titelbl. und vor Explicit: Frater Othmar von St. Gallen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000939834c3950w", + "knora-api:valueHasUUID" : "000000000043fd1a3b9f0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000939834c3950w6.20160302T150521Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000043fd1a3b9f0wQ.20160302T150530Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/1a7f08829105", + }, { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/06276e749f08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000001a7f0882910wn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000006276e749f0wg" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Jean Mandeville", + "knora-api:valueAsString" : "Zusammengebunden mit: De modo perveniendi ad veram et perfectam Dei et proximi dilectionem / Henricus Arnoldi. Basel : M. Wenssler, nicht nach 1.12.1472", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000001a7f0882910w", + "knora-api:valueHasUUID" : "000000000006276e749f0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000001a7f0882910wn.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000006276e749f0wg.20160302T150530Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/262655679205", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/eed8d4a99d08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000026265567920wa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000eed8d4a99d0wd" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: Aleph D III 13:1", + "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000026265567920w", + "knora-api:valueHasUUID" : "0000000000eed8d4a99d0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000026265567920wa.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000eed8d4a99d0wd.20160302T150530Z" } }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/ac79fbd99205", - "@type" : "knora-api:TextValue", + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/68852e379d08", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000ac79fbd9920wy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000068852e379d0wC" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndDay" : 28, + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndMonth" : 7, + "knora-api:dateValueHasEndYear" : 1491, + "knora-api:dateValueHasStartDay" : 28, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartMonth" : 7, + "knora-api:dateValueHasStartYear" : 1491, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "deutsch von Otto von Diemeringen", + "knora-api:valueAsString" : "JULIAN:1491-07-28 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000ac79fbd9920w", + "knora-api:valueHasUUID" : "000000000068852e379d0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000ac79fbd9920wy.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/000000000068852e379d0wC.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/6fa34e139305", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/e23188c49c08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000006fa34e13930wU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e23188c49c0wC" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Rubr. mit Init. J zu Beginn", + "knora-api:valueAsString" : "Michael Furter", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "00000000006fa34e13930w", + "knora-api:valueHasUUID" : "0000000000e23188c49c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000006fa34e13930wU.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000e23188c49c0wC.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/32cda14c9305", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/a55bdbfd9c08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000032cda14c930w4" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a55bdbfd9c0ws" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Holzschnitte nicht koloriert", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "000000000032cda14c930w", + "knora-api:valueHasUUID" : "0000000000a55bdbfd9c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000032cda14c930w4.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/0000000000a55bdbfd9c0ws.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/f5f6f4859305", + }, + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/5cdee1519c08", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000f5f6f485930w6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005cdee1519c0ws" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Besitzervermerke: Kartause, H. Zscheckenbürlin", + "knora-api:valueAsString" : "Postilla super epistolas et evangelia", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000f5f6f485930w", + "knora-api:valueHasUUID" : "00000000005cdee1519c0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000f5f6f485930w6.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000005cdee1519c0ws.20160302T150530Z" } - }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/b82048bf9305", + }, + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/939baf3f2a02/values/410f6d5bcb2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000b82048bf930wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000410f6d5bcb270w1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zusammengebunden mit: Die zehen Gebote ; Was und wie man beten soll und Auslegung des hlg. Pater nosters / Hans von Warmont. Strassburg, 1516", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002709195", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:30Z" }, - "knora-api:valueHasUUID" : "0000000000b82048bf930w", + "knora-api:valueHasUUID" : "00000000410f6d5bcb270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000b82048bf930wL.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L/00000000410f6d5bcb270w1.20160302T150530Z" } - } ], - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/e94fa8a09205", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:30Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/939baf3f2a02L.20160302T150530Z" + }, + "rdfs:label" : "Postilla super epistolas et evangelia" + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302", + "@type" : "incunabula:book", + "incunabula:book_comment" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/c226fa84c40a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000e94fa8a0920wv" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c226fa84c40Qf" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Dimensions: f°", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000e94fa8a0920w", + "knora-api:valueHasUUID" : "0000000000c226fa84c40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000e94fa8a0920wv.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c226fa84c40Qf.20160302T150534Z" } }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/63fc012e9205", - "@type" : "knora-api:DateValue", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/6e95e13fbe0a", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000063fc012e920wK" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006e95e13fbe0QN" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1481, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1481, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1481 CE", + "knora-api:valueAsString" : "Van der Haegen I: 22,21", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000063fc012e920w", + "knora-api:valueHasUUID" : "00000000006e95e13fbe0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/000000000063fc012e920wK.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006e95e13fbe0QN.20160302T150534Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/dda85bbb9105", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/31bf3479be0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000dda85bbb910wo" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000031bf3479be0QR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Bernhard Richel", + "knora-api:valueAsString" : "Goff M421", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000dda85bbb910w", + "knora-api:valueHasUUID" : "000000000031bf3479be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000dda85bbb910wo.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000031bf3479be0QR.20160302T150534Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/a0d2aef49105", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/f4e887b2be0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000a0d2aef4910wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f4e887b2be0Qn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "HC 13628*", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000a0d2aef4910w", + "knora-api:valueHasUUID" : "0000000000f4e887b2be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000a0d2aef4910wL.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f4e887b2be0Qn.20160302T150534Z" } - }, - "incunabula:title" : [ { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/d1010fd69005", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/b712dbebbe0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d1010fd6900w5" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b712dbebbe0Qa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Reise ins Heilige Land", + "knora-api:valueAsString" : "Schr 4604", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000d1010fd6900w", + "knora-api:valueHasUUID" : "0000000000b712dbebbe0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000d1010fd6900w5.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b712dbebbe0Qa.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/942b620f9105", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/7a3c2e25bf0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000942b620f910wy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000007a3c2e25bf0Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Reysen und wanderschafften durch das Gelobte Land", + "knora-api:valueAsString" : "Schramm XXII p. 43", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000942b620f910w", + "knora-api:valueHasUUID" : "00000000007a3c2e25bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/0000000000942b620f910wy.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000007a3c2e25bf0Qb.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/5755b5489105", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/3d66815ebf0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000005755b548910wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003d66815ebf0Q9" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Itinerarius", + "knora-api:valueAsString" : "Pell Ms 7787 (7732)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000005755b548910w", + "knora-api:valueHasUUID" : "00000000003d66815ebf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000005755b548910wq.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003d66815ebf0Q9.20160302T150534Z" } - } ], - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/2a6221216701/values/f89173afca2704", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/0090d497bf0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000f89173afca270w7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000090d497bf0Qg" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002610320", + "knora-api:valueAsString" : "CIBN M-264", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:20Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000f89173afca270w", + "knora-api:valueHasUUID" : "00000000000090d497bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W/00000000f89173afca270w7.20160302T150520Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000090d497bf0Qg.20160302T150534Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:21Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/2a6221216701W.20160302T150521Z" - }, - "rdfs:label" : "Reise ins Heilige Land" - }, { - "@id" : "http://rdfh.ch/0803/c5058f3a", - "@type" : "incunabula:book", - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/184e99ca01", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/c3b927d1bf0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000184e99ca0wI" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c3b927d1bf0Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm Bd. XXI, S. 27", + "knora-api:valueAsString" : "Hillard 1361", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000184e99ca0w", + "knora-api:valueHasUUID" : "0000000000c3b927d1bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000184e99ca0wI.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c3b927d1bf0Qb.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/db77ec0302", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/86e37a0ac00a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000db77ec030wK" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000086e37a0ac00Q1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 4168", + "knora-api:valueAsString" : "Parguez 710", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000db77ec030w", + "knora-api:valueHasUUID" : "000000000086e37a0ac00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000db77ec030wK.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000086e37a0ac00Q1.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/9ea13f3d02", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/490dce43c00a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000000009ea13f3d0w9" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000490dce43c00QE" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC ib00512000", + "knora-api:valueAsString" : "Polain(B) 2650", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000009ea13f3d0w", + "knora-api:valueHasUUID" : "0000000000490dce43c00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000000009ea13f3d0w9.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000490dce43c00QE.20160302T150534Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/8653a672", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/0c37217dc00a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000008653a67wU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000c37217dc00Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Berthold, der Bruder", + "knora-api:valueAsString" : "IDL 3184", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000008653a67w", + "knora-api:valueHasUUID" : "00000000000c37217dc00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000008653a67wU.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000c37217dc00Qc.20160302T150534Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/92faf25701", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/cf6074b6c00a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000092faf2570wU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000cf6074b6c00QC" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", + "knora-api:valueAsString" : "IBE 3893", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000000092faf2570w", + "knora-api:valueHasUUID" : "0000000000cf6074b6c00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000092faf2570wU.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000cf6074b6c00QC.20160302T150534Z" } - }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/5524469101", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/928ac7efc00a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000552446910wg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000928ac7efc00Q7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Dimension: 8°", + "knora-api:valueAsString" : "IGI 6319", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000552446910w", + "knora-api:valueHasUUID" : "0000000000928ac7efc00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000552446910wg.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000928ac7efc00Q7.20160302T150534Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/cfd09f1e01", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/55b41a29c10a", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000cfd09f1e0wn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000055b41a29c10QR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1492, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1492 CE", + "knora-api:valueAsString" : "IBP 3676", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000cfd09f1e0w", + "knora-api:valueHasUUID" : "000000000055b41a29c10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000cfd09f1e0wn.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000055b41a29c10QR.20160302T150534Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/497df9ab", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/18de6d62c10a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000497df9aQs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000018de6d62c10QY" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Amerbach", + "knora-api:valueAsString" : "Sajó-Soltész 2239", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000000000497df9aQ", + "knora-api:valueHasUUID" : "000000000018de6d62c10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000497df9aQs.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000018de6d62c10QY.20160302T150534Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/0ca74ce5", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/db07c19bc10a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000000ca74cewG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000db07c19bc10QY" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Madsen 2704", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000000000ca74cew", + "knora-api:valueHasUUID" : "0000000000db07c19bc10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000000ca74cewG.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000db07c19bc10QY.20160302T150534Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/c3295339", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/9e3114d5c10a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000c329533w6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009e3114d5c10Qi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zeitglöcklein des Lebens und Leidens Christi", + "knora-api:valueAsString" : "L\"kk\"s(Cat BPU) 300", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000000000c329533w", + "knora-api:valueHasUUID" : "00000000009e3114d5c10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000c329533w6.20160302T150510Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009e3114d5c10Qi.20160302T150534Z" } - }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/c5058f3a/values/10e00c7acc2704", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/615b670ec20a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000010e00c7acc270wO" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000615b670ec20Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", + "knora-api:valueAsString" : "Voull(B) 563", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" - }, - "knora-api:valueHasUUID" : "0000000010e00c7acc270w", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000010e00c7acc270wO.20160302T150510Z" - } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:10Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5.20160302T150510Z" - }, - "rdfs:label" : "Zeitglöcklein des Lebens und Leidens Christi" - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601", - "@type" : "incunabula:book", - "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/bf312e215806", + "@value" : "2016-03-02T15:05:34Z" + }, + "knora-api:valueHasUUID" : "0000000000615b670ec20Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000615b670ec20Qb.20160302T150534Z" + } + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/2485ba47c20a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000bf312e21580wT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002485ba47c20Qz" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", + "knora-api:valueAsString" : "Schüling 586", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000bf312e21580w", + "knora-api:valueHasUUID" : "00000000002485ba47c20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000bf312e21580wT.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002485ba47c20Qz.20160302T150534Z" } - }, - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/c0c45b6d5306", + }, { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/e7ae0d81c20a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000c0c45b6d530wa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e7ae0d81c20Qa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 16,46", + "knora-api:valueAsString" : "Ohly-Sack 1949, 1950", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000c0c45b6d530w", + "knora-api:valueHasUUID" : "0000000000e7ae0d81c20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000c0c45b6d530wa.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e7ae0d81c20Qa.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/83eeaea65306", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/aad860bac20a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000083eeaea6530w1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000aad860bac20Qo" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff B506", + "knora-api:valueAsString" : "Sack(Freiburg) 2412", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000083eeaea6530w", + "knora-api:valueHasUUID" : "0000000000aad860bac20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000083eeaea6530w1.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000aad860bac20Qo.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/461802e05306", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/6d02b4f3c20a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000461802e0530w6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006d02b4f3c20QQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "H 2990* (I) = HC 2993* = H 8928*", + "knora-api:valueAsString" : "Hummel-Wilhelmi 427", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000461802e0530w", + "knora-api:valueHasUUID" : "00000000006d02b4f3c20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000461802e0530w6.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000006d02b4f3c20QQ.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/094255195406", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/302c072dc30a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000009425519540wF" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000302c072dc30QP" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 3442", + "knora-api:valueAsString" : "Walsh 1245", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000009425519540w", + "knora-api:valueHasUUID" : "0000000000302c072dc30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000009425519540wF.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000302c072dc30QP.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/cc6ba8525406", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/f3555a66c30a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000cc6ba852540wO" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f3555a66c30Qx" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXI p.27", + "knora-api:valueAsString" : "Oates 2830", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000cc6ba852540w", + "knora-api:valueHasUUID" : "0000000000f3555a66c30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000cc6ba852540wO.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000f3555a66c30Qx.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/8f95fb8b5406", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/b67fad9fc30a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000008f95fb8b540wl" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b67fad9fc30Q7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pell 2247", + "knora-api:valueAsString" : "Sheppard 2514", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000008f95fb8b540w", + "knora-api:valueHasUUID" : "0000000000b67fad9fc30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000008f95fb8b540wl.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000b67fad9fc30Q7.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/52bf4ec55406", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/79a900d9c30a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000052bf4ec5540wl" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000079a900d9c30QA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Polain(B) 629", + "knora-api:valueAsString" : "Pr 7728", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000052bf4ec5540w", + "knora-api:valueHasUUID" : "000000000079a900d9c30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000052bf4ec5540wl.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000079a900d9c30QA.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/15e9a1fe5406", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/3cd35312c40a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000015e9a1fe540wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003cd35312c40QU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IDL 801", + "knora-api:valueAsString" : "BMC III 783", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000015e9a1fe540w", + "knora-api:valueHasUUID" : "00000000003cd35312c40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000015e9a1fe540wL.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000003cd35312c40QU.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/d812f5375506", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/fffca64bc40a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d812f537550wB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000fffca64bc40Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IGI 1617", + "knora-api:valueAsString" : "BSB M-300", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000d812f537550w", + "knora-api:valueHasUUID" : "0000000000fffca64bc40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d812f537550wB.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000fffca64bc40Qs.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/9b3c48715506", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/8776a856bb0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009b3c4871550wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000008776a856bb0Qr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 477", + "knora-api:valueAsString" : "Johannes Meder", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000009b3c4871550w", + "knora-api:valueHasUUID" : "00000000008776a856bb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009b3c4871550wq.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000008776a856bb0Qr.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/5e669baa5506", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/931df53bbc0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005e669baa550wR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000931df53bbc0Qh" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:valueAsString" : "Basel UB, Sign: Aleph E XI 24a", + "knora-api:valueCreationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:34Z" + }, + "knora-api:valueHasUUID" : "0000000000931df53bbc0Q", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000931df53bbc0Qh.20160302T150534Z" + } + }, + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/19719baebc0a", + "@type" : "knora-api:TextValue", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000019719baebc0Qq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(Trier) 184", + "knora-api:valueAsString" : "mit Beigabe von Sebastian Brant", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000005e669baa550w", + "knora-api:valueHasUUID" : "000000000019719baebc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005e669baa550wR.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000019719baebc0Qq.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2190eee35506", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/dc9aeee7bc0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002190eee3550w0" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000dc9aeee7bc0Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hubay(Augsburg) 351", + "knora-api:valueAsString" : "Woodcuts", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000002190eee3550w", + "knora-api:valueHasUUID" : "0000000000dc9aeee7bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002190eee3550w0.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000dc9aeee7bc0Qb.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/e4b9411d5606", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/9fc44121bd0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e4b9411d560w5" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009fc44121bd0Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sack(Freiburg) 604", + "knora-api:valueAsString" : "Nicht rubr.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000e4b9411d560w", + "knora-api:valueHasUUID" : "00000000009fc44121bd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e4b9411d560w5.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000009fc44121bd0Qs.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/a7e394565606", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/62ee945abd0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a7e39456560wV" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000062ee945abd0Q1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Finger 177", + "knora-api:valueAsString" : "Holzschnitte unkoloriert", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000a7e39456560w", + "knora-api:valueHasUUID" : "000000000062ee945abd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a7e39456560wV.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000062ee945abd0Q1.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/6a0de88f5606", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/2518e893bd0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006a0de88f560wX" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002518e893bd0QJ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oates 2799, 2800", + "knora-api:valueAsString" : "Letztes Bl. blank fehlt", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000006a0de88f560w", + "knora-api:valueHasUUID" : "00000000002518e893bd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006a0de88f560wX.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000002518e893bd0QJ.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2d373bc95606", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/e8413bcdbd0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002d373bc9560wt" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e8413bcdbd0Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Rhodes(Oxford Colleges) 340", + "knora-api:valueAsString" : "Oben knapp beschnitten", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000002d373bc9560w", + "knora-api:valueHasUUID" : "0000000000e8413bcdbd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002d373bc9560wt.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000e8413bcdbd0Qs.20160302T150534Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/f0608e025706", + "@id" : "http://rdfh.ch/0803/861b5644b302/values/ab6b8e06be0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f0608e02570wi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000ab6b8e06be0Q7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sheppard 2435", + "knora-api:valueAsString" : "Hs. Randglosse auf Titelbl.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000f0608e02570w", + "knora-api:valueHasUUID" : "0000000000ab6b8e06be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f0608e02570wi.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000ab6b8e06be0Q7.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/b38ae13b5706", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/56474875bc0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b38ae13b570wD" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000056474875bc0Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pr 7635", + "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 8°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000b38ae13b570w", + "knora-api:valueHasUUID" : "000000000056474875bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b38ae13b570wD.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000056474875bc0Qb.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/76b434755706", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/d0f3a102bc0a", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000076b43475570w1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000d0f3a102bc0QT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1495, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1495, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BMC III 753", + "knora-api:valueAsString" : "JULIAN:1495 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000076b43475570w", + "knora-api:valueHasUUID" : "0000000000d0f3a102bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000076b43475570w1.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000d0f3a102bc0QT.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/39de87ae5706", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/4aa0fb8fbb0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000039de87ae570w3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000004aa0fb8fbb0Q6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB-Ink B-398", + "knora-api:valueAsString" : "Michael Furter", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "000000000039de87ae570w", + "knora-api:valueHasUUID" : "00000000004aa0fb8fbb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000039de87ae570w3.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000004aa0fb8fbb0Q6.20160302T150534Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/fc07dbe75706", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/0dca4ec9bb0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fc07dbe7570wp" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000dca4ec9bb0Qr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 4175", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "0000000000fc07dbe7570w", + "knora-api:valueHasUUID" : "00000000000dca4ec9bb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fc07dbe7570wp.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/00000000000dca4ec9bb0Qr.20160302T150534Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/5ff9c8f65006", + }, + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/c44c551dbb0a", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005ff9c8f6500wi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c44c551dbb0QH" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Berthold, der Bruder", + "knora-api:valueAsString" : "Quadragesimale de filio prodigo", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000005ff9c8f6500w", + "knora-api:valueHasUUID" : "0000000000c44c551dbb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000005ff9c8f6500wi.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/0000000000c44c551dbb0QH.20160302T150534Z" } }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/6ba015dc5106", + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/861b5644b302/values/0439c094cb2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006ba015dc510wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000439c094cb270wQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: Aleph E X 18:2", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002712355", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:34Z" }, - "knora-api:valueHasUUID" : "00000000006ba015dc510w", + "knora-api:valueHasUUID" : "000000000439c094cb270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000006ba015dc510wL.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T/000000000439c094cb270wQ.20160302T150534Z" } }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/f1f3bb4e5206", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:34Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/861b5644b302T.20160302T150534Z" + }, + "rdfs:label" : "Quadragesimale de filio prodigo" + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103", + "@type" : "incunabula:book", + "incunabula:book_comment" : [ { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/386ebc1ac00d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f1f3bb4e520wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000386ebc1ac00Qt" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Datum nach V.d.Haegen: nicht nach 1489", + "knora-api:valueAsString" : "Sonderkatalog Opera poetica Basiliensia", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000f1f3bb4e520w", + "knora-api:valueHasUUID" : "0000000000386ebc1ac00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000f1f3bb4e520wq.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000386ebc1ac00Qt.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/b41d0f885206", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/fb970f54c00d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b41d0f88520w7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fb970f54c00Ql" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "A copy in the Basel University Library has a rubricator's date 1490. Woodcuts", + "knora-api:valueAsString" : "Impressum von der Titelseite: \"1497. Nihil sine causa. Io. de Olpe\" und dem Kolophon: \"In laudatissima Germaniae urbe Basiliensi, nuper opera & promotione Iohannis Bergman de Olpe anno salutis nostrae millesimoquadringentesimononagesimoseptimo Kalendis Martiis.\"", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000b41d0f88520w", + "knora-api:valueHasUUID" : "0000000000fb970f54c00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000b41d0f88520w7.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fb970f54c00Ql.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/774762c15206", + } ], + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/e4dca3d5b90d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000774762c1520wG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e4dca3d5b90Q1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Rot und blau rubr. mit Init., Zierinit. Q im Maiglöckchen-Stil auf Bl. 2a", + "knora-api:valueAsString" : "ISTC ib01086000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000774762c1520w", + "knora-api:valueHasUUID" : "0000000000e4dca3d5b90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000774762c1520wG.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e4dca3d5b90Q1.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/3a71b5fa5206", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/a706f70eba0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000003a71b5fa520wt" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a706f70eba0Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Holzschnitte koloriert", + "knora-api:valueAsString" : "Van der Haegen I: 28,11", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000003a71b5fa520w", + "knora-api:valueHasUUID" : "0000000000a706f70eba0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000003a71b5fa520wt.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a706f70eba0Qc.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/fd9a08345306", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/6a304a48ba0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fd9a0834530wg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000006a304a48ba0Q6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zusammengebunden mit 2 weiteren Drucken", + "knora-api:valueAsString" : "Goff B1086", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000fd9a0834530w", + "knora-api:valueHasUUID" : "00000000006a304a48ba0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000fd9a0834530wg.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000006a304a48ba0Q6.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/70ffdaede322", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/2d5a9d81ba0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000070ffdaede32wp" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002d5a9d81ba0QB" }, "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/b83acc5f05" + "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Blattgrösse: ca. 155 x 110 mm", + "knora-api:valueAsString" : "HC 3746 = [not H]C(Add) 3747", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000000070ffdaede32w", + "knora-api:valueHasUUID" : "00000000002d5a9d81ba0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000070ffdaede32wp.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002d5a9d81ba0QB.20160302T150543Z" } - } ], - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/2eca68155206", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/f083f0baba0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002eca6815520wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000f083f0baba0Q0" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 8°", + "knora-api:valueAsString" : "Schr 3567; Pell 2820", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000002eca6815520w", + "knora-api:valueHasUUID" : "0000000000f083f0baba0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000002eca6815520wq.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000f083f0baba0Q0.20160302T150543Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/a876c2a25106", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/b3ad43f4ba0d", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a876c2a2510wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b3ad43f4ba0Q1" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndYear" : 1490, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartYear" : 1490, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1490 CE", + "knora-api:valueAsString" : "CIBN B-758", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000a876c2a2510w", + "knora-api:valueHasUUID" : "0000000000b3ad43f4ba0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000a876c2a2510wq.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b3ad43f4ba0Q1.20160302T150543Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/22231c305106", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/76d7962dbb0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000022231c30510wL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000076d7962dbb0Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Amerbach", + "knora-api:valueAsString" : "Aquilon 175;", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000000022231c30510w", + "knora-api:valueHasUUID" : "000000000076d7962dbb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/000000000022231c30510wL.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000076d7962dbb0Qc.20160302T150543Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/e54c6f695106", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/3901ea66bb0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e54c6f69510wH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000003901ea66bb0Q4" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Arnoult 358", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000e54c6f69510w", + "knora-api:valueHasUUID" : "00000000003901ea66bb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000e54c6f69510wH.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000003901ea66bb0Q4.20160302T150543Z" } - }, - "incunabula:title" : [ { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/d9a522845006", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/fc2a3da0bb0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d9a52284500wM" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fc2a3da0bb0Q_" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Zeitglöcklein des Lebens und Leidens Christi", + "knora-api:valueAsString" : "Buffévent 119", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000d9a52284500w", + "knora-api:valueHasUUID" : "0000000000fc2a3da0bb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/0000000000d9a52284500wM.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fc2a3da0bb0Q_.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/9ccf75bd5006", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/bf5490d9bb0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009ccf75bd500wq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000bf5490d9bb0QJ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Horologium devotionis circa vitam Christi", + "knora-api:valueAsString" : "Lefèvre 114", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000009ccf75bd500w", + "knora-api:valueHasUUID" : "0000000000bf5490d9bb0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000009ccf75bd500wq.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000bf5490d9bb0QJ.20160302T150543Z" } - } ], - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/ff17e5ef9601/values/bbbbc6e8ca2704", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/827ee312bc0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000bbbbc6e8ca270wi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000827ee312bc0Qz" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002645085", + "knora-api:valueAsString" : "Péligry 220", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000bbbbc6e8ca270w", + "knora-api:valueHasUUID" : "0000000000827ee312bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j/00000000bbbbc6e8ca270wi.20160302T150523Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000827ee312bc0Qz.20160302T150543Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:23Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/ff17e5ef9601j.20160302T150523Z" - }, - "rdfs:label" : "Zeitglöcklein des Lebens und Leidens Christi" - }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603", - "@type" : "incunabula:book", - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/4892ee908f0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/45a8364cbc0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000004892ee908f0QE" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000045a8364cbc0QQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC ib01082000", + "knora-api:valueAsString" : "Polain(B) 865", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000004892ee908f0Q", + "knora-api:valueHasUUID" : "000000000045a8364cbc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000004892ee908f0QE.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000045a8364cbc0QQ.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/0bbc41ca8f0c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/08d28985bc0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000000bbc41ca8f0Qf" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000008d28985bc0Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 28,8", + "knora-api:valueAsString" : "IDL 1016", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000000bbc41ca8f0Q", + "knora-api:valueHasUUID" : "000000000008d28985bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000000bbc41ca8f0Qf.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000008d28985bc0Qs.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/cee59403900c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/cbfbdcbebc0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000cee59403900Q8" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cbfbdcbebc0QQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "H 3740", + "knora-api:valueAsString" : "IBE 1168", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000cee59403900Q", + "knora-api:valueHasUUID" : "0000000000cbfbdcbebc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000cee59403900Q8.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cbfbdcbebc0QQ.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/910fe83c900c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/8e2530f8bc0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000910fe83c900QR" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008e2530f8bc0Qp" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Bodmer 55 with plate", + "knora-api:valueAsString" : "IGI 2044", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000910fe83c900Q", + "knora-api:valueHasUUID" : "00000000008e2530f8bc0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000910fe83c900QR.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008e2530f8bc0Qp.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/54393b76900c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/514f8331bd0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000054393b76900Qr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000514f8331bd0Qj" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schreiber, Manuel 3559", + "knora-api:valueAsString" : "Sajó-Soltész 801", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000000054393b76900Q", + "knora-api:valueHasUUID" : "0000000000514f8331bd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000054393b76900Qr.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000514f8331bd0Qj.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/17638eaf900c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/1479d66abd0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000017638eaf900Qa" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000001479d66abd0Qy" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXII p. 47", + "knora-api:valueAsString" : "Madsen 859", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000000017638eaf900Q", + "knora-api:valueHasUUID" : "00000000001479d66abd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000017638eaf900Qa.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000001479d66abd0Qy.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/da8ce1e8900c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/d7a229a4bd0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000da8ce1e8900Qi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d7a229a4bd0Qq" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Madsen 858", + "knora-api:valueAsString" : "Voull(B) 607", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000da8ce1e8900Q", + "knora-api:valueHasUUID" : "0000000000d7a229a4bd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000da8ce1e8900Qi.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d7a229a4bd0Qq.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/9db63422910c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/9acc7cddbd0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000009db63422910Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009acc7cddbd0Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voulliéme, Trier 277", + "knora-api:valueAsString" : "Ohly-Sack 701;", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000009db63422910Q", + "knora-api:valueHasUUID" : "00000000009acc7cddbd0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000009db63422910Qc.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009acc7cddbd0Qs.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/60e0875b910c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/5df6cf16be0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000060e0875b910QS" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005df6cf16be0QU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 5046", + "knora-api:valueAsString" : "Sack(Freiburg) 809", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000000060e0875b910Q", + "knora-api:valueHasUUID" : "00000000005df6cf16be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000060e0875b910QS.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005df6cf16be0QU.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/230adb94910c", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/20202350be0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000230adb94910QB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000020202350be0QE" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff B1082", + "knora-api:valueAsString" : "Walsh 1258;", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000230adb94910Q", + "knora-api:valueHasUUID" : "000000000020202350be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000230adb94910QB.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000020202350be0QE.20160302T150543Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/e7c65b1a8d0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/e3497689be0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000e7c65b1a8d0Qm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e3497689be0QY" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sebastian Brant", + "knora-api:valueAsString" : "Oates 2849", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000e7c65b1a8d0Q", + "knora-api:valueHasUUID" : "0000000000e3497689be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000e7c65b1a8d0Qm.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e3497689be0QY.20160302T150543Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/f36da8ff8d0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/a673c9c2be0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000f36da8ff8d0Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a673c9c2be0QM" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: Ai II 22b:1", + "knora-api:valueAsString" : "Rhodes(Oxford Colleges) 435", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000f36da8ff8d0Q", + "knora-api:valueHasUUID" : "0000000000a673c9c2be0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000f36da8ff8d0Qs.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a673c9c2be0QM.20160302T150543Z" } - }, - "incunabula:note" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/47a8b2e6e98e04", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/699d1cfcbe0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000047a8b2e6e98e0wp" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000699d1cfcbe0Qk" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "2712\n75", + "knora-api:valueAsString" : "Sheppard 2557, 2558", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000047a8b2e6e98e0w", + "knora-api:valueHasUUID" : "0000000000699d1cfcbe0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000047a8b2e6e98e0wp.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000699d1cfcbe0Qk.20160302T150543Z" } - }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/b697fb388e0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/2cc76f35bf0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000b697fb388e0Qw" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002cc76f35bf0QE" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", + "knora-api:valueAsString" : "Pr 7776", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000b697fb388e0Q", + "knora-api:valueHasUUID" : "00000000002cc76f35bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000b697fb388e0Qw.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002cc76f35bf0QE.20160302T150543Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/304455c68d0c", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/eff0c26ebf0d", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000304455c68d0QU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000eff0c26ebf0Qg" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndDay" : 3, - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndMonth" : 3, - "knora-api:dateValueHasEndYear" : 1495, - "knora-api:dateValueHasStartDay" : 3, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartMonth" : 3, - "knora-api:dateValueHasStartYear" : 1495, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1495-03-03 CE", + "knora-api:valueAsString" : "BMC III 795", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000304455c68d0Q", + "knora-api:valueHasUUID" : "0000000000eff0c26ebf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000304455c68d0QU.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000eff0c26ebf0Qg.20160302T150543Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/aaf0ae538d0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/b21a16a8bf0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000aaf0ae538d0Q2" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b21a16a8bf0Qw" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Bergmann de Olpe", + "knora-api:valueAsString" : "BSB-Ink B-817", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000aaf0ae538d0Q", + "knora-api:valueHasUUID" : "0000000000b21a16a8bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000aaf0ae538d0Q2.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b21a16a8bf0Qw.20160302T150543Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/6d1a028d8d0c", + }, { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/754469e1bf0d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000006d1a028d8d0Qh" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000754469e1bf0Qo" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "GW 5054", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000006d1a028d8d0Q", + "knora-api:valueHasUUID" : "0000000000754469e1bf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000006d1a028d8d0Qh.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000754469e1bf0Qo.20160302T150543Z" } - }, - "incunabula:title" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/249d08e18c0c", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/cc8e0a0bb80d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000249d08e18c0Qx" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cc8e0a0bb80QL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "[Das] Narrenschiff (dt.)", + "knora-api:valueAsString" : "Sebastian Brant", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000249d08e18c0Q", + "knora-api:valueHasUUID" : "0000000000cc8e0a0bb80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000249d08e18c0Qx.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cc8e0a0bb80QL.20160302T150543Z" } }, - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/8a8c6607cc2704", + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/d83557f0b80d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000008a8c6607cc270w0" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d83557f0b80Qv" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002755521", + "knora-api:valueAsString" : "Basel UB, Sign: DA III 2", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" + "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "000000008a8c6607cc270w", + "knora-api:valueHasUUID" : "0000000000d83557f0b80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000008a8c6607cc270w0.20160302T150539Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d83557f0b80Qv.20160302T150543Z" } }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:39Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U.20160302T150539Z" - }, - "rdfs:label" : "[Das] Narrenschiff (dt.)" - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103", - "@type" : "incunabula:book", - "incunabula:book_comment" : [ { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/386ebc1ac00d", + "incunabula:note" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/21b3509cb90d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000386ebc1ac00Qt" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000021b3509cb90Q4" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sonderkatalog Opera poetica Basiliensia", + "knora-api:valueAsString" : "Auf Innenseite des Hinterdeckels ältester hs. Eintrag: \"Mgri Joannis de Amorbach liber quem Bonifacio filiio suo accomodauit\" von der Hand Johann Amberbachs, darunter Kinderzeichnungen der Söhne und in Nachahmung des ersten Texts: \"Mgri Bonifacij de Amerbach liber quem Basilij Amerbach filio suo accomodavit, MDXLI\". Pfister meint, dass dieser Eintrag nach Schriftprobenvergleich nicht aus dem Jahr 1541 stammen kann, es düfte sich um einen fingierten Eintrag von der jugendlichen Hand eines der drei Söhne des Johannes Amerbach handeln. Auch ein reiner Verschrieb (L statt I) scheint möglich; auf hinterem leeren Schmutzbl. ein hs. Eintrag von der Hand des Bonifacius Amerbach: \"Sechceen hunderch sind helgen in dem naren schiff\"; Besitzervermerk Amerbach, auf Titelbl. getilgt, aber noch lesbar: \"Sum Basilius Sum, Anno MDXII von der Hand des älteren Basilius Amerbach? (auch fingiert?), ebenfalls auf Titelbl. \"Amerbachiorum\" von der Hand des Bonifacius Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000386ebc1ac00Q", + "knora-api:valueHasUUID" : "000000000021b3509cb90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000386ebc1ac00Qt.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000021b3509cb90Q4.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/fb970f54c00d", + }, + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/5e89fd62b90d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fb970f54c00Ql" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005e89fd62b90QZ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Impressum von der Titelseite: \"1497. Nihil sine causa. Io. de Olpe\" und dem Kolophon: \"In laudatissima Germaniae urbe Basiliensi, nuper opera & promotione Iohannis Bergman de Olpe anno salutis nostrae millesimoquadringentesimononagesimoseptimo Kalendis Martiis.\"", + "knora-api:valueAsString" : "Extent: CXXXXV, [3] Bl.; Other physical details: Halbband weiss Blindprägung, Ill., Holzschnitte unkoloriert, vereinzelt mit Tinte beschmiert; Dimensions: 23 cm (4°)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000fb970f54c00Q", + "knora-api:valueHasUUID" : "00000000005e89fd62b90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fb970f54c00Ql.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005e89fd62b90QZ.20160302T150543Z" } - } ], - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/e4dca3d5b90d", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/150c04b7b80d", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e4dca3d5b90Q1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000150c04b7b80QV" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndDay" : 1, + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndMonth" : 3, + "knora-api:dateValueHasEndYear" : 1497, + "knora-api:dateValueHasStartDay" : 1, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartMonth" : 3, + "knora-api:dateValueHasStartYear" : 1497, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "ISTC ib01086000", + "knora-api:valueAsString" : "JULIAN:1497-03-01 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000e4dca3d5b90Q", + "knora-api:valueHasUUID" : "0000000000150c04b7b80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e4dca3d5b90Q1.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000150c04b7b80QV.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/a706f70eba0d", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/8fb85d44b80d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a706f70eba0Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008fb85d44b80Q3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 28,11", + "knora-api:valueAsString" : "Johann Bergmann de Olpe", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000a706f70eba0Q", + "knora-api:valueHasUUID" : "00000000008fb85d44b80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a706f70eba0Qc.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008fb85d44b80Q3.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/6a304a48ba0d", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/52e2b07db80d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000006a304a48ba0Q6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000052e2b07db80QI" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff B1086", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000006a304a48ba0Q", + "knora-api:valueHasUUID" : "000000000052e2b07db80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000006a304a48ba0Q6.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000052e2b07db80QI.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/2d5a9d81ba0d", + }, + "incunabula:title" : [ { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/463b6498b70d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002d5a9d81ba0QB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000463b6498b70Ql" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "HC 3746 = [not H]C(Add) 3747", + "knora-api:valueAsString" : "[Das] Narrenschiff (lat.)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "00000000002d5a9d81ba0Q", + "knora-api:valueHasUUID" : "0000000000463b6498b70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002d5a9d81ba0QB.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000463b6498b70Ql.20160302T150543Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/f083f0baba0d", + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/0965b7d1b70d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000f083f0baba0Q0" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000000965b7d1b70Qx" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 3567; Pell 2820", + "knora-api:valueAsString" : "Stultifera navis (...)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000f083f0baba0Q", + "knora-api:valueHasUUID" : "00000000000965b7d1b70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000f083f0baba0Q0.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000000965b7d1b70Qx.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/b3ad43f4ba0d", + } ], + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/9b5faa29b90d", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b3ad43f4ba0Q1" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009b5faa29b90QN" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "CIBN B-758", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002758751", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:43Z" }, - "knora-api:valueHasUUID" : "0000000000b3ad43f4ba0Q", + "knora-api:valueHasUUID" : "00000000009b5faa29b90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b3ad43f4ba0Q1.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009b5faa29b90QN.20160302T150543Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/76d7962dbb0d", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:43Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G.20160302T150543Z" + }, + "rdfs:label" : "[Das] Narrenschiff (lat.)" + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703", + "@type" : "incunabula:book", + "incunabula:book_comment" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/39d0ba06da0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000076d7962dbb0Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000039d0ba06da0Q=" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Aquilon 175;", + "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000076d7962dbb0Q", + "knora-api:valueHasUUID" : "000000000039d0ba06da0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000076d7962dbb0Qc.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000039d0ba06da0Q=.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/3901ea66bb0d", + }, + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a868f5fad30e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000003901ea66bb0Q4" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a868f5fad30Q3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Arnoult 358", + "knora-api:valueAsString" : "Van der Haegen I: 28,13", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000003901ea66bb0Q", + "knora-api:valueHasUUID" : "0000000000a868f5fad30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000003901ea66bb0Q4.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a868f5fad30Q3.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/fc2a3da0bb0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6b924834d40e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fc2a3da0bb0Q_" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006b924834d40Ql" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Buffévent 119", + "knora-api:valueAsString" : "Goff B1090", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000fc2a3da0bb0Q", + "knora-api:valueHasUUID" : "00000000006b924834d40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000fc2a3da0bb0Q_.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006b924834d40Ql.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/bf5490d9bb0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2ebc9b6dd40e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000bf5490d9bb0QJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002ebc9b6dd40QX" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Lefèvre 114", + "knora-api:valueAsString" : "HC 3750*", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000bf5490d9bb0Q", + "knora-api:valueHasUUID" : "00000000002ebc9b6dd40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000bf5490d9bb0QJ.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002ebc9b6dd40QX.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/827ee312bc0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f1e5eea6d40e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000827ee312bc0Qz" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f1e5eea6d40Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Péligry 220", + "knora-api:valueAsString" : "GfT 497, 498, 1038", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000827ee312bc0Q", + "knora-api:valueHasUUID" : "0000000000f1e5eea6d40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000827ee312bc0Qz.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f1e5eea6d40Qc.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/45a8364cbc0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b40f42e0d40e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000045a8364cbc0QQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b40f42e0d40Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Polain(B) 865", + "knora-api:valueAsString" : "Schr 3571", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000045a8364cbc0Q", + "knora-api:valueHasUUID" : "0000000000b40f42e0d40Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000045a8364cbc0QQ.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b40f42e0d40Qc.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/08d28985bc0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/77399519d50e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000008d28985bc0Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000077399519d50Qr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IDL 1016", + "knora-api:valueAsString" : "Schramm XXII p. 47", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000008d28985bc0Q", + "knora-api:valueHasUUID" : "000000000077399519d50Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000008d28985bc0Qs.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000077399519d50Qr.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/cbfbdcbebc0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/3a63e852d50e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cbfbdcbebc0QQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003a63e852d50QT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBE 1168", + "knora-api:valueAsString" : "Pell 2822", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000cbfbdcbebc0Q", + "knora-api:valueHasUUID" : "00000000003a63e852d50Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cbfbdcbebc0QQ.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003a63e852d50QT.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/8e2530f8bc0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/fd8c3b8cd50e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008e2530f8bc0Qp" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fd8c3b8cd50QN" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IGI 2044", + "knora-api:valueAsString" : "CIBN B-759", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000008e2530f8bc0Q", + "knora-api:valueHasUUID" : "0000000000fd8c3b8cd50Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008e2530f8bc0Qp.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fd8c3b8cd50QN.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/514f8331bd0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/c0b68ec5d50e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000514f8331bd0Qj" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c0b68ec5d50QM" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sajó-Soltész 801", + "knora-api:valueAsString" : "Hillard 482", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000514f8331bd0Q", + "knora-api:valueHasUUID" : "0000000000c0b68ec5d50Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000514f8331bd0Qj.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c0b68ec5d50QM.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/1479d66abd0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/83e0e1fed50e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000001479d66abd0Qy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000083e0e1fed50QG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Madsen 859", + "knora-api:valueAsString" : "Péligry 221", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000001479d66abd0Q", + "knora-api:valueHasUUID" : "000000000083e0e1fed50Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000001479d66abd0Qy.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000083e0e1fed50QG.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/d7a229a4bd0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/460a3538d60e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d7a229a4bd0Qq" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000460a3538d60QH" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 607", + "knora-api:valueAsString" : "Delisle 329", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000d7a229a4bd0Q", + "knora-api:valueHasUUID" : "0000000000460a3538d60Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d7a229a4bd0Qq.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000460a3538d60QH.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/9acc7cddbd0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/09348871d60e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009acc7cddbd0Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000009348871d60QT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Ohly-Sack 701;", + "knora-api:valueAsString" : "Polain(B) 4247", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000009acc7cddbd0Q", + "knora-api:valueHasUUID" : "000000000009348871d60Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009acc7cddbd0Qs.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000009348871d60QT.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/5df6cf16be0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/cc5ddbaad60e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005df6cf16be0QU" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cc5ddbaad60Q3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sack(Freiburg) 809", + "knora-api:valueAsString" : "IBE 1170", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000005df6cf16be0Q", + "knora-api:valueHasUUID" : "0000000000cc5ddbaad60Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005df6cf16be0QU.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cc5ddbaad60Q3.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/20202350be0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/8f872ee4d60e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000020202350be0QE" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000008f872ee4d60Qd" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Walsh 1258;", + "knora-api:valueAsString" : "IGI 2048", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000020202350be0Q", + "knora-api:valueHasUUID" : "00000000008f872ee4d60Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000020202350be0QE.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000008f872ee4d60Qd.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/e3497689be0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/52b1811dd70e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e3497689be0QY" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000052b1811dd70Qm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oates 2849", + "knora-api:valueAsString" : "IBP 1238", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000e3497689be0Q", + "knora-api:valueHasUUID" : "000000000052b1811dd70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000e3497689be0QY.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000052b1811dd70Qm.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/a673c9c2be0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/15dbd456d70e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a673c9c2be0QM" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000015dbd456d70QZ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Rhodes(Oxford Colleges) 435", + "knora-api:valueAsString" : "Mendes 289", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000a673c9c2be0Q", + "knora-api:valueHasUUID" : "000000000015dbd456d70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000a673c9c2be0QM.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000015dbd456d70QZ.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/699d1cfcbe0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/d8042890d70e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000699d1cfcbe0Qk" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d8042890d70QV" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sheppard 2557, 2558", + "knora-api:valueAsString" : "Sallander 1652", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000699d1cfcbe0Q", + "knora-api:valueHasUUID" : "0000000000d8042890d70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000699d1cfcbe0Qk.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d8042890d70QV.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/2cc76f35bf0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/9b2e7bc9d70e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002cc76f35bf0QE" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009b2e7bc9d70Q7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pr 7776", + "knora-api:valueAsString" : "Madsen 863", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000002cc76f35bf0Q", + "knora-api:valueHasUUID" : "00000000009b2e7bc9d70Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000002cc76f35bf0QE.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009b2e7bc9d70Q7.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/eff0c26ebf0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5e58ce02d80e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000eff0c26ebf0Qg" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005e58ce02d80Q7" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BMC III 795", + "knora-api:valueAsString" : "Voull(B) 610", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000eff0c26ebf0Q", + "knora-api:valueHasUUID" : "00000000005e58ce02d80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000eff0c26ebf0Qg.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005e58ce02d80Q7.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/b21a16a8bf0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2182213cd80e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b21a16a8bf0Qw" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002182213cd80QO" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB-Ink B-817", + "knora-api:valueAsString" : "Voull(Trier) 279", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000b21a16a8bf0Q", + "knora-api:valueHasUUID" : "00000000002182213cd80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000b21a16a8bf0Qw.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002182213cd80QO.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/754469e1bf0d", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e4ab7475d80e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000754469e1bf0Qo" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e4ab7475d80QX" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 5054", + "knora-api:valueAsString" : "Hubay(Augsburg) 461", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000754469e1bf0Q", + "knora-api:valueHasUUID" : "0000000000e4ab7475d80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000754469e1bf0Qo.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e4ab7475d80QX.20160302T150547Z" } - } ], - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/cc8e0a0bb80d", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a7d5c7aed80e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cc8e0a0bb80QL" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a7d5c7aed80Qi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sebastian Brant", + "knora-api:valueAsString" : "Hubay(Würzburg) 513", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000cc8e0a0bb80Q", + "knora-api:valueHasUUID" : "0000000000a7d5c7aed80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000cc8e0a0bb80QL.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a7d5c7aed80Qi.20160302T150547Z" } - }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/d83557f0b80d", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6aff1ae8d80e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d83557f0b80Qv" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006aff1ae8d80QT" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: DA III 2", + "knora-api:valueAsString" : "Sack(Freiburg) 810", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000d83557f0b80Q", + "knora-api:valueHasUUID" : "00000000006aff1ae8d80Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000d83557f0b80Qv.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006aff1ae8d80QT.20160302T150547Z" } - }, - "incunabula:note" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/21b3509cb90d", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2d296e21d90e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000021b3509cb90Q4" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002d296e21d90Qr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Auf Innenseite des Hinterdeckels ältester hs. Eintrag: \"Mgri Joannis de Amorbach liber quem Bonifacio filiio suo accomodauit\" von der Hand Johann Amberbachs, darunter Kinderzeichnungen der Söhne und in Nachahmung des ersten Texts: \"Mgri Bonifacij de Amerbach liber quem Basilij Amerbach filio suo accomodavit, MDXLI\". Pfister meint, dass dieser Eintrag nach Schriftprobenvergleich nicht aus dem Jahr 1541 stammen kann, es düfte sich um einen fingierten Eintrag von der jugendlichen Hand eines der drei Söhne des Johannes Amerbach handeln. Auch ein reiner Verschrieb (L statt I) scheint möglich; auf hinterem leeren Schmutzbl. ein hs. Eintrag von der Hand des Bonifacius Amerbach: \"Sechceen hunderch sind helgen in dem naren schiff\"; Besitzervermerk Amerbach, auf Titelbl. getilgt, aber noch lesbar: \"Sum Basilius Sum, Anno MDXII von der Hand des älteren Basilius Amerbach? (auch fingiert?), ebenfalls auf Titelbl. \"Amerbachiorum\" von der Hand des Bonifacius Amerbach", + "knora-api:valueAsString" : "Walsh 1260", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000021b3509cb90Q", + "knora-api:valueHasUUID" : "00000000002d296e21d90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000021b3509cb90Q4.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002d296e21d90Qr.20160302T150547Z" } - }, - "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/5e89fd62b90d", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f052c15ad90e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005e89fd62b90QZ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f052c15ad90QK" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: CXXXXV, [3] Bl.; Other physical details: Halbband weiss Blindprägung, Ill., Holzschnitte unkoloriert, vereinzelt mit Tinte beschmiert; Dimensions: 23 cm (4°)", + "knora-api:valueAsString" : "Oates 2853", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000005e89fd62b90Q", + "knora-api:valueHasUUID" : "0000000000f052c15ad90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000005e89fd62b90QZ.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f052c15ad90QK.20160302T150547Z" } - }, - "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/150c04b7b80d", - "@type" : "knora-api:DateValue", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b37c1494d90e", + "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000150c04b7b80QV" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b37c1494d90Q_" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndDay" : 1, - "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndMonth" : 3, - "knora-api:dateValueHasEndYear" : 1497, - "knora-api:dateValueHasStartDay" : 1, - "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartMonth" : 3, - "knora-api:dateValueHasStartYear" : 1497, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1497-03-01 CE", + "knora-api:valueAsString" : "BSB-Ink B-820", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000150c04b7b80Q", + "knora-api:valueHasUUID" : "0000000000b37c1494d90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000150c04b7b80QV.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b37c1494d90Q_.20160302T150547Z" } - }, - "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/8fb85d44b80d", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/76a667cdd90e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008fb85d44b80Q3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000076a667cdd90Q=" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Johann Bergmann de Olpe", + "knora-api:valueAsString" : "GW 5061", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000008fb85d44b80Q", + "knora-api:valueHasUUID" : "000000000076a667cdd90Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000008fb85d44b80Q3.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000076a667cdd90Q=.20160302T150547Z" } - }, - "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/52e2b07db80d", + } ], + "incunabula:description" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f3747068f624", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000052e2b07db80QI" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f3747068f62wW" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel", + "knora-api:valueAsString" : "Beschreibung fehlt!", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000052e2b07db80Q", + "knora-api:valueHasUUID" : "0000000000f3747068f62w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/000000000052e2b07db80QI.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f3747068f62wW.20160302T150547Z" } }, - "incunabula:title" : [ { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/463b6498b70d", + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6c257680cf0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000463b6498b70Ql" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006c257680cf0Qb" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "[Das] Narrenschiff (lat.)", + "knora-api:valueAsString" : "Sebastian Brant", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000463b6498b70Q", + "knora-api:valueHasUUID" : "00000000006c257680cf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/0000000000463b6498b70Ql.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006c257680cf0Qb.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/0965b7d1b70d", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/78ccc265d00e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000000965b7d1b70Qx" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000078ccc265d00Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Stultifera navis (...)", + "knora-api:valueAsString" : "Basel UB, Sign: DA III 1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000000965b7d1b70Q", + "knora-api:valueHasUUID" : "000000000078ccc265d00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000000965b7d1b70Qx.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000078ccc265d00Qc.20160302T150547Z" } - } ], - "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/8be1b7cf7103/values/9b5faa29b90d", + }, + "incunabula:note" : [ { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/c149bc11d10e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009b5faa29b90QN" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c149bc11d10QV" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002758751", + "knora-api:valueAsString" : "Impressum vor der Titelseite: \"1497. Nihil sine causa. Io. de. Olpe\" und dem Kolophon: \"In laudatissima Germaniae urbe Basiliensi: nuper opera & promotione Iohannis Bergman de Olpe anno salutis nostrae M.CCCCXCVII. Kalendis Augusti.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" + "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000009b5faa29b90Q", + "knora-api:valueHasUUID" : "0000000000c149bc11d10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G/00000000009b5faa29b90QN.20160302T150543Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c149bc11d10QV.20160302T150547Z" } - }, - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G" - }, - "knora-api:attachedToProject" : { - "@id" : "http://rdfh.ch/projects/0803" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:creationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:43Z" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/8be1b7cf7103G.20160302T150543Z" - }, - "rdfs:label" : "[Das] Narrenschiff (lat.)" - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703", - "@type" : "incunabula:book", - "incunabula:book_comment" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/39d0ba06da0e", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/84730f4bd10e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000039d0ba06da0Q=" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000084730f4bd10Q6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Katalogaufnahme anhand ISTC und v.d.Haegen", + "knora-api:valueAsString" : "V.d.Haegen: 1. erw., 2. lat. Basler Ausgabe", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000039d0ba06da0Q", + "knora-api:valueHasUUID" : "000000000084730f4bd10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000039d0ba06da0Q=.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000084730f4bd10Q6.20160302T150547Z" } - }, - "incunabula:citation" : [ { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a868f5fad30e", + }, { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/479d6284d10e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a868f5fad30Q3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000479d6284d10QA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Van der Haegen I: 28,13", + "knora-api:valueAsString" : "Ergänzungen von Thomas Beccadelli", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000a868f5fad30Q", + "knora-api:valueHasUUID" : "0000000000479d6284d10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a868f5fad30Q3.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000479d6284d10QA.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6b924834d40e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/0ac7b5bdd10e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006b924834d40Ql" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000000ac7b5bdd10QH" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Goff B1090", + "knora-api:valueAsString" : "Signaturen: a-s⁸, t-y⁴", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000006b924834d40Q", + "knora-api:valueHasUUID" : "00000000000ac7b5bdd10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006b924834d40Ql.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000000ac7b5bdd10QH.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2ebc9b6dd40e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/cdf008f7d10e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002ebc9b6dd40QX" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cdf008f7d10Q3" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "HC 3750*", + "knora-api:valueAsString" : "Woodcuts", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000002ebc9b6dd40Q", + "knora-api:valueHasUUID" : "0000000000cdf008f7d10Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002ebc9b6dd40QX.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cdf008f7d10Q3.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f1e5eea6d40e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/901a5c30d20e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f1e5eea6d40Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000901a5c30d20QZ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GfT 497, 498, 1038", + "knora-api:valueAsString" : "Ohne die zusätzliche Lage s4 gemäss Anmerkung GW", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000f1e5eea6d40Q", + "knora-api:valueHasUUID" : "0000000000901a5c30d20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f1e5eea6d40Qc.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000901a5c30d20QZ.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b40f42e0d40e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5344af69d20e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b40f42e0d40Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005344af69d20QQ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schr 3571", + "knora-api:valueAsString" : "Nicht rubr.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000b40f42e0d40Q", + "knora-api:valueHasUUID" : "00000000005344af69d20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b40f42e0d40Qc.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005344af69d20QQ.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/77399519d50e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/166e02a3d20e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000077399519d50Qr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000166e02a3d20Qw" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Schramm XXII p. 47", + "knora-api:valueAsString" : "Holzschnitte unkoloriert", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000077399519d50Q", + "knora-api:valueHasUUID" : "0000000000166e02a3d20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000077399519d50Qr.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000166e02a3d20Qw.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/3a63e852d50e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/d99755dcd20e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003a63e852d50QT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d99755dcd20QJ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Pell 2822", + "knora-api:valueAsString" : "Lage f1 nicht sign.", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000003a63e852d50Q", + "knora-api:valueHasUUID" : "0000000000d99755dcd20Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003a63e852d50QT.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d99755dcd20QJ.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/fd8c3b8cd50e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/9cc1a815d30e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fd8c3b8cd50QN" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009cc1a815d30QB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "CIBN B-759", + "knora-api:valueAsString" : "Foliierung teilweise fehlerhaft, sich aber wieder ausgleichend", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000fd8c3b8cd50Q", + "knora-api:valueHasUUID" : "00000000009cc1a815d30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fd8c3b8cd50QN.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009cc1a815d30QB.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/c0b68ec5d50e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5febfb4ed30e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c0b68ec5d50QM" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005febfb4ed30Qn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hillard 482", + "knora-api:valueAsString" : "Halbband: Original Halbleder-Einband auf Holzdeckeln mit Stempeln (Maria) von Spidler, defekte Schliesse mit Teilen der Inschrift \"Maria hilf mir\"", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000c0b68ec5d50Q", + "knora-api:valueHasUUID" : "00000000005febfb4ed30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c0b68ec5d50QM.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005febfb4ed30Qn.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/83e0e1fed50e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/22154f88d30e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000083e0e1fed50QG" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000022154f88d30QA" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Péligry 221", + "knora-api:valueAsString" : "Besitzervermerk Kartause am Schluss und auf Vorbl. samt Donatorenvermerk \"donatus a egregio domino doctore Sebastiano Brant\" (Geschenk des Verfassers)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000083e0e1fed50Q", + "knora-api:valueHasUUID" : "000000000022154f88d30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000083e0e1fed50QG.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000022154f88d30QA.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/460a3538d60e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e53ea2c1d30e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000460a3538d60QH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e53ea2c1d30Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Delisle 329", + "knora-api:valueAsString" : "Überarbeitet für Opera poetica Basiliensia", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000460a3538d60Q", + "knora-api:valueHasUUID" : "0000000000e53ea2c1d30Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000460a3538d60QH.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e53ea2c1d30Qs.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/09348871d60e", + } ], + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/fe1f69d8d00e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000009348871d60QT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fe1f69d8d00Qy" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Polain(B) 4247", + "knora-api:valueAsString" : "Extent: CLIX, [1] Bl.; Other physical details: Ill.; Dimensions: 23 cm (4°)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000009348871d60Q", + "knora-api:valueHasUUID" : "0000000000fe1f69d8d00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000009348871d60QT.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fe1f69d8d00Qy.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/cc5ddbaad60e", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b5a26f2cd00e", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cc5ddbaad60Q3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b5a26f2cd00Qm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndDay" : 1, + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndMonth" : 8, + "knora-api:dateValueHasEndYear" : 1497, + "knora-api:dateValueHasStartDay" : 1, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartMonth" : 8, + "knora-api:dateValueHasStartYear" : 1497, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBE 1170", + "knora-api:valueAsString" : "JULIAN:1497-08-01 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000cc5ddbaad60Q", + "knora-api:valueHasUUID" : "0000000000b5a26f2cd00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cc5ddbaad60Q3.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b5a26f2cd00Qm.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/8f872ee4d60e", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2f4fc9b9cf0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000008f872ee4d60Qd" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002f4fc9b9cf0QJ" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IGI 2048", + "knora-api:valueAsString" : "Johann Bergmann de Olpe", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000008f872ee4d60Q", + "knora-api:valueHasUUID" : "00000000002f4fc9b9cf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000008f872ee4d60Qd.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002f4fc9b9cf0QJ.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/52b1811dd70e", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f2781cf3cf0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000052b1811dd70Qm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f2781cf3cf0QM" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "IBP 1238", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000052b1811dd70Q", + "knora-api:valueHasUUID" : "0000000000f2781cf3cf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000052b1811dd70Qm.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f2781cf3cf0QM.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/15dbd456d70e", + }, + "incunabula:title" : [ { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e6d1cf0dcf0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000015dbd456d70QZ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e6d1cf0dcf0QL" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Mendes 289", + "knora-api:valueAsString" : "[Das] Narrenschiff (lat.)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "000000000015dbd456d70Q", + "knora-api:valueHasUUID" : "0000000000e6d1cf0dcf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000015dbd456d70QZ.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e6d1cf0dcf0QL.20160302T150547Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/d8042890d70e", + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a9fb2247cf0e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d8042890d70QV" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a9fb2247cf0QX" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sallander 1652", + "knora-api:valueAsString" : "Stultifera navis (...)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "0000000000d8042890d70Q", + "knora-api:valueHasUUID" : "0000000000a9fb2247cf0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d8042890d70QV.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a9fb2247cf0QX.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/9b2e7bc9d70e", + } ], + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/3bf6159fd00e", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009b2e7bc9d70Q7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003bf6159fd00Qd" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Madsen 863", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002758921", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", "@value" : "2016-03-02T15:05:47Z" }, - "knora-api:valueHasUUID" : "00000000009b2e7bc9d70Q", + "knora-api:valueHasUUID" : "00000000003bf6159fd00Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009b2e7bc9d70Q7.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003bf6159fd00Qd.20160302T150547Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5e58ce02d80e", + }, + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:47Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T.20160302T150547Z" + }, + "rdfs:label" : "[Das] Narrenschiff (lat.)" + }, { + "@id" : "http://rdfh.ch/0803/c5058f3a", + "@type" : "incunabula:book", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/184e99ca01", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005e58ce02d80Q7" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000184e99ca0wI" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(B) 610", + "knora-api:valueAsString" : "Schramm Bd. XXI, S. 27", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "00000000005e58ce02d80Q", + "knora-api:valueHasUUID" : "000000000000184e99ca0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005e58ce02d80Q7.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000184e99ca0wI.20160302T150510Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2182213cd80e", + "@id" : "http://rdfh.ch/0803/c5058f3a/values/db77ec0302", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002182213cd80QO" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000db77ec030wK" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Voull(Trier) 279", + "knora-api:valueAsString" : "GW 4168", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "00000000002182213cd80Q", + "knora-api:valueHasUUID" : "000000000000db77ec030w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002182213cd80QO.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000db77ec030wK.20160302T150510Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e4ab7475d80e", + "@id" : "http://rdfh.ch/0803/c5058f3a/values/9ea13f3d02", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e4ab7475d80QX" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000000009ea13f3d0w9" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hubay(Augsburg) 461", + "knora-api:valueAsString" : "ISTC ib00512000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "0000000000e4ab7475d80Q", + "knora-api:valueHasUUID" : "0000000000009ea13f3d0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e4ab7475d80QX.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000000009ea13f3d0w9.20160302T150510Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a7d5c7aed80e", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/8653a672", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a7d5c7aed80Qi" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000008653a67wU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Hubay(Würzburg) 513", + "knora-api:valueAsString" : "Berthold, der Bruder", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "0000000000a7d5c7aed80Q", + "knora-api:valueHasUUID" : "000000000000008653a67w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a7d5c7aed80Qi.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000008653a67wU.20160302T150510Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6aff1ae8d80e", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/92faf25701", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006aff1ae8d80QT" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000092faf2570wU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sack(Freiburg) 810", + "knora-api:valueAsString" : "Universitäts- und Stadtbibliothek Köln, Sign: AD+S167", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "00000000006aff1ae8d80Q", + "knora-api:valueHasUUID" : "00000000000092faf2570w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006aff1ae8d80QT.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000092faf2570wU.20160302T150510Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2d296e21d90e", + }, + "incunabula:physical_desc" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/5524469101", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002d296e21d90Qr" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000552446910wg" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Walsh 1260", + "knora-api:valueAsString" : "Dimension: 8°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "00000000002d296e21d90Q", + "knora-api:valueHasUUID" : "000000000000552446910w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002d296e21d90Qr.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000552446910wg.20160302T150510Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f052c15ad90e", - "@type" : "knora-api:TextValue", + }, + "incunabula:pubdate" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/cfd09f1e01", + "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f052c15ad90QK" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000cfd09f1e0wn" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, + "knora-api:dateValueHasCalendar" : "JULIAN", + "knora-api:dateValueHasEndEra" : "CE", + "knora-api:dateValueHasEndYear" : 1492, + "knora-api:dateValueHasStartEra" : "CE", + "knora-api:dateValueHasStartYear" : 1492, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Oates 2853", + "knora-api:valueAsString" : "JULIAN:1492 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "0000000000f052c15ad90Q", + "knora-api:valueHasUUID" : "000000000000cfd09f1e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f052c15ad90QK.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000cfd09f1e0wn.20160302T150510Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b37c1494d90e", + }, + "incunabula:publisher" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/497df9ab", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b37c1494d90Q_" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000497df9aQs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "BSB-Ink B-820", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" - }, - "knora-api:valueHasUUID" : "0000000000b37c1494d90Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b37c1494d90Q_.20160302T150547Z" - } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/76a667cdd90e", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000076a667cdd90Q=" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "GW 5061", + "knora-api:valueAsString" : "Johann Amerbach", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "000000000076a667cdd90Q", + "knora-api:valueHasUUID" : "00000000000000497df9aQ", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000076a667cdd90Q=.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000497df9aQs.20160302T150510Z" } - } ], - "incunabula:description" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f3747068f624", + }, + "incunabula:publoc" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/0ca74ce5", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f3747068f62wW" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000000ca74cewG" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Beschreibung fehlt!", + "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "0000000000f3747068f62w", + "knora-api:valueHasUUID" : "000000000000000ca74cew", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f3747068f62wW.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/000000000000000ca74cewG.20160302T150510Z" } }, - "incunabula:hasAuthor" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/6c257680cf0e", + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/c3295339", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006c257680cf0Qb" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000c329533w6" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Sebastian Brant", + "knora-api:valueAsString" : "Zeitglöcklein des Lebens und Leidens Christi", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "00000000006c257680cf0Q", + "knora-api:valueHasUUID" : "00000000000000c329533w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000006c257680cf0Qb.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/00000000000000c329533w6.20160302T150510Z" } }, - "incunabula:location" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/78ccc265d00e", + "incunabula:url" : { + "@id" : "http://rdfh.ch/0803/c5058f3a/values/10e00c7acc2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000078ccc265d00Qc" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000010e00c7acc270wO" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Basel UB, Sign: DA III 1", + "knora-api:valueAsString" : "http://www.ub.uni-koeln.de/cdm/compoundobject/collection/inkunabeln/id/1878/rec/1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:10Z" }, - "knora-api:valueHasUUID" : "000000000078ccc265d00Q", + "knora-api:valueHasUUID" : "0000000010e00c7acc270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000078ccc265d00Qc.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5/0000000010e00c7acc270wO.20160302T150510Z" } }, - "incunabula:note" : [ { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/c149bc11d10e", + "knora-api:arkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5" + }, + "knora-api:attachedToProject" : { + "@id" : "http://rdfh.ch/projects/0803" + }, + "knora-api:attachedToUser" : { + "@id" : "http://rdfh.ch/users/91e19f1e01" + }, + "knora-api:creationDate" : { + "@type" : "xsd:dateTimeStamp", + "@value" : "2016-03-02T15:05:10Z" + }, + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", + "knora-api:userHasPermission" : "CR", + "knora-api:versionArkUrl" : { + "@type" : "xsd:anyURI", + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/c5058f3a5.20160302T150510Z" + }, + "rdfs:label" : "Zeitglöcklein des Lebens und Leidens Christi" + }, { + "@id" : "http://rdfh.ch/0803/5e77e98d2603", + "@type" : "incunabula:book", + "incunabula:citation" : [ { + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/4892ee908f0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c149bc11d10QV" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000004892ee908f0QE" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Impressum vor der Titelseite: \"1497. Nihil sine causa. Io. de. Olpe\" und dem Kolophon: \"In laudatissima Germaniae urbe Basiliensi: nuper opera & promotione Iohannis Bergman de Olpe anno salutis nostrae M.CCCCXCVII. Kalendis Augusti.", + "knora-api:valueAsString" : "ISTC ib01082000", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000c149bc11d10Q", + "knora-api:valueHasUUID" : "00000000004892ee908f0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000c149bc11d10QV.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000004892ee908f0QE.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/84730f4bd10e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/0bbc41ca8f0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000084730f4bd10Q6" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000000bbc41ca8f0Qf" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "V.d.Haegen: 1. erw., 2. lat. Basler Ausgabe", + "knora-api:valueAsString" : "Van der Haegen I: 28,8", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "000000000084730f4bd10Q", + "knora-api:valueHasUUID" : "00000000000bbc41ca8f0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000084730f4bd10Q6.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000000bbc41ca8f0Qf.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/479d6284d10e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/cee59403900c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000479d6284d10QA" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000cee59403900Q8" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Ergänzungen von Thomas Beccadelli", + "knora-api:valueAsString" : "H 3740", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000479d6284d10Q", + "knora-api:valueHasUUID" : "0000000000cee59403900Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000479d6284d10QA.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000cee59403900Q8.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/0ac7b5bdd10e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/910fe83c900c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000000ac7b5bdd10QH" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000910fe83c900QR" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Signaturen: a-s⁸, t-y⁴", + "knora-api:valueAsString" : "Bodmer 55 with plate", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000000ac7b5bdd10Q", + "knora-api:valueHasUUID" : "0000000000910fe83c900Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000000ac7b5bdd10QH.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000910fe83c900QR.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/cdf008f7d10e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/54393b76900c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cdf008f7d10Q3" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000054393b76900Qr" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Woodcuts", + "knora-api:valueAsString" : "Schreiber, Manuel 3559", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000cdf008f7d10Q", + "knora-api:valueHasUUID" : "000000000054393b76900Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000cdf008f7d10Q3.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000054393b76900Qr.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/901a5c30d20e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/17638eaf900c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000901a5c30d20QZ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000017638eaf900Qa" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Ohne die zusätzliche Lage s4 gemäss Anmerkung GW", + "knora-api:valueAsString" : "Schramm XXII p. 47", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000901a5c30d20Q", + "knora-api:valueHasUUID" : "000000000017638eaf900Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000901a5c30d20QZ.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000017638eaf900Qa.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5344af69d20e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/da8ce1e8900c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005344af69d20QQ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000da8ce1e8900Qi" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Nicht rubr.", + "knora-api:valueAsString" : "Madsen 858", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000005344af69d20Q", + "knora-api:valueHasUUID" : "0000000000da8ce1e8900Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005344af69d20QQ.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000da8ce1e8900Qi.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/166e02a3d20e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/9db63422910c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000166e02a3d20Qw" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000009db63422910Qc" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Holzschnitte unkoloriert", + "knora-api:valueAsString" : "Voulliéme, Trier 277", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000166e02a3d20Q", + "knora-api:valueHasUUID" : "00000000009db63422910Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000166e02a3d20Qw.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000009db63422910Qc.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/d99755dcd20e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/60e0875b910c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d99755dcd20QJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000060e0875b910QS" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Lage f1 nicht sign.", + "knora-api:valueAsString" : "GW 5046", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000d99755dcd20Q", + "knora-api:valueHasUUID" : "000000000060e0875b910Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000d99755dcd20QJ.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000000060e0875b910QS.20160302T150539Z" } }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/9cc1a815d30e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/230adb94910c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009cc1a815d30QB" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000230adb94910QB" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Foliierung teilweise fehlerhaft, sich aber wieder ausgleichend", + "knora-api:valueAsString" : "Goff B1082", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000009cc1a815d30Q", + "knora-api:valueHasUUID" : "0000000000230adb94910Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000009cc1a815d30QB.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000230adb94910QB.20160302T150539Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/5febfb4ed30e", + } ], + "incunabula:hasAuthor" : { + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/e7c65b1a8d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005febfb4ed30Qn" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000e7c65b1a8d0Qm" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Halbband: Original Halbleder-Einband auf Holzdeckeln mit Stempeln (Maria) von Spidler, defekte Schliesse mit Teilen der Inschrift \"Maria hilf mir\"", + "knora-api:valueAsString" : "Sebastian Brant", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000005febfb4ed30Q", + "knora-api:valueHasUUID" : "0000000000e7c65b1a8d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000005febfb4ed30Qn.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000e7c65b1a8d0Qm.20160302T150539Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/22154f88d30e", + }, + "incunabula:location" : { + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/f36da8ff8d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000022154f88d30QA" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000f36da8ff8d0Qs" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:UnknownUser,knora-admin:KnownUser", + "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Besitzervermerk Kartause am Schluss und auf Vorbl. samt Donatorenvermerk \"donatus a egregio domino doctore Sebastiano Brant\" (Geschenk des Verfassers)", + "knora-api:valueAsString" : "Basel UB, Sign: Ai II 22b:1", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "000000000022154f88d30Q", + "knora-api:valueHasUUID" : "0000000000f36da8ff8d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/000000000022154f88d30QA.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000f36da8ff8d0Qs.20160302T150539Z" } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e53ea2c1d30e", + }, + "incunabula:note" : { + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/47a8b2e6e98e04", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e53ea2c1d30Qs" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000047a8b2e6e98e0wp" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Überarbeitet für Opera poetica Basiliensia", + "knora-api:valueAsString" : "2712\n75", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000e53ea2c1d30Q", + "knora-api:valueHasUUID" : "0000000047a8b2e6e98e0w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e53ea2c1d30Qs.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000047a8b2e6e98e0wp.20160302T150539Z" } - } ], + }, "incunabula:physical_desc" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/fe1f69d8d00e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/b697fb388e0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fe1f69d8d00Qy" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000b697fb388e0Qw" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Extent: CLIX, [1] Bl.; Other physical details: Ill.; Dimensions: 23 cm (4°)", + "knora-api:valueAsString" : "Extent: 1 Bd.; Other physical details: Ill.; Dimensions: 4°", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000fe1f69d8d00Q", + "knora-api:valueHasUUID" : "0000000000b697fb388e0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000fe1f69d8d00Qy.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000b697fb388e0Qw.20160302T150539Z" } }, "incunabula:pubdate" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/b5a26f2cd00e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/304455c68d0c", "@type" : "knora-api:DateValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b5a26f2cd00Qm" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000304455c68d0QU" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:dateValueHasCalendar" : "JULIAN", - "knora-api:dateValueHasEndDay" : 1, + "knora-api:dateValueHasEndDay" : 3, "knora-api:dateValueHasEndEra" : "CE", - "knora-api:dateValueHasEndMonth" : 8, - "knora-api:dateValueHasEndYear" : 1497, - "knora-api:dateValueHasStartDay" : 1, + "knora-api:dateValueHasEndMonth" : 3, + "knora-api:dateValueHasEndYear" : 1495, + "knora-api:dateValueHasStartDay" : 3, "knora-api:dateValueHasStartEra" : "CE", - "knora-api:dateValueHasStartMonth" : 8, - "knora-api:dateValueHasStartYear" : 1497, + "knora-api:dateValueHasStartMonth" : 3, + "knora-api:dateValueHasStartYear" : 1495, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "JULIAN:1497-08-01 CE", + "knora-api:valueAsString" : "JULIAN:1495-03-03 CE", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000b5a26f2cd00Q", + "knora-api:valueHasUUID" : "0000000000304455c68d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000b5a26f2cd00Qm.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000304455c68d0QU.20160302T150539Z" } }, "incunabula:publisher" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/2f4fc9b9cf0e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/aaf0ae538d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002f4fc9b9cf0QJ" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000aaf0ae538d0Q2" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" @@ -10178,108 +10200,86 @@ "knora-api:valueAsString" : "Johann Bergmann de Olpe", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000002f4fc9b9cf0Q", + "knora-api:valueHasUUID" : "0000000000aaf0ae538d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000002f4fc9b9cf0QJ.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000aaf0ae538d0Q2.20160302T150539Z" } }, "incunabula:publoc" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/f2781cf3cf0e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/6d1a028d8d0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f2781cf3cf0QM" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000006d1a028d8d0Qh" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:UnknownUser,knora-admin:KnownUser,knora-admin:ProjectMember", + "knora-api:hasPermissions" : "CR knora-admin:Creator|V knora-admin:ProjectMember,knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", "knora-api:valueAsString" : "Basel", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000f2781cf3cf0Q", + "knora-api:valueHasUUID" : "00000000006d1a028d8d0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000f2781cf3cf0QM.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/00000000006d1a028d8d0Qh.20160302T150539Z" } }, - "incunabula:title" : [ { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/e6d1cf0dcf0e", - "@type" : "knora-api:TextValue", - "knora-api:arkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e6d1cf0dcf0QL" - }, - "knora-api:attachedToUser" : { - "@id" : "http://rdfh.ch/users/91e19f1e01" - }, - "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", - "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "[Das] Narrenschiff (lat.)", - "knora-api:valueCreationDate" : { - "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" - }, - "knora-api:valueHasUUID" : "0000000000e6d1cf0dcf0Q", - "knora-api:versionArkUrl" : { - "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000e6d1cf0dcf0QL.20160302T150547Z" - } - }, { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/a9fb2247cf0e", + "incunabula:title" : { + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/249d08e18c0c", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a9fb2247cf0QX" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000249d08e18c0Qx" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "Stultifera navis (...)", + "knora-api:valueAsString" : "[Das] Narrenschiff (dt.)", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "0000000000a9fb2247cf0Q", + "knora-api:valueHasUUID" : "0000000000249d08e18c0Q", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/0000000000a9fb2247cf0QX.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/0000000000249d08e18c0Qx.20160302T150539Z" } - } ], + }, "incunabula:url" : { - "@id" : "http://rdfh.ch/0803/b6b5ff1eb703/values/3bf6159fd00e", + "@id" : "http://rdfh.ch/0803/5e77e98d2603/values/8a8c6607cc2704", "@type" : "knora-api:TextValue", "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003bf6159fd00Qd" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000008a8c6607cc270w0" }, "knora-api:attachedToUser" : { "@id" : "http://rdfh.ch/users/91e19f1e01" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|D knora-admin:ProjectMember|V knora-admin:KnownUser,knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", - "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002758921", + "knora-api:valueAsString" : "http://aleph.unibas.ch/F/?local_base=DSV01&con_lng=GER&func=find-b&find_code=SYS&request=002755521", "knora-api:valueCreationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, - "knora-api:valueHasUUID" : "00000000003bf6159fd00Q", + "knora-api:valueHasUUID" : "000000008a8c6607cc270w", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T/00000000003bf6159fd00Qd.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U/000000008a8c6607cc270w0.20160302T150539Z" } }, "knora-api:arkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U" }, "knora-api:attachedToProject" : { "@id" : "http://rdfh.ch/projects/0803" @@ -10289,15 +10289,15 @@ }, "knora-api:creationDate" : { "@type" : "xsd:dateTimeStamp", - "@value" : "2016-03-02T15:05:47Z" + "@value" : "2016-03-02T15:05:39Z" }, "knora-api:hasPermissions" : "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:KnownUser|RV knora-admin:UnknownUser", "knora-api:userHasPermission" : "CR", "knora-api:versionArkUrl" : { "@type" : "xsd:anyURI", - "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/b6b5ff1eb703T.20160302T150547Z" + "@value" : "http://0.0.0.0:3336/ark:/72163/1/0803/5e77e98d2603U.20160302T150539Z" }, - "rdfs:label" : "[Das] Narrenschiff (lat.)" + "rdfs:label" : "[Das] Narrenschiff (dt.)" }, { "@id" : "http://rdfh.ch/0803/41d01bd9fb", "@type" : "incunabula:book", diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/admin/ProjectsADME2ESpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/admin/ProjectsADME2ESpec.scala index 373677bb0f..ac93e4cbc4 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/admin/ProjectsADME2ESpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/admin/ProjectsADME2ESpec.scala @@ -32,7 +32,7 @@ import org.eclipse.rdf4j.model.Model import org.knora.webapi.messages.admin.responder.projectsmessages._ import org.knora.webapi.messages.admin.responder.usersmessages.UserADM import org.knora.webapi.messages.admin.responder.usersmessages.UsersADMJsonProtocol._ -import org.knora.webapi.messages.store.triplestoremessages.{StringLiteralV2, TriplestoreJsonProtocol} +import org.knora.webapi.messages.store.triplestoremessages.{RdfDataObject, StringLiteralV2, TriplestoreJsonProtocol} import org.knora.webapi.messages.v1.responder.sessionmessages.SessionJsonProtocol import org.knora.webapi.testing.tags.E2ETest import org.knora.webapi.util.{AkkaHttpUtils, MutableTestIri} @@ -66,6 +66,10 @@ class ProjectsADME2ESpec extends E2ESpec(ProjectsADME2ESpec.config) with Session private val projectShortname = SharedTestDataADM.imagesProject.shortname private val projectShortcode = SharedTestDataADM.imagesProject.shortcode + override lazy val rdfDataObjects: List[RdfDataObject] = List( + RdfDataObject(path = "_test_data/all_data/anything-data.ttl", name = "http://www.knora.org/data/0001/anything") + ) + "The Projects Route ('admin/projects')" when { "used to query for project information" should { @@ -420,6 +424,7 @@ class ProjectsADME2ESpec extends E2ESpec(ProjectsADME2ESpec.config) with Session assert(contextIris == Set( "http://www.knora.org/ontology/0001/something", "http://www.knora.org/ontology/0001/anything", + "http://www.knora.org/data/0001/anything", "http://www.knora.org/data/permissions", "http://www.knora.org/data/admin" )) diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala index 506a688524..7cf7a6f2e1 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala @@ -19,15 +19,10 @@ package org.knora.webapi.e2e.v1 -import java.io.ByteArrayInputStream -import java.net.URLEncoder -import java.util.zip.{ZipEntry, ZipInputStream} - import akka.actor.ActorSystem import akka.http.scaladsl.model._ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.testkit.RouteTestTimeout -import akka.pattern._ import org.knora.webapi.SharedOntologyTestDataADM._ import org.knora.webapi.SharedTestDataADM._ import org.knora.webapi._ @@ -41,13 +36,9 @@ import org.knora.webapi.util.{AkkaHttpUtils, MutableTestIri} import org.scalatest.Assertion import org.xmlunit.builder.{DiffBuilder, Input} import org.xmlunit.diff.Diff -import resource._ import spray.json._ -import scala.concurrent.duration._ -import scala.concurrent.{Await, ExecutionContextExecutor, Future} -import scala.util.Random -import scala.xml.{Node, NodeSeq, XML} +import scala.concurrent.ExecutionContextExecutor /** * End-to-end test specification for the resources endpoint. This specification uses the Spray Testkit as documented @@ -242,7 +233,7 @@ class ResourcesV1R2RSpec extends R2RSpec { private val search = "/v1/resources?restype_id=http%3A%2F%2Fwww.knora.org%2Fontology%2F0001%2Fanything%23Thing" - private val filter = "&searchstr=***" + private val filter = "&searchstr=value*" /** * Test the result of two subsequent requests nearly identical requests @@ -264,7 +255,12 @@ class ResourcesV1R2RSpec extends R2RSpec { element => element.asJsObject.fields("value").asInstanceOf[JsArray].elements.head.asInstanceOf[JsString].value }.toSet - val expectedLabels = Set("Sierra", "Hotel", "Delta", "Victor", "testding") + val expectedLabels = Set( + "A thing that has a BCE date value", + "A thing that has a list value", + "A thing that has two list values", + "visible thing with hidden int values" + ) assert(expectedLabels.subsetOf(labels)) } @@ -408,7 +404,7 @@ class ResourcesV1R2RSpec extends R2RSpec { } val xmlStrings: Seq[String] = textValues.map { - (textVal: JsValue) => + textVal: JsValue => textVal.asJsObject.fields("xml") match { case JsString(xml: String) => xml case _ => throw new InvalidApiJsonException("member 'xml' not given") @@ -438,6 +434,19 @@ class ResourcesV1R2RSpec extends R2RSpec { } } + + "perform a search for an anything:Thing matching 'thing'" in { + + checkSearchWithDifferentNumberOfProperties(search + filter) + + } + + "perform a search for an anything:Thing matching 'thing' with 2 numprops displayed" in { + + checkSearchWithDifferentNumberOfProperties(search + filter + "&numprops=2") + + } +/* "create a first resource of type anything:Thing" in { val params = @@ -2095,19 +2104,7 @@ class ResourcesV1R2RSpec extends R2RSpec { responseStr should include("createdResources") } - } - - "perform a search for an anything:Thing matching a '***'" in { - - checkSearchWithDifferentNumberOfProperties(search + filter) - - } - - "perform a search for an anything:Thing matching a '***' with 2 numprops displayed" in { - - checkSearchWithDifferentNumberOfProperties(search + filter + "&numprops=2") - - } + }*/ } } diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/v2/SearchRouteV2R2RSpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/v2/SearchRouteV2R2RSpec.scala index 6daf8e9b96..ec9936fab3 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/v2/SearchRouteV2R2RSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/v2/SearchRouteV2R2RSpec.scala @@ -138,7 +138,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { assert(status == StatusCodes.OK, response.toString) - val expectedAnswerJSONLD = readOrWriteTextFile(responseAs[String], new File("src/test/resources/test-data/searchR2RV2/DingeFulltextSearch.jsonld"), writeTestDataFiles) + val expectedAnswerJSONLD = readOrWriteTextFile(responseAs[String], new File(s"src/test/resources/test-data/searchR2RV2/DingeFulltextSearch.jsonld"), writeTestDataFiles) compareJSONLDForResourcesResponse(expectedJSONLD = expectedAnswerJSONLD, receivedJSONLD = responseAs[String]) @@ -150,7 +150,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { assert(status == StatusCodes.OK, response.toString) - val expectedAnswerJSONLD = readOrWriteTextFile(responseAs[String], new File("src/test/resources/test-data/searchR2RV2/DingeFulltextSearchSimple.jsonld"), writeTestDataFiles) + val expectedAnswerJSONLD = readOrWriteTextFile(responseAs[String], new File(s"src/test/resources/test-data/searchR2RV2/DingeFulltextSearchSimple.jsonld"), writeTestDataFiles) compareJSONLDForResourcesResponse(expectedJSONLD = expectedAnswerJSONLD, receivedJSONLD = responseAs[String]) @@ -194,7 +194,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Queries without type inference - "perform a Gravsearch query for an anything:Thing with an optional date and sort by date t1" in { + "perform a Gravsearch query for an anything:Thing with an optional date and sort by date" in { val gravsearchQuery = """PREFIX knora-api: @@ -1913,7 +1913,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | knora-api:objectType . | ?propVal0 a . | - | FILTER knora-api:match(?propVal0, "Zeitglöcklein") + | FILTER knora-api:matchText(?propVal0, "Zeitglöcklein") | | } """.stripMargin @@ -1954,7 +1954,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | knora-api:objectType . | ?propVal0 a . | - | FILTER knora-api:match(?propVal0, "Zeitglöcklein AND Lebens") + | FILTER knora-api:matchText(?propVal0, "Zeitglöcklein AND Lebens") | | } """.stripMargin @@ -4572,7 +4572,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | | ?mainRes incunabula:title ?propVal0 . | - | FILTER knora-api:match(?propVal0, "Zeitglöcklein") + | FILTER knora-api:matchText(?propVal0, "Zeitglöcklein") | | } """.stripMargin @@ -4611,7 +4611,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | | ?mainRes incunabula:title ?propVal0 . | - | FILTER knora-api:match(?propVal0, "Zeitglöcklein AND Lebens") + | FILTER knora-api:matchText(?propVal0, "Zeitglöcklein AND Lebens") | | } """.stripMargin @@ -6645,9 +6645,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | | ?mainRes incunabula:title ?title . | - | ?title knora-api:valueAsString ?titleStr . - | - | FILTER knora-api:match(?titleStr, "Zeitglöcklein") + | FILTER knora-api:matchText(?title, "Zeitglöcklein") | | } """.stripMargin @@ -6686,9 +6684,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { | | ?mainRes incunabula:title ?title . | - | ?title knora-api:valueAsString ?titleStr . - | - | FILTER knora-api:match(?titleStr, "Zeitglöcklein AND Lebens") + | FILTER knora-api:matchText(?title, "Zeitglöcklein AND Lebens") | | } """.stripMargin @@ -7651,10 +7647,9 @@ class SearchRouteV2R2RSpec extends R2RSpec { |} WHERE { | ?thing a anything:Thing . | ?thing anything:hasRichtext ?text . - | ?text knora-api:valueAsString ?textStr . | ?text knora-api:textValueHasStandoff ?standoffTag . | ?standoffTag a standoff:StandoffItalicTag . - | FILTER knora-api:matchInStandoff(?textStr, ?standoffTag, "interesting text") + | FILTER knora-api:matchTextInStandoff(?text, ?standoffTag, "interesting text") |} """.stripMargin @@ -7669,7 +7664,7 @@ class SearchRouteV2R2RSpec extends R2RSpec { } - "search for a standoff date tag indicating a date in a particular range (submitting the complex schema) t1" in { + "search for a standoff date tag indicating a date in a particular range (submitting the complex schema)" in { // First, create a standoff-to-XML mapping that can handle standoff date tags. val mappingFileToSend = new File("_test_data/test_route/texts/mappingForHTML.xml") diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/v2/ValuesRouteV2E2ESpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/v2/ValuesRouteV2E2ESpec.scala index 3310f883fa..030d071348 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/v2/ValuesRouteV2E2ESpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/v2/ValuesRouteV2E2ESpec.scala @@ -154,6 +154,12 @@ class ValuesRouteV2E2ESpec extends E2ESpec { userEmail = userEmail ) + val receivedResourceIri: IRI = resource.getIDAsKnoraDataIri.toString + + if (receivedResourceIri != resourceIri) { + throw AssertionException(s"Expected resource $resourceIri, received $receivedResourceIri") + } + val resourceLastModDate: Option[Instant] = parseResourceLastModificationDate(resource) checkLastModDate( diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGeneratorSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGeneratorSpec.scala index 46b49d5ffe..70345cbfbb 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGeneratorSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryGeneratorSpec.scala @@ -45,12 +45,12 @@ private object QueryHandler { settings = settings ) - val nonTriplestoreSpecficPrequery: SelectQuery = QueryTraverser.transformConstructToSelect( + val nonTriplestoreSpecificPrequery: SelectQuery = QueryTraverser.transformConstructToSelect( inputQuery = constructQuery.copy(whereClause = whereClauseWithoutAnnotations), transformer = nonTriplestoreSpecificConstructToSelectTransformer ) - nonTriplestoreSpecficPrequery + nonTriplestoreSpecificPrequery } } diff --git a/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala index dd3c8d3a99..4f8c302daf 100644 --- a/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala @@ -59,7 +59,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic RdfDataObject(path = "_test_data/all_data/anything-data.ttl", name = "http://www.knora.org/data/0001/anything") ) - val countTriplesQuery = if (tsType.startsWith("graphdb")) + val countTriplesQuery: String = if (tsType.startsWith("graphdb")) """ SELECT (COUNT(*) AS ?no) FROM @@ -77,13 +77,13 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val namedGraphQuery = + val namedGraphQuery: String = """ SELECT ?namedGraph ?s ?p ?o ?lang WHERE { { GRAPH ?namedGraph { - BIND(IRI("www.knora.org/ontology/0001/anything#Thing") as ?s) + BIND(IRI("http://www.knora.org/ontology/0001/anything#Thing") as ?s) ?s ?p ?obj BIND(str(?obj) as ?o) BIND(lang(?obj) as ?lang) @@ -92,7 +92,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """.stripMargin - val insertQuery = + val insertQuery: String = """ prefix rdf: prefix sub: @@ -108,7 +108,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val checkInsertQuery = + val checkInsertQuery: String = """ prefix rdf: prefix sub: @@ -123,7 +123,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val revertInsertQuery = + val revertInsertQuery: String = """ prefix rdf: prefix sub: @@ -137,14 +137,14 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val searchURI = if (tsType == TriplestoreTypes.HttpFuseki || tsType == TriplestoreTypes.EmbeddedJenaTdb) { + val searchURI: String = if (tsType == TriplestoreTypes.HttpFuseki || tsType == TriplestoreTypes.EmbeddedJenaTdb) { "" } else { //GraphDB "" } - val textSearchQueryGraphDBValueHasString = + val textSearchQueryGraphDBValueHasString: String = s""" PREFIX knora-base: @@ -155,7 +155,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val textSearchQueryGraphDBRDFLabel = + val textSearchQueryGraphDBRDFLabel: String = s""" PREFIX rdfs: @@ -166,7 +166,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val textSearchQueryFusekiValueHasString = + val textSearchQueryFusekiValueHasString: String = s""" PREFIX knora-base: @@ -177,7 +177,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - val textSearchQueryFusekiDRFLabel = + val textSearchQueryFusekiDRFLabel: String = s""" PREFIX rdfs: @@ -188,9 +188,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic } """ - var afterLoadCount = -1 - var afterChangeCount = -1 - var afterChangeRevertCount = -1 + var afterLoadCount: Int = -1 + var afterChangeCount: Int = -1 + var afterChangeRevertCount: Int = -1 /* * Send message to actor under test and check the result. @@ -225,11 +225,10 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println(msg) afterLoadCount = msg.results.bindings.head.rowMap("no").toInt (afterLoadCount > 0) should ===(true) - } } } } @@ -239,10 +238,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(namedGraphQuery) //println(result) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println(msg) msg.results.bindings.nonEmpty should ===(true) - } } //println("==>> Named Graph test case end") } @@ -254,10 +252,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println("vor insert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterLoadCount) - } } @@ -266,20 +263,18 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(checkInsertQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println(msg) msg.results.bindings.size should ===(3) - } } storeManager ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println("nach instert" + msg) afterChangeCount = msg.results.bindings.head.rowMap("no").toInt (afterChangeCount - afterLoadCount) should ===(3) - } } @@ -292,10 +287,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println("vor revert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterChangeCount) - } } storeManager ! SparqlUpdateRequest(revertInsertQuery) @@ -303,19 +297,17 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic storeManager ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println("nach revert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterLoadCount) - } } storeManager ! SparqlSelectRequest(checkInsertQuery) expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println("check: " + msg) msg.results.bindings.size should ===(0) - } } //println("==>> Update 2 test case end") @@ -329,10 +321,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic case _ => storeManager ! SparqlSelectRequest(textSearchQueryFusekiValueHasString) } expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println(msg) msg.results.bindings.size should ===(3) - } } } } @@ -344,10 +335,9 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic case _ => storeManager ! SparqlSelectRequest(textSearchQueryFusekiDRFLabel) } expectMsgPF(timeout) { - case msg: SparqlSelectResponse => { + case msg: SparqlSelectResponse => //println(msg) msg.results.bindings.size should ===(1) - } } } }