GraphDB — выводимые операторы из нового пустого репозитория

#rdf #owl #semantic-web #rdfs #graphdb

#rdf #owl #семантическая сеть #rdfs #graphdb

Вопрос:

Я запускаю некоторые базовые тесты с GraphDB, и я с удивлением вижу, что при создании нового репозитория некоторые операторы, похоже, уже существуют (выводится GraphDB).

Вот краткое описание репозитория, в котором рассказывается об этих операторах:

введите описание изображения здесь

И результат запроса sparql для их перечисления CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o .} LIMIT 100

 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sesame: <http://www.openrdf.org/schema/sesame#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix fn: <http://www.w3.org/2005/xpath-functions#> .

rdf:type a rdf:Property;
  rdfs:subPropertyOf rdf:type;
  <http://proton.semanticweb.org/protonsys#transitiveOver> rdfs:subClassOf .

rdfs:subPropertyOf a rdf:Property, owl:TransitiveProperty;
  rdfs:subPropertyOf rdfs:subPropertyOf;
  <http://proton.semanticweb.org/protonsys#transitiveOver> rdfs:subPropertyOf .

rdfs:subClassOf a rdf:Property, owl:TransitiveProperty;
  rdfs:subPropertyOf rdfs:subClassOf;
  rdfs:domain rdfs:Class;
  rdfs:range rdfs:Class;
  <http://proton.semanticweb.org/protonsys#transitiveOver> rdfs:subClassOf .

rdfs:domain a rdf:Property;
  rdfs:subPropertyOf rdfs:domain;
  rdfs:range rdfs:Class .

rdfs:range a rdf:Property;
  rdfs:subPropertyOf rdfs:range;
  rdfs:range rdfs:Class .

owl:equivalentProperty a owl:SymmetricProperty, owl:TransitiveProperty;
  rdfs:subPropertyOf rdfs:subPropertyOf;
  <http://proton.semanticweb.org/protonsys#transitiveOver> owl:equivalentProperty;
  owl:inverseOf owl:equivalentProperty .

owl:equivalentClass a owl:SymmetricProperty, owl:TransitiveProperty;
  rdfs:subPropertyOf rdfs:subClassOf;
  <http://proton.semanticweb.org/protonsys#transitiveOver> owl:equivalentClass;
  owl:inverseOf owl:equivalentClass .

<http://proton.semanticweb.org/protonsys#transitiveOver> a rdf:Property;
  rdfs:subPropertyOf <http://proton.semanticweb.org/protonsys#transitiveOver> .

owl:inverseOf a rdf:Property, owl:SymmetricProperty;
  rdfs:subPropertyOf owl:inverseOf;
  owl:inverseOf owl:inverseOf .

rdf:subject a rdf:Property;
  rdfs:domain rdf:Statement .

rdf:predicate a rdf:Property;
  rdfs:domain rdf:Statement .

rdf:object a rdf:Property;
  rdfs:domain rdf:Statement .

rdf:first a rdf:Property;
  rdfs:domain rdf:List .

rdf:rest a rdf:Property;
  rdfs:domain rdf:List;
  rdfs:range rdf:List .

rdf:value a rdf:Property .

rdf:nil a rdf:List .

rdf:XMLLiteral a rdfs:Class, rdfs:Datatype;
  rdfs:subClassOf rdfs:Literal, rdf:XMLLiteral .

owl:differentFrom a owl:SymmetricProperty;
  owl:inverseOf owl:differentFrom .

xsd:nonNegativeInteger a rdfs:Class, rdfs:Datatype;
  rdfs:subClassOf xsd:nonNegativeInteger .

xsd:string a rdfs:Class, rdfs:Datatype;
  rdfs:subClassOf xsd:string .

rdf:_1 a rdf:Property, rdfs:ContainerMembershipProperty .

rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .

rdf:Alt rdfs:subClassOf rdfs:Container .

rdf:Bag rdfs:subClassOf rdfs:Container .

rdf:Seq rdfs:subClassOf rdfs:Container .

rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property .

rdfs:Datatype rdfs:subClassOf rdfs:Class .

rdfs:comment rdfs:range rdfs:Literal .

rdfs:label rdfs:range rdfs:Literal .
 

Похоже, они отражают частичное описание словаря rdf, rdfs и owl, но также включают некоторые свойства из http://proton.semanticweb.org/protonsys# . Я попытался выяснить, что это такое и особенно почему они присутствуют по умолчанию в репозитории GraphDB, но я не нашел такой информации в документации GraphDB.

Спасибо!

Комментарии:

1. Просто предположение, но из документов похоже, что они используют Proton для оптимизации правил: graphdb.ontotext.com/documentation/8.4/free /…

2. Это аксиоматические утверждения (и то, что вытекает из них), определенные в наборе правил, который вы выбираете при создании репозитория…

Ответ №1:

Возвращенные 70 троек являются частью аксиоматических троек выбранного по умолчанию набора правил RDFS Plus (оптимизированного) во время создания экземпляра репозитория. Цель этих не подлежащих удалению утверждений состоит в том, чтобы утверждать очевидные базовые предположения, такие как:

<rdf:type> <rdf:type> <rdf:Property> (каждое отношение rdf: type является свойством)

Их единственная цель — обеспечить соответствие семантике RDFS. Вы можете управлять ими из файлов PIE, хранящихся в $GDB_HOME/configs/rules каталоге. Для получения дополнительной информации вы можете ознакомиться с документацией ПО:

https://graphdb.ontotext.com/documentation/free/reasoning.html

Комментарии:

1. Я почти уверен, что его вопрос касался троек с предикатами протонной онтологии, например <http://proton.semanticweb.org/protonsys#transitiveOver> — они явно не являются частью какого-либо стандарта, поэтому они не соответствуют стандарту RDF, RDFS и т. Д., Если они также возвращаются. Но, как я уже сказал в своем комментарии, скорее всего, вы используете эти тройки для оптимизации правил? И вы называете это RDFS Plus, поэтому для него в любом случае нет стандарта…

2. Да, он используется для реализации более общей транзитивности, чтобы уменьшить количество правил. Это обсуждается в документации GraphDB по адресу graphdb.ontotext.com/documentation/free /…