#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 /…