Плагин Jekyll для включения данных RDF на ваш статический сайт.
Документация API доступна на Rubydoc.info.
Docker There is a docker image check out the section Docker Usage.
As a prerequisite for Jekyll RDF you of course need to install Jekyll . Пожалуйста, посмотрите на инструкции по установке по адресу https://jekyllrb.com/docs/installation/.
Если у вас уже есть работающая установка Jekyll, вы можете добавить плагин Jekyll-RDF. Probably you already using Bundler and there is a Gemfile
in your Jekyll directory. Добавьте Jekyll-Rdf в раздел плагинов:
gem "jekyll-rdf", "~> 3.2"
Замените строку версии на доступный в настоящее время стабильный релиз, как указано на Rubygems.org. After updating your Gemfile
you probably want to run bundle install
(or bundle install --path vendor/bundle
) or bundle update
.
If you are not using a Gemfile
to manage your jekyll/ruby packages install Jekyll-RDF using gem
:
gem install jekyll-rdf
Если вы хотите создать плагин из Source, пожалуйста, посмотрите на наш раздел разработки.
В этом разделе объясняется, как использовать Jekyll-RDF в трех шагах:
Все фильтры и методы, которые можно использовать в шаблонах и параметрах конфигурации, документированы в разделе «Параметры и параметры конфигурации с первого взгляда».
Во -первых, вам нужна страница Jekyll. Чтобы создать один, просто сделайте:
jekyll new my_page
cd my_page
Further, there are some parameters required in your _config.yml
for jekyll-rdf
. Ie the url
and baseurl
parameters are used for including the resource pages into the root of the site, the plug-in has to be configured, and the path to the RDF file has to be present.
baseurl : " /simpsons "
url : " http://example.org "
plugins :
- jekyll-rdf
jekyll_rdf :
path : " _data/data.ttl "
default_template : " default.html "
restriction : " SELECT ?resourceUri WHERE { ?resourceUri ?p ?o . FILTER regex(str(?resourceUri), 'http://example.org/simpsons') } "
class_template_mappings :
" http://xmlns.com/foaf/0.1/Person " : " person.html "
instance_template_mappings :
" http://example.org/simpsons/Abraham " : " abraham.html "
The url
+ baseurl
are used by Jekyll RDF to identify relative to which URL it should build the RDF resource pages. In the example above this means that a resource with the IRI <http://example.org/simpsons/Bart>
is rendered to the path /Bart.html
. Также другие функции и плагины для Jekyll зависят от этих двух параметров. If for any case the two parameters differ from the base path that Jekyll RDF should assume, it is possible to set the parameter baseiri
in the jekyll_rdf
section.
baseurl : " /simpsons "
url : " https://beispiel.com "
jekyll_rdf :
baseiri : " http://example.org/ "
Можно отобразить конкретный класс (соответственно RDF-тип) или отдельные ресурсы на шаблон.
class_template_mappings :
" http://xmlns.com/foaf/0.1/Person " : " person.html "
instance_template_mappings :
" http://aksw.org/Team " : " team.html "
Шаблон, нанесенный на класс, будет использоваться для визуализации каждого экземпляра этого класса и его подклассов. Каждый экземпляр отображается с наиболее специфическим классом, отображаемым в шаблоне. Если отображение является неоднозначным для ресурса, предупреждение будет выведено в ваше командное окно, так что будьте осторожны!
It is also possible to define a default template, which is used for all resources, which are not covered by the class_template_mappings
or instance_template_mappings
.
default_template : " default.html "
You can restrict the resources selected to be built by adding a SPARQL query as restriction
parameter to _config.yml
. Please use ?resourceUri
as the placeholder for the resulting URIs:
restriction : " SELECT ?resourceUri WHERE { ?resourceUri <http://www.ifi.uio.no/INF3580/family#hasFather> <http://www.ifi.uio.no/INF3580/simpsons#Homer> } "
Существует 3 предопределенных ключевых слов для ограничений, реализованных:
subjects
will load all subject URIspredicates
will load all predicate URIsobjects
will load all object URIs Поскольку некоторые конечные точки Sparql имеют встроенный предел для избранных запросов, вы также можете определить список построенных ресурсов. A file _data/restriction.txt
cool have the following content:
<http://example.org/resourceA>
<http://example.org/resourceB>
<http://example.org/resourceC>
<http://example.org/resourceD>
<http://example.org/resourceE>
In the _config.yml
you specify the file with the key restriction_file
. If both, a restriction_file
and a restriction
, are specified Jekyll RDF will build pages for the union of the both.
Кроме того, вы можете решить, хотите ли вы отображать пустые узлы или нет. You just need to add include_blank
to _config.yml
:
jekyll_rdf :
include_blank : true
Finally it is also possible to set a preferred language for the RDF-literals with the option language
:
jekyll_rdf :
language : " en "
Running jekyll build
will render the RDF resources to the _site/…
directory. Running jekyll serve
will render the RDF resources and provide you with an instant HTTP-Server usually accessible at http://localhost:4000/
. RDF resources whose IRIs don't start with the configured Jekyll url
and baseurl
(resp. baseiri
) are rendered to the _site/rdfsites/…
sub directory.
To make use of the RDF data, create one or more files (eg rdf_index.html
or person.html
) in the _layouts
-directory. Для каждого ресурса будет отображаться страница. См. Пример ниже:
---
layout: default
---
< div class =" home " >
< h1 class =" page-heading " > < b > {{ page.rdf.iri }} </ b > </ h1 >
< p >
< h3 > Statements in which {{ page.rdf.iri }} occurs as subject: </ h3 >
{% include statements_table.html collection=page.rdf.statements_as_subject %}
</ p >
< p >
< h3 > Statements in which {{ page.rdf.iri }} occurs as predicate: </ h3 >
{% include statements_table.html collection=page.rdf.statements_as_predicate %}
</ p >
< p >
< h3 > Statements in which {{ page.rdf.iri }} occurs as object: </ h3 >
{% include statements_table.html collection=page.rdf.statements_as_object %}
</ p >
</ div >
Мы включили несколько примеров шаблонов в
test/source/_layouts/rdf_index.html
test/source/_layouts/person.html
{{ page.rdf }}
Это в настоящее время визуализированный ресурс.
{{ page.rdf.iri }}
Возвращает IRI в настоящее время визуализированного ресурса.
Чтобы получить доступ к объектам, которые подключены к текущему субъекту с помощью предиката, вы можете использовать наши пользовательские жидкие фильтры. For single objects or lists of objects use the rdf_property
-filter (see 1 and 2).
To access one object which is connected to the current subject through a given predicate please filter page.rdf
data with the rdf_property
-filter. Пример:
Age: {{ page.rdf | rdf_property: '<http://xmlns.com/foaf/0.1/age>' }}
Чтобы выбрать конкретный язык, добавьте второй параметр в фильтр:
Age: {{ page.rdf | rdf_property: '<http://xmlns.com/foaf/0.1/job>','en' }}
To get more than one object connected to the current subject through a given predicate please use the filter rdf_property
in conjunction with a third argument set to true
(the second argument for the language can be omitted by setting it to nil
):
Sisters: < br />
{% assign resultset = page.rdf | rdf_property: ' < http: //www.ifi.uio.no/INF3580/family#hasSister > ', nil, true %}
< ul >
{% for result in resultset %}
< li > {{ result }} </ li >
{% endfor %}
</ ul >
Чтобы выбрать конкретный язык, добавьте второй параметр в фильтр:
Book titles: < br />
{% assign resultset = page.rdf | rdf_property: ' < http: //xmlns.com/foaf/0.1/currentProject > ','de' %}
< ul >
{% for result in resultset %}
< li > {{ result }} </ li >
{% endfor %}
</ ul >
To support RDF Containers and RDF Collections we provide the rdf_container
and rdf_collection
filters.
В обоих случаях соответствующий контейнерный ресурс соответственно. Руководитель коллекции должен быть идентифицирован, а затем прошел через соответствующий фильтр. For containers we currently support explicit instances of rdf:Bag
, rdf:Seq
and rdf:Alt
with the members identified using the rdfs:ContainerMembershipProperty
s: rdf:_1
, rdf:_2
, rdf:_3
…. Collections are identified using rdf:first
, rdf:rest
and terminated with L rdf:rest rdf:nil
. Поскольку глава коллекции необходимо идентифицировать, вы не можете использовать там пустой узел, вы можете косвенно идентифицировать его через предикат, который содержит коллекцию.
Пример графика:
@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
ex:Resource ex:lists ex:List ;
ex:directList ("hello" "from" "turtle") .
ex:hasContainer ex:Container .
ex:List rdf:first "hello" ;
rdf:rest ("rdf" "list") .
ex:Container a rdf:Bag ;
rdf:_1 "hello" ;
rdf:_2 "rdf" ;
rdf:_3 "container" .
The template for ex:Resource
:
{% assign list = page.rdf | rdf_collection: '<http://example.org/directList>' %}
<ol>
{% for item in list %}
<li>{{ item }}</li>
{% endfor %}
</ol>
{% assign container = page.rdf | rdf_property: '<http://example.org/hasContainer>' | rdf_container %}
<ul>
{% for item in container %}
<li>{{ item }}</li>
{% endfor %}
</ul>
We implemented a liquid filter sparql_query
to run custom SPARQL queries. Each occurrence of ?resourceUri
gets replaced with the current URI. Caution: You have to separate query and result set variables because of Liquids concepts. Пример:
{% assign query = 'SELECT ?sub ?pre WHERE { ?sub ?pre ?resourceUri }' %}
{% assign resultset = page.rdf | sparql_query: query %}
< table >
{% for result in resultset %}
< tr >
< td > {{ result.sub }} </ td >
< td > {{ result.pre }} </ td >
</ tr >
{% endfor %}
</ table >
It is possible to declare a set of prefixes which can be used in the rdf_property
and sparql_query
liquid-filters. Это позволяет сократить количество текста, необходимое для каждого жидкого фильтра. Синтаксис объявлений префикса такой же, как и для Sparql 1.1. Just put your prefixes in a separate file and include the key rdf_prefix_path
together with a relative path in the YAML Front Matter of a file where your prefixes should be used.
Для префиксов применяются те же правила, что и для других переменных, определенных в переднем веществе YAML. Затем эти переменные будут доступны для доступа к использованию жидких тегов как дальше в файле, так и в любых макетах, либо включают в себя, на которой полагается на рассматриваемая страница или пост. (Источник: Yaml Front Matter). Это особенно актуально, если вы используете префиксы, включающие.
If the URI of a resource contains a fragment identifier ( #…
) the resource can be hosted together with other resources with the same base URI up to the fragment identifier on a single page. The page will by accessible through the base URI, while in the template the individual URIs with a fragment identifier are accessible through the collection page.sub_rdf
.
Пример
In the _config.yml
:
' instance_template_mappings ' :
' http://www.ifi.uio.no/INF3580/simpsons ' : 'family.html'
In _layouts/family.html
:
{% for member in page.sub_rdf%}
{% include simPerson.html person = member%}
{% endfor %}
The example uses the template family.html
to render a single page containing every resource whose URI begins with http://www.ifi.uio.no/INF3580/simpsons#
, was well as the resource http://www.ifi.uio.no/INF3580/simpsons
itself. Jekyll-rdf collects all resources with a fragment identifier in their URI (from here on called subResources
) and passes them through page.sub_rdf
into the templates of its superResource
(resources whose base URI is the same as of its subResources
except for the fragment identifier )
Every resource returned by one of jekyll-rdf
s filters is an object that liquid can also handle like a string. Все они имеют следующие методы, которые можно использовать в жидкости.
Верните список заявлений, субъектом которого является текущий ресурс. The statements in the returned list can be accessed by addressing their positions: Statement.subject
, Statement.predicate
, respective Statement.object
.
Верните список утверждений, предикатом которого является текущий ресурс. The statements in the returned list can be accessed by addressing their positions: Statement.subject
, Statement.predicate
, respective Statement.object
.
Верните список заявлений, объектом которого является текущий ресурс. The statements in the returned list can be accessed by addressing their positions: Statement.subject
, Statement.predicate
, respective Statement.object
.
Верните URL -адрес страницы, представляющей этот Rdfresource.
Верните путь на страницу, представляющую этот rdfresource. Используйте его с осторожностью.
This attribute is relevant for rendering pages for IRIs containing a fragment identifier ( http://superresource#anchor
). This attribute is true for the super-resource ( http://superresource
) if it is actually described in the given knowledge base.
Этот атрибут рассказывает, отображается ли соответствующий экземпляр ресурса в контексте текущей генерации сайта. Usage: {% if resource.rendered? %}…{% endif %}
.
Возвращает словесную строку, представляющую этот ресурс.
Synopsis: <resource_iri> | rdf_get
Параметры:
<resource_iri>
is a string representing an RDF resource, with prefix ( prefix:name
) or a full IRI ( <http://ex.org/name>
). To reference the resource of the current page use page.rdf
, page
, or nil
.Description: Takes the provided IRI and returns the corresponding RdfResource object from your knowledge base. На этом объекте вы можете вызвать методы, как описано в ресурсе раздела.
Пример:
{{'<http://www.ifi.uio.no/INF3580/simpsons>' | rdf_get }}
Результат:
http://www.ifi.uio.no/INF3580/simpsons
Synopsis: <rdf_resource> OR <rdf_resource_string> | rdf_property: <property>, [<lang>] OR [<lang>, <list>] OR [nil, <list>]
Параметры:
<rdf_resource>
is an RdfResource. To reference the resource of the current page use page.rdf
, page
, or nil
.<rdf_resource_string>
is a String representing the IRI of <rdf_resource>
.<property>
is a string representing an RDF predicate, with prefix ( prefix:name
) or a full IRI ( <http://ex.org/name>
).<lang>
is a language tag (eg de
). If this parameter is omitted replace it by nil
.<list>
is a boolean value ( true
, false
). Description: Returns the object, of the triple <rdf_resource> <predicate> ?object
. Возвращенный объект может любым видом, ресурсом, буквальным или пустым узлом.
Пример (по умолчанию):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_get %}
{{ resource | rdf_property: '<http://xmlns.com/foaf/0.1/job>' }}
Результат:
"unknown"
Пример (String):
{{ '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_property: '<http://xmlns.com/foaf/0.1/job>' }}
Результат:
"unknown"
Пример (с языком):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_get %}
{{ resource | rdf_property: '<http://xmlns.com/foaf/0.1/job>', 'de' }}
Результат:
"unbekannt"
Пример (вернуть как список):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_get %}
{% assign resultset = resource | rdf_property: '<http://xmlns.com/foaf/0.1/job>', nil, true %}
{% for result in resultset %}
<li>{{ result }}</li>
{% endfor %}
Результат:
< li > "unknown" </ li >
< li > "unbekannt" </ li >
< li > "unbekannter Job 2" </ li >
< li > "unknown Job 2" </ li >
Synopsis: <rdf_resource> OR <rdf_resource_string>| rdf_inverse_property: <property>, [<list>]
Параметры:
<rdf_resource>
is an RdfResource. To reference the resource of the current page use page.rdf
, page
, or nil
.<rdf_resource_string>
is a String representing the IRI of <rdf_resource>
.<property>
is a string representing an RDF predicate, with prefix ( prefix:name
) or a full IRI ( <http://ex.org/name>
).<list>
is a boolean value ( true
, false
). Description: Same as rdf_property, but in inverse direction. It returns the subject, of the triple ?subject <predicate> <rdf_resource>
. Возвращенный объект может любым в виде вида, ресурса или пустого узла.
Примеры (по умолчанию):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_get %}
{{ page.rdf | rdf_inverse_property: '<http://www.ifi.uio.no/INF3580/family#hasFather>' }}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Bart
Примеры (строка):
{{ '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_inverse_property: '<http://www.ifi.uio.no/INF3580/family#hasFather>' }}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Bart
Пример (как список):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons#Homer>' | rdf_get %}
{% assign resultset = resource | rdf_property: '<http://www.ifi.uio.no/INF3580/family#hasFather>', true %}
{% for result in resultset %}
<li>{{ result }}</li>
{% endfor %}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Synopsis: <rdf_resource> | sparql_query: <query>
OR <reference_array> | sparql_query: <query>
OR <query> | sparql_query
Параметры:
<rdf_resource>
is an RdfResource which will replace ?resourceUri
in the query. To omit this parameter or reference the resource of the current page use page.rdf
, page
, or nil
.<reference_array>
an array containing IRIs as Strings or rdf_resource
. They will consecutively replace each ?resourceUri_<index>
in your query.<query>
a string containing a SPARQL query. Description: Evaluates query
on the given knowledge base and returns an array of results (result set). Каждый объект входа в наборе результатов (результат) содержит выбранные переменные в качестве ресурсов или литералов. You can use ?resourceUri
inside the query to reference the resource which is given as <rdf_resource>
.
Пример (страница)
<!--Rendering the page of resource Lisa -->
{% assign query = 'SELECT ?sub ?pre WHERE { ?sub ?pre ?resourceUri }' %}
{% assign resultset = page.rdf | sparql_query: query %}
<table>
{% for result in resultset %}
<tr><td>{{ result.sub }}</td><td>{{ result.pre }}</td></tr>
{% endfor %}
</table>
Результат:
< table >
< tr > < td > http://www.ifi.uio.no/INF3580/simpsons#TheSimpsons </ td > < td > http://www.ifi.uio.no/INF3580/family#hasFamilyMember </ td > </ tr >
< tr > < td > http://www.ifi.uio.no/INF3580/simpsons#Bart </ td > < td > http://www.ifi.uio.no/INF3580/family#hasSister </ td > </ tr >
< tr > < td > http://www.ifi.uio.no/INF3580/simpsons#Maggie </ td > < td > http://www.ifi.uio.no/INF3580/family#hasSister </ td > </ tr >
...
Пример (массив)
{% assign query = 'SELECT ?x WHERE {?resourceUri_0 ?x ?resourceUri_1}' %}
{% assign array = "<http://www.ifi.uio.no/INF3580/simpsons#Homer>,<http://www.ifi.uio.no/INF3580/simpsons#Marge>" | split: %}
{% assign resultset = array | sparql_query: query %}
<table>
{% for result in resultset %}
<tr><td>{{ result.x }}</td></tr>
{% endfor %}
</table>
Результат:
<table>
<tr><td>http://www.ifi.uio.no/INF3580/family#hasSpouse</td></tr>
</table>
Пример (запрос)
{% assign query = 'SELECT ?x WHERE {<http://www.ifi.uio.no/INF3580/simpsons#Homer> ?x <http://www.ifi.uio.no/INF3580/simpsons#Marge>}' %}
{% assign resultset = query | sparql_query %}
<table>
{% for result in resultset %}
<tr><td>{{ result.x }}</td></tr>
{% endfor %}
</table>
Результат:
<table>
<tr><td>http://www.ifi.uio.no/INF3580/family#hasSpouse</td></tr>
</table>
Synopsis: <rdf_container_head> **OR** <rdf_container_head_string> | rdf_container
Параметры:
<rdf_container_head>
is an RdfResource. To reference the resource of the current page use page.rdf
, page
, or nil
.<rdf_container_head_string>
is a String representing the IRI of <rdf_container_head>
. Description: Returns an array with resources for each element in the container whose head is referenced by rdf_container_head
.
Примеры:
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpson-container#Container>' | rdf_get %}
{% assign array = resource | rdf_container %}
{% for item in array %}
{{ item }}
{% endfor %}
http://www.ifi.uio.no/INF3580/simpsons#Homer
http://www.ifi.uio.no/INF3580/simpsons#Marge
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Примеры: (строка)
{% assign array = '<http://www.ifi.uio.no/INF3580/simpson-container#Container>' | rdf_container %}
{% for item in array %}
{{ item }}
{% endfor %}
http://www.ifi.uio.no/INF3580/simpsons#Homer
http://www.ifi.uio.no/INF3580/simpsons#Marge
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Synopsis: <rdf_collection_head> OR <rdf_collection_head_string> | rdf_collection
OR <rdf_resource> | rdf_collection: "<property>"
Параметры:
<rdf_collection_head>
is an RdfResource. To reference the resource of the current page use page.rdf
, page
, or nil
.<rdf_collection_head_string>
is a String representing the IRI of <rdf_collection_head>
.<rdf_resource>
is an RdfResource. To reference the resource of the current page use page.rdf
, page
, or nil
.<property>
is a string representing an RDF predicate, with prefix ( prefix:name
) or a full IRI ( <http://ex.org/name>
). Description: Returns an array with resources for each element in the collection whose head is referenced by rdf_collection_head
. Вместо непосредственного ссылки на голову также можно указать свойство, ссылаясь на головку сбора.
Пример (указать Head Resource):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpson-collection#Collection>' | rdf_get %}
{% assign array = resource | rdf_collection %}
{% for item in array %}
{{ item }}
{% endfor %}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Homer
http://www.ifi.uio.no/INF3580/simpsons#Marge
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Пример (указать строку головы):
{% assign array = '<http://www.ifi.uio.no/INF3580/simpson-collection#Collection>' | rdf_collection %}
{% for item in array %}
{{ item }}
{% endfor %}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Homer
http://www.ifi.uio.no/INF3580/simpsons#Marge
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Пример (указать через свойство):
{% assign resource = '<http://www.ifi.uio.no/INF3580/simpsons>' | rdf_get %}
{% assign array = resource | rdf_collection: "<http://www.ifi.uio.no/INF3580/simpsons#familycollection>" %}
{% for item in array %}
{{ item }}
{% endfor %}
Результат:
http://www.ifi.uio.no/INF3580/simpsons#Homer
http://www.ifi.uio.no/INF3580/simpsons#Marge
http://www.ifi.uio.no/INF3580/simpsons#Bart
http://www.ifi.uio.no/INF3580/simpsons#Lisa
http://www.ifi.uio.no/INF3580/simpsons#Maggie
Имя | Параметр | По умолчанию | Описание | Пример |
---|---|---|---|---|
путь | Относительный путь к RDF-файлу | Нет дефолта | Определяет путь к файлу RDF, откуда вы хотите отобразить веб -сайт | path: "rdf-data/simpsons.ttl" |
удаленный | Раздел, чтобы указать удаленный источник данных | Нет дефолта | Has to contain the endpoint key. The remote parameter overrides the path parameter. | |
удаленная> конечная точка | Конечная точка Sparql, чтобы получить данные из | Нет дефолта | Указывает URL в конечную точку Sparql, откуда вы хотите отобразить веб -сайт | remote: endpoint: "http://localhost:5000/sparql/" |
удаленная> default_graph | Выберите именованный график в конечной точке, чтобы использовать вместо графика конечной точки по умолчанию | Нет дефолта | Определяет IRI на именованный график, чтобы выбрать из конечной точки Sparql | remote: endpoint: "http://localhost:5000/sparql/" default_graph: "http://example.org/" |
язык | Языковая битва как строка | Нет дефолта | Указывает предпочтительный язык, когда вы выбираете объекты, используя наши жидкие фильтры | language: "en" |
Включите_blank | Логическая экспрессия | ЛОЖЬ | Указывает, следует ли также отображаться пустые узлы или нет | include_blank: true |
ограничение | Sparql-Query как строка или субъекты/объекты/предикаты | Нет дефолта | Restricts the resource-selection with a given SPARQL-Query to the results bound to the special variable ?resourceUri or the three keywords subjects (only subject URIs), objects , predicates | restriction: "SELECT ?resourceUri WHERE { ?resourceUri <http://www.ifi.uio.no/INF3580/family#hasFather> <http://www.ifi.uio.no/INF3580/simpsons#Homer> }" |
RELICTION_FILE | Файл ресурсов, которые будут представлены | Нет дефолта | Ограничивает выбор ресурсов в список ресурсов в файле | restriction_file: _data/restriction.txt |
default_template | Имя файла по умолчанию RDF-Template в каталоге _layouts | Нет дефолта | Определяет шаблон, который вы хотите, чтобы Jekyll использовал для визуализации всех ресурсов RDF | default_template: "rdf_index.html" |
exance_template_mappings | Целевой URI как строка: имя файла шаблона в качестве строки | Нет дефолта | Карты, предоставленные URIS для шаблонов для рендеринга отдельного экземпляра | instance_template_mappings: "http://www.ifi.uio.no/INF3580/simpsons#Abraham": "abraham.html" |
class_template_mappings | Целевой URI как строка: имя файла шаблона в качестве строки | Нет дефолта | Карты, данные URIS для шаблонов для отмены всех экземпляров этого класса | class_template_mappings: "http://xmlns.com/foaf/0.1/Person": "person.html" |
Существует также изображение Docker/Podman, на котором предварительно установлен Jekyll и Jekyll-Rdf. Вы можете получить это с:
docker pull ghcr.io/aksw/jekyll-rdf:latest
и запустить это, например, с
docker run --rm --workdir /page -v $PWD:/page ghcr.io/aksw/jekyll-rdf:latest
или настроить исполнение Jekyll с помощью
docker run --rm --workdir /page -v $PWD/sources:/page -v $PWD/build/jekyll:/build ghcr.io/aksw/jekyll-rdf:latest jekyll build -d /build
The entrypoint of the image executes bundle install
first an then runs bundle exec jekyll build
or bundle exec <your command>
. To keep the installed packages between runs specify the environment variable BUNDLE_PATH
to a location that persists between runs, eg -e BUNDLE_PATH=.vendor
. To disable the whole bundler stuff set NO_BUNDLER
to a non-empty value, the entrypoint will run your command as it is.
Имя | По умолчанию | Описание |
---|---|---|
BUNDLE_PATH | нереходистый | Установите путь, где Bundler устанавливает пакеты. Смотрите также документы Бундлера. |
NO_BUNDLER | нереходистый | Установить непушное значение, чтобы отключить все части связки в точке входа |
To install the project with the git-repository you will need git
on your system. Первый шаг просто клонирует хранилище:
git clone [email protected]:AKSW/jekyll-rdf.git
A folder named jekyll-rdf
will be automatically generated. Вам нужно переключиться в эту папку и собрать рубиновый камень, чтобы закончить установку:
cd jekyll-rdf
gem build jekyll-rdf.gemspec
gem install jekyll-rdf -*.gem
bundle exec rake test
Every time the tests are executed, the Jekyll page inside of test/source
gets processed. Start a slim web server to watch the results in web browser, eg Pythons SimpleHTTPServer
(Python 2, for Python 3 it's http.server
):
cd test/source/_site
python -m SimpleHTTPServer 8000
To generate the API Doc please navigate to jekyll-rdf/lib
directory and run
gem install yard
yardoc *
The generated documentation is placed into jekyll-rdf/lib/doc
directory.
Jekyll-Rdf лицензирован по лицензии MIT.